/* =====================================================================
   STILARA — cart.css (група D): чекмедже с количката, бързо добавяне,
   страница /kolichka/. Само токени от base.css; мобилно първо.
   Анимират се само transform / opacity / clip-path.
   ===================================================================== */

/* ---------- 1. Чекмеджето ---------- */
/* затварянето също е анимирано (видимостта се сменя след плъзгането) */
#st-cart-drawer,#st-quick-sheet{ transition:visibility 0s linear .6s; }
#st-cart-drawer.is-open,#st-quick-sheet.is-open{ transition-delay:0s; }

.st-minicart{ position:relative; display:flex; flex-direction:column; flex:1; min-height:0; height:100%; }
/* кеширана празна обвивка, докато фрагментите пристигнат */
.st-minicart.is-syncing .st-mc__empty{ visibility:hidden; }
.st-minicart.is-syncing .st-mc__count{ display:none; }
.st-minicart.is-syncing::after{ content:""; position:absolute; left:50%; top:50%; width:30px; height:30px; margin:-15px 0 0 -15px; border:2px solid var(--st-line-2); border-top-color:var(--st-accent); border-radius:50%; animation:st-spin .8s linear infinite; }
.st-minicart.is-swapped{ animation:st-swap-root .6s var(--st-ease) both; }
@keyframes st-swap-root{ from{ opacity:0; transform:translateY(12px); } }

.st-mc__head{ flex-shrink:0; }
.st-mc__title{ display:flex; align-items:baseline; gap:8px; margin:0; }
.st-mc__count{ font-family:var(--st-f-body); font-size:.85rem; font-weight:600; letter-spacing:0; color:var(--st-accent); font-variant-numeric:tabular-nums; }
.st-minicart[data-state="empty"] .st-mc__count{ display:none; }
.st-mc__close .st-icon{ transition:transform .5s var(--st-ease-spring); }
.st-mc__close:hover .st-icon{ transform:rotate(90deg); }

.st-mc__body{
  padding:0 24px; scrollbar-width:thin; scrollbar-color:var(--st-line-2) transparent;
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
  mask-image:linear-gradient(180deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
}
.st-mc__foot{ flex-shrink:0; display:grid; gap:12px; }
.st-minicart.is-emptying .st-mc__foot,.st-minicart.is-emptying .st-meter{ opacity:.35; pointer-events:none; transition:opacity .3s var(--st-ease); }

/* влизане при отваряне: редовете един след друг, долната част се плъзга нагоре */
#st-cart-drawer .st-li{ opacity:0; transform:translateX(30px); transition:opacity .5s var(--st-ease), transform .7s var(--st-ease); }
#st-cart-drawer.is-open .st-li{ opacity:1; transform:none; transition-delay:calc(170ms + min(var(--i, 0), 8) * 65ms); }
#st-cart-drawer .st-mc__foot{ opacity:0; transform:translateY(26px); transition:opacity .5s var(--st-ease), transform .75s var(--st-ease); }
#st-cart-drawer.is-open .st-mc__foot{ opacity:1; transform:none; transition-delay:.2s; }
#st-cart-drawer .st-mc__empty > *{ opacity:0; transform:translateY(18px); transition:opacity .5s var(--st-ease), transform .7s var(--st-ease); }
#st-cart-drawer.is-open .st-mc__empty > *{ opacity:1; transform:none; transition-delay:calc(160ms + var(--i, 0) * 70ms); }

.st-mc__note{ display:flex; align-items:center; gap:8px; margin:0; font-size:var(--st-fs-xs); color:var(--st-bone-3); }
.st-mc__note .st-icon{ flex-shrink:0; color:var(--st-accent); }
.st-mc__cta{ min-height:58px; margin-top:2px; font-size:1rem; }
.st-mc__view{ min-height:46px; font-size:.9rem; }
.st-mc__trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 16px; margin:0; font-size:var(--st-fs-micro); letter-spacing:.02em; color:var(--st-bone-3); }
.st-mc__trust span{ display:inline-flex; align-items:center; gap:6px; }
.st-mc__disc{ display:grid; gap:8px; }
.st-mc__disc:empty,.st-sum__disc:empty{ display:none; }
@media (max-height:640px){
  .st-mc__trust{ display:none; }
  .st-mc__cta{ min-height:52px; }
  .st-mc__view{ min-height:42px; }
}

/* празно чекмедже */
.st-mc__empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:32px 28px 40px; text-align:center; }
.st-mc__art{ width:132px; margin-bottom:4px; color:var(--st-bone-2); }
.st-mc__etitle{ margin:0; font-size:clamp(1.5rem, 1.2rem + 1.2vw, 1.9rem); font-weight:700; line-height:1.1; letter-spacing:-.03em; }
.st-mc__etitle em,.st-cartempty__title em{ font-family:var(--st-f-serif); font-style:italic; font-weight:500; letter-spacing:-.01em; color:var(--st-accent); }
.st-mc__etext{ max-width:32ch; margin:0; font-size:var(--st-fs-sm); color:var(--st-bone-3); }
.st-mc__chips,.st-cartempty__chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.st-mc__chips{ margin-top:6px; }
.st-mc__chips sup,.st-cartempty__chips sup{ margin-left:1px; font-size:.68em; color:var(--st-accent); transition:color var(--st-d-fast); }
.st-mc__chips .st-chip:hover sup,.st-cartempty__chips .st-chip:hover sup{ color:inherit; }
.st-mc__shop{ margin-top:10px; }

