/* ═══════════════════════════════════════════════════════════════
   FanJerseyShowcase — açık taraftar forması vitrini
   Yerleşim sistemi: TÜM sahne öğelerinin konum/boyutları ikas
   panelinden gelen CSS custom property'leriyle yönetilir.
   Masaüstü (-d) ve mobil (-m) değişken setleri bağımsızdır;
   media query yalnız hangi setin okunacağını seçer.
   Sahnede TEK aktif forma; alt ürün rayı normal akışta.
   Sticky / parallax / scroll listener YOK.
   ═══════════════════════════════════════════════════════════════ */

.cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase {
  /* Açık-sıcak palet — yalnız bu bileşende kullanılır */
  --fan-cream-1: #F8F3E9;
  --fan-cream-2: #F1E8D8;
  --fan-cream-3: #E8DEC9;
  --fan-card: rgba(253, 250, 244, 0.9);
  --fan-green: #063D28;
  --fan-green-mid: #0A6845;
  --fan-green-hover: #0A4A32;
  --fan-red: #C22E31;
  --fan-ink: #1C2620;
  --fan-line: rgba(16, 60, 41, 0.12);

  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: clip;
  background: var(--fan-cream-1);
  color: var(--fan-ink);
}

/* ─── Aktif yerleşim seti: mobil taban → ≥768px masaüstü ────── */

.cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase {
  --fan-scene-h: var(--fan-scene-h-m, 760px);
  --fan-bg-x: var(--fan-bg-x-m, 62%);
  --fan-bg-y: var(--fan-bg-y-m, 50%);
  --fan-bg-zoom: var(--fan-bg-zoom-m, 1);
  --fan-intro-x: var(--fan-intro-x-m, 6%);
  --fan-intro-y: var(--fan-intro-y-m, 7%);
  --fan-intro-w: var(--fan-intro-w-m, 88%);
  --fan-title-size: var(--fan-title-size-m, 47px);
  --fan-desc-size: var(--fan-desc-size-m, 16px);
  --fan-jersey-x: var(--fan-jersey-x-m, 50%);
  --fan-jersey-y: var(--fan-jersey-y-m, 56%);
  --fan-jersey-w: var(--fan-jersey-w-m, 60%);
  --fan-jersey-h: var(--fan-jersey-h-m, 46%);
  --fan-info-x: var(--fan-info-x-m, 50%);
  --fan-info-y: var(--fan-info-y-m, 84%);
  --fan-info-w: var(--fan-info-w-m, 90%);
  --fan-info-h: auto;
  --fan-ctrl-x: var(--fan-ctrl-x-m, 50%);
  --fan-ctrl-y: var(--fan-ctrl-y-m, 95%);
  /* MOBILE EDITORIAL → RAIL NEFESİ (panel değeri girilmemişse) */
  --fan-rail-top: var(--fan-rail-top-m, var(--m-editorial-rail-gap, clamp(100px, 28vw, 130px)));
  --fan-rail-side: 1rem;
  --fan-card-w: var(--fan-card-w-m, 220px);
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase {
    --fan-scene-h: var(--fan-scene-h-d, 820px);
    --fan-bg-x: var(--fan-bg-x-d, 50%);
    --fan-bg-y: var(--fan-bg-y-d, 50%);
    --fan-bg-zoom: var(--fan-bg-zoom-d, 1);
    --fan-intro-x: var(--fan-intro-x-d, 5%);
    --fan-intro-y: var(--fan-intro-y-d, 16%);
    --fan-intro-w: var(--fan-intro-w-d, 31%);
    --fan-title-size: var(--fan-title-size-d, 76px);
    --fan-desc-size: var(--fan-desc-size-d, 18px);
    --fan-jersey-x: var(--fan-jersey-x-d, 69%);
    --fan-jersey-y: var(--fan-jersey-y-d, 62%);
    --fan-jersey-w: var(--fan-jersey-w-d, 27%);
    --fan-jersey-h: var(--fan-jersey-h-d, 54%);
    --fan-info-x: var(--fan-info-x-d, 50%);
    --fan-info-y: var(--fan-info-y-d, 86%);
    --fan-info-w: var(--fan-info-w-d, 87%);
    --fan-info-h: var(--fan-info-h-d, 64px);
    --fan-ctrl-x: var(--fan-ctrl-x-d, 50%);
    --fan-ctrl-y: var(--fan-ctrl-y-d, 95%);
    --fan-rail-top: var(--fan-rail-top-d, 72px);
    --fan-rail-side: var(--fan-rail-side-d, 64px);
    --fan-card-w: var(--fan-card-w-d, 230px);
  }
}

/* ─── SCENE CANVAS ───────────────────────────────────────── */

.cc_nugnohn9_T0dzCNT1RF .fan-scene {
  position: relative;
  width: 100%;
  height: var(--fan-scene-h);
  overflow: hidden;
  isolation: isolate;
  /* Görsel yüklenmemişse güvenli sıcak fallback — bölüm bozulmaz */
  background: linear-gradient(
    135deg,
    #F8F3E9 0%,
    #F1E8D8 52%,
    #E8DEC9 100%
  );
}

/* Arka plan: TEK <img>; odak ve yakınlık panelden. Zoom taşması
   scene'in overflow:hidden'ı içinde kalır — negatif inset YOK. */
.cc_nugnohn9_T0dzCNT1RF .fan-scene-bg-frame {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 0;
  pointer-events: none;
}

.cc_nugnohn9_T0dzCNT1RF .fan-scene-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--fan-bg-x) var(--fan-bg-y);
  transform: scale(var(--fan-bg-zoom));
  transform-origin: center;
  display: block;
}

/* ─── Başlık bloğu — konum/boyut panelden ────────────────── */

.cc_nugnohn9_T0dzCNT1RF .fan-intro {
  position: absolute;
  left: var(--fan-intro-x);
  top: var(--fan-intro-y);
  width: var(--fan-intro-w);
  z-index: 2;
}

/* Eyebrow tipografisi: global .amed-promo-eyebrow (tek kaynak) */
.cc_nugnohn9_T0dzCNT1RF .fan-eyebrow { margin: 0; }

/* Kısa kırmızı + yeşil dekoratif çizgiler */
/* Vurgu çizgileri: PromoAccentLines + global .amed-promo-lines (tek kaynak) */

