/*
 * Vitrin çekirdek stilleri (tema bağımsız): erişilebilirlik yardımcıları, bildirim, çerez onayı,
 * slider mekaniği (efektler), çekmece, arama önerileri. Görsel kimlik --shop-* token'larından gelir;
 * temalar bu token'ları kendi renklerine eşler.
 */
:root{
  --shop-bg:#ffffff;--shop-surface:#f6f7fb;--shop-card:#ffffff;--shop-ink:#0f172a;--shop-ink-2:#334155;--shop-muted:#64748b;
  --shop-line:#e2e8f0;--shop-brand:#6366f1;--shop-brand-ink:#ffffff;--shop-success:#16a34a;--shop-danger:#dc2626;--shop-warning:#d97706;
  --shop-radius:14px;--shop-shadow:0 18px 50px -12px rgba(15,23,42,.28);--shop-focus:#4f46e5;
  --shop-ease:cubic-bezier(.2,.7,.2,1);
}
:root[data-theme="dark"]{
  --shop-bg:#0b0d14;--shop-surface:#121521;--shop-card:#161a28;--shop-ink:#e8ebf3;--shop-ink-2:#c3c9d6;--shop-muted:#9aa3b5;
  --shop-line:#262b3b;--shop-brand:#8b8cf8;--shop-brand-ink:#0b0d14;--shop-shadow:0 18px 50px -12px rgba(0,0,0,.7);--shop-focus:#a5b4fc;
}
/* ---- Kaydırma çubukları: ince ve temalı (klasik çubuk yok) ----
 * Temalar --shop-scroll-thumb / --shop-scroll-thumb-hover / --shop-scroll-track ile renklendirir.
 * Not: scrollbar-color destekleyen tarayıcılar (Firefox, Chrome 121+) ::-webkit-scrollbar'ı yok sayar. */