/* анимирана празна чанта */
.st-emptybag{ width:100%; height:auto; overflow:visible; }
.st-emptybag__body,.st-emptybag__handle,.st-emptybag__smile{ fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.st-emptybag__body{ fill:rgba(241,236,228,.035); }
.st-emptybag__smile{ stroke:var(--st-accent); }
.st-emptybag__bag{ transform-box:fill-box; transform-origin:50% 100%; animation:st-bag-float 3.6s var(--st-ease-io) infinite; }
.st-emptybag__shadow{ fill:rgba(0,0,0,.5); transform-box:fill-box; transform-origin:50% 50%; animation:st-bag-shadow 3.6s var(--st-ease-io) infinite; }
.st-emptybag__spark{ fill:var(--st-accent); transform-box:fill-box; transform-origin:50% 50%; animation:st-twinkle 2.6s var(--st-ease-io) infinite; }
.st-emptybag__dot{ fill:var(--st-gold); animation:st-blink 3s ease-in-out infinite; }
@keyframes st-bag-float{ 50%{ transform:translateY(-7px) rotate(-2.5deg); } }
@keyframes st-bag-shadow{ 50%{ transform:scaleX(.78); opacity:.55; } }
@keyframes st-twinkle{ 0%,100%{ transform:scale(1) rotate(0); } 50%{ transform:scale(1.25) rotate(20deg); } }
@keyframes st-blink{ 50%{ opacity:.2; } }

/* ---------- 2. Ред в количката (чекмедже + страница) ---------- */
.st-li{ position:relative; display:grid; grid-template-columns:78px minmax(0,1fr); grid-template-rows:auto 1fr; grid-template-areas:"thumb info" "thumb ctrl"; gap:0 14px; padding:18px 0; border-bottom:1px solid var(--st-line); }
.st-li:last-child{ border-bottom-color:transparent; }
/* подсветка на току-що добавения ред */
.st-li::before{ content:""; position:absolute; inset:6px -12px; border-radius:14px; pointer-events:none; opacity:0;
  background:radial-gradient(120% 140% at 0% 50%, rgba(255,106,61,.17), rgba(255,106,61,0) 70%); box-shadow:inset 0 0 0 1px rgba(255,106,61,.38); }
.st-li.is-new::before{ animation:st-li-glow 2.3s var(--st-ease) both; }
@keyframes st-li-glow{ 0%{ opacity:0; } 16%{ opacity:1; } 70%{ opacity:.8; } 100%{ opacity:0; } }

.st-li__thumb{ position:relative; grid-area:thumb; align-self:start; display:block; aspect-ratio:4/5; overflow:hidden; border-radius:10px; background:var(--st-ink-3); }
.st-li__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--st-ease); }
.st-li__img--empty{ display:block; background:linear-gradient(135deg, var(--st-ink-3), var(--st-ink-4)); }
a.st-li__thumb:hover .st-li__img{ transform:scale(1.07); }