/* Aile/ağırlık/satır: global .amed-promo-title; burada punto (manuel sahne) */
.cc_nugnohn9_T0dzCNT1RF .fan-title {
  font-size: var(--fan-title-size);
  margin: 0;
  /* NEGATİF TAKİP TELAFİSİ (CollectionShowcase marka satırıyla aynı kalıp):
     `letter-spacing` SON harften sonra da uygulanır, yani satırın advance
     genişliği çizilen mürekkepten ~0.035em DAR ölçülür ve son harf kutunun
     dışına taşarak kırpılmış görünebilir. Bu payı geri verir — glif ölçüsü
     ve konumu değişmez, yalnız kutu doğru genişler. */
  padding-inline-end: 0.035em;
}

.cc_nugnohn9_T0dzCNT1RF .fan-title-main, .cc_nugnohn9_T0dzCNT1RF .fan-title-accent {
  display: block;
}

.cc_nugnohn9_T0dzCNT1RF .fan-title-main {
  color: var(--fan-ink);
}

.cc_nugnohn9_T0dzCNT1RF .fan-title-accent {
  color: var(--fan-green-mid);
}

/* Ölçü/satır/renk: global .amed-promo-desc; manuel sahnede punto paneldan */
.cc_nugnohn9_T0dzCNT1RF .fan-description {
  font-size: var(--fan-desc-size);
  max-width: 22.8125rem;
  text-wrap: pretty;
}

/* ─── TEK aktif forma — merkez noktası panelden ──────────── */