/* QF-23: tarayıcı varsayılan gövde boşluğu yok (tam genişlik header/footer bantları; her tema) */
:where(body){margin:0}
/* QF-16: yüklenemeyen görselde alt metin kartın üstüne taşmasın (ekran okuyucu alt metni yine okur) */
:where(img){color:transparent}
:root{--shop-scroll-thumb:color-mix(in srgb,var(--shop-muted) 42%,transparent);--shop-scroll-thumb-hover:color-mix(in srgb,var(--shop-brand) 65%,transparent);--shop-scroll-track:transparent}
:where(html){scrollbar-width:thin;scrollbar-color:var(--shop-scroll-thumb) var(--shop-scroll-track)}
:where(html) :where(*){scrollbar-width:thin}
::-webkit-scrollbar{width:8px;height:8px;background:transparent}
::-webkit-scrollbar-track{background:var(--shop-scroll-track)}
::-webkit-scrollbar-thumb{background-color:var(--shop-scroll-thumb);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background-color:var(--shop-scroll-thumb-hover)}
::-webkit-scrollbar-corner{background:transparent}
.sb-thin{scrollbar-width:thin;scrollbar-color:var(--shop-scroll-thumb) transparent}
.sb-none,[data-carousel-track],[data-scroll-fade]{scrollbar-width:none;-ms-overflow-style:none}
.sb-none::-webkit-scrollbar,[data-carousel-track]::-webkit-scrollbar,[data-scroll-fade]::-webkit-scrollbar{display:none;width:0;height:0}
/* Kaydırılabilir panelde kenar solması (JS has-more-top/bottom sınıfını ekler) */
[data-scroll-fade].has-more-bottom{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent)}
[data-scroll-fade].has-more-top{-webkit-mask-image:linear-gradient(to top,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to top,#000 calc(100% - 28px),transparent)}
[data-scroll-fade].has-more-top.has-more-bottom{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 40px),transparent)}
/* [data-scroll-bar]: ince, temalı, görünür çubuk (fare tekeri + dokunma); solma maskesi çubuk şeridini (--sb-w) örtmez */
[data-scroll-fade][data-scroll-bar]{--sb-w:14px;scrollbar-width:thin;scrollbar-color:var(--shop-scroll-thumb) var(--shop-scroll-track);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
[data-scroll-fade][data-scroll-bar]::-webkit-scrollbar{display:block;width:6px;height:6px}
[data-scroll-fade][data-scroll-bar]:is(.has-more-top,.has-more-bottom){-webkit-mask-size:100% 100%,var(--sb-w) 100%;mask-size:100% 100%,var(--sb-w) 100%;-webkit-mask-position:0 0,100% 0;mask-position:0 0,100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
[data-scroll-fade][data-scroll-bar].has-more-bottom{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent),linear-gradient(#000,#000);mask-image:linear-gradient(to bottom,#000 calc(100% - 40px),transparent),linear-gradient(#000,#000)}
[data-scroll-fade][data-scroll-bar].has-more-top{-webkit-mask-image:linear-gradient(to top,#000 calc(100% - 28px),transparent),linear-gradient(#000,#000);mask-image:linear-gradient(to top,#000 calc(100% - 28px),transparent),linear-gradient(#000,#000)}
[data-scroll-fade][data-scroll-bar].has-more-top.has-more-bottom{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 40px),transparent),linear-gradient(#000,#000);mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 40px),transparent),linear-gradient(#000,#000)}
[data-scroll-fade][data-scroll-bar]:focus-visible{outline:2px solid var(--shop-focus);outline-offset:2px}
/* Yatay şerit mekaniği ([data-carousel]) — sürükleme sırasında snap kapanır, seçim/odak korunur */
[data-carousel-track]{position:relative;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
[data-carousel-track]:focus-visible{outline:3px solid color-mix(in srgb,var(--shop-brand) 60%,transparent);outline-offset:4px;border-radius:12px}
[data-carousel].is-dragging [data-carousel-track]{scroll-snap-type:none;cursor:grabbing;user-select:none;-webkit-user-select:none}
[data-carousel].is-dragging [data-carousel-track] *{pointer-events:none}
@media (hover:hover) and (pointer:fine){[data-carousel].is-scrollable [data-carousel-track]{cursor:grab}}
[data-carousel-prev][disabled],[data-carousel-next][disabled]{opacity:.35;cursor:default;pointer-events:none}
/* "Daha fazla göster" listeleri */
.js [data-more-list]:not(.is-expanded)>[data-more-item]{display:none}
.scheme-anim,.scheme-anim *{transition:background-color .35s ease,color .35s ease,border-color .35s ease!important}
.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:absolute;left:12px;top:-80px;z-index:10050;background:var(--shop-ink);color:var(--shop-bg);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
[hidden]{display:none!important}
.cart-badge.is-bump{animation:shop-bump .5s var(--shop-ease)}
@keyframes shop-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}

/* ---- Bildirimler ----
 * Masaüstünde sağ üstte (yapışkan header'ın altı: --shop-overlay-top, storefront.js), mobilde altta; sağ alt köşe yüzen
 * düğmelere (WhatsApp/destek) bırakılır. Yüzen düğmenin sahibi :root'a --float-btn-h (ör. 72px) yazarsa mobil bildirimler
 * onun üstünde durur. --float-safe-bottom: altta sabit çekirdek öğeler (yapışkan satın alma çubuğu, çerez bandı) —
 * yüzen düğmeler bottom:calc(16px + var(--float-safe-bottom)) kullanır. */
:root{--float-safe-bottom:0px;--float-btn-h:0px}
.shop-toasts{position:fixed;z-index:10040;top:var(--shop-overlay-top,16px);right:16px;bottom:auto;left:auto;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}
.shop-toasts[popover]{inset:var(--shop-overlay-top,16px) 16px auto auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;color:inherit;height:auto}
.shop-toasts[popover]:not(:popover-open){display:none}
.shop-toast{pointer-events:auto;display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 16px;border-radius:var(--shop-radius);background:var(--shop-card);color:var(--shop-ink);border:1px solid var(--shop-line);box-shadow:var(--shop-shadow);border-left:4px solid var(--shop-brand);transform:translateY(-8px);opacity:0;transition:transform .3s var(--shop-ease),opacity .3s}
@media (max-width:640px){
  .shop-toasts,.shop-toasts[popover]{inset:auto 12px calc(12px + env(safe-area-inset-bottom) + var(--float-safe-bottom,0px) + var(--float-btn-h,0px)) 12px;width:auto}
  .shop-toast{transform:translateY(12px)}
}
.shop-toast.is-in{transform:none;opacity:1}
.shop-toast--success{border-left-color:var(--shop-success)}.shop-toast--error{border-left-color:var(--shop-danger)}.shop-toast--warning{border-left-color:var(--shop-warning)}
.shop-toast__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:14px;line-height:1.4}
.shop-toast__title{font-weight:700}.shop-toast__msg{color:var(--shop-muted)}
.shop-toast__link{color:var(--shop-brand);font-weight:700;text-decoration:none;margin-top:2px}
.shop-toast__close{border:0;background:none;color:var(--shop-muted);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}

/* ---- Sepete eklendi kartı (Shop.cartAdded) ----
 * Masaüstü: header'ın altında sağ üstte kayan kart. ≤640px: alttan açılan sayfa (yüzen düğmelerin üstünü örter, kısa süreli).
 * Temalar yalnız --cs-* token'larını (ve gerekirse .th-<slug> .shop-cs__… ayrıntılarını) değiştirir. */
.shop-cs{--cs-bg:var(--shop-card);--cs-ink:var(--shop-ink);--cs-muted:var(--shop-muted);--cs-line:var(--shop-line);--cs-soft:var(--shop-surface);
  --cs-ok:var(--shop-success);--cs-brand:var(--shop-brand);--cs-brand-ink:var(--shop-brand-ink);--cs-radius:calc(var(--shop-radius) + 4px);
  --cs-in-radius:max(6px,calc(var(--cs-radius) - 8px));--cs-btn-radius:999px;--cs-bw:1px;--cs-shadow:var(--shop-shadow);--cs-media-bg:#fff;--cs-w:392px;
  position:fixed;z-index:10050;inset:var(--shop-overlay-top,16px) 16px auto auto;margin:0;box-sizing:border-box;
  width:min(var(--cs-w),calc(100vw - 32px));height:auto;max-height:calc(100vh - var(--shop-overlay-top,16px) - 16px);overflow:auto;overscroll-behavior:contain;
  display:grid;gap:12px;padding:16px;background:var(--cs-bg);color:var(--cs-ink);border:var(--cs-bw) solid var(--cs-line);border-radius:var(--cs-radius);
  box-shadow:var(--cs-shadow);font-size:14px;line-height:1.45;text-align:left;
  opacity:0;transform:translate3d(28px,0,0) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .34s var(--shop-ease)}
.shop-cs[hidden]{display:none}
.shop-cs.is-in{opacity:1;transform:none}
.shop-cs *,.shop-cs *::before,.shop-cs *::after{box-sizing:border-box}
.shop-cs__grip{display:none}
.shop-cs__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.shop-cs__ok{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--cs-ok) 16%,transparent);color:var(--cs-ok)}
.shop-cs.is-in .shop-cs__ok svg{animation:shop-cs-pop .45s var(--shop-ease)}
@keyframes shop-cs-pop{0%{transform:scale(.4)}60%{transform:scale(1.15)}100%{transform:none}}
.shop-cs__title{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:var(--cs-ink)}
.shop-cs__title:focus{outline:none}
.shop-cs__title:focus-visible{outline:2px solid var(--shop-focus);outline-offset:3px;border-radius:4px}
.shop-cs__x{display:grid;place-items:center;width:36px;height:36px;margin:-6px -6px -6px 0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--cs-muted);cursor:pointer}
.shop-cs__x:hover{background:var(--cs-soft);color:var(--cs-ink)}
.shop-cs__item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"m i p";align-items:center;gap:12px;padding:10px;border-radius:var(--cs-in-radius);background:var(--cs-soft)}
.shop-cs__media{grid-area:m;display:grid;place-items:center;width:64px;height:64px;border-radius:max(4px,calc(var(--cs-in-radius) - 4px));overflow:hidden;background:var(--cs-media-bg);color:var(--cs-muted)}
.shop-cs__media img{width:100%;height:100%;object-fit:contain;display:block}
.shop-cs__media.is-empty{background:var(--cs-bg)}
.shop-cs__info{grid-area:i;min-width:0}
.shop-cs__name{margin:0;font-weight:650;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.shop-cs__meta{margin:2px 0 0;font-size:13px;color:var(--cs-muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.shop-cs__price{grid-area:p;margin:0;align-self:start;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.shop-cs__price:empty{display:none}
.shop-cs__sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px}
.shop-cs__sum[hidden],.shop-cs__ship[hidden]{display:none}
.shop-cs__sum-l{color:var(--cs-muted)}
.shop-cs__sum-v{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.shop-cs__ship{display:grid;gap:6px;padding:0 2px;font-size:13px}
.shop-cs__ship-t{margin:0;font-weight:600}
.shop-cs__ship.is-free .shop-cs__ship-t{display:flex;align-items:center;gap:6px}
.shop-cs__ship.is-free .shop-cs__ship-t::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:var(--cs-ok) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M4 8.3l2.6 2.5L12 5.4%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") center/16px no-repeat}
.shop-cs__bar{display:block;height:6px;border-radius:99px;background:color-mix(in srgb,var(--cs-muted) 22%,transparent);overflow:hidden}
.shop-cs__bar i{display:block;height:100%;width:var(--p,0%);border-radius:inherit;background:var(--cs-ok);transition:width .6s var(--shop-ease) .15s}
.shop-cs__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shop-cs__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--cs-btn-radius);border:var(--cs-bw) solid var(--cs-line);background:transparent;color:var(--cs-ink);font:inherit;font-size:14px;font-weight:700;line-height:1.1;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.shop-cs__btn:hover{border-color:var(--cs-ink)}
.shop-cs__btn--primary{background:var(--cs-brand);border-color:var(--cs-brand);color:var(--cs-brand-ink)}
.shop-cs__btn--primary:hover{border-color:var(--cs-brand);filter:brightness(1.06)}
.shop-cs__btn:focus-visible,.shop-cs__x:focus-visible{outline:2px solid var(--shop-focus);outline-offset:2px}
.shop-cs a.shop-cs__btn--primary{color:var(--cs-brand-ink)}
.shop-cs__timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cs-brand);opacity:.5;transform:scaleX(0);transform-origin:left;pointer-events:none}
.shop-cs.is-run .shop-cs__timer{animation:shop-cs-timer var(--cs-left,6500ms) linear forwards}
@keyframes shop-cs-timer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:400px){
  .shop-cs__item{grid-template-columns:56px minmax(0,1fr);grid-template-areas:"m i" "m p"}
  .shop-cs__media{width:56px;height:56px}
  .shop-cs__price{align-self:end}
}
@media (max-width:640px){
  .shop-cs{inset:auto 0 0 0;width:100%;max-height:calc(100vh - 48px);padding:10px 16px calc(16px + env(safe-area-inset-bottom));
    border-bottom:0;border-radius:var(--cs-radius) var(--cs-radius) 0 0;transform:translate3d(0,100%,0);opacity:1;transition:transform .34s var(--shop-ease)}
  .shop-cs.is-in{transform:translate3d(0,var(--cs-drag,0px),0)}
  .shop-cs__grip{display:block;justify-self:center;width:40px;height:4px;margin-bottom:-2px;border-radius:99px;background:color-mix(in srgb,var(--cs-muted) 45%,transparent)}
  .shop-cs__timer{display:none}
}
@media (prefers-reduced-motion:reduce){
  .shop-cs,.shop-cs.is-in{transform:none;transition:opacity .01s}
  .shop-cs:not(.is-in){opacity:0}
  .shop-cs.is-in .shop-cs__ok svg,.shop-cs.is-run .shop-cs__timer{animation:none}
  .shop-cs__bar i{transition:none}
}