.st-li__info{ grid-area:info; display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.st-li__cat,.st-li__name{ padding-right:30px; }
.st-li__cat{ margin:0 0 2px; font-size:var(--st-fs-micro); letter-spacing:.16em; text-transform:uppercase; color:var(--st-bone-3); }
.st-li__name{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.93rem; font-weight:500; line-height:1.3; letter-spacing:-.005em; transition:color var(--st-d-fast); }
a.st-li__name:hover{ color:var(--st-accent-2); }
.st-li__meta{ display:flex; flex-wrap:wrap; align-items:center; margin:2px 0 0; font-size:var(--st-fs-xs); line-height:1.55; color:var(--st-bone-3); }
.st-li__meta > span{ display:inline-flex; align-items:center; white-space:nowrap; }
.st-li__meta > span:not(:last-child)::after{ content:"·"; margin:0 7px; }
.st-li__meta b{ margin-left:.3em; font-weight:600; color:var(--st-bone-2); }
.st-li__dot{ flex-shrink:0; width:9px; height:9px; margin-right:6px; border-radius:50%; background:var(--c, #777); box-shadow:0 0 0 1px var(--st-line-2); }
.st-li__unit{ margin:0; font-size:var(--st-fs-xs); color:var(--st-bone-3); font-variant-numeric:tabular-nums; }
.st-li__unit del{ margin-left:4px; opacity:.8; }
.st-li__note{ margin:0; font-size:var(--st-fs-xs); color:var(--st-gold); }

.st-li__ctrl{ grid-area:ctrl; align-self:end; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; margin-top:12px; }
.st-li__remove{ position:absolute; top:8px; right:-10px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:var(--st-bone-3); transition:color var(--st-d-fast), background var(--st-d-fast), transform .5s var(--st-ease-spring); }
.st-li__remove:hover{ color:var(--st-bone); background:rgba(241,236,228,.08); transform:rotate(90deg); }
.st-li__total{ margin:0; font-weight:600; line-height:1.25; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.st-li__total ins,.st-li__total del{ display:block; }
.st-li__total ins{ text-decoration:none; }
.st-li__total del{ font-size:.78em; font-weight:400; color:var(--st-bone-3); }
.st-li__total:has(del) ins{ color:var(--st-accent); }

/* стъпка за количество */
.st-qty{ position:relative; display:inline-flex; align-items:center; height:38px; padding:0 2px; overflow:hidden; border-radius:var(--st-radius-pill); box-shadow:inset 0 0 0 1px var(--st-line-2); transition:box-shadow var(--st-d-fast); }
.st-qty:hover{ box-shadow:inset 0 0 0 1px rgba(241,236,228,.38); }
.st-qty__btn{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--st-bone-2); transition:color var(--st-d-fast), background var(--st-d-fast), opacity var(--st-d-fast), transform .35s var(--st-ease-spring); }
.st-qty__btn:hover:not(:disabled){ color:var(--st-bone); background:rgba(241,236,228,.08); }
.st-qty__btn:active:not(:disabled){ transform:scale(.84); }
.st-qty__btn:disabled{ opacity:.3; cursor:not-allowed; }
.st-qty__btn .st-icon--trash{ display:none; }
.st-qty__btn.is-trash .st-icon--minus{ display:none; }
.st-qty__btn.is-trash .st-icon--trash{ display:block; }
.st-qty__btn.is-trash:hover:not(:disabled){ color:var(--st-danger); }
.st-qty__val{ display:inline-flex; justify-content:center; min-width:28px; overflow:hidden; font-size:.92rem; font-weight:600; line-height:1.4; font-variant-numeric:tabular-nums; }
.st-qty__num{ display:inline-block; }
.st-qty__input{ display:none; }
html.no-js .st-qty__btn,html.no-js .st-qty__val{ display:none; }
html.no-js .st-qty__input{ display:block; width:76px; min-height:40px; padding:6px 10px; text-align:center; border-radius:var(--st-radius-pill); }
html.no-js .st-qty{ height:auto; box-shadow:none; overflow:visible; }
/* записване: бутоните са изключени, под стъпката тича тънка линия */
.st-li.is-busy .st-qty__btn{ opacity:.4; pointer-events:none; }
.st-li.is-busy .st-qty::after{ content:""; position:absolute; left:10px; right:10px; bottom:2px; height:1.5px; border-radius:2px; background:linear-gradient(90deg, transparent, var(--st-accent), transparent); animation:st-busy .9s linear infinite; }
@keyframes st-busy{ from{ transform:translateX(-100%); } to{ transform:translateX(100%); } }

/* ---------- 3. Обръщащи се числа и плавна смяна на текст ---------- */
.st-flip{ display:inline-grid; justify-items:end; overflow:hidden; vertical-align:bottom; }
.st-qty__num.st-flip{ justify-items:center; }
.st-flip > span{ grid-area:1 / 1; }
.st-flip.is-flip-up > .st-flip__a{ animation:st-flip-out-up .34s var(--st-ease) forwards; }
.st-flip.is-flip-up > .st-flip__b{ animation:st-flip-in-up .34s var(--st-ease) both; }
.st-flip.is-flip-down > .st-flip__a{ animation:st-flip-out-down .34s var(--st-ease) forwards; }
.st-flip.is-flip-down > .st-flip__b{ animation:st-flip-in-down .34s var(--st-ease) both; }
@keyframes st-flip-out-up{ to{ opacity:0; transform:translateY(-90%); } }
@keyframes st-flip-in-up{ from{ opacity:0; transform:translateY(90%); } }
@keyframes st-flip-out-down{ to{ opacity:0; transform:translateY(90%); } }
@keyframes st-flip-in-down{ from{ opacity:0; transform:translateY(-90%); } }
.is-swap{ animation:st-swap-in .45s var(--st-ease) both; }
@keyframes st-swap-in{ from{ opacity:0; transform:translateY(6px); } }

/* ---------- 4. Лента до безплатна доставка ---------- */
.st-meter{ position:relative; flex-shrink:0; padding:14px 24px 16px; border-bottom:1px solid var(--st-line); background:linear-gradient(180deg, rgba(255,106,61,.07), rgba(255,106,61,0)); }
.st-meter[hidden]{ display:none; }
.st-meter__text{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:0 0 10px; font-size:var(--st-fs-sm); line-height:1.35; color:var(--st-bone-2); }
.st-meter__text b{ font-weight:700; color:var(--st-bone); font-variant-numeric:tabular-nums; }
.st-meter__text .st-icon{ flex-shrink:0; }
.st-meter__track{ position:relative; height:5px; overflow:hidden; border-radius:5px; background:rgba(241,236,228,.09); }
.st-meter__fill{ position:absolute; inset:0; overflow:hidden; border-radius:inherit; transform-origin:0 50%; transform:scaleX(var(--p, 0)); background:linear-gradient(90deg, #E8502A, var(--st-accent) 55%, var(--st-accent-2)); transition:transform 1.1s var(--st-ease); }
.st-meter__fill::after{ content:""; position:absolute; top:0; bottom:0; left:0; width:40%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transform:translateX(-120%); animation:st-sheen 2.8s var(--st-ease-io) 1.2s infinite; }
@keyframes st-sheen{ 0%{ transform:translateX(-120%); } 60%,100%{ transform:translateX(320%); } }
#st-cart-drawer:not(.is-open) .st-meter__fill{ transform:scaleX(0); transition-duration:.2s; }
#st-cart-drawer.is-open .st-meter__fill{ transition-delay:.25s; }
.st-meter.is-done{ background:linear-gradient(180deg, rgba(98,196,131,.09), rgba(98,196,131,0)); }
.st-meter.is-done .st-meter__text{ font-weight:600; color:var(--st-success); }
.st-meter.is-done .st-meter__fill{ background:linear-gradient(90deg, #3FA866, var(--st-success), #9BE8B6); }
.st-meter.is-done .st-meter__text .st-icon{ animation:st-twinkle 2.4s var(--st-ease-io) infinite; }
.st-meter__sparks{ position:absolute; right:30px; bottom:18px; width:0; height:0; pointer-events:none; }
.st-spark{ position:absolute; left:-3px; top:-3px; width:6px; height:6px; border-radius:50%; background:var(--c, var(--st-accent)); animation:st-spark 1s var(--st-ease) both; }
@keyframes st-spark{ 0%{ opacity:0; transform:translate(0,0) scale(.4); } 15%{ opacity:1; } 100%{ opacity:0; transform:translate(var(--dx), var(--dy)) scale(.15); } }

/* ---------- 5. Суми (чекмедже и обобщение) ---------- */
.st-sumrow{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-size:var(--st-fs-sm); color:var(--st-bone-2); }
.st-sumrow__k{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px; }
.st-sumrow__k small{ font-size:.85em; color:var(--st-bone-3); }
.st-sumrow__v{ font-weight:600; white-space:nowrap; color:var(--st-bone); font-variant-numeric:tabular-nums; }
.st-sumrow--sub .st-sumrow__v{ font-family:var(--st-f-display); font-size:1.3rem; font-weight:700; letter-spacing:-.02em; }
.st-sumrow--disc{ color:var(--st-accent-2); }
.st-sumrow--disc .st-sumrow__v{ color:var(--st-accent); }
.st-code{ padding:2px 8px; border-radius:6px; background:rgba(255,106,61,.13); font-size:.85em; font-weight:700; letter-spacing:.06em; color:var(--st-accent-2); }
.st-code__x{ display:inline-grid; place-items:center; width:28px; height:28px; margin:-4px 0; border-radius:50%; color:var(--st-bone-3); transition:color var(--st-d-fast), background var(--st-d-fast); }
.st-code__x:hover{ color:var(--st-bone); background:rgba(241,236,228,.08); }

/* ---------- 6. Бързо добавяне от картата ---------- */
.st-size.is-busy{ position:relative; color:transparent; pointer-events:none; }
.st-size.is-busy::after{ content:""; position:absolute; inset:0; width:14px; height:14px; margin:auto; border:1.5px solid var(--st-bone); border-right-color:transparent; border-radius:50%; animation:st-spin .7s linear infinite; }
.st-size .st-icon{ margin-inline:auto; }
.st-size.is-done{ animation:st-pop .45s var(--st-ease-spring); }
.is-pop{ animation:st-pop .45s var(--st-ease-spring); }
@keyframes st-pop{ 40%{ transform:scale(1.14); } }
.is-shake{ animation:st-shake .5s var(--st-ease) both; }
@keyframes st-shake{ 15%,55%{ transform:translateX(-6px); } 35%,75%{ transform:translateX(6px); } }
/* „+“ и за продуктите с цветове на десктоп (там няма лента с размери) */
@media (hover:hover) and (pointer:fine){
  .st-card:not(:has(.st-card__quick)) .st-card__plus{ display:grid; opacity:0; transform:translateY(10px) scale(.85); transition:opacity .35s var(--st-ease), transform .5s var(--st-ease-spring), background .2s, color .2s; }
  .st-card:not(:has(.st-card__quick)):hover .st-card__plus,.st-card:not(:has(.st-card__quick)):focus-within .st-card__plus{ opacity:1; transform:none; }
  .st-card__plus:hover{ background:var(--st-accent); color:var(--st-accent-ink); }
}
/* летяща снимка към чантата + клатене на иконата */
.st-fly{ position:fixed; z-index:calc(var(--z-toast) + 10); margin:0; object-fit:cover; border-radius:var(--st-radius); box-shadow:0 24px 60px rgba(0,0,0,.55); pointer-events:none; transform-origin:50% 50%; will-change:transform, opacity; }
.st-header__cart.is-hit .st-icon--bag{ transform-origin:50% 25%; animation:st-cart-hit .75s var(--st-ease-spring); }
@keyframes st-cart-hit{ 20%{ transform:rotate(-14deg) scale(1.14); } 45%{ transform:rotate(10deg) scale(1.08); } 70%{ transform:rotate(-4deg); } }

/* ---------- 7. Панел за бързо добавяне (#st-quick-sheet) ---------- */
/* vh резерва: старите WebView в FB/IG не познават dvh → без нея панелът излиза над екрана */
#st-quick-sheet .st-drawer__panel{ max-height:min(92vh, 820px); max-height:min(92dvh, 820px); }
.st-qsheet__head{ flex-shrink:0; padding:22px 12px 6px 20px; border-bottom:0; }
.st-qsheet__head .st-drawer__title{ font-size:.75rem; color:var(--st-bone-3); }
.st-qsheet__body{ padding:6px 20px 0; }

.st-qs{ display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-areas:"media top" "opts opts" "hint hint" "foot foot"; gap:16px 18px; animation:st-qs-in .5s var(--st-ease) both; }
.st-qs--skeleton{ animation:none; }
@keyframes st-qs-in{ from{ opacity:0; transform:translateY(12px); } }
.st-qs__media{ position:relative; grid-area:media; align-self:start; aspect-ratio:4/5; overflow:hidden; border-radius:12px; background:var(--st-ink-3); }
.st-qs__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .28s var(--st-ease), transform .9s var(--st-ease); }
.st-qs__img.is-out{ opacity:0; transform:scale(1.04); }
.st-qs__img--empty{ display:block; background:linear-gradient(135deg, var(--st-ink-3), var(--st-ink-4)); }
.st-qs__top{ grid-area:top; align-self:center; min-width:0; }
.st-qs__cat{ margin:0 0 6px; font-size:var(--st-fs-micro); font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--st-bone-3); }
.st-qs__name{ margin:0 0 8px; font-size:clamp(1.05rem, .9rem + .6vw, 1.7rem); font-weight:700; line-height:1.15; letter-spacing:-.025em; }
.st-qs__price{ display:block; font-size:1.1rem; }
.st-qs__perk{ display:none; }
.st-qs__opts{ grid-area:opts; display:grid; gap:18px; }
.st-qs__label{ margin:0 0 10px; font-size:var(--st-fs-xs); font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--st-bone-3); }
.st-qs__label b{ margin-left:2px; letter-spacing:.04em; color:var(--st-bone); }
.st-qs__labelrow{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.st-qs__guide{ display:inline-flex; align-items:center; gap:6px; font-size:var(--st-fs-xs); color:var(--st-bone-2); text-decoration:underline; text-decoration-color:var(--st-line-2); text-underline-offset:4px; transition:color var(--st-d-fast), text-decoration-color var(--st-d-fast); }
.st-qs__guide:hover{ color:var(--st-bone); text-decoration-color:var(--st-accent); }
.st-qs__swatches{ display:flex; flex-wrap:wrap; gap:12px; padding:3px; }
.st-qs__sw{ position:relative; width:40px; height:40px; border-radius:50%; background:var(--c, #777); box-shadow:0 0 0 1px var(--st-line-2), inset 0 0 0 1px rgba(0,0,0,.25); transition:transform .4s var(--st-ease-spring), box-shadow var(--st-d-fast); }
.st-qs__sw > span{ position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 30% 25%, rgba(255,255,255,.35), transparent 45%); }
.st-qs__sw:hover:not(:disabled){ transform:scale(1.1); }
.st-qs__sw[aria-checked="true"]{ box-shadow:0 0 0 3px var(--st-ink-2), 0 0 0 4.5px var(--st-bone); }
.st-qs__sw:disabled{ opacity:.4; cursor:not-allowed; }
.st-qs__sw:disabled::after{ content:""; position:absolute; left:50%; top:3px; bottom:3px; width:1.5px; margin-left:-.75px; background:var(--st-bone); transform:rotate(45deg); }
.st-qs__sizes{ display:flex; flex-wrap:wrap; gap:8px; }
.st-qs__sizes .st-size{ min-width:54px; height:46px; font-size:.82rem; }
.st-qs__hint{ grid-area:hint; min-height:1.35em; margin:-4px 0 0; font-size:var(--st-fs-sm); color:var(--st-bone-2); }
.st-qs__hint.is-warn{ color:var(--st-accent-2); }
.st-qs__foot{ position:sticky; bottom:0; z-index:2; grid-area:foot; display:grid; justify-items:center; gap:12px; margin:0 -20px; padding:16px 20px calc(16px + env(safe-area-inset-bottom)); background:linear-gradient(180deg, rgba(20,19,17,0), var(--st-ink-2) 24px); }
.st-qs__add{ min-height:58px; font-size:1rem; white-space:normal; line-height:1.2; text-align:center; }
.st-qs__add .st-icon{ display:inline-block; vertical-align:-3px; }
.st-qs__add.is-done{ --bg:var(--st-success); --fg:var(--st-ink); }
.st-qs__more{ display:inline-flex; align-items:center; gap:6px; font-size:var(--st-fs-sm); color:var(--st-bone-2); transition:color var(--st-d-fast); }
.st-qs__more:hover{ color:var(--st-bone); }
.st-qs__more .st-icon{ transition:transform .35s var(--st-ease); }
.st-qs__more:hover .st-icon{ transform:translate(2px,-2px); }
.st-qs-error{ display:grid; justify-items:center; gap:14px; padding:40px 12px 48px; text-align:center; color:var(--st-bone-2); }
.st-qs-error p{ margin:0; }

/* скелет при зареждане */
.st-skel{ position:relative; display:block; overflow:hidden; border-radius:8px; background:var(--st-ink-3); }
.st-skel::after{ content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(241,236,228,.07), transparent); animation:st-skel 1.3s ease-in-out infinite; }
@keyframes st-skel{ to{ transform:translateX(100%); } }
.st-skel--fill{ position:absolute; inset:0; border-radius:0; }
.st-skel--xs{ width:32%; height:10px; margin-bottom:12px; }
.st-skel--lg{ width:86%; height:20px; margin-bottom:12px; }
.st-skel--sm{ width:42%; height:14px; }
.st-skel--row{ width:100%; height:46px; border-radius:var(--st-radius-pill); }
.st-skel--btn{ width:100%; height:58px; border-radius:var(--st-radius-pill); }
.st-qs--skeleton .st-qs__opts{ gap:12px; }

/* таблет/десктоп: центриран панел с голяма снимка */
@media (min-width:768px){
  #st-quick-sheet{ display:grid; place-items:center; padding:28px; }
  #st-quick-sheet .st-drawer__panel{ position:relative; inset:auto; width:min(940px, 100%); max-height:min(88vh, 700px); overflow:hidden; border:1px solid var(--st-line); border-radius:22px; box-shadow:0 50px 140px rgba(0,0,0,.6); opacity:0; transform:translateY(28px) scale(.97); transition:transform .6s var(--st-ease), opacity .4s var(--st-ease); }
  #st-quick-sheet.is-open .st-drawer__panel{ opacity:1; transform:none; }
  #st-quick-sheet .st-qsheet__head{ position:absolute; top:14px; right:14px; z-index:5; padding:0; border:0; }
  #st-quick-sheet .st-qsheet__head::before{ display:none; }
  .st-qsheet__head .st-drawer__title{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .st-qsheet__head .st-iconbtn{ background:rgba(13,12,11,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
  .st-qsheet__body{ padding:0; }
  .st-qs{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto 1fr; grid-template-areas:"media top" "media opts" "media hint" "media foot"; gap:0 44px; padding-right:44px; }
  .st-qs__media{ align-self:stretch; border-radius:0; }
  .st-qs__top{ align-self:start; padding-top:56px; }
  .st-qs__perk{ display:flex; align-items:center; gap:8px; margin:14px 0 0; font-size:var(--st-fs-xs); color:var(--st-bone-3); }
  .st-qs__perk .st-icon{ color:var(--st-accent); }
  .st-qs__opts{ margin-top:26px; padding-top:26px; border-top:1px solid var(--st-line); }
  .st-qs__hint{ margin:14px 0 0; }
  .st-qs__foot{ position:static; align-self:end; justify-items:stretch; margin:0; padding:22px 0 40px; background:none; }
  .st-qs__more{ justify-self:center; }
}

/* ---------- 8. Страницата /kolichka/ ---------- */
.st-cartpage{ padding-block:clamp(24px, 4vw, 48px) 0; }
.st-cartpage.is-swapped{ animation:st-swap-root .7s var(--st-ease) both; }
.st-cartpage__grid{ display:grid; align-items:start; gap:32px; }
@media (min-width:1024px){
  .st-cartpage__grid{ grid-template-columns:minmax(0,1fr) minmax(340px,410px); gap:clamp(40px, 5vw, 88px); }
  .st-sum{ position:sticky; top:calc(var(--st-header-h) + 24px); }
}
.st-cartpage__bar{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 20px; padding-bottom:16px; border-bottom:1px solid var(--st-line); }
.st-cartpage__h{ margin:0; font-family:var(--st-f-display); font-size:clamp(.95rem, .8rem + .5vw, 1.2rem); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.st-cartpage__h [data-part="count"]{ color:var(--st-accent); }
.st-cartpage__back{ font-size:var(--st-fs-sm); color:var(--st-bone-2); }
.st-cartpage__items .st-li{ grid-template-columns:96px minmax(0,1fr); gap:0 16px; padding:22px 0; animation:st-rise .8s var(--st-ease) both; animation-delay:calc(80ms + min(var(--i, 0), 8) * 70ms); }
.st-cartpage__items .st-li::before{ inset:8px -14px; }
.st-cartpage__items .st-li__remove{ top:12px; }
@keyframes st-rise{ from{ opacity:0; transform:translateY(22px); } }
@media (min-width:768px){
  /* таблет/десктоп: снимка | описание | количество + сума */
  .st-cartpage__items .st-li{ grid-template-columns:132px minmax(0,1fr) auto; grid-template-rows:auto; grid-template-areas:"thumb info ctrl"; align-items:center; gap:0 28px; padding:28px 0; }
  .st-cartpage__items .st-li__thumb{ border-radius:12px; }
  .st-cartpage__items .st-li__info{ align-self:center; }
  .st-cartpage__items .st-li__cat,.st-cartpage__items .st-li__name{ padding-right:0; }
  .st-cartpage__items .st-li__name{ font-size:1.08rem; }
  .st-cartpage__items .st-li__ctrl{ align-self:center; flex-wrap:nowrap; gap:28px; margin:0; padding-right:44px; }
  .st-cartpage__items .st-li__total{ min-width:92px; font-size:1.12rem; }
  .st-cartpage__items .st-li__remove{ top:50%; right:-8px; margin-top:-20px; }
  .st-cartpage__items .st-li__remove:hover{ transform:rotate(90deg); }
  .st-cartpage__items .st-qty{ height:42px; }
  .st-cartpage__items .st-qty__btn{ width:38px; height:38px; }
}
.st-cartpage__nojs{ display:none; }
html.no-js .st-cartpage__nojs{ display:flex; justify-content:flex-end; padding-top:20px; }

/* обобщение */
.st-sum__card{ position:relative; isolation:isolate; overflow:hidden; padding:clamp(22px, 2.6vw, 34px); border:1px solid var(--st-line); border-radius:calc(var(--st-radius) + 6px); background:var(--st-ink-2); }
.st-sum__card::before{ content:""; position:absolute; z-index:-1; top:-220px; right:-200px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(255,106,61,.2), transparent 62%); pointer-events:none; animation:st-sum-glow 9s var(--st-ease-io) infinite alternate; }
@keyframes st-sum-glow{ to{ transform:translate(-60px, 40px) scale(1.15); } }
.st-sum__title{ margin:0 0 20px; font-family:var(--st-f-display); font-size:.95rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.st-sum .st-meter{ margin:0 0 20px; padding:14px 16px 16px; border:1px solid var(--st-line); border-radius:12px; }
.st-sum__rows,.st-sum__disc{ display:grid; gap:12px; }
.st-sum__total{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:20px 0 6px; padding-top:18px; border-top:1px solid var(--st-line); font-size:var(--st-fs-sm); color:var(--st-bone-2); }
.st-sum__total strong{ font-family:var(--st-f-display); font-size:clamp(1.6rem, 1.1rem + 1.6vw, 2.3rem); font-weight:700; line-height:1; letter-spacing:-.035em; color:var(--st-bone); font-variant-numeric:tabular-nums; }
.st-sum__vat{ margin:0 0 20px; font-size:var(--st-fs-xs); color:var(--st-bone-3); }
.st-sum__cta{ min-height:60px; font-size:1.02rem; }
.st-sum__trust{ display:grid; gap:12px; margin:22px 0 0; padding-top:20px; border-top:1px solid var(--st-line); font-size:var(--st-fs-sm); color:var(--st-bone-2); }
.st-sum__trust li{ display:flex; align-items:center; gap:12px; }
.st-sum__trust .st-icon{ flex-shrink:0; color:var(--st-accent); }

/* промокод */
.st-coupon{ margin-top:16px; }
.st-coupon summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; list-style:none; cursor:pointer; font-size:var(--st-fs-sm); color:var(--st-bone-2); transition:color var(--st-d-fast); }
.st-coupon summary::-webkit-details-marker{ display:none; }
.st-coupon summary > span{ display:inline-flex; align-items:center; gap:8px; }
.st-coupon summary:hover{ color:var(--st-bone); }
.st-coupon summary .st-icon--chevron{ transition:transform .4s var(--st-ease); }
.st-coupon[open] summary .st-icon--chevron{ transform:rotate(180deg); }
.st-coupon__row{ display:flex; gap:8px; padding-top:6px; }
.st-coupon[open] .st-coupon__row{ animation:st-swap-in .4s var(--st-ease) both; }
.st .st-coupon__input{ flex:1; min-width:0; min-height:48px; padding:10px 18px; border-radius:var(--st-radius-pill); font-size:16px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.st .st-coupon__input::placeholder{ font-weight:400; letter-spacing:0; text-transform:none; }
.st-coupon__btn{ position:relative; flex-shrink:0; min-height:48px; padding:0 20px; border-radius:var(--st-radius-pill); box-shadow:inset 0 0 0 1px var(--st-line-2); font-size:var(--st-fs-sm); font-weight:600; transition:background var(--st-d-fast), color var(--st-d-fast), box-shadow var(--st-d-fast), transform .3s var(--st-ease-spring); }
.st-coupon__btn:hover{ background:var(--st-bone); color:var(--st-ink); box-shadow:none; }
.st-coupon__btn:active{ transform:scale(.96); }
.st-coupon__btn.is-loading{ color:transparent; pointer-events:none; }
.st-coupon__btn.is-loading::after{ content:""; position:absolute; inset:0; width:16px; height:16px; margin:auto; border:1.5px solid var(--st-bone); border-right-color:transparent; border-radius:50%; animation:st-spin .7s linear infinite; }
.st-coupon__msg{ min-height:1em; margin:8px 0 0; font-size:var(--st-fs-xs); color:var(--st-bone-3); }
.st-coupon__msg:empty{ min-height:0; margin:0; }
.st-coupon__msg.is-error{ color:var(--st-danger); }
.st-coupon__msg.is-ok{ color:var(--st-success); }

/* лента „Общо“ на телефон */
.st-cartbar{ position:fixed; left:0; right:0; bottom:0; z-index:var(--z-sticky); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px var(--st-gutter) calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--st-line); background:rgba(20,19,17,.9); backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px); transform:translateY(110%); transition:transform .55s var(--st-ease); }
.st-cartbar[hidden]{ display:none; }
.st-cartbar.is-on{ transform:none; }
html.st-locked .st-cartbar{ transform:translateY(110%); }
.st-cartbar__sum{ display:grid; line-height:1.15; }
.st-cartbar__sum span{ font-size:var(--st-fs-micro); letter-spacing:.14em; text-transform:uppercase; color:var(--st-bone-3); }
.st-cartbar__sum strong{ font-family:var(--st-f-display); font-size:1.2rem; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.st-cartbar__cta{ min-height:50px; padding:0 22px; }
@media (min-width:1024px){ .st-cartbar{ display:none; } }

/* предложения под количката */
.st-cartrec{ margin-top:clamp(64px, 9vw, 140px); padding-top:clamp(40px, 5vw, 72px); border-top:1px solid var(--st-line); }
.st-cartrec__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:clamp(28px, 3.4vw, 48px); }
.st-cartrec__head .st-h2{ margin:0; }

/* празна страница */
.st-cartempty{ position:relative; display:grid; justify-items:center; gap:16px; overflow:hidden; padding-block:clamp(24px, 5vw, 72px) clamp(12px, 2vw, 24px); text-align:center; }
.st-cartempty > *{ animation:st-rise .9s var(--st-ease) both; }
.st-cartempty > :nth-child(2){ animation-delay:.1s; }
.st-cartempty > :nth-child(3){ animation-delay:.18s; }
.st-cartempty > :nth-child(4){ animation-delay:.26s; }
.st-cartempty > :nth-child(5){ animation-delay:.34s; }
.st-cartempty > :nth-child(6){ animation-delay:.42s; }
.st-cartempty__big{ position:relative; margin:0; font-family:var(--st-f-display); font-size:clamp(4rem, 18vw, 14rem); font-weight:800; line-height:.82; letter-spacing:-.06em; text-transform:uppercase; color:transparent; -webkit-text-stroke:1.2px rgba(241,236,228,.22); user-select:none; }
.st-cartempty__big span{ display:block; }
.st-cartempty__big::after{ content:attr(data-text); position:absolute; inset:0; color:var(--st-accent); -webkit-text-stroke:0; clip-path:inset(0 100% 0 0); animation:st-sweep 5.5s var(--st-ease-io) 1.2s infinite; }
@keyframes st-sweep{ 0%{ clip-path:inset(0 100% 0 0); } 42%,58%{ clip-path:inset(0 0 0 0); } 100%{ clip-path:inset(0 0 0 100%); } }
.st-cartempty__art{ position:relative; width:clamp(110px, 16vw, 150px); margin-top:clamp(-72px, -6vw, -28px); color:var(--st-bone-2); }
.st-cartempty__title{ margin:6px 0 0; font-size:clamp(1.8rem, 1.2rem + 2.4vw, 3rem); font-weight:700; letter-spacing:-.04em; }
.st-cartempty__text{ max-width:46ch; margin:0; color:var(--st-bone-2); }
.st-cartempty__chips{ margin:6px 0 8px; }

/* уиджетът на WooCommerce (ако някой го ползва) */
.st-minisum{ margin:0; font-size:var(--st-fs-sm); }

/* ред, вмъкнат на живо (cart.js): без началната „rise“ — иначе тя тръгва отново, щом махнем is-entering */
.st-cartpage__items .st-li.is-live{ animation:none; }

/* ---------- 9. Влизане/излизане на редове (след правилата на страницата) ---------- */
:is(.st-mc__items, .st-cartpage__items) > .st-li.is-entering{ animation:st-li-in .6s var(--st-ease) both; }
@keyframes st-li-in{ from{ opacity:0; transform:translateY(-14px) scale(.98); } }
:is(.st-mc__items, .st-cartpage__items) > .st-li.is-removing{ pointer-events:none; animation:st-li-out .42s var(--st-ease) forwards; }
@keyframes st-li-out{ to{ opacity:0; transform:translateX(42px) scale(.96); } }

/* ---------- 10. Намалено движение ---------- */
@media (prefers-reduced-motion:reduce){
  #st-cart-drawer,#st-quick-sheet{ transition-delay:0s!important; }
  #st-cart-drawer .st-li,#st-cart-drawer .st-mc__foot,#st-cart-drawer .st-mc__empty > *{ opacity:1!important; transform:none!important; }
  #st-quick-sheet .st-drawer__panel{ transform:none!important; }
  .st-li,.st-cartpage__items .st-li,.st-cartempty > *,.st-qs,.st-flip > span,.is-swap,.is-pop,.is-shake,.st-size.is-done{ animation:none!important; }
  .st-emptybag *,.st-meter__fill::after,.st-skel::after,.st-sum__card::before,.st-meter__text .st-icon,.st-header__cart.is-hit .st-icon--bag{ animation:none!important; }
  .st-cartempty__big::after,.st-fly,.st-spark{ display:none!important; }
  .st-meter__fill,.st-qs__img{ transition:none!important; }
}