.cc_nugnohn9_T0dzCNT1RF .fan-active-jersey {
  position: absolute;
  left: var(--fan-jersey-x);
  top: var(--fan-jersey-y);
  width: var(--fan-jersey-w);
  height: var(--fan-jersey-h);
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.cc_nugnohn9_T0dzCNT1RF .fan-active-jersey-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  /* blur / blend / rotate / renk filtresi / radius YOK — yalnız yumuşak gölge */
  filter:
    drop-shadow(0 18px 16px rgba(70, 55, 30, 0.18))
    drop-shadow(0 5px 6px rgba(70, 55, 30, 0.1));
  /* Ürün değişiminde kısa giriş — wrapper transform'una (konum) dokunmaz */
  animation: fan-jersey-in 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cc_nugnohn9_T0dzCNT1RF_fan-jersey-in {
  from {
    opacity: 0;
    transform: translateY(0.625rem) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc_nugnohn9_T0dzCNT1RF .fan-active-jersey-image {
    animation: none;
  }
}

/* Yumuşak temas gölgesi — formanın altında; podyum/sert oval/glow değil */
.cc_nugnohn9_T0dzCNT1RF .fan-contact-shadow {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 62%;
  height: 6%;
  border-radius: 50%;
  background: rgba(58, 45, 27, 0.2);
  filter: blur(10px);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

/* ─── Ürün bilgi kartı — merkez noktası ve genişliği panelden;
   İÇ TASARIM DEĞİŞMEDİ ── */

.cc_nugnohn9_T0dzCNT1RF .fan-info {
  position: absolute;
  left: var(--fan-info-x);
  top: var(--fan-info-y);
  width: var(--fan-info-w);
  min-height: var(--fan-info-h);
  transform: translate(-50%, -50%);
  z-index: 4;
  background: var(--fan-card);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--fan-line);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(60, 46, 24, 0.1);
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.375rem;
}

/* Masaüstü: İNCE şerit kart — minimum dikey dolgu, küçük tipografi,
   alçak kompakt CTA */
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-info {
    grid-template-columns: 1.3fr auto auto;
    gap: 1rem;
    padding: 0.5rem 1.25rem;
    border-radius: 12px;
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-info-name {
    font-size: clamp(0.875rem, 0.95vw, 1rem);
    font-weight: 600;
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-info-stock {
    margin-top: 0.125rem;
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-info-price {
    font-size: clamp(1rem, 1.1vw, 1.125rem);
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-info-cta {
    min-height: 2.375rem;
    padding-inline: 1.25rem;
    font-size: var(--text-label);
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-main {
  min-width: 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-name {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #143526;
  margin: 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-stock {
  font-family: var(--font-label);
  font-size: var(--text-small);
  font-weight: 600;
  color: var(--fan-red);
  margin: 0.375rem 0 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-price {
  font-family: var(--font-body);
  font-size: clamp(1.5rem, 1.8vw, 1.75rem);
  font-weight: 700;
  color: var(--fan-green);
  margin: 0;
  white-space: nowrap;
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 3.375rem;
  padding-inline: 1.75rem;
  border-radius: 999px;
  background: var(--fan-green);
  color: #ffffff;
  font-family: var(--font-label);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 200ms ease, transform 200ms ease;
  /* Mobil: tam genişlik */
  width: 100%;
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-info-cta {
    width: auto;
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-cta:hover {
  background: var(--fan-green-hover);
  transform: translateY(-1px);
}

.cc_nugnohn9_T0dzCNT1RF .fan-info-cta:focus-visible {
  outline: 2px solid var(--fan-green-mid);
  outline-offset: 3px;
}

.cc_nugnohn9_T0dzCNT1RF .fan-cta-arrow {
  display: inline-block;
}

/* ─── Carousel kontrolleri — merkez noktası panelden ─────── */

.cc_nugnohn9_T0dzCNT1RF .fan-controls {
  position: absolute;
  left: var(--fan-ctrl-x);
  top: var(--fan-ctrl-y);
  transform: translate(-50%, -50%);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* ORTAK CAROUSEL KONTROL STANDARDI: 44/46px krem daire + koyu yeşil ikon */
.cc_nugnohn9_T0dzCNT1RF .fan-arrow {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 999px;
  background: #FFFFFF;
  border: 1px solid rgba(10, 72, 48, 0.16);
  color: #0A4A32;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(48, 42, 30, 0.12);
  transition: transform 200ms ease, background-color 200ms ease,
    border-color 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-arrow {
    width: 46px;
    height: 46px;
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-arrow:hover, .cc_nugnohn9_T0dzCNT1RF .fan-arrow:focus-visible {
  transform: translateY(-1px);
  background: #0A6845; /* ORTAK: hover'da yeşil dolgu, beyaz ok */
  border-color: #0A6845;
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(6, 61, 40, 0.28);
}

.cc_nugnohn9_T0dzCNT1RF .fan-arrow:active {
  transform: scale(0.97);
}

.cc_nugnohn9_T0dzCNT1RF .fan-arrow:focus-visible {
  outline: 2px solid var(--fan-green-mid);
  outline-offset: 3px;
}

/* Forma seçici noktaları — TEK paylaşımlı MobileCarouselPagination
   (`.fan-dots`, visible=always, dark ton). MOBİLDE kanonik geometri global
   .css'ten gelir; yalnız MASAÜSTÜ (≥768) onaylı sahne görünümü korunur
   (6px krem nokta, aktif 18×6 pill + halka, 6px aralık, satır boşluğu yok). */
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-dots.amed-rail-pagination {
    display: inline-flex;
    gap: 6px;
    min-height: 0;
    margin: 0;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-dots .amed-rail-pagination-dot {
    background: rgba(243, 239, 230, 0.7);
    box-shadow: none;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-dots .amed-rail-pagination-dot:hover {
    background: rgba(243, 239, 230, 0.95);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-dots .amed-rail-pagination-dot.is-active {
    width: 18px;
    background: #0A6845;
    box-shadow: 0 0 0 1px rgba(253, 250, 244, 0.6);
  }
}

/* ─── Alt ürün rayı — normal akışta; boşluklar ve kart genişliği
   panelden. Ray kendi içinde kayar → yatay sayfa taşması olmaz. ── */

.cc_nugnohn9_T0dzCNT1RF .fan-products-area {
  position: relative;
  background: linear-gradient(180deg, #F8F3E9 0%, #F4EDDF 100%);
  padding: var(--fan-rail-top) var(--fan-rail-side)
    clamp(4.375rem, 7vw, 6.875rem);
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector {
  max-width: 1680px;
  margin-inline: auto;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-head .fan-selector-deco {
  margin: 0.5rem 0 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-title {
  font-family: var(--font-label);
  font-size: clamp(1.0625rem, 1.2vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #232B24;
  margin: 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0.25rem 0.25rem 1rem;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-track::-webkit-scrollbar {
  display: none;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-card {
  flex: 0 0 var(--fan-card-w);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  background: rgba(253, 251, 246, 0.96);
  border: 1px solid rgba(16, 60, 41, 0.1);
  border-radius: 16px;
  padding: 0.875rem;
  box-shadow: 0 10px 26px rgba(48, 42, 30, 0.07);
  cursor: pointer;
  text-align: left;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-card:hover {
  transform: translateY(-2px);
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-card:focus-visible {
  outline: 2px solid var(--fan-green-mid);
  outline-offset: 3px;
}

/* Seçili kart: yeşil vurgu — koyu zemine ÇEVRİLMEZ */
.cc_nugnohn9_T0dzCNT1RF .fan-selector-card.is-selected {
  border-color: #0A6845;
  box-shadow:
    0 0 0 1px rgba(10, 104, 69, 0.14),
    0 12px 30px rgba(46, 66, 52, 0.1);
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-media {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  min-width: 0;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-img-empty {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background: var(--fan-cream-2);
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-name {
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 600;
  line-height: 1.3;
  color: #1D2721;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cc_nugnohn9_T0dzCNT1RF .fan-selector-price {
  font-family: var(--font-body);
  font-size: var(--text-small);
  font-weight: 700;
  color: var(--fan-green-mid);
}

/* ═══════════════════════════════════════════════════════════════
   OTOMATİK YERLEŞİM — FINAL TASARIM
   Taraftar görseli SECTION'ın kendisinde (cover; odak panel prop'larından,
   masaüstünde fixed, mobilde scroll). Uçan forma ve ayrı ürün bilgi şeridi
   YOK — ürünler doğrudan premium kartlarda, 4'lük sayfalar hâlinde kayar.
   Sol/alt aydınlatma gradyanları içeriği okunur kılar; blur YOK, section
   yüksekliği içerikten doğal oluşur. Manuel mod (--manual) eski
   panel-değerli sistemi aynen korur.
   ═══════════════════════════════════════════════════════════════ */

.cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase--auto {
  --fan-gold: #C49A34;

  /* Mobil taban: section yüzeyi sıcak krem — taraftar görseli üstteki
     .fan-auto-media şeridinde akar. Masaüstünde görsel section arka planıdır. */
  background-color: #F6F4EC;
  color: var(--fan-ink);
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase--auto {
    background-image: var(--fan-bg-image-desktop, none);
    background-size: cover;
    background-position: var(--fan-bg-x-d, 50%) var(--fan-bg-y-d, 50%);
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
}

/* ── MOBİL: taraftar görseli SECTION'ın tamamını kaplar (ayrı şerit YOK) —
   mobil görsel + panel odak prop'ları; beyaz/boş bant oluşmaz. ── */
@media (max-width: 767px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase--auto.fan-auto--bg {
    background-image: var(--fan-bg-image-mobile, none);
    background-size: cover;
    background-position: var(--fan-bg-x-m, 62%) var(--fan-bg-y-m, 50%);
    background-repeat: no-repeat;
  }

  /* Okunabilirlik overlay'i — yalnız gerçek görsel varken; kontrollü,
     blur'suz yumuşak karartma (üst hafif, alt biraz daha koyu). */
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase--auto.fan-auto--bg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(10, 22, 16, 0.14) 0%,
      rgba(10, 22, 16, 0.2) 55%,
      rgba(10, 22, 16, 0.34) 100%
    );
  }
}

/* Masaüstünde section genelinde BEYAZ/KREM katman YOK — kartlar ve ray
   doğrudan taraftar görselinin üzerinde durur (spec). Okunabilirlik için
   yalnız mobildeki lokal koyu overlay kullanılır; editorial kart opak. */

/* ── İçerik — tek akış kolonu: editorial kart üstte solda, ürünler altında.
   Kart ↔ ürün satırı arası ~32-44px; CTA kartın içinde olduğundan alt
   boşluk kompakt. ── */
.cc_nugnohn9_T0dzCNT1RF .fan-auto-content {
  position: relative;
  z-index: 1;
  width: min(100%, 1600px);
  margin-inline: auto;
  padding: clamp(2.25rem, 5vw, 4.5rem) clamp(1rem, 3vw, 3rem)
    clamp(2.25rem, 4vw, 3.5rem);
  display: flex;
  flex-direction: column;
  /* ORTAK NEFES tokeni — editorial kart ile ürün rayı arası;
     CollectionShowcase ile birebir aynı ritim. */
  gap: var(--section-rail-gap, clamp(2rem, 6vw, 6.5rem));
}

/* ── Editorial kart — sıcak krem OPAK yüzey; blur/şeffaf cam YOK.
   Lifestyle/CollectionShowcase kart ailesiyle aynı dil: büyük radius,
   çok hafif border, düşük yoğunluklu premium gölge. ── */
.cc_nugnohn9_T0dzCNT1RF .fan-editorial {
  /* Başlık puntosu kart genişliğine göre cqw ile sınırlanır.
     MOBİL: dar-dikey premium kart — ekranı kaplamaz, sağ/sol dengeli. */
  container-type: inline-size;
  width: min(88%, 400px); /* mobil: kare değil, daha yatay-kompakt */
  margin-inline: auto;
  /* ORTAK EDITORIAL KART SİSTEMİ (global.css) — CollectionShowcase ve
     LifestyleCollection kartlarıyla aynı yüzey/çizgi/gölge/radius. */
  background: var(--editorial-card-bg);
  border: var(--editorial-card-border);
  border-radius: var(--editorial-card-radius);
  box-shadow: var(--editorial-card-shadow);
  padding: var(--editorial-card-padding);
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial {
    /* Yatay premium panel: ~520-620px genişlik, ~300-370px doğal yükseklik */
    width: clamp(520px, 44vw, 620px);
    margin-inline: 0; /* sol üst konum */
    border-radius: var(--editorial-card-radius-lg);
    box-shadow: var(--editorial-card-shadow-lg);
    padding: var(--editorial-card-padding-lg);
  }

  /* Panelden "Orta" seçilirse masaüstünde kart ortalanır */
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial--center {
    margin-inline: auto;
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-title {
  /* En uzun satır ("FORMALARI") kart içinde kalsın: cqw tavanı.
     Mobil hedef ~30-36px — masaüstüne göre belirgin küçük, iki satır dengeli */
  font-size: min(clamp(1.875rem, 8.5vw, 2.375rem), 15cqw);
  line-height: 0.96;
  letter-spacing: -0.03em;
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-title {
    /* Kanonik başlık bandı (global --promo-title-size); kart genişliği tavan */
    font-size: min(var(--promo-title-size), 13cqw);
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-title-main {
  color: var(--fan-green);
}

.cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-title-accent {
  color: var(--fan-green-mid);
}

/* Mobil: line-clamp/ellipsis YOK — gerçek metin 2-3 satır doğal akar.
   Dar kartta satır uzunluğu kendiliğinden kontrollü. */
.cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-description {
  font-size: 0.875rem; /* 14px — mobil */
  max-width: none;
}

/* ═══ PANEL PRESETLERİ — px/koordinat panele açılmaz; güvenli aralıklar.
   cqw tavanları her seçimde başlığın kart içinde kalmasını garantiler. ═══ */

/* Kart Boyutu (masaüstü genişlik ailesi) */
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial.fan-ed--size-compact {
    width: clamp(440px, 37vw, 520px);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial.fan-ed--size-wide {
    width: clamp(580px, 50vw, 700px);
  }
  /* Sağ hizalama (panelden) */
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial--right {
    margin-left: auto;
    margin-right: 0;
  }
}

/* Başlık Boyutu — Masaüstü */
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--td-sm .fan-title {
    font-size: min(clamp(2.1rem, 2.8vw, 2.9rem), 12cqw);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--td-lg .fan-title {
    font-size: min(clamp(3rem, 4.2vw, 4.4rem), 14cqw);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--td-xl .fan-title {
    font-size: min(clamp(3.6rem, 5vw, 5.5rem), 15cqw);
  }
}

/* Başlık Boyutu — Mobil */
@media (max-width: 767px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--tm-sm .fan-title {
    font-size: min(clamp(1.6rem, 7vw, 2rem), 14cqw);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--tm-lg .fan-title {
    font-size: min(clamp(2.2rem, 10vw, 2.75rem), 16cqw);
  }
}

/* Açıklama Boyutu */
.cc_nugnohn9_T0dzCNT1RF .fan-ed--tx-sm .fan-description {
  font-size: 0.8125rem;
}
.cc_nugnohn9_T0dzCNT1RF .fan-ed--tx-lg .fan-description {
  font-size: 1rem;
}
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--tx-sm .fan-description {
    font-size: 0.875rem;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--tx-lg .fan-description {
    font-size: clamp(1rem, 1.1vw, 1.0625rem);
  }
}

/* Kart İç Boşluğu */
.cc_nugnohn9_T0dzCNT1RF .fan-ed--pad-compact {
  padding: 1rem 0.9375rem;
}
.cc_nugnohn9_T0dzCNT1RF .fan-ed--pad-roomy {
  padding: 1.5rem 1.375rem;
}
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--pad-compact {
    padding: clamp(20px, 2vw, 30px) clamp(24px, 2.4vw, 34px);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-ed--pad-roomy {
    padding: clamp(34px, 3.4vw, 48px) clamp(38px, 3.8vw, 54px);
  }
}

/* Metin Hizası: Orta */
.cc_nugnohn9_T0dzCNT1RF .fan-ed--ta-center {
  text-align: center;
}
.cc_nugnohn9_T0dzCNT1RF .fan-ed--ta-center .fan-deco {
  justify-content: center;
  width: 100%;
}
.cc_nugnohn9_T0dzCNT1RF .fan-ed--ta-center .fan-collection-cta {
  margin-inline: auto;
}

/* Mobil eyebrow: daha küçük, tek satır, ölçülü letter-spacing */
@media (max-width: 767px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-eyebrow {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    white-space: nowrap;
  }
}

/* Masaüstü: mevcut 2 satır sınırı aynen korunur */
@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-editorial .fan-description {
    font-size: var(--promo-desc-size);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ── Kart alanı ── */
.cc_nugnohn9_T0dzCNT1RF .fan-cards-area {
  position: relative;
  display: flex;
  flex-direction: column;
}

/* Bölüm başlığı — küçük ve rafine; ana kartla aynı sol hizada
   (aynı akış kolonu + aynı yatay padding). Section seviyesinde ayrı beyaz
   blok YOK — başlık ve kartlar doğrudan taraftar zemininde durur. */
.cc_nugnohn9_T0dzCNT1RF .fan-cards-title {
  margin: 0 0 1rem;
  font-family: var(--font-label);
  font-size: clamp(0.8125rem, 1vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0A3B26;
}

/* Oklar: masaüstünde kart alanının sağ üstü; MOBİLDE TAMAMEN GİZLİ —
   swipe ana kullanım, gösterge alttaki dot sistemi. */
.cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

@media (min-width: 768px) {
  /* ORTAK OVERLAY OK SİSTEMİ: oklar kart rayının sol/sağ kenarına biner */
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows {
    display: contents;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows .fan-arrow {
    position: absolute;
    top: calc(50% + 0.75rem);
    transform: translateY(-50%);
    z-index: 3;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows .fan-arrow:first-of-type {
    left: -0.5rem;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows .fan-arrow:last-of-type {
    right: -0.5rem;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows .fan-arrow:hover, .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows .fan-arrow:focus-visible {
    transform: translateY(calc(-50% - 1px));
  }
}

@media (max-width: 767px) {
  /* Yalnız "Gizli" modunda oklar yok. FINAL HOMEPAGE PASS: "Noktalar"
     modunda da oklar görünür — dört ray aynı mobil interaction dilini
     konuşur (ok + kaydırma + gösterge birlikte). Panelin "Gizli" ve
     "Oklar" seçimleri aynen korunur. */
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-arrows {
    display: none;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-arrows .fan-cards-arrows, .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-dots .fan-cards-arrows {
    display: contents;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-arrows .fan-cards-arrows .fan-arrow, .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-dots .fan-cards-arrows .fan-arrow {
    position: absolute;
    /* Ortak kart sözleşmesi (medya 4/5) — ok metin bloğuna binmez */
    top: 38%;
    transform: translateY(-50%);
    z-index: 3;
    width: 44px;
    height: 44px;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-arrows .fan-cards-arrows .fan-arrow:first-of-type, .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-dots .fan-cards-arrows .fan-arrow:first-of-type {
    left: 0.25rem;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-arrows .fan-cards-arrows .fan-arrow:last-of-type, .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-dots .fan-cards-arrows .fan-arrow:last-of-type {
    right: 0.25rem;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-arrows .fan-track-dots, .cc_nugnohn9_T0dzCNT1RF .fan-mctrl-hidden .fan-track-dots {
    display: none;
  }
  /* Başlık dar editorial kartla AYNI sol hizaya oturur */
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-title {
    width: min(86%, 360px);
    margin-inline: auto;
  }
  /* Gerçek arka plan görseli varken başlık açık renk — okunur kalır */
  .cc_nugnohn9_T0dzCNT1RF .fan-auto--bg .fan-cards-title {
    color: #F6F4EC;
    text-shadow: 0 1px 8px rgba(8, 20, 14, 0.45);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-auto-content {
    padding-bottom: 1.5rem;
  }
}

/* Mobil ray göstergesi: TEK paylaşımlı MobileCarouselPagination (stil global.css). `.fan-track-dots` yalnız kontrol modu görünürlüğü için. */

.cc_nugnohn9_T0dzCNT1RF .fan-arrow.is-disabled, .cc_nugnohn9_T0dzCNT1RF .fan-arrow:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* ── Kart rayı: native scroll-snap; masaüstü 4'lük sayfa, mobil 1 kart+peek ── */
.cc_nugnohn9_T0dzCNT1RF .fan-cards-track {
  --fan-cards-gap: var(--card-rail-gap, clamp(1.125rem, 1.6vw, 1.5rem)); /* kanonik ray boşluğu */
  display: grid;
  grid-auto-flow: column;
  gap: var(--fan-cards-gap);
  overflow-x: auto;
  scroll-snap-type: inline mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* hover gölgesi/lift scroll kutusunda kırpılmasın */
  padding: 0.375rem 0.125rem 1.25rem;
}

.cc_nugnohn9_T0dzCNT1RF .fan-cards-track::-webkit-scrollbar {
  display: none;
}

.cc_nugnohn9_T0dzCNT1RF .fan-cards-track > * {
  scroll-snap-align: start;
}

@media (max-width: 767px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-track {
    /* KANONİK MOBİL: HER ZAMAN TEK TAM KART — genişlik TEK kaynaktan
       (global --m-card-width); FINAL PASS bloğu da aynı tokenı tüketir. */
    grid-auto-columns: 100%;
    gap: 20px; /* literal — bayat tema-global token riski */
  }
  /* CTA kompakt: 48px — 44px dokunma hedefinin üzerinde */
  .cc_nugnohn9_T0dzCNT1RF .fan-collection-cta {
    margin-top: 1.125rem;
  }
  /* MOBİL EDITORIAL → RAY NEFESİ (auto düzenin GERÇEK kaynağı).
     Auto düzende ürün rayı `.fan-cards-area`dır ve editorial kartla arasını
     bu flex `gap` belirler — `.fan-products-area` padding'i yalnız MANUEL
     düzende devrededir. Ölçüm: gap 32px idi; diğer üç bölümle aynı ritme
     çekildi. */
  .cc_nugnohn9_T0dzCNT1RF .fan-auto-content {
    padding-top: 1.75rem;
    gap: var(--m-editorial-rail-gap, clamp(100px, 28vw, 130px));
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-track {
    grid-auto-columns: calc((100% - 2 * var(--fan-cards-gap)) / 3);
  }
}

@media (min-width: 1024px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-cards-track {
    /* TAM 4 kart; beşincisi görünmez */
    grid-auto-columns: calc((100% - 3 * var(--fan-cards-gap)) / 4);
  }
}

/* ── Premium ürün kartı — sıcak kırık beyaz; kartın tamamı tek link ── */
.cc_nugnohn9_T0dzCNT1RF .fan-card {
  display: flex;
  flex-direction: column;
  background: var(--card-surface, #FFFFFF);
  border: 1px solid var(--card-border, rgba(10, 72, 48, 0.1));
  border-radius: var(--card-radius, 24px);
  overflow: hidden;
  text-decoration: none;
  box-shadow: var(--card-shadow, 0 12px 30px rgba(48, 42, 30, 0.1));
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card:focus-visible {
  outline: 2px solid var(--fan-green-mid);
  outline-offset: 3px;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5; /* ortak kart sözleşmesi */
  padding: clamp(0.75rem, 1.2vw, 1.125rem);
  background: var(--card-media-bg, linear-gradient(180deg, #FFFFFF 0%, #F5F6F5 100%));
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 240ms ease;
}

/* ── Motion: ürün kartı hover sözleşmesi (Fix Pack C) — yalnız hover
   destekleyen cihazlarda; reduced-motion'da kapalı ── */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .cc_nugnohn9_T0dzCNT1RF .fan-card:hover {
    transform: translateY(var(--product-card-hover-lift, -4px));
    box-shadow: var(--card-shadow-hover, 0 18px 40px rgba(48, 42, 30, 0.14));
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-card:hover .fan-card-img {
    transform: scale(var(--product-card-hover-scale, 1.025));
  }
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-img--empty {
  background: #F3F5F3;
  border-radius: 12px;
}

/* Gerçek stok durumu — sahte etiket YOK */
.cc_nugnohn9_T0dzCNT1RF .fan-card-stock {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0.3125rem 0.75rem;
  border-radius: 999px;
  /* KANONİK TÜKENDİ rengi — kırmızı yalnız İNDİRİM'e ait. Bu rozet
     mağazanın diğer tüm kartlarıyla aynı nötr koyu kömürü kullanır. */
  background: var(--badge-soldout-bg, #2F3A34);
  color: var(--badge-soldout-fg, #FFFFFF);
  font-family: var(--font-label);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.375rem 1rem 1.25rem;
}

/* İsim SABİT 2 satır alanı kaplar → kart yükseklikleri eşit */
.cc_nugnohn9_T0dzCNT1RF .fan-card-name {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color: #1D2721;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-prices {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* Fiyat ürün adından belirgin biçimde güçlü */
.cc_nugnohn9_T0dzCNT1RF .fan-card-price {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--fan-green);
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-price--old {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  color: #8B8377;
  text-decoration: line-through;
}

/* ── Koleksiyon CTA'sı — editorial kartın İÇİNDE koyu Amed yeşili pill.
   Hover'da buton büyümez; yalnız ok 5px ilerler. ── */
/* CTA: MASAÜSTÜ görünümü global .amed-promo-cta (tek kanonik pill); MOBİL
   görünümü ≤767 bloğu (--m-cta-* sistemi). Burada yalnız yerleşim. */
.cc_nugnohn9_T0dzCNT1RF .fan-collection-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  text-align: center;
  width: 100%;
}

@media (min-width: 768px) {
  .cc_nugnohn9_T0dzCNT1RF .fan-collection-cta {
    width: auto;
  }
}

/* ── Section reveal — yalnız ilk görünümde; transform/opacity (CLS yok) ── */
.cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-waiting .fan-auto-content, .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-waiting .fan-scene {
  opacity: 0;
  transform: translateY(18px);
}

.cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-shown .fan-auto-content, .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-shown .fan-scene {
  animation: cc_nugnohn9_T0dzCNT1RF_fan-reveal 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cc_nugnohn9_T0dzCNT1RF_fan-reveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* ── Ekran okuyucu için görünmez aktif sayfa bilgisi ── */
.cc_nugnohn9_T0dzCNT1RF .fan-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-waiting .fan-auto-content, .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-waiting .fan-scene {
    opacity: 1;
    transform: none;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-shown .fan-auto-content, .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase.fan-reveal-shown .fan-scene {
    animation: none;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card, .cc_nugnohn9_T0dzCNT1RF .fan-card-img, .cc_nugnohn9_T0dzCNT1RF .fan-card:hover {
    transform: none;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card:hover .fan-card-img {
    transform: none;
  }
}

/* ─── Empty state ────────────────────────────────────────── */

.cc_nugnohn9_T0dzCNT1RF .fan-empty {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: rgba(17, 48, 35, 0.7);
  background: var(--fan-card);
  border: 1px solid var(--fan-line);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  width: min(90%, 40rem);
  margin: 1.5rem auto;
}

/* ORTAK KART SÖZLEŞMESİ: bilgi alanı esner, fiyat kartın altına hizalanır */
.cc_nugnohn9_T0dzCNT1RF .fan-card-body { flex: 1 1 auto; }
.cc_nugnohn9_T0dzCNT1RF .fan-card-prices { margin-top: auto; }

/* ── Beden/stok şeridi (FAZ 5.3) — bilgi amaçlı, etkileşimsiz; ProductCard
   ile aynı görsel dil. Sabit min-height slot → kart yükseklikleri eşit,
   hover'da layout shift yok. Mobil: her zaman görünür; masaüstü (hover
   destekli): kart hover/focus-within'de belirir. */
.cc_nugnohn9_T0dzCNT1RF .fan-card-sizes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0.25rem 1rem 0;
  box-sizing: border-box;
}

/* Tıklanabilir beden: ana ürün linkinin KARDEŞİ (iç içe interaktif yok).
   Dokunma hedefi ≥44px (görsel kutu küçük, hedef alanı pseudo ile büyür). */
.cc_nugnohn9_T0dzCNT1RF .fan-card-size {
  position: relative;
  font-family: var(--font-label);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.3125rem 0.5rem;
  border: 1px solid rgba(7, 23, 13, 0.18);
  border-radius: 6px;
  color: var(--card-ink, #1D2721);
  background: var(--card-surface, #FFFFFF);
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease,
    color 160ms ease;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-size::after {
  /* Görünmez dokunma alanı — 44px minimum hedef */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 44px;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-size:hover:not(:disabled), .cc_nugnohn9_T0dzCNT1RF .fan-card-size:focus-visible {
  border-color: var(--color-amed-green, #0A6845);
  color: var(--color-amed-green, #0A6845);
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-size:focus-visible {
  outline: 2px solid var(--color-amed-green, #0A6845);
  outline-offset: 2px;
}

/* Stokta olmayan beden: gerçek disabled (tıklanamaz + SR "unavailable") */
.cc_nugnohn9_T0dzCNT1RF .fan-card-size:disabled, .cc_nugnohn9_T0dzCNT1RF .fan-card-size.is-oos {
  opacity: 0.4;
  text-decoration: line-through;
  cursor: default;
  pointer-events: none;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Beden şeridi artık TIKLANABİLİR (varyantlı ürün detayına gider) —
   bu yüzden hover'da gizlenmez: klavye ve dokunmatik kullanıcılar için her
   zaman görünür ve erişilebilir olmalıdır. Hover'da yalnız vurgu değişir. */

@media (prefers-reduced-motion: reduce) {
  .cc_nugnohn9_T0dzCNT1RF .fan-card-sizes {
    transition: none;
    transform: none;
  }
}

/* Manuel yerleşimde koleksiyon CTA'sı — auto'daki .fan-collection-cta
   görsel dilini aynen kullanır; yalnız intro bloğu içinde üst boşluk alır. */
.cc_nugnohn9_T0dzCNT1RF .fan-collection-cta--manual {
  margin-top: 1.25rem;
  align-self: flex-start;
}


/* Kart iskeleti: ana link + kardeş beden şeridi (yeni yapı).
   Kart yüksekliği eşit kalır; şerit görselin altında, isim/fiyatın üstünde. */
.cc_nugnohn9_T0dzCNT1RF .fan-card-main {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-decoration: none;
  color: inherit;
}

.cc_nugnohn9_T0dzCNT1RF .fan-card-main:focus-visible {
  outline: 2px solid var(--color-amed-green, #0A6845);
  outline-offset: 3px;
  border-radius: 14px;
}


/* Şerit kartın alt kenarına yapışmasın */
.cc_nugnohn9_T0dzCNT1RF .fan-card > .fan-card-sizes {
  padding-bottom: 0.875rem;
}

/* ══════════════════════════════════════════════════════════════
   ORTAK BEDEN ŞERİDİ (ProductSizeStrip) — ana sayfadaki TÜM ürün
   kartlarında aynı görünüm ve davranış. KANONİK KOPYA:
   src/sub-components/ProductSizeStrip/styles.css
   Build sub-component CSS paketlemediği için kullanan her section
   styles.css dosyasına kopyalanır; değişiklikte hepsini senkron tut.

   FAZ 13: bedenler BAŞLANGIÇTA GİZLİ.
   - Yer .product-size-reveal ile rezerve edilir → kart yüksekliği ve
     ad/fiyat konumu hover'da DEĞİŞMEZ (sıçrama yok).
   - Hover'lı cihaz: kart :hover / :focus-within olduğunda açılır.
     `*:hover > .product-size-reveal` — doğrudan EBEVEYN kart seçicisi;
     kart sınıfı componentten componente değiştiği için tek kural
     dört kart tipinde de çalışır.
   - Dokunmatik cihaz: "Beden Seç" kontrolü ile açılır.
   ══════════════════════════════════════════════════════════════ */

.cc_nugnohn9_T0dzCNT1RF .product-size-reveal {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0.25rem 1rem 0.875rem;
  box-sizing: border-box;
}

.cc_nugnohn9_T0dzCNT1RF .product-size-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  /* Gizli fakat DOM'da: display:none değil → :focus-within açıldığında
     klavye kullanıcısı Tab ile beden butonlarına ulaşabilir. */
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 180ms ease, transform 180ms ease,
    visibility 0s linear 180ms;
}

/* Hover'lı cihazlar: kartın üzerine gelince / kart içinde odak varken aç */
@media (hover: hover) and (pointer: fine) {
  .cc_nugnohn9_T0dzCNT1RF *:hover > .product-size-reveal > .product-size-strip, .cc_nugnohn9_T0dzCNT1RF *:focus-within > .product-size-reveal > .product-size-strip, .cc_nugnohn9_T0dzCNT1RF .product-size-reveal:focus-within > .product-size-strip {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 180ms ease, transform 180ms ease,
      visibility 0s linear 0s;
  }
}

/* "Beden Seç" kontrolü — YALNIZ hover'sız (dokunmatik) cihazlarda */
.cc_nugnohn9_T0dzCNT1RF .product-size-toggle {
  display: none;
  align-items: center;
  gap: 0.375rem;
  min-height: 44px;
  padding: 0.3125rem 0.625rem;
  border: 1px solid rgba(7, 23, 13, 0.18);
  border-radius: 6px;
  background: var(--card-surface, #ffffff);
  color: var(--card-ink, #1d2721);
  font-family: var(--font-label);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  cursor: pointer;
}

.cc_nugnohn9_T0dzCNT1RF .product-size-toggle:focus-visible {
  outline: 2px solid var(--color-amed-green, #0a6845);
  outline-offset: 2px;
}

@media (hover: none) {
  .cc_nugnohn9_T0dzCNT1RF .product-size-toggle {
    display: inline-flex;
  }

  /* Açıkken şerit kontrolün ÜZERİNİ kaplar → kart yüksekliği değişmez */
  .cc_nugnohn9_T0dzCNT1RF .product-size-reveal.is-open > .product-size-strip {
    position: absolute;
    inset: 0.25rem 1rem 0.875rem;
    align-content: center;
    background: var(--card-surface, #ffffff);
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 180ms ease, visibility 0s linear 0s;
  }
}

.cc_nugnohn9_T0dzCNT1RF .product-size {
  position: relative;
  font-family: var(--font-label);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.3125rem 0.5rem;
  border: 1px solid rgba(7, 23, 13, 0.18);
  border-radius: 6px;
  color: var(--card-ink, #1D2721);
  background: var(--card-surface, #FFFFFF);
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease;
}

/* Görünmez dokunma alanı — minimum 44px hedef */
.cc_nugnohn9_T0dzCNT1RF .product-size::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 44px;
}

.cc_nugnohn9_T0dzCNT1RF .product-size:hover:not(:disabled), .cc_nugnohn9_T0dzCNT1RF .product-size:focus-visible {
  border-color: var(--color-amed-green, #0A6845);
  color: var(--color-amed-green, #0A6845);
}

.cc_nugnohn9_T0dzCNT1RF .product-size:focus-visible {
  outline: 2px solid var(--color-amed-green, #0A6845);
  outline-offset: 2px;
}

/* Stokta olmayan beden: gerçek disabled + üstü çizili + tıklanamaz */
.cc_nugnohn9_T0dzCNT1RF .product-size:disabled, .cc_nugnohn9_T0dzCNT1RF .product-size.is-oos {
  opacity: 0.4;
  text-decoration: line-through;
  cursor: default;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .cc_nugnohn9_T0dzCNT1RF .product-size-strip {
    transition: none;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   MOBİL KANONİK SİSTEM (≤767px) — global.css --m-* tokenları
   `.fan-intro` mobilde absolute sahne kutusundan çıkar ve diğer iki bölümle
   AYNI beyaz editorial kart olur.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  /* MOBİL EDITORIAL → RAY NEFESİ (taban garantisi).
     Boşluk normalde `--fan-rail-top` üzerinden gelir ve o da TSX'ten basılan
     `--fan-rail-top-m` inline değişkenine bağlıdır. Panelde "Mobil — Ürün
     Rayı Üst Boşluğu" girilmemişse bu taban devreye girer ve diğer üç
     bölümle aynı ritmi garanti eder; merchant daha büyük bir değer girerse
     `max()` onun değerini korur. */
  .cc_nugnohn9_T0dzCNT1RF .fan-products-area {
    padding-top: max(var(--fan-rail-top), var(--m-editorial-rail-gap, clamp(100px, 28vw, 130px)));
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-intro {
    position: static;
    width: auto;
    margin-inline: var(--m-gutter);
    padding: 14px 14px 12px;
    border-radius: var(--m-editorial-radius);
    background: var(--m-editorial-bg);
    border: var(--m-editorial-border);
    box-shadow: var(--m-editorial-shadow);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-eyebrow {
    font-size: var(--m-editorial-eyebrow);
    line-height: 1.3;
    letter-spacing: var(--m-editorial-eyebrow-ls);
  }
  /* --fan-title-size mobilde 47px'ti ve .fan-editorial .fan-title kuralı
     (yüksek specificity) kanonik boyutu eziyordu → değişkenin kendisi ezilir */
  .cc_nugnohn9_T0dzCNT1RF .fan-jersey-showcase {
    --fan-title-size: var(--m-editorial-title);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-title {
    font-size: var(--m-editorial-title);
    line-height: var(--m-editorial-title-lh);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-description {
    font-size: 14px;
    line-height: 1.4;
    margin: 10px 0 0;
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-collection-cta {
    gap: var(--m-cta-gap);
    height: var(--m-cta-height);
    min-height: var(--m-cta-height);
    width: 100%;
    padding-inline: var(--m-cta-padding-inline);
    border-radius: var(--m-cta-radius);
    background: var(--m-cta-bg);
    color: var(--m-cta-text);
    border: none;
    box-shadow: none;
    font-family: var(--font-label);
    font-size: var(--m-cta-font-size);
    font-weight: var(--m-cta-font-weight);
    letter-spacing: var(--m-cta-letter-spacing);
    text-transform: uppercase;
  }

  .cc_nugnohn9_T0dzCNT1RF .fan-cards-track {
    --fan-cards-gap: 20px; /* literal — bayat tema-global token riski */
    /* LİTERAL 100% — bayat tema-global token'ı 280px üretiyordu (bkz. CS notu). */
    grid-auto-columns: 100%;
    /* AKSESUAR (WHS) KART SÖZLEŞMESİ (2026-09-03): kart viewport'tan 18px
       içeride (konteyner 16 + 2) — CS ile aynı ölçek. */
    padding-inline: 2px;
    /* Snap hedefi = İÇERİK kenarı (CS ile aynı): scroll-padding olmadan
       mandatory snap ilk kartı scrollport kenarına çekip track'i gutter
       kadar kaydırıyor ve sağda komşu karttan sızdırıyordu. */
    scroll-padding-inline: 2px;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card {
    /* MOBİL SNAP HİZASI = CENTER (CS ile aynı sözleşme, 2026-09-03): iOS
       Safari scroll-padding'i yok sayınca `start` kartı 20px sola kaydırıyordu;
       center tek tam kartta aynı konumları scroll-padding'siz de garanti eder.
       Masaüstü 4'lük sayfa adımı (`.fan-cards-track > *` start) değişmez. */
    scroll-snap-align: center;
    border-radius: var(--m-card-radius);
    background: var(--card-surface, #FFFFFF);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card-body {
    padding: var(--m-card-padding) var(--m-card-padding)
      calc(var(--m-card-padding) + 2px);
  }
  /* Kanonik mobil kart yüksekliği — dört rayda aynı medya oranı/tavanı ve
     isim/fiyat ölçüsü (global --m-card-*): kart yüksekliği genişlikle
     büyümez, CS/LC/WHS ile aynı bantta kalır. */
  .cc_nugnohn9_T0dzCNT1RF .fan-card-media {
    /* WEBKIT KÖK NEDENİ (CS ile aynı, 2026-09-03): width:auto + aspect-ratio +
       max-height → WebKit medyayı 272px'e daraltıp sola yaslıyordu; açık
       width:100% iki motorda da 100%×320 tutar. */
    width: 100%;
    aspect-ratio: var(--m-card-media-ratio, 4 / 4.7);
    max-height: var(--m-card-media-max, 320px);
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card-name {
    font-size: var(--m-card-name-size, 16px);
    line-height: 1.3;
    min-height: 2.6em;
  }
  .cc_nugnohn9_T0dzCNT1RF .fan-card-price {
    font-size: var(--m-card-price-size, 17px);
  }

  /* ── TEK KANONİK CTA (global.css --m-cta-*) ──
     Beş ana buton (Sepete Ekle · Koleksiyonu Keşfet · Tüm Formaları Gör ·
     Giyimi Keşfet · Tüm Koleksiyonu Gör) birebir aynı computed style üretir.
     Bileşenin kendi CTA selectorüyle AYNI specificity'de ama cascade'de SONRA
     geldiği için kazanır; değerler burada değil global.css'te tanımlıdır. */
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta {
    box-sizing: border-box;
    height: var(--m-cta-height);
    min-height: var(--m-cta-height);
    max-height: var(--m-cta-height);
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--m-cta-gap);
    padding: 0 var(--m-cta-padding-inline);
    background: var(--m-cta-bg);
    color: var(--m-cta-text);
    border: 1px solid var(--m-cta-bg);
    border-radius: var(--m-cta-radius);
    font-family: var(--font-label, inherit);
    font-size: var(--m-cta-font-size);
    font-weight: var(--m-cta-font-weight);
    line-height: 1;
    letter-spacing: var(--m-cta-letter-spacing);
    text-decoration: none;
    text-transform: none;
    box-shadow: var(--m-cta-shadow);
    transition: background-color 180ms ease, border-color 180ms ease,
      transform 160ms ease, box-shadow 180ms ease;
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta .amed-cta-arrow {
    width: var(--m-cta-arrow-size);
    height: var(--m-cta-arrow-size);
    flex-shrink: 0;
    transition: transform 160ms ease;
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:active {
    background: var(--m-cta-hover);
    border-color: var(--m-cta-hover);
    transform: scale(0.985);
    box-shadow: var(--m-cta-shadow-active);
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:active .amed-cta-arrow {
    transform: translateX(1px);
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:focus-visible {
    outline: 3px solid rgba(10, 104, 69, 0.28);
    outline-offset: 3px;
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:disabled, .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta[aria-disabled="true"] {
    background: var(--m-cta-disabled-bg);
    border-color: var(--m-cta-disabled-bg);
    color: var(--m-cta-disabled-text);
    box-shadow: none;
    cursor: not-allowed;
  }
}

@media (max-width: 767px) and (hover: hover) {
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:hover {
    background: var(--m-cta-hover);
    border-color: var(--m-cta-hover);
    box-shadow: var(--m-cta-shadow-hover);
  }
  .cc_nugnohn9_T0dzCNT1RF .amed-mobile-primary-cta:hover .amed-cta-arrow {
    transform: translateX(3px);
  }
}

/* ═══ KANONİK MOBİL PAGINATION RENGİ — SENKRON KOPYA ═══
   Tek mantıksal kaynak: global.css `.amed-rail-pagination--dark` (aktif
   Amed yeşili 24×6 pill · pasif beyaz 0.42 · 6×6 · gap 12). Tema
   global.css'i bileşen importlarıyla güncellenmeyebildiği için (2026-08-30
   Preview kanıtı) RENK sözleşmesi her import'ta kesin taşınan component
   CSS kanalından da garanti edilir; geometri global'den gelir. Dört hedef
   rayda (CS · FJS · LC · WHS) birebir aynı blok — değişiklikte senkron tut. */
.cc_nugnohn9_T0dzCNT1RF .amed-rail-pagination--dark .amed-rail-pagination-dot {
  background: rgba(255, 255, 255, 0.42);
}
.cc_nugnohn9_T0dzCNT1RF .amed-rail-pagination--dark .amed-rail-pagination-dot.is-active, .cc_nugnohn9_T0dzCNT1RF .amed-rail-pagination--dark .amed-rail-pagination-dot:hover {
  background: var(--color-amed-green, #0A6845);
}