/* ---- Çerez onayı ---- */
.cc{position:fixed;z-index:10030;left:16px;right:16px;bottom:16px;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(16px);transition:opacity .12s linear,transform .3s var(--shop-ease)}
.cc.is-open{opacity:1;transform:none}
/* UX-21: bant açıkken klavye odağı bandın altında kalmasın (tarayıcı odaklanan öğeyi bandın üstüne kaydırır) */
html{scroll-padding-bottom:var(--float-safe-bottom,0px)}
/* Bant slider kontrollerini örtüyorsa storefront.js --cc-lift kadar yukarı alır */
.tk-sl-ui,.df-slider__ui{translate:0 calc(-1 * var(--cc-lift,0px));transition:translate .25s var(--shop-ease)}
.tk-slide-copy,.df-slide__inner{translate:0 calc(-1 * var(--cc-lift-copy,0px));transition:translate .25s var(--shop-ease)}
/* Yapışkan satın alma çubuğu görünürken bant her genişlikte onun üstünde durur (önceden yalnız ≤560px; tablet/masaüstünde çubuğu örtüyordu) */
.has-sticky-bar .cc{bottom:calc(var(--sticky-bar-h,0px) + 12px)}
.cc-box{pointer-events:auto;width:100%;max-width:720px;background:var(--shop-card);color:var(--shop-ink);border:1px solid var(--shop-line);border-radius:calc(var(--shop-radius) + 4px);box-shadow:var(--shop-shadow);padding:20px}
.cc-title{font-size:17px;margin:0 0 6px;font-weight:800}
.cc-text{font-size:14px;color:var(--shop-ink-2);line-height:1.55}.cc-text p{margin:0 0 6px}.cc-text a{color:var(--shop-brand)}
.cc-prefs{display:grid;gap:8px;margin:12px 0}
.cc-cat{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--shop-line);border-radius:12px;cursor:pointer}
/* QF-12: özel onay kutusu — koyu modda işaretsiz kutu dolu görünmesin, flex içinde ezilmesin */
.cc-cat input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:1px 0 0;border:2px solid var(--shop-muted);border-radius:6px;background:var(--shop-card);display:inline-grid;place-items:center;cursor:pointer;transition:background-color .15s,border-color .15s}
.cc-cat input::after{content:"";width:10px;height:6px;border:solid var(--shop-brand-ink);border-width:0 0 2.5px 2.5px;transform:translateY(-1px) rotate(-45deg);opacity:0}
.cc-cat input:checked{background:var(--shop-brand);border-color:var(--shop-brand)}
.cc-cat input:checked::after{opacity:1}
.cc-cat input:disabled{cursor:not-allowed;background:var(--shop-muted);border-color:var(--shop-muted)}
.cc-cat input:focus-visible{outline:3px solid var(--shop-focus);outline-offset:2px}
.cc-cat:has(input:disabled){cursor:default}
.cc-cat span{display:flex;flex-direction:column;gap:2px;font-size:14px}.cc-cat small{color:var(--shop-muted)}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:12px}
.cc-btn{border-radius:999px;padding:10px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;border:1px solid var(--shop-line);background:transparent;color:var(--shop-ink);min-height:44px}
.cc-btn-primary{background:var(--shop-brand);border-color:var(--shop-brand);color:var(--shop-brand-ink)}
/* QM-16: tema düğme/renk kuralları onay bandındaki düğme yazı rengini ezmesin */
.cc .cc-btn{color:var(--shop-ink)}.cc .cc-btn.cc-btn-primary{color:var(--shop-brand-ink)}
.cc-policy{margin:6px 0 0;font-size:13px}.cc-policy a{color:var(--shop-brand)}
/* UX-21: masaüstünde kısa tek satırlık bant (metin solda, düğmeler sağda; ~120px) — ilk ekranda slider kontrollerini
   ve içeriği daha az örter. Tercihler açılınca kategoriler metin sütununda listelenir. */
