/**
 * DarCommerce Store: корзина, чекаут, заказы покупателя.
 *
 * Минимализм: тонкие линии, никаких тяжёлых плашек; статус — цветная
 * метка-точка, кнопки — ghost.
 */

.dc-cart-root,
.dc-store-orders {
	--dc-acc: #2d5bff;
	--dc-line: #dce1e9;
	--dc-radius: 8px;
	font-size: 15px;
}

.dc-cart {
	width: 100%;
	border-collapse: collapse;
}

.dc-cart th,
.dc-cart td {
	padding: 10px 8px;
	border: 0;
	border-bottom: 1px solid rgba(11, 26, 51, 0.08);
	text-align: left;
	vertical-align: middle;
}

.dc-cart thead th {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #8a94a6;
}

.dc-cart tfoot th {
	font-weight: 600;
}

.dc-cart-title small {
	display: block;
	color: #97a1b0;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.dc-cart-item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.dc-cart-item__text {
	min-width: 0;
}

.dc-cart-name {
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: color .18s ease;
}

a.dc-cart-name:hover {
	color: var(--dc-acc);
}

.dc-cart-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 9px;
	background: transparent;
	color: #8a94a6;
	cursor: pointer;
	transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.dc-cart-remove:hover,
.dc-cart-remove:focus-visible {
	color: #b0424a;
	border-color: color-mix(in srgb, #b0424a 35%, transparent);
	background: color-mix(in srgb, #b0424a 6%, transparent);
}

.dc-cart-remove svg {
	width: 16px;
	height: 16px;
}

.dc-cart-qty input {
	width: 90px;
	padding: 6px 8px;
	margin-right: 6px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	font: inherit;
}

.dc-cart-sum {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.dc-downloads {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.dc-downloads li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	background: var(--dc-bg-2, #f6f7f9);
}

.dc-downloads small {
	font-family: var(--dc-mono);
	font-size: 11px;
	color: var(--dc-tx-soft);
}

.dc-downloads code {
	font-family: var(--dc-mono);
	font-size: 13px;
	letter-spacing: .04em;
}

.dc-tier-note {
	display: inline-block;
	margin-left: 6px;
	font-family: var(--dc-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--dc-acc-2, #1348a4);
}

/* Ghost-кнопки: никакой тяжёлой заливки. */

.dc-btn-ghost,
.dc-btn-submit {
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	background: transparent;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.dc-btn-ghost {
	width: 30px;
	height: 30px;
	line-height: 1;
	color: #8a94a6;
}

.dc-btn-ghost:hover {
	color: #0b1a33;
	border-color: #8a94a6;
}

.dc-btn-submit {
	margin-top: 14px;
	padding: 10px 26px;
	font-size: 14px;
	font-weight: 600;
}

.dc-btn-submit:hover:not(:disabled) {
	border-color: var(--dc-acc, #2d5bff);
	color: var(--dc-acc, #2d5bff);
}

.dc-btn-submit:disabled {
	opacity: 0.55;
	cursor: default;
}

.dc-cart-empty {
	padding: 28px 0;
	color: #8a94a6;
}

/* Чекаут. */

.dc-checkout {
	display: grid;
	gap: 10px;
	max-width: 420px;
	margin-top: 22px;
}

.dc-checkout input,
.dc-checkout textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	font: inherit;
	box-sizing: border-box;
}

.dc-checkout input:focus,
.dc-checkout textarea:focus {
	outline: none;
	border-color: var(--dc-acc, #2d5bff);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dc-acc, #2d5bff) 12%, transparent);
}

.dc-checkout-msg {
	margin: 0;
	color: #b4231f;
	font-size: 13px;
}

.dc-pay-list {
	display: grid;
	gap: 6px;
}

.dc-pay input {
	width: auto;
	margin-right: 6px;
}

/* Платные услуги к заказу: резка, упаковка, погрузка. */

.dc-services {
	display: grid;
	gap: 6px;
}

.dc-service {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dc-service input[type="checkbox"] {
	width: auto;
	margin: 0;
}

.dc-service-qty {
	width: 96px;
	margin-left: auto;
}

.dc-payer {
	display: grid;
	gap: 10px;
}

.dc-payer[hidden] {
	display: none;
}

/* Кабинет заказа: отгрузки и заявка на возврат. */

.dc-shipments {
	margin: 0 0 18px;
	padding-left: 18px;
	line-height: 1.8;
}

.dc-return {
	display: grid;
	gap: 10px;
	max-width: 420px;
}

.dc-return-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.dc-return-line input {
	width: 90px;
	padding: 8px 10px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	font: inherit;
	box-sizing: border-box;
}

.dc-return textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	font: inherit;
	box-sizing: border-box;
}

/* Доставка: город + тихие варианты, стиль — как остальной чекаут. */

.dc-delivery-city {
	display: flex;
	gap: 8px;
}

.dc-delivery-city input {
	flex: 1;
	min-width: 0;
}

.dc-delivery-city .dc-btn-ghost {
	width: auto;
	padding: 0 16px;
	white-space: nowrap;
	color: #0b1a33;
}

.dc-delivery-city .dc-btn-ghost:hover {
	border-color: var(--dc-acc, #2d5bff);
	color: var(--dc-acc, #2d5bff);
}

.dc-delivery-list {
	display: grid;
	gap: 6px;
	font-size: 14px;
}

.dc-delivery-option b {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.dc-delivery-option small {
	color: #8a94a6;
}

.dc-delivery-points {
	width: 100%;
	padding: 9px 12px;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: var(--dc-radius, 8px);
	font: inherit;
	box-sizing: border-box;
}

.dc-delivery-note {
	margin: 0;
	color: #8a94a6;
	font-size: 13px;
}

.dc-cart-delivery th {
	font-weight: 400;
	color: #5b6575;
}

/* Промокод: поле + тихий OK, скидка — строкой в итоге. */

.dc-coupon {
	display: flex;
	gap: 8px;
}

.dc-coupon input {
	flex: 1;
	min-width: 0;
	text-transform: uppercase;
}

.dc-coupon .dc-btn-ghost {
	width: auto;
	padding: 0 16px;
	white-space: nowrap;
	color: #0b1a33;
}

.dc-coupon .dc-btn-ghost:hover {
	border-color: var(--dc-acc, #2d5bff);
	color: var(--dc-acc, #2d5bff);
}

.dc-coupon-msg {
	margin: -4px 0 0;
	color: #8a94a6;
	font-size: 13px;
}

.dc-cart-coupon th {
	font-weight: 400;
	color: #1f7a33;
}

/* Статусы заказов: точка + подпись, цвет по смыслу. */

.dc-order-status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: #f2f5f9;
	color: #5b6575;
	font-size: 13px;
	line-height: 1.6;
	white-space: nowrap;
}

.dc-order-status--paid,
.dc-order-status--completed {
	background: #e8f4ea;
	color: #1f7a33;
}

.dc-order-status--shipped,
.dc-order-status--processing {
	background: #e9f0fd;
	color: #2d5bff;
}

.dc-order-status--cancelled,
.dc-order-status--failed,
.dc-order-status--refunded {
	background: #fdeceb;
	color: #b4231f;
}

/* Заказы покупателя. */

.dc-store-orders {
	width: 100%;
	border-collapse: collapse;
}

.dc-store-orders th,
.dc-store-orders td {
	padding: 10px 8px;
	border-bottom: 1px solid rgba(11, 26, 51, 0.08);
	text-align: left;
}

.dc-store-note {
	color: #8a94a6;
}

/* Мини-корзина в шапке: счётчик + тихий дропдаун. */

.dc-mini-root {
	position: relative;
	display: inline-block;
}

.dc-mini-btn {
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	padding: 6px 4px;
	color: inherit;
	position: relative;
}

.dc-mini-badge {
	display: inline-block;
	min-width: 18px;
	padding: 1px 5px;
	border-radius: 999px;
	background: var(--dc-acc, #2d5bff);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

.dc-mini-drop {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 1000;
	width: 280px;
	padding: 14px;
	background: #fff;
	border: 1px solid #e5e9ef;
	border-radius: 12px;
	box-shadow: 0 24px 48px -18px rgba(11, 26, 51, 0.22);
}

.dc-mini-row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 5px 0;
	font-size: 13px;
	border-bottom: 1px solid rgba(11, 26, 51, 0.06);
}

.dc-mini-total {
	padding: 8px 0;
	text-align: right;
	font-weight: 600;
}

.dc-mini-go {
	display: block;
	text-align: center;
	padding: 8px;
	border: 1px solid var(--dc-acc, #2d5bff);
	border-radius: var(--dc-radius, 8px);
	color: var(--dc-acc, #2d5bff);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.dc-mini-go:hover {
	background: var(--dc-acc, #2d5bff);
	color: #fff;
}

.dc-mini-empty {
	color: #8a94a6;
	font-size: 13px;
	padding: 6px 0;
}

/* Согласие на обработку ПД (152-ФЗ): тихая строка над кнопкой. */

.dc-consent {
	display: flex;
	gap: 6px;
	align-items: flex-start;
	font-size: 13px;
	color: #8a94a6;
	line-height: 1.45;
}

.dc-consent input {
	width: auto;
	margin-top: 2px;
}

.dc-consent a {
	color: inherit;
	text-decoration: underline;
}

/* ==========================================================================
   Боковая корзина, плавающая иконка, иконка в меню
   ========================================================================== */

.dc-drawer,
.dc-fab,
.dc-menu-cart {
	--dc-acc: var(--dag-acc, #1a63d8);
	--dc-acc-2: var(--dag-acc-2, #1348a4);
	--dc-tx: var(--dag-tx, #15181d);
	--dc-tx-soft: var(--dag-tx-faint, #6a7180);
	--dc-line: var(--dag-line, #e2e5ea);
	--dc-bg: var(--dag-ink-0, #fff);
	--dc-bg-2: var(--dag-ink-2, #f6f7f9);
	--dc-h: 44px;
	--dc-mono: var(--dag-mono, ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace);
}

/* Пока панель открыта, фон не прокручивается. */
html.dc-drawer-open {
	overflow: hidden;
}

.dc-drawer {
	position: fixed;
	inset: 0;
	z-index: 99990;
	pointer-events: none;
}

.dc-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(12, 15, 20, .48);
	opacity: 0;
	transition: opacity .24s ease;
}

.dc-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(420px, 100vw);
	display: flex;
	flex-direction: column;
	background: var(--dc-bg);
	color: var(--dc-tx);
	border-left: 1px solid var(--dc-line);
	box-shadow: -24px 0 60px -30px rgba(10, 14, 20, .55);
	/* Едет transform: ширина и отступы не анимируются, layout не дрожит. */
	transform: translate3d(100%, 0, 0);
	transition: transform .28s cubic-bezier(.22, .61, .36, 1);
}

.dc-drawer.is-open {
	pointer-events: auto;
}

.dc-drawer.is-open .dc-drawer__overlay {
	opacity: 1;
}

.dc-drawer.is-open .dc-drawer__panel {
	transform: translate3d(0, 0, 0);
}

.dc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--dc-line);
}

.dc-drawer__title {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dc-tx-soft);
}

.dc-drawer__close,
.dc-drawer__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 9px;
	background: transparent;
	color: var(--dc-tx-soft);
	cursor: pointer;
	transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.dc-drawer__close:hover {
	color: var(--dc-tx);
	border-color: var(--dc-line);
}

.dc-drawer__remove:hover {
	color: #b0424a;
	border-color: color-mix(in srgb, #b0424a 35%, transparent);
}

.dc-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 8px 20px;
}

.dc-drawer__empty {
	padding: 48px 0;
	color: var(--dc-tx-soft);
	font-size: 14px;
}

.dc-drawer__row {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 78px auto 34px;
	align-items: center;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--dc-line);
}

.dc-drawer__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.dc-drawer__name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	overflow-wrap: anywhere;
	color: inherit;
	text-decoration: none;
	transition: color .18s ease;
}

a.dc-drawer__name:hover {
	color: var(--dc-acc);
}

.dc-drawer__thumb,
.dc-cart-thumb {
	display: block;
	width: 56px;
	height: 56px;
	flex: none;
	overflow: hidden;
	border: 1px solid var(--dc-line, #dce1e9);
	border-radius: 10px;
	background: var(--dc-bg-2, #f4f6f9);
}

.dc-drawer__thumb img,
.dc-cart-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 420px) {
	.dc-drawer__row {
		grid-template-columns: 44px minmax(0, 1fr) 64px auto 30px;
		gap: 8px;
	}

	.dc-drawer__thumb {
		width: 44px;
		height: 44px;
	}
}

.dc-drawer__meta {
	font-family: var(--dc-mono);
	font-size: 11.5px;
	color: var(--dc-tx-soft);
}

.dc-drawer__qty {
	height: 38px;
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	border: 1px solid var(--dc-line);
	border-radius: 9px;
	background: var(--dc-bg);
	color: var(--dc-tx);
	font-family: var(--dc-mono);
	font-size: 14px;
}

.dc-drawer__qty:focus {
	outline: none;
	border-color: var(--dc-acc);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dc-acc) 16%, transparent);
}

.dc-drawer__sum {
	font-family: var(--dc-mono);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.dc-drawer__foot {
	padding: 18px 20px 22px;
	border-top: 1px solid var(--dc-line);
	background: var(--dc-bg-2);
}

.dc-drawer__foot:empty {
	display: none;
}

.dc-drawer__tax {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	font-size: 12px;
	color: var(--dc-tx-soft);
}

.dc-drawer__tax b {
	font-family: var(--dc-mono);
	font-weight: 600;
}

.dc-drawer__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.dc-drawer__total span {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dc-tx-soft);
}

.dc-drawer__total b {
	font-family: var(--dc-mono);
	font-size: 22px;
	font-weight: 700;
}

.dc-drawer__go {
	display: flex;
	width: 100%;
	height: var(--dc-h);
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--dc-acc);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background .18s ease, box-shadow .18s ease;
}

.dc-drawer__go:hover {
	background: var(--dc-acc-2);
	box-shadow: 0 8px 24px -10px color-mix(in srgb, var(--dc-acc) 70%, transparent);
}

/* --- Плавающая иконка --- */

/* Класс удвоен намеренно. Elementor-кит пишет `.elementor-kit-N button` с
   удельным весом (0,1,1) и перебивает одиночный `.dc-fab` (0,1,0), хотя
   store.css грузится позже — специфичность выше порядка. Кит отдавал
   сюда свои padding: 18px 32px и border-radius: 0; при box-sizing: border-box
   горизонтальные отступы (64px) съедали всю ширину кнопки, контентная
   область схлопывалась в ноль, и svg корзины (flex: 0 1 auto) ужимался до 0
   по ширине. На экране оставался оранжевый прямоугольник с одним бейджем
   и без иконки. `.dc-fab.dc-fab` — это (0,2,0), выше кита.
   :hover ниже уже имел (0,2,0) и потому работал всё это время. */
.dc-fab.dc-fab {
	position: fixed;
	right: var(--dc-fab-right, 22px);
	bottom: var(--dc-fab-bottom, 22px);
	left: var(--dc-fab-left, auto);
	z-index: 99980;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--dc-fab-size, 56px);
	height: var(--dc-fab-size, 56px);
	padding: 0;
	border: none;
	border-radius: var(--dc-fab-radius, 50%);
	background: var(--dc-fab-bg, var(--dc-acc));
	color: var(--dc-fab-fg, #fff);
	cursor: pointer;
	box-shadow: 0 14px 34px -12px rgba(12, 16, 24, .55);
	transition: background .18s ease, box-shadow .18s ease;
}

/* JS прячет кнопку при пустой корзине через `fab.hidden = true`, но правило
   выше объявляет display и перебивало `[hidden] { display: none }` из UA —
   оба веса (0,2,0), а это правило идёт позже. Кнопка оставалась на экране с
   нулём в бейдже. Сброс обязан стоять здесь, ниже по файлу. */
.dc-fab[hidden] {
	display: none;
}

/* Свой фон выигрывает и на ховере: иначе кнопка, перекрашенная в фирменный
   цвет, прыгала бы под курсором обратно в акцент плагина. */
.dc-fab:hover {
	background: var(--dc-fab-bg, var(--dc-acc-2));
	box-shadow: 0 18px 40px -12px rgba(12, 16, 24, .6);
}

.dc-fab__badge {
	position: absolute;
	top: -2px;
	right: -2px;
	min-width: 21px;
	height: 21px;
	padding: 0 5px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: var(--dc-tx);
	color: #fff;
	font-family: var(--dc-mono);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* --- Иконка в меню и мини-корзина в шапке --- */

.dc-menu-cart__link,
.dc-mini-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 10px;
	background: transparent;
	color: currentColor;
	cursor: pointer;
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease;
}

.dc-menu-cart__link:hover,
.dc-mini-btn:hover {
	border-color: var(--dc-line);
	color: var(--dc-acc-2);
}

.dc-cart-count {
	position: absolute;
	top: 1px;
	right: 1px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--dc-acc);
	color: #fff;
	font-family: var(--dc-mono);
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1;
}

/* --- Регистрация на чекауте и статус заказа --- */

.dc-register {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--dag-tx-faint, #6a7180);
}

.dc-order-status {
	max-width: 720px;
}

.dc-order-status__title {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.01em;
}

.dc-order-status__state {
	margin: 0 0 20px;
}

/* Переключатель валют: строка фактов, а не частокол кнопок. */
.dc-currency {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 2px;
	border: 1px solid var(--dag-line, #e3e6ec);
	border-radius: 999px;
	font-variant-numeric: tabular-nums;
}

.dc-currency__item {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: var(--dag-tx-faint, #6a7180);
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.dc-currency__item:hover {
	color: var(--dag-tx, #1b1f27);
	background: var(--dag-bg-soft, #f4f6f9);
}

.dc-currency__item.is-active {
	color: var(--dag-tx, #1b1f27);
	background: var(--dag-bg-soft, #f4f6f9);
	box-shadow: inset 0 0 0 1px var(--dag-accent, #2f6df6);
}

/* ==========================================================================
   Прогресс до бесплатной доставки
   ========================================================================== */

.dc-freeship {
	margin-bottom: 12px;
}

.dc-freeship__text {
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--dc-tx-soft, #6a7180);
}

.dc-freeship.is-done .dc-freeship__text {
	color: var(--dc-acc, #1a63d8);
	font-weight: 600;
}

.dc-freeship__bar {
	height: 6px;
	border-radius: 999px;
	background: var(--dc-bg-2, var(--dag-ink-2, #eef1f5));
	overflow: hidden;
}

.dc-freeship__bar i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--dc-acc, #1a63d8);
	transition: width .3s ease;
}

.dc-freeship.is-done .dc-freeship__bar i {
	background: #1a7f37;
}

/* ==========================================================================
   Прилипающая панель «в корзину» на карточке товара
   ========================================================================== */

.dc-sticky-atc {
	--dc-acc: var(--dag-acc, #1a63d8);
	--dc-acc-2: var(--dag-acc-2, #1348a4);
	--dc-tx: var(--dag-tx, #15181d);
	--dc-tx-soft: var(--dag-tx-faint, #6a7180);
	--dc-line: var(--dag-line, #e2e5ea);
	--dc-bg: var(--dag-ink-0, #fff);
	--dc-h: 44px;
	--dc-mono: var(--dag-mono, ui-monospace, "JetBrains Mono", "SFMono-Regular", Menlo, monospace);
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99980; /* ниже шторки корзины (99990): открытая корзина важнее */
	background: var(--dc-bg);
	border-top: 1px solid var(--dc-line);
	box-shadow: 0 -10px 28px -20px rgba(12, 15, 20, .45);
	transform: translateY(110%);
	visibility: hidden;
	transition: transform .22s ease, visibility .22s;
}

.dc-sticky-atc.is-on {
	transform: translateY(0);
	visibility: visible;
}

.dc-sticky-atc__body {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 10px 20px calc(10px + env(safe-area-inset-bottom, 0px));
}

.dc-sticky-atc__thumb {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	border: 1px solid var(--dc-line);
	background: #fff;
	overflow: hidden;
}

.dc-sticky-atc__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dc-sticky-atc__info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.dc-sticky-atc__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--dc-tx);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dc-sticky-atc__price {
	font-family: var(--dc-mono);
	font-size: 15px;
	font-weight: 700;
	color: var(--dc-tx);
	font-variant-numeric: tabular-nums;
}

.dc-sticky-atc .dc-btn {
	flex: 0 0 auto;
}

/* Плавающая иконка уходит вверх, чтобы не стоять на панели. */
html.dc-sticky-on .dc-fab.dc-fab {
	bottom: calc(var(--dc-fab-bottom, 22px) + 78px);
}

@media (max-width: 600px) {
	.dc-sticky-atc__body {
		gap: 10px;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
	}

	.dc-sticky-atc__name {
		font-size: 13px;
	}

	.dc-sticky-atc .dc-btn {
		padding: 0 16px;
	}
}