@media (min-width:1024px){
  .cc-box{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center;padding:14px 20px}
  .cc-title,.cc-text,.cc-policy,.cc-prefs{grid-column:1}
  .cc-title{margin-bottom:2px}
  .cc-text{font-size:13.5px;line-height:1.5}.cc-text p{margin:0}
  .cc-policy{margin-top:2px}
  .cc-actions{grid-column:2;grid-row:1/span 4;margin:0;flex-wrap:nowrap}
}
/* QM-09: mobilde kompakt bant (~%25 ekran): metin 3 satır, "Yalnızca zorunlu / Kabul" yan yana, "Tercihler" metin bağlantısı.
   Yapışkan satın alma çubuğu görünürken bant onun üstünde durur (has-sticky-bar, storefront.js). */
@media (max-width:560px){
  .cc{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}
  .has-sticky-bar .cc{bottom:calc(var(--sticky-bar-h,0px) + 8px)}
  .cc-box{padding:12px 14px;max-height:calc(100vh - 24px);overflow:auto}
  .cc-title{font-size:15px;margin:0 0 2px}
  .cc-text{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
  .cc-text p{margin:0}
  .cc-box{position:relative}
  .cc-title{padding-right:96px}
  .cc-policy{position:absolute;top:13px;right:14px;margin:0;font-size:12.5px}
  .cc-prefs{margin:8px 0}
  .cc-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
  .cc-actions .cc-btn{padding:8px 10px;font-size:14px;min-height:44px}
  .cc-actions [data-consent-action="reject"]{order:1}
  .cc-actions [data-consent-action="accept"]{order:2}
  .cc-actions [data-consent-action="save"]{order:3;grid-column:1/-1}
  .cc-actions [data-consent-action="customize"]{order:4;grid-column:1/-1;border:0;min-height:36px;padding:4px 8px;font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:3px}
}
/* QM-08: yapışkan alt çubuk (ürün / sepet) görünürken sayfa sonu çubuğun altında kalmasın (footer bağlantıları, "Çerez tercihleri") */
.has-sticky-bar body{padding-bottom:var(--sticky-bar-h,0px)}
/* QM-17: dokunmatik ekranda küçük denetimlerin dokunma alanı (görünüm aynı kalır; en az 24×44 / 44×44) */
@media (pointer:coarse){
  :root .df-slider__dots .slider-dot{box-sizing:content-box;padding:19px 5px;background-clip:content-box}
  :root .df-slider__dots.df-slider__dots{gap:0}
  :root .tk-sl-dots .tk-sl-dot{padding:20px 4px;min-width:24px;justify-content:center}
  :root .df-pc__add{min-width:44px;min-height:44px}
  :root .df-ann__close,:root [data-tk-ann-close]{min-width:44px;min-height:44px}
  :root .df-qty .df-qty__btn{min-width:44px;min-height:44px}
  :root .df-xs__item .df-btn,:root .df-ls__fbtn.df-btn{min-height:44px}
  :root .df-crumbs a{display:inline-flex;align-items:center;min-height:32px}
  :root .df-ov .df-ov__sw{min-width:40px;min-height:40px}
}
/* QM-07 / QM-06: iOS odakta yakınlaştırmasın diye mobilde metin girdileri en az 16px (tüm temalar) */
@media (max-width:768px),(pointer:coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),select,textarea{font-size:max(16px,1em)!important}
}

/* ---- Slider mekaniği ([data-slider]) ----
 * Yapı: [data-slider data-effect=fade|slide|zoom|kenburns|parallax|reveal]
 *         > [data-slider-track] > [data-slide].is-active
 * Tema slaytın içeriğini ve yüksekliğini stillendirir; burada yalnız geçiş efektleri var. */
[data-slider]{position:relative;overflow:hidden;isolation:isolate}
[data-slider] [data-slider-track]{position:relative;display:grid;height:100%}
[data-slider] [data-slide]{grid-area:1/1;position:relative;opacity:0;visibility:hidden;transition:opacity .9s var(--shop-ease),transform .9s var(--shop-ease),visibility 0s .9s,clip-path 1s var(--shop-ease)}
[data-slider] [data-slide].is-active{opacity:1;visibility:visible;transition:opacity .9s var(--shop-ease),transform .9s var(--shop-ease),visibility 0s,clip-path 1s var(--shop-ease);z-index:2}
[data-slider] [data-slide].is-prev{z-index:1}
[data-slider] .slide-media{position:absolute;inset:0;overflow:hidden;z-index:0}
[data-slider] .slide-media img,[data-slider] .slide-media video{width:100%;height:100%;object-fit:cover;display:block}
/* slide */
[data-slider][data-effect="slide"] [data-slide]{opacity:1;transform:translateX(100%)}
[data-slider][data-effect="slide"][data-dir="prev"] [data-slide]{transform:translateX(-100%)}
[data-slider][data-effect="slide"] [data-slide].is-active{transform:none}
[data-slider][data-effect="slide"] [data-slide].is-prev{transform:translateX(-100%);visibility:visible}
[data-slider][data-effect="slide"][data-dir="prev"] [data-slide].is-prev{transform:translateX(100%)}
/* zoom */
[data-slider][data-effect="zoom"] [data-slide]{transform:scale(1.08)}
[data-slider][data-effect="zoom"] [data-slide].is-active{transform:none}
/* kenburns: aktif slayt görseli yavaşça yakınlaşır */
[data-slider][data-effect="kenburns"] [data-slide] .slide-media img{transform:scale(1.02);transform-origin:60% 40%}
[data-slider][data-effect="kenburns"] [data-slide].is-active .slide-media img{animation:shop-kenburns 14s ease-out forwards}
@keyframes shop-kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.16) translate(-2%,-1.5%)}}
/* parallax: görsel kaydırmayla yavaş hareket eder (--parallax JS ile) */
[data-slider][data-effect="parallax"] .slide-media img{transform:translateY(var(--parallax,0)) scale(1.18);will-change:transform}
/* reveal: perde açılır gibi */
[data-slider][data-effect="reveal"] [data-slide]{opacity:1;clip-path:inset(0 0 0 100%)}
[data-slider][data-effect="reveal"][data-dir="prev"] [data-slide]{clip-path:inset(0 100% 0 0)}
[data-slider][data-effect="reveal"] [data-slide].is-active{clip-path:inset(0 0 0 0)}
[data-slider][data-effect="reveal"] [data-slide].is-prev{visibility:visible;clip-path:inset(0 0 0 0);z-index:1}
/* içerik girişi (tüm efektler) */
[data-slider] [data-slide] .slide-anim{opacity:0;transform:translateY(18px);transition:opacity .7s var(--shop-ease),transform .7s var(--shop-ease)}
[data-slider] [data-slide].is-active .slide-anim{opacity:1;transform:none}
[data-slider] [data-slide].is-active .slide-anim:nth-child(2){transition-delay:.12s}
[data-slider] [data-slide].is-active .slide-anim:nth-child(3){transition-delay:.22s}
[data-slider] [data-slide].is-active .slide-anim:nth-child(4){transition-delay:.32s}
[data-slider] [data-slide].is-active .slide-anim:nth-child(5){transition-delay:.42s}
[data-slider-progress]{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:currentColor;opacity:.75;z-index:5}
[data-slider-progress].is-run{animation:shop-progress linear forwards}
@keyframes shop-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---- Arama önerileri ---- */
.suggest-title{margin:10px 12px 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--shop-muted)}
.suggest-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;color:var(--shop-ink);text-decoration:none}
.suggest-item:hover,.suggest-item:focus-visible{background:var(--shop-surface)}
.suggest-thumb{width:44px;height:44px;border-radius:10px;background:var(--shop-surface);flex:none;overflow:hidden}
.suggest-thumb img{width:100%;height:100%;object-fit:cover}
.suggest-text{display:flex;flex-direction:column;min-width:0;flex:1}
.suggest-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suggest-cat{font-size:12px;color:var(--shop-muted)}
.suggest-price{font-weight:800;color:var(--shop-brand);white-space:nowrap}
.suggest-item--cat{font-weight:600}
.suggest-empty{padding:18px;text-align:center;color:var(--shop-muted)}
.suggest-item.is-active,.suggest-chip.is-active,.suggest-term.is-active,.suggest-all.is-active{background:var(--shop-surface);outline:2px solid color-mix(in srgb,var(--shop-brand) 45%,transparent);outline-offset:-2px}
.suggest-item.is-oos{opacity:.6}
.suggest-hl{background:color-mix(in srgb,var(--shop-brand) 18%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.suggest-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.suggest-price b{font-weight:800}
.suggest-price s{font-size:12px;color:var(--shop-muted);font-weight:500}
.suggest-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 12px 6px}
.suggest-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--shop-line);color:var(--shop-ink);text-decoration:none;font-size:14px;font-weight:600}
.suggest-chip:hover{border-color:var(--shop-brand);color:var(--shop-brand)}
.suggest-chip--brand::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--shop-brand);margin-right:7px;opacity:.7}
.suggest-terms{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px 4px;font-size:14px}
.suggest-terms__l{color:var(--shop-muted);margin-right:2px}
.suggest-term{color:var(--shop-brand);font-weight:700;text-decoration:none;padding:2px 6px;border-radius:6px}
.suggest-term:hover{text-decoration:underline}
.suggest-count{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;background:var(--shop-surface);color:var(--shop-ink-2);font-size:12px}
.suggest-all{display:block;text-align:center;padding:12px;font-weight:700;color:var(--shop-brand);text-decoration:none;border-top:1px solid var(--shop-line);margin-top:6px}

/* ---- Ürün kartı anatomisi (tüm temalar; ızgara, ray, ilgili ürünler) ----
 * Kart: [data-pc] > [data-pc-media] + [data-pc-body] > [data-pc-info] (marka, ad, renkler) + [data-pc-buy] (puan, fiyat, düğme);
 *       isteğe bağlı [data-pc-in] ara sarmal (Nova) ve [data-pc-end] alt şerit (Bloc; tema --pc-rows:4 verir).
 * 1) Esnek yedek: hücre kartı tam boy taşır, satın alma bandı alta yaslanır → satırdaki kartlar eşit boy, fiyatlar aynı hizada.
 * 2) Subgrid (destekleyen tarayıcı): aynı satırdaki kartlar görsel / bilgi / satın alma izlerini paylaşır.
 * Rozetler mutlak konumludur (yüksekliği etkilemez); ad 2 satıra kısalır, metnin tamamı DOM'da ve title niteliğinde kalır. */
:where([data-pc]){height:100%;min-width:0}
:where(li):has(>[data-pc]){display:flex;flex-direction:column;min-width:0}
:where(li)>:where([data-pc]){flex:1 1 auto}
:where([data-pc-in]){height:100%}
:where([data-pc-body]){display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
:where([data-pc-info],[data-pc-buy]){display:flex;flex-direction:column;gap:inherit;align-items:inherit;min-width:0}
:where([data-pc-buy]){margin-top:auto}
:where([data-pc-buy]:empty){display:none}
:where([data-pc-info])>:where(.df-pc__cat,.nv-meta,.bl-mono){display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@supports (grid-template-rows:subgrid){
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail)>li:has(>[data-pc]){display:grid;grid-template-rows:subgrid;grid-row:span var(--pc-rows,3);row-gap:0}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) :is([data-pc],[data-pc-in]){display:grid;grid-template-rows:subgrid;grid-row:span var(--pc-rows,3);row-gap:var(--pc-gap,0px);height:auto}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) [data-pc] [data-pc-media]{grid-row:1}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) [data-pc] [data-pc-body]{grid-row:2/span 2;display:grid;grid-template-rows:subgrid}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) [data-pc] [data-pc-info]{grid-row:1;align-self:stretch}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) [data-pc] [data-pc-buy]{grid-row:2;align-self:stretch;margin-top:0;justify-content:flex-end}
  :root :is(.df-grid,.df-pcar__track,.tk-prail__track,.nv-grid,.nv-rail,.bl-grid,.bl-rail) [data-pc] [data-pc-end]{grid-row:4}
}

/* ---- Görünürken belir ---- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--shop-ease),transform .8s var(--shop-ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
  [data-slider][data-effect] [data-slide] .slide-media img{animation:none!important;transform:none!important}
}

/* ---- Header logosu (themes/_core/logo.php, CONTRACTS §49) ----
   Yükseklik ayardan (--lg-h / mobil --lg-hm), genişlik orandan; mobilde en fazla ekranın --lg-vw kadarı (tema belirler).
   Kare logo yanında ad (has-name) isteğe bağlı. Koyu mod görseli varsa koyu temada o gösterilir. */
.th-logo.has-img{display:inline-flex;align-items:center;gap:10px;min-width:0;line-height:0}
.th-logo .th-logo-img{display:block;flex:none;height:var(--lg-h,40px);width:auto;max-width:100%;object-fit:contain;object-position:left center;border-radius:0}
.th-logo .th-logo-d{display:none}
:root[data-theme="dark"] .th-logo.has-dark .th-logo-l{display:none}
:root[data-theme="dark"] .th-logo.has-dark .th-logo-d{display:block}
.th-logo .th-logo-name{line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-logo .th-logo-m{display:none}
@media (max-width:767px){
  /* R2-04: --lg-fit = storefront.js initLogoFit'in başlıktaki boş alana göre hesapladığı yükseklik (yoksa eski sınır) */
  .th-logo .th-logo-img{height:var(--lg-fit,min(var(--lg-hm,32px),calc(var(--lg-vw,37vw) / var(--lg-r,4))))}
  .th-logo.has-name{gap:8px}
  .th-logo.has-mobile .th-logo-l{display:none}
  .th-logo.has-mobile .th-logo-m{display:block}
  /* R3: koyu modda da telefon logosu (geniş koyu logo telefonda yine küçük kalıyordu); hangi renkte olursa olsun okunsun
     diye açık plaka üzerinde (uygulama simgesi görünümü) */
  :root[data-theme="dark"] .th-logo.has-mobile .th-logo-l,:root[data-theme="dark"] .th-logo.has-mobile .th-logo-d,.th-logo.on-dark.has-mobile .th-logo-d{display:none}
  :root[data-theme="dark"] .th-logo.has-mobile .th-logo-m,.th-logo.on-dark.has-mobile .th-logo-m{display:block;box-sizing:content-box;padding:3px;border-radius:9px;background:#fff;height:calc(var(--lg-fit,var(--lg-hm,36px)) - 6px)}
}
.th-logo.on-dark.has-dark .th-logo-l{display:none}
.th-logo.on-dark.has-dark .th-logo-d{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
/* UX-20: koyu / degrade zeminde koyu logo yüklenmemişse açık logo beyaz plaka üzerinde (okunur kalsın) */
.th-logo.on-dark:not(.has-dark) .th-logo-l{box-sizing:content-box;padding:6px 10px;background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
/* Menü sığmadığında (storefront.js initNavFit) logo %80 */
.is-logo-compact .th-logo .th-logo-img{height:calc(var(--lg-h,40px) * .8)}
.th-logo .th-logo-img{flex:0 1 auto;min-width:0}
.th-logo.has-name .th-logo-img{flex:none}
.th-logo.has-name .th-logo-name{flex:0 1 auto}
/* Mağaza ikon seti (includes/icons): satır içi SVG, renk metinden; menü öğesi ikonu başlıktan önce, metinle ortalı */
.si{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.125em;overflow:visible}
.mi{width:1.15em;height:1.15em;margin-inline-end:.45em;vertical-align:-.2em;stroke-width:1.9}
.si.si{display:inline-block} /* temaların svg{display:block} sıfırlaması ikonu ayrı satıra itmesin */
/* Bağlantı zaten flex + gap ise boşluğu gap verir (çift boşluk olmasın) */
.tk-mega-col li a>.mi,.tk-mega-flat a>.mi,.df-nav__link>.mi,.df-drawer__nav :is(a,summary)>.mi{margin-inline-end:0}
/* Default çekmece satırları space-between: ikonlu satırda başlık ikonun yanında kalır, açma oku sağda */
.df-drawer__nav :is(a,summary):has(>.mi){justify-content:flex-start}
.df-drawer__nav summary:has(>.mi)>.df-i{margin-inline-start:auto}

/* Avantajlar şeridi: bağlantılı öğede başlık bağlantıdır, satırın tamamı tıklanır (theme_usp_resolve url) */
li:has(> * .th-usp-link){position:relative}
.th-usp-link{color:inherit;text-decoration:none}
.th-usp-link::after{content:"";position:absolute;inset:0}
.th-usp-link:hover{text-decoration:underline;text-underline-offset:3px}
.th-usp-link:focus-visible{outline:none}
li:has(> * .th-usp-link:focus-visible){outline:2px solid currentColor;outline-offset:3px}

/* Dil seçici + dil öneri bandı (themes/_core/i18n-ui.php, storefront.js initLang; yalnız çoklu dil açıkken) */
.lang-sw{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;font-size:14px;line-height:1.2}
.lang-sw ul{list-style:none;margin:0;padding:0}
.lang-sw__btn{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 8px;border:0;border-radius:var(--shop-radius,10px);background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.lang-sw__btn:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.lang-sw__btn:focus-visible,.lang-sw__opt:focus-visible{outline:2px solid var(--shop-focus,#2563eb);outline-offset:2px}
.lang-sw__ico{flex:0 0 auto}
.lang-sw__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;min-width:150px;padding:6px!important;background:var(--shop-surface,#fff);color:var(--shop-ink,#111);border:1px solid var(--shop-line,#e5e7eb);border-radius:var(--shop-radius,10px);box-shadow:var(--shop-shadow,0 10px 30px rgba(0,0,0,.12));display:none}
.lang-sw__menu.is-open,.lang-sw.is-open .lang-sw__menu{display:block}
.lang-sw__opt{display:block;padding:8px 10px;border-radius:8px;color:inherit;text-decoration:none;white-space:nowrap}
.lang-sw__opt:hover{background:color-mix(in srgb,var(--shop-brand,#2563eb) 10%,transparent)}
.lang-sw__opt.is-current{font-weight:700;color:var(--shop-brand,inherit)}
.lang-sw__list{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.lang-sw--bar .lang-sw__list .lang-sw__opt{padding:6px 8px;font-weight:600}
.lang-sw--bar .lang-sw__opt.is-current{text-decoration:underline;text-underline-offset:3px}
.lang-sw--drawer{display:block;width:100%;margin:8px 0}
.lang-sw--drawer .lang-sw__list{gap:6px}
.lang-sw--drawer .lang-sw__opt{border:1px solid var(--shop-line,#e5e7eb);padding:8px 14px}
.lang-sw--drawer .lang-sw__opt.is-current{border-color:var(--shop-brand,currentColor)}
.lang-suggest{position:relative;z-index:1100;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:10px 48px 10px 16px;background:var(--shop-ink,#111);color:var(--shop-bg,#fff);font-size:14px;line-height:1.4;text-align:center}
.lang-suggest__text{margin:0;min-width:0;overflow-wrap:anywhere}
.lang-suggest__go{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.lang-suggest__close{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.lang-suggest__close:hover{background:color-mix(in srgb,currentColor 15%,transparent)}
.lang-suggest a:focus-visible,.lang-suggest__close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media print{.lang-suggest,.lang-sw{display:none!important}}

/* Platform imzası (themes/_core/credit.php) */
.th-credit{display:inline-block;margin-left:.6em;font-size:.92em;opacity:.75;white-space:nowrap}
.th-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.th-credit a:hover,.th-credit a:focus-visible{opacity:1}
