/* ==========================================================================
   PinHesap — Oyun Epin Teması
   Tüm görsel kurallar bu dosyada. index.html içinde inline `style` yok.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tasarım tokenları
   -------------------------------------------------------------------------- */
/* GECE MODU (varsayılan)
   Tema `<html data-theme="dark|light">` ile değişir; seçim yoksa
   işletim sistemi tercihi uygulanır (aşağıdaki prefers-color-scheme).
   --white kasıtlı olarak her iki temada da beyazdır: marka karolarının
   zeminidir. En parlak METİN rengi --text-strong'dur. */
:root {
  color-scheme: dark;

  /* Yüzeyler */
  --bg:           #000;
  --bg-elev:      #0A0A0B;
  --surface:      #0C0C10;
  --surface-2:    #0D0D10;
  --surface-3:    #101014;
  --surface-4:    #111114;
  --surface-5:    #141417;

  /* Çizgiler */
  --line:         #18181B;
  --line-card:    #1A1A1E;
  --line-soft:    #1F1F24;
  --line-mid:     #26262B;
  --line-strong:  #2E2E36;

  /* Metin */
  --text:         #F2F2F4;
  --text-strong:  #FFFFFF;
  --text-2:       #D6D4DE;
  --text-3:       #B9B6C4;
  --muted:        #A3A0AE;
  --muted-2:      #9A97A6;
  --icon-muted:   #8E8B99;
  --price-old:    #8A879A;
  --white:        #fff;          /* karo zemini — temaya göre değişmez */

  /* Vurgu */
  --accent:       #8C9EFF;
  --accent-2:     #B49DFF;
  --accent-3:     #C0AEFF;
  --accent-soft:  #A8B4FF;
  --accent-hover: #C3CBFF;
  --on-accent:    #0B0B12;
  --grad-accent:  linear-gradient(135deg, #8C9EFF, #B49DFF);

  /* Durum — form geri bildirimi */
  --ok:           #3FD08A;
  --mb-live-ink:  #5FE0A0;
  --danger:       #FF6B7A;
  --warn:         #FFC46B;

  /* Yüzey efektleri */
  --glass-bg:     rgba(255, 255, 255, .1);
  --glass-line:   rgba(255, 255, 255, .22);
  --overlay-bg:   rgba(16, 16, 20, .82);
  --scrim:        rgba(0, 0, 0, .6);
  --scrollbar:    #232323;
  --dot:          #4A4A54;
  --divider-soft: #3A3A42;

  /* Tipografi */
  --font:         'Plus Jakarta Sans', system-ui, sans-serif;

  /* Bölümlerin iç boşluğu — tüm bölümler bunu kullanır.
     Şeritler (üst bar, header, nav, footer) tam genişlikte kalır,
     sadece içerikleri bu kadar içeri kayar.
     9vw orta genisliklerde ekranin ~%18'ini yiyordu; calc ile kenar
     boslugu ~1000px'e kadar olculu kalir, genis ekranda acilir. */
  --gutter:       clamp(20px, calc(14vw - 80px), 200px);
}

/* --------------------------------------------------------------------------
   GÜNDÜZ MODU
   Yalnızca renk tokenları yeniden tanımlanır; hiçbir kural tekrarlanmaz.
   Vurgu rengi koyulaştırıldı: #8C9EFF beyaz üzerinde kontrast sağlamıyor.
   -------------------------------------------------------------------------- */
:root[data-theme="light"] {
  color-scheme: light;

  --bg:           #F4F5FA;
  --bg-elev:      #FFFFFF;
  --surface:      #FFFFFF;
  --surface-2:    #F7F8FC;
  --surface-3:    #F1F2F8;
  --surface-4:    #F1F2F8;
  --surface-5:    #E9EAF2;

  --line:         #E5E6EE;
  --line-card:    #E5E6EE;
  --line-soft:    #DCDEE8;
  --line-mid:     #D3D5E1;
  --line-strong:  #C8CAD8;

  --text:         #15151C;
  --text-strong:  #0B0B12;
  --text-2:       #33333F;
  --text-3:       #4E4E5C;
  --muted:        #6B6B79;
  --muted-2:      #7C7C8A;
  --icon-muted:   #85858F;
  --price-old:    #8A8A96;

  --accent:       #5566E8;
  --accent-2:     #8A6BE0;
  --accent-3:     #7E5BD6;
  --accent-soft:  #4A5CDC;
  --accent-hover: #3B4CC6;
  --on-accent:    #FFFFFF;
  --grad-accent:  linear-gradient(135deg, #5566E8, #8A6BE0);

  /* Beyaz zeminde okunurluk için koyulaştırıldı */
  --ok:           #128A55;
  --mb-live-ink:  #0B7A4C;
  --danger:       #C62B45;
  --warn:         #9A6206;

  --glass-bg:     rgba(0, 0, 0, .05);
  --glass-line:   rgba(0, 0, 0, .12);
  --overlay-bg:   rgba(255, 255, 255, .88);
  --scrim:        rgba(20, 20, 30, .45);
  --scrollbar:    #C9CAD4;
  --dot:          #C2C3CF;
  --divider-soft: #D3D5E1;
}

/* Kullanıcı seçim yapmadıysa işletim sistemi tercihini uygula */
@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;

    --bg:           #F4F5FA;
    --bg-elev:      #FFFFFF;
    --surface:      #FFFFFF;
    --surface-2:    #F7F8FC;
    --surface-3:    #F1F2F8;
    --surface-4:    #F1F2F8;
    --surface-5:    #E9EAF2;

    --line:         #E5E6EE;
    --line-card:    #E5E6EE;
    --line-soft:    #DCDEE8;
    --line-mid:     #D3D5E1;
    --line-strong:  #C8CAD8;

    --text:         #15151C;
    --text-strong:  #0B0B12;
    --text-2:       #33333F;
    --text-3:       #4E4E5C;
    --muted:        #6B6B79;
    --muted-2:      #7C7C8A;
    --icon-muted:   #85858F;
    --price-old:    #8A8A96;

    --accent:       #5566E8;
    --accent-2:     #8A6BE0;
    --accent-3:     #7E5BD6;
    --accent-soft:  #4A5CDC;
    --accent-hover: #3B4CC6;
    --on-accent:    #FFFFFF;
    --grad-accent:  linear-gradient(135deg, #5566E8, #8A6BE0);

    --ok:           #128A55;
    --mb-live-ink:  #0B7A4C;
    --danger:       #C62B45;
    --warn:         #9A6206;

    --glass-bg:     rgba(0, 0, 0, .05);
    --glass-line:   rgba(0, 0, 0, .12);
    --overlay-bg:   rgba(255, 255, 255, .88);
    --scrim:        rgba(20, 20, 30, .45);
    --scrollbar:    #C9CAD4;
    --dot:          #C2C3CF;
    --divider-soft: #D3D5E1;
  }
}

/* --------------------------------------------------------------------------
   2. Temel / reset
   -------------------------------------------------------------------------- */
body {
  margin: 0;
  background: var(--bg);
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent-soft); text-decoration: none; }
a:hover { color: var(--accent); }

::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: var(--scrollbar); border-radius: 8px; }

/* `hidden` ozniteligi her zaman kazansin. Yazar CSS'indeki bir `display`
   kurali tarayicinin [hidden] kuralini ezip gizli bir katmanin ekrani
   kaplamasina yol acabiliyor. */
[hidden] { display: none !important; }

@keyframes pulseDot {
  0%, 100% { opacity: 1; }
  50%      { opacity: .25; }
}

/* --------------------------------------------------------------------------
   3. Sayfa iskeleti
   -------------------------------------------------------------------------- */
.page {
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page-inner {
  width: 100%;
  overflow: hidden;
  background: var(--bg);
}

/* --------------------------------------------------------------------------
   4. Ortak parçalar — logo karoları, renk tonları, avatarlar
   -------------------------------------------------------------------------- */

/* Beyaz zeminli, kısaltma taşıyan marka karosu. Boyut modifier'ı zorunlu. */
.logo-tile {
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}
.logo-tile--sm { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; font-size: 12.5px; }

/* Marka kısaltmalarının mürekkep renkleri. Aynı renk birden çok markada
   kullanıldığı için isimler markaya değil renge göre verildi. */
.ink-crimson  { color: #E0405A; }
.ink-red      { color: #C2302A; }
.ink-rust     { color: #C2452A; }
.ink-orange   { color: #E06A2C; }
.ink-amber    { color: #D79A16; }
.ink-gold     { color: #D0902A; }
.ink-olive    { color: #4E7A12; }
.ink-lime     { color: #3E7A16; }
.ink-green    { color: #1E8A46; }
.ink-emerald  { color: #2F9A6A; }
.ink-jade     { color: #1D9A5C; }
.ink-teal     { color: #1C7A86; }
.ink-azure    { color: #1E6EA8; }
.ink-steel    { color: #2A6BA8; }
.ink-sapphire { color: #2B6AC8; }
.ink-blue     { color: #2B57C4; }
.ink-indigo   { color: #1B4FC4; }
.ink-cobalt   { color: #3A6ED0; }
.ink-navy     { color: #16344F; }
.ink-violet   { color: #6B46C8; }
.ink-purple   { color: #7E4AD0; }
.ink-magenta  { color: #A8307A; }
.ink-slate    { color: #3A3A44; }

/* Karo içindeki placeholder ikon, karo boyutuna göre ölçeklenir. Rengini
   currentColor üzerinden üstündeki .ink-* sınıfından alır — tek SVG, 23 renk.
   Gerçek logolar geldiğinde <i> yerine <img src="..."> koymak yeterli. */
.logo-tile .icon { width: 56%; height: 56%; }

/* Hero'daki avatar yığınında biraz daha küçük dursun */
.avatar .icon { width: 46%; height: 46%; }

/* Hero'daki üst üste binen kullanıcı avatarları (.ink-* ile renklenir) */
.avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--white);
  border: 3px solid var(--bg);
  margin-right: -12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
}

/* Yardımcılar */
.accent  { color: var(--accent-soft); }
.min-w-0 { min-width: 0; }

/* Görünmez ama ekran okuyucuya açık metin */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Tema geçişi
   Sınıf yalnızca düğmeye basıldığı anda eklenir ve ~0.4s sonra kaldırılır
   (assets/js/theme.js). Kalıcı olsaydı her hover ve her yeniden boyama
   gereksiz yere geçiş yapardı; sayfa açılışında da renkler kayardı. */
.theme-switching,
.theme-switching *,
.theme-switching *::before,
.theme-switching *::after {
  transition: background-color .18s ease,
              background-image .18s ease,
              border-color .18s ease,
              color .18s ease,
              fill .18s ease !important;
}

/* NOT: burada prefers-reduced-motion ile kapatma YOK.
   O tercih hareket (kayma, buyume, parallaks) icindir; renk gecisi
   hareket degildir ve kapatilirsa tema aniden zipliyor. Hareketli
   efektler (kart kalkmasi, slider) ayrica kisitlaniyor. */

/* Tema düğmesi: hangi simge/etiketin görüneceğini CSS belirler,
   JS yalnızca data-theme değerini değiştirir. */
.theme-on-light { display: none; }
:root[data-theme="light"] .theme-on-dark  { display: none; }
:root[data-theme="light"] .theme-on-light { display: inline-block; }

/* Beyaz karolar gündüz modunda beyaz yüzeyin üstünde kayboluyor;
   ince bir çerçeve sınırlarını geri veriyor. */
:root[data-theme="light"] .logo-tile,
:root[data-theme="light"] .review__avatar,
:root[data-theme="light"] .brand__mark,
:root[data-theme="light"] .promo__mark,
:root[data-theme="light"] .footer-brand__mark,
:root[data-theme="light"] .hero__badge-mark {
  border: 1px solid var(--line-soft);
}

/* --------------------------------------------------------------------------
   4b. Etkileşim dili

   Ürün kartındaki hareket temel alındı ve öğenin işine göre uyarlandı:
     kart   -> yukarı kalkar (-3px) + vurgu çerçeve
     düğme  -> hafif kalkar (-1px) + vurgu çerçeve
     satır  -> sağa kayar (+3px)
     metin  -> yalnızca renk geçişi
   Yalnızca gerçekten tıklanabilir öğelere uygulanır; bilgi kartlarına
   (.trust, .review) hover verilmedi, yanıltıcı olurdu.
   -------------------------------------------------------------------------- */

/* Renk geçişi olan her şey */
a,
.chip,
.icon-btn,
.account,
.mainnav__item,
.mainnav__link,
.theme-toggle,
.navtoggle,
.rail-item,
.drawer__close,
.drawer-tab,
.faq__head,
.btn-primary,
.btn-ghost,
.btn-glass,
.btn-cart,
.catcard {
  transition: color .2s, background-color .2s, border-color .2s, transform .2s;
}

/* --- Kartlar: ürün kartıyla aynı hareket --- */
.catcard:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
}

/* --- Düğmeler --- */
.chip:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  color: var(--accent);
}

.chip--active:hover { color: var(--on-accent); }

.icon-btn:hover,
.account:hover,
.theme-toggle:hover,
.navtoggle:hover,
.drawer__close:hover,
.drawer-tab:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  color: var(--accent);
}

/* Degrade butonlarda çerçeve yok; hafifçe parlayıp kalkıyorlar */
.btn-primary,
.btn-cart {
  transition: transform .2s, filter .2s;
}

.btn-primary:hover,
.btn-cart:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

.btn-ghost:hover,
.btn-glass:hover {
  transform: translateY(-1px);
  border-color: var(--accent);
  color: var(--accent);
}

/* --- Menü öğeleri: yalnızca renk --- */
.mainnav__item:hover,
.mainnav__link:hover { color: var(--accent); }

/* --- Liste satırı: sağa kayar --- */
.drawer-row { transition: background-color .2s, border-color .2s, transform .2s; }
.drawer-row:hover { transform: translateX(3px); }

.rail-item:hover .rail-item__tile { border-color: var(--accent); }

/* --- Açılır başlıklar --- */
.faq__head:hover .faq__q { color: var(--accent); }


/* --------------------------------------------------------------------------
   5. Butonlar
   -------------------------------------------------------------------------- */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  padding: 0 22px;
  border-radius: 16px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
}

.btn-ghost {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-2);
}

.btn-glass {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 56px;
  padding: 0 24px;
  border-radius: 16px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-line);
  backdrop-filter: blur(8px);
  font-size: 15.5px;
  font-weight: 700;
  color: var(--text-strong);
  cursor: pointer;
}

.btn-cart {
  height: 44px;
  border-radius: 14px;
  border: 0;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: 13.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* --------------------------------------------------------------------------
   6. Üst duyuru çubuğu
   -------------------------------------------------------------------------- */
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px var(--gutter);
  background: var(--bg-elev);
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}

.topbar__promo {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--text-3);
  flex-wrap: wrap;
  min-width: 0;
}

/* Duyuruya bağlantı verilmişse tüm şerit tıklanır */
a.topbar__promo--link { text-decoration: none; }
a.topbar__promo--link:hover { color: var(--text-2); }
a.topbar__promo--link:hover .topbar__arrow { border-color: var(--accent-2); color: var(--accent-2); }

.topbar__icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: var(--surface-5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-2);   /* içindeki ikonun rengi */
}

.topbar__strong { font-weight: 700; color: var(--text-strong); }

.topbar__badge {
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(150, 160, 255, .14);
  border: 1px solid rgba(150, 160, 255, .3);
  font-size: 12px;
  font-weight: 700;
  color: var(--accent-soft);
}

.topbar__arrow {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1px solid var(--line-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
}

.topbar__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text-2);
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: transparent;
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   7. Site başlığı — logo, arama, aksiyonlar
   -------------------------------------------------------------------------- */
.site-header {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.2vw, 26px);
  padding: 16px var(--gutter);
  background: var(--bg);
  flex-wrap: wrap;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.brand__mark {
  flex: 0 0 auto;      /* dar ekranda marka daralırken kare ezilmesin */
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand__mark-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--grad-accent);
}

.brand__name {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

/* Bosluğu arama kutusu yutar; aksiyonlar icerik genisliginde kalir.
   flex-grow aksiyonlarda da olsaydi arama sisip onlari alt satira itiyordu. */
/* --- Arama: kutu + canlı öneri paneli ---
   .search-wrap konumlandırma kabuğu; panel ona göre açılır. Mobilde
   aynı kabuk .is-full ile tam ekrana geçer (bkz. 20. bölüm). */
.search-wrap {
  position: relative;
  flex: 1 1 200px;
  min-width: 0;
  z-index: 60;
}

.search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  height: 52px;
  padding: 0 8px 0 20px;
  transition: border-color .2s, background-color .2s;
}

.search:focus-within {
  border-color: var(--accent);
  background: var(--bg-elev);
}

.search__input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
}

/* Tarayıcının kendi "x" düğmesi: kendi düğmemiz var */
.search__input::-webkit-search-cancel-button { display: none; }
.search__input::placeholder { color: var(--muted-2); }

.search .icon { color: var(--icon-muted); }

.search__clear,
.search__go,
.search__close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-3);
  cursor: pointer;
  transition: background-color .2s, color .2s, filter .2s;
}

.search__clear:hover { background: var(--surface-5); color: var(--text); }

.search__go {
  background: var(--grad-accent);
  color: var(--on-accent);
}

.search__go .icon { color: currentColor; }
.search__go:hover { filter: brightness(1.1); }

/* Tam ekran arama kapatma düğmesi: yalnızca mobilde görünür */
.search__close { display: none; }

/* Mobil büyüteç düğmesi: masaüstünde arama kutusu zaten açık, gizli durur.
   İki sınıf: aşağıdaki .icon-btn kuralı display:flex veriyor, onu ezmeli. */
.icon-btn.search-open { display: none; }

/* --- Öneri paneli --- */
.searchpanel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: min(70vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg-elev);
  box-shadow: 0 24px 48px rgba(0, 0, 0, .45);
  animation: searchpanel-in .16s ease-out;
}

@keyframes searchpanel-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.searchpanel__group + .searchpanel__group { margin-top: 6px; }

.searchpanel__label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.searchrow {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 8px 10px;
  border-radius: 12px;
  color: var(--text);
  text-decoration: none;
}

.searchrow:hover,
.searchrow.is-active,
.searchpanel__all.is-active { background: var(--surface-4); }

.searchrow.is-muted { opacity: .55; }

.searchrow__img {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface-5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icon-muted);
}

.searchrow__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.searchrow__text { flex: 1 1 auto; min-width: 0; }

.searchrow__name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.searchrow__hit {
  background: transparent;
  color: var(--accent);
  font-weight: 800;
}

.searchrow__sub {
  display: block;
  font-size: 12.5px;
  color: var(--text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.searchrow__go { color: var(--text-3); }

.searchpanel__all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 6px;
  padding: 12px;
  border-top: 1px solid var(--line);
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
}

.searchpanel__wait,
.searchpanel__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 26px 16px;
  color: var(--text-3);
  font-size: 13.5px;
}

.searchpanel__empty { flex-direction: column; gap: 4px; text-align: center; }
.searchpanel__empty .icon { color: var(--icon-muted); }
.searchpanel__emptytitle { font-size: 14.5px; font-weight: 700; color: var(--text-2); }
.searchpanel__emptysub { font-size: 13px; color: var(--text-3); }

.searchspin {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid var(--line-mid);
  border-top-color: var(--accent);
  animation: searchspin 700ms linear infinite;
}

@keyframes searchspin { to { rotate: 360deg; } }

@media (prefers-reduced-motion: reduce) {
  .searchpanel { animation: none; }
  .searchspin { animation-duration: 2s; }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

/* Bazı varyantlar <a>, bazıları <button>. Tarayıcı düğmelere kendi
   fontunu ve dolgusunu veriyor; rozet yazısı Arial'e düşüyordu.
   Aşağıdaki üç satır iki eleman türünü eşitliyor. */
.icon-btn {
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-2);
  font-family: inherit;
  cursor: pointer;
}

/* Rozet taşıyan varyantlar konumlandırma bağlamı açar */
.icon-btn--accent {
  position: relative;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  color: var(--accent-soft);
}

.icon-btn--violet {
  position: relative;
  background: rgba(180, 157, 255, .1);
  border: 1px solid rgba(180, 157, 255, .35);
  color: var(--accent-3);
}

.icon-btn__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  border-radius: 10px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 11.5px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-btn__badge--violet {
  background: var(--accent-2);
  color: var(--on-accent);
}

.account {
  display: flex;
  align-items: center;
  gap: 11px;
  height: 52px;
  padding: 0 16px;
  border-radius: 16px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
}

.account__avatar {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: var(--grad-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--on-accent);
}

/* Kutunun sonundaki açılır menü oku */
.account > .icon { color: var(--icon-muted); }

.account__text  { line-height: 1.25; }
.account__title { display: block; font-size: 14px; font-weight: 800; color: var(--text-strong); }
.account__sub   { display: block; font-size: 12px; color: var(--accent-soft); font-weight: 600; }

/* --------------------------------------------------------------------------
   7a. Bildirim menüsü
   -------------------------------------------------------------------------- */
.notif-wrap { position: relative; flex: 0 0 auto; }

.notif-wrap > .icon-btn[aria-expanded="true"] {
  border-color: var(--accent);
  color: var(--accent);
}

.notif-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 50;

  width: min(360px, calc(100vw - 32px));
  border-radius: 18px;
  background: var(--bg-elev);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45);
  overflow: hidden;

  animation: accountIn .18s ease;
}

.notif-menu__head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
}

.notif-menu__title {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--text-strong);
}

.notif-menu__read {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--font);
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  cursor: pointer;
  transition: opacity .2s;
}

.notif-menu__read:hover { opacity: .75; }
.notif-menu__read:disabled { opacity: .4; cursor: default; }

/* Kapat düğmesi yalnızca dar ekranda: masaüstünde dışarı tıklamak yeter */
.notif-menu__close {
  display: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 13px;
  cursor: pointer;
  transition: color .2s, border-color .2s;
}

.notif-menu__close:hover { color: var(--accent); border-color: var(--accent); }

/* Liste uzarsa panel büyümesin, içi kaysın */
.notif-list {
  max-height: min(60vh, 380px);
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none;
}

.notif-item + .notif-item { margin-top: 2px; }

.notif-item__link {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 10px;
  border-radius: 13px;
  transition: background .18s;
}

.notif-item__link:hover { background: var(--surface-3); }

.notif-item.is-unread .notif-item__link {
  background: color-mix(in srgb, var(--accent) 9%, transparent);
}

.notif-item.is-unread .notif-item__link:hover {
  background: color-mix(in srgb, var(--accent) 15%, transparent);
}

.notif-item__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
}

.notif-item__icon--accent { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.notif-item__icon--green  { background: rgba(45, 190, 120, .16); color: #3FD08A; }
.notif-item__icon--violet { background: color-mix(in srgb, var(--accent-2) 18%, transparent); color: var(--accent-2); }
.notif-item__icon--blue   { background: rgba(70, 130, 255, .16); color: #6E9BFF; }

.notif-item__body { flex: 1; min-width: 0; }

.notif-item__title {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--text-strong);
}

.notif-item__text {
  display: block;
  margin-top: 2px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted);
}

.notif-item__time {
  display: block;
  margin-top: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted-2);
}

/* Okunmamış işareti; okunanlarda yer kaplamaya devam etsin diye
   kaldırılmıyor, yalnızca görünmez oluyor. */
.notif-item__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--accent);
  visibility: hidden;
}

.notif-item.is-unread .notif-item__dot { visibility: visible; }

.notif-menu__all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  border-top: 1px solid var(--line);
  font-size: 12.5px;
  font-weight: 800;
  color: var(--accent);
  transition: background .2s;
}

.notif-menu__all:hover { background: var(--surface-3); }

.notif-menu__empty {
  padding: 26px 16px;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
}

/* Dar ekran: panel düğmeye değil header'a yaslanıyor. `right: 0` ile
   360px'lik kutu 390px'lik ekranda soldan taşıyordu. */
@media (max-width: 559px) {
  .site-header { position: relative; }
  .notif-wrap { position: static; }

  .notif-menu {
    top: calc(100% - 4px);
    left: var(--gutter);
    right: var(--gutter);
    width: auto;
  }

  .notif-menu__close { display: flex; }
  .notif-list { max-height: min(56vh, 420px); }
}

/* --------------------------------------------------------------------------
   7b. Hesap menüsü (giriş / kayıt)
   -------------------------------------------------------------------------- */
.account-wrap { position: relative; flex: 0 0 auto; }

/* .account artık <button>; tarayıcı varsayılanlarını temizliyoruz */
.account {
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.account[aria-expanded="true"] { border-color: var(--accent); }
.account[aria-expanded="true"] > .icon-chevron-down { transform: rotate(180deg); }
.account > .icon-chevron-down { transition: transform .22s ease; }

.account-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 50;

  box-sizing: border-box;   /* sitede genel border-box yok; genişlik dolgu dahil */
  width: min(318px, calc(100vw - 32px));
  padding: 12px;
  border-radius: 18px;
  background: var(--bg-elev);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45);

  transform-origin: top right;
  animation: accountIn .6s cubic-bezier(.2, .9, .3, 1.1);
}

@keyframes accountIn {
  from { opacity: 0; transform: translateY(-10px) scale(.96); }
  to   { opacity: 1; transform: none; }
}

/* Kapanış: JS önce bu sınıfı ekler, animasyon bitince gizler */
.account-menu.is-closing { animation: accountOut .4s ease forwards; pointer-events: none; }

@keyframes accountOut {
  from { opacity: 1; transform: none; }
  to   { opacity: 0; transform: translateY(-6px) scale(.98); }
}

/* İçerik sırayla belirir */
.account-menu__head,
.account-menu__wallet,
.account-menu__actions,
.account-menu__links .account-menu__link,
.account-menu__logout { animation: accountItemIn .6s ease backwards; }

@keyframes accountItemIn {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: none; }
}

.account-menu__head { animation-delay: .08s; }
.account-menu__wallet,
.account-menu__actions { animation-delay: .18s; }
.account-menu__links .account-menu__link:nth-child(1) { animation-delay: .28s; }
.account-menu__links .account-menu__link:nth-child(2) { animation-delay: .36s; }
.account-menu__links .account-menu__link:nth-child(3) { animation-delay: .44s; }
.account-menu__links .account-menu__link:nth-child(4) { animation-delay: .52s; }
.account-menu__links .account-menu__link:nth-child(5) { animation-delay: .60s; }
.account-menu__logout { animation-delay: .68s; }

/* Kapanırken sıra animasyonu tekrar çalışmasın */
.account-menu.is-closing .account-menu__head,
.account-menu.is-closing .account-menu__wallet,
.account-menu.is-closing .account-menu__actions,
.account-menu.is-closing .account-menu__link { animation: none; }

/* Menü içinde border-box: width:100% olan satırlar dolgu yüzünden taşmasın */
.account-menu *,
.account-menu *::before,
.account-menu *::after { box-sizing: border-box; }

/* Mobil sayfa modundaki tutamak; masaüstünde yok */
.account-menu__grab { display: none; }

.account-menu__head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 2px 2px 12px;
  border-bottom: 1px solid var(--line-soft);
}

/* Yazı bloğu boşluğu yer; kapat düğmesi böylece kutunun sağ kenarına
   yaslanıyor, metnin hemen yanına değil. */
.account-menu__head > .min-w-0 { flex: 1 1 auto; }

.account-menu__avatar {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  color: var(--accent-soft);
  display: flex;
  align-items: center;
  justify-content: center;
}

.account-menu__title {
  display: block;
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text-strong);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu__sub {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Giriş/kayıt kutusunda alt satır vurgulu kalsın */
.account-menu--guest .account-menu__sub { color: var(--accent-soft); }

.account-menu__close {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: var(--surface-3);
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  cursor: pointer;
  transition: color .2s, border-color .2s;
}

.account-menu__close:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.account-menu__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

/* Referanstaki iki kutu: ikon sol üstte, ok sağ üstte, etiket altta */
.authbtn {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  min-height: 72px;
  padding: 11px;
  border-radius: 13px;
  border: 1px solid transparent;
  transition: transform .2s, filter .2s, box-shadow .2s, background .2s, border-color .2s;
}

.authbtn:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.authbtn__icon { font-size: 17px; }

.authbtn__go {
  position: absolute;
  top: 11px;
  right: 11px;
  font-size: 12px;
  opacity: .75;
}

.authbtn__label {
  font-size: 13px;
  font-weight: 800;
}

/* Birincil eylem: tema degradesi */
.authbtn--login {
  background: var(--grad-accent);
  color: var(--on-accent);
}

/* Ikincil eylem: dolu degil, tonlu.
   Iki dolu buton paletimizde neredeyse ayni renge dusuyordu; boylece
   hem birincil/ikincil hiyerarsisi okunuyor hem de ton ailesi bozulmuyor. */
.authbtn--register {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 34%, transparent);
  color: var(--accent-soft);
}

.authbtn--register:hover {
  background: color-mix(in srgb, var(--accent) 20%, transparent);
  border-color: var(--accent);
}

/* Genel `a:hover { color: var(--accent) }` kuralı bu iki bağlantıyı da
   yakalıyordu. Dolgulu butonda yazı zeminle aynı renge düşüp okunmaz
   oluyordu; ikisi de hover rengini kendisi söylesin.
   (a:hover 0-1-1, buradakiler 0-2-0: özgüllük yeterli.) */
.authbtn--login:hover,
.authbtn--login:hover .authbtn__label { color: var(--on-accent); }

/* Dolgulu butonda brightness zemini açıp yazıyı zayıflatıyordu; kalkış
   hareketi kalsın, derinliği gölge versin. Kontrast normal haldekiyle
   birebir aynı kalıyor. */
.authbtn--login:hover {
  filter: none;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 38%, transparent);
}

.authbtn--register:hover,
.authbtn--register:hover .authbtn__label { color: var(--accent); }

/* --------------------------------------------------------------------------
   7c. Giriş / kayıt sayfaları
   -------------------------------------------------------------------------- */
/* Tek sütun, sayfaya ortalanmış kart. Üst bar + header + nav yaklaşık
   230px yer kaplıyor; min-height onu düşerek kartı dikeyde ortalıyor,
   kısa formda sayfa tepeye yığılmış görünmüyor. */
.auth {
  position: relative;
  overflow-x: clip;     /* glow kenardan taşıp yatay kaydırma açmasın */
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(620px, calc(100vh - 230px));
  padding: clamp(24px, 4vw, 56px) var(--gutter) clamp(40px, 6vw, 84px);
}

/* Kartın arkasındaki tek yumuşak vurgu lekesi; düz zemine derinlik verir.
   Giriş/kayıt kartlarında ve sepetteki iki sütunda aynı görünüm.

   Ölçü kaba oranlı: sabit px verildiğinde uzun kayıt formu haleyi
   tamamen örtüyor, yalnızca kısa giriş kartında görünüyordu. */
.auth__glow,
.cart__glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 132%;
  height: 118%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--accent) 34%, transparent) 0%,
    color-mix(in srgb, var(--accent-2) 16%, transparent) 42%,
    transparent 70%
  );
  filter: blur(56px);
  pointer-events: none;
}

/* Sepette iki sütunun halesi yan yana düştüğü için toplamda fazla
   parlıyordu; aynı görünüm, daha düşük yoğunlukta. */
.cart__glow { opacity: .45; }

.auth__wrap {
  position: relative;
  width: 100%;
  max-width: 500px;
}

/* Hale mutlak konumlu; kart ve geri bağlantısı onun üstünde kalsın */
.auth__back,
.authpanel { position: relative; }

/* Kayıt formu: e-posta + telefon yan yana sığsın diye daha geniş.
   Telefon kutusunda ülke seçici de olduğu için sütun ~300px olmalı. */
.auth__wrap--wide { max-width: 660px; }

/* --- Form kartı --- */
.authpanel {
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 3vw, 40px);
  border-radius: 26px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .38);
}

/* Kartın dışında, üstünde: kart içindeyken ortalanmış başlık bloğuyla
   karışıyordu. */
.auth__back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-bottom: clamp(12px, 1.6vw, 18px);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  transition: color .2s;
}

.auth__back:hover { color: var(--accent); }

.auth__back > .icon { transition: transform .2s; }
.auth__back:hover > .icon { transform: translateX(-3px); }

/* Tek kartta başlık bloğu ortada duruyor: gözü forma indiriyor */
.authpanel__head { text-align: center; }

.authpanel__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 15px;
  border-radius: 17px;
  background: var(--grad-accent);
  color: var(--on-accent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 34%, transparent);
}

.authpanel__title {
  margin: 0;
  font-size: clamp(23px, 2.6vw, 29px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.authpanel__sub {
  margin: 8px auto clamp(20px, 2.4vw, 28px);
  max-width: 38ch;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--muted);
}

.authpanel__alt {
  margin: clamp(16px, 2vw, 22px) 0 0;
  padding-top: clamp(16px, 2vw, 22px);
  border-top: 1px solid var(--line);
  font-size: 13.5px;
  color: var(--muted);
  text-align: center;
}

.authpanel__alt a { font-weight: 800; color: var(--accent); }

/* --- Bildirim şeridi --- */
/* --------------------------------------------------------------------------
   Bildirim balonu (toast) ve onay penceresi — assets/js/ui.js
   Her iki katman da sayfadaki en üst z-index'in (1200) üzerinde durur.
   -------------------------------------------------------------------------- */
.toasts {
  position: fixed;
  right: clamp(12px, 2vw, 24px);
  bottom: clamp(12px, 2vw, 24px);
  z-index: 1400;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  width: min(380px, calc(100vw - 24px));
  pointer-events: none;
}

.toast {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  box-sizing: border-box;
  width: 100%;
  padding: 13px 14px;
  border-radius: 15px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .65), 0 2px 8px rgba(0, 0, 0, .18);
  pointer-events: auto;
  overflow: hidden;
  /* Kapalı hâl: sağdan kayarak gelir */
  opacity: 0;
  transform: translateX(24px) scale(.96);
  /* Açılışta hafif yaylanma, kapanışta düz eğri (is-out'ta geçersiz kılınır) */
  transition: opacity .26s ease, transform .34s cubic-bezier(.21, 1.11, .38, 1);
}

.toast.is-in { opacity: 1; transform: none; }

/* Kapanış: sağa kayarken yükseklik de daralır, alttaki balonlar zıplamaz.
   max-height'ı JS ölçüp yazıyor; buradaki 0 hedef değer. */
.toast.is-out {
  opacity: 0;
  transform: translateX(110%) scale(.96);
  max-height: 0 !important;
  margin-bottom: -10px;   /* .toasts gap'ini de kapat */
  padding-top: 0;
  padding-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
  transition: opacity .18s ease, transform .28s cubic-bezier(.4, 0, .2, 1),
              max-height .28s cubic-bezier(.4, 0, .2, 1) .06s,
              margin-bottom .28s ease .06s, padding .28s ease .06s;
}
.toast.is-out .toast__bar { opacity: 0; }

/* Kalan süre çubuğu: süresi ve duraklatması JS'ten gelir */
.toast__bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--accent);
  opacity: .8;
  transform-origin: left center;
  animation: toast-bar 4500ms linear forwards;
  transition: opacity .18s ease;
}

@keyframes toast-bar {
  from { transform: scaleX(1); }
  to   { transform: scaleX(0); }
}

.toast__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

.toast__text {
  flex: 1;
  min-width: 0;
  padding-top: 5px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--text-strong);
  overflow-wrap: anywhere;
}

.toast__close {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-top: 2px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted-2);
  cursor: pointer;
  transition: color .2s, background .2s;
}
.toast__close:hover { color: var(--text-strong); background: var(--surface-5); }

/* Tona göre ikon rengi ve sol kenar şeridi */
.toast--ok   { box-shadow: inset 3px 0 0 var(--ok), 0 18px 40px -20px rgba(0, 0, 0, .65); }
.toast--err  { box-shadow: inset 3px 0 0 var(--danger), 0 18px 40px -20px rgba(0, 0, 0, .65); }
.toast--info { box-shadow: inset 3px 0 0 var(--accent), 0 18px 40px -20px rgba(0, 0, 0, .65); }

.toast--ok .toast__icon   { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); }
.toast--err .toast__icon  { background: color-mix(in srgb, var(--danger) 16%, transparent); color: var(--danger); }
.toast--info .toast__icon { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }

.toast--ok .toast__bar   { background: var(--ok); }
.toast--err .toast__bar  { background: var(--danger); }
.toast--info .toast__bar { background: var(--accent); }

@media (max-width: 560px) {
  /* Dar ekranda alt çubuğun üstünde, tam genişlikte */
  .toasts { left: 12px; right: 12px; bottom: 88px; width: auto; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  /* Kayma/ölçek kapanır; süre çubuğu bilgi taşıdığı için çalışmaya devam eder */
  .toast, .toast.is-out { transition: opacity .01s; transform: none; }
}

/* --- Onay penceresi --- */
.cdialog {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  transition: opacity .16s ease;
}
.cdialog.is-open { opacity: 1; transition-duration: .2s; }

.cdialog__scrim {
  position: absolute;
  inset: 0;
  background: var(--scrim, rgba(6, 6, 12, .62));
  backdrop-filter: blur(0);
  transition: backdrop-filter .28s ease;
}
.cdialog.is-open .cdialog__scrim { backdrop-filter: blur(3px); }

.cdialog__box {
  position: relative;
  box-sizing: border-box;
  width: min(420px, 100%);
  padding: clamp(20px, 3vw, 26px);
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .75);
  text-align: center;
  /* Kapanışta hızlı ve düz; açılışta aşağıdan yaylanarak gelir */
  transform: translateY(14px) scale(.94);
  opacity: 0;
  transition: transform .16s cubic-bezier(.4, 0, 1, 1), opacity .14s ease;
}
.cdialog.is-open .cdialog__box {
  transform: none;
  opacity: 1;
  transition: transform .32s cubic-bezier(.18, 1.16, .36, 1), opacity .2s ease;
}

.cdialog__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
}
.cdialog__icon.is-danger { background: color-mix(in srgb, var(--danger) 14%, transparent); color: var(--danger); }

.cdialog__title { margin: 0 0 6px; font-size: 17px; font-weight: 800; color: var(--text-strong); }
.cdialog__text { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }

.cdialog__actions { display: flex; gap: 9px; margin-top: 18px; }

.cdialog__btn {
  flex: 1 1 0;
  min-width: 0;
  height: 46px;
  padding: 0 14px;
  border-radius: 13px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  color: var(--text-2);
  cursor: pointer;
  transition: border-color .2s, background .2s, color .2s, box-shadow .2s;
}
.cdialog__btn:hover { border-color: var(--line-mid); color: var(--text-strong); }

.cdialog__btn--go {
  border-color: transparent;
  background: var(--grad-accent);
  color: var(--on-accent);
}
.cdialog__btn--go:hover { color: var(--on-accent); box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 34%, transparent); }

.cdialog__btn--go.is-danger { background: var(--danger); }
.cdialog__btn--go.is-danger:hover { box-shadow: 0 10px 24px color-mix(in srgb, var(--danger) 34%, transparent); }

.cdialog__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Pencere açıkken arka plan kaymasın */
body.has-cdialog { overflow: hidden; }

@media (max-width: 420px) {
  .cdialog__actions { flex-direction: column-reverse; }
}

@media (prefers-reduced-motion: reduce) {
  .cdialog, .cdialog__box, .cdialog.is-open .cdialog__box { transition: opacity .01s; transform: none; }
  .cdialog__scrim { transition: none; backdrop-filter: blur(3px); }
}

.authnote {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  padding: 11px 14px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.authnote--ok {
  background: color-mix(in srgb, var(--ok) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--ok) 32%, transparent);
  color: var(--ok);
}

.authnote--err {
  background: color-mix(in srgb, var(--danger) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--danger) 32%, transparent);
  color: var(--danger);
}

/* --- Alanlar --- */
.field { margin-bottom: 13px; }

/* Altında ek bir gösterge taşıyan alan (şifre gücü): sonraki alanın
   etiketiyle sıkışmasın */
.field--extra { margin-bottom: 20px; }

.field__label {
  display: block;
  margin-bottom: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-3);
}

.field__box {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 15px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  transition: border-color .2s, box-shadow .2s;
}

.field__box > .icon { color: var(--icon-muted); }

/* Halka `outline` yerine box-shadow: köşe yarıçapını takip ediyor */
.field__box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

.field__box:focus-within > .icon { color: var(--accent); }

.field__input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: var(--font);
  font-size: 14.5px;
}

.field__input::placeholder { color: var(--muted-2); }

.field__toggle {
  display: flex;
  padding: 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--icon-muted);
  cursor: pointer;
  transition: color .2s, background .2s;
}

.field__toggle:hover { color: var(--accent); background: var(--surface-5); }

.field--error .field__box { border-color: var(--danger); }

.field--error .field__box:focus-within {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent);
}

.field__error {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--danger);
}

/* --- Açılır seçim (site + panel ortak; assets/js/select.js kurar) ---
   JS yokken yerel <select> aşağıdaki kutuyla stillenir. JS varken aynı
   seçeneklerden erişilebilir bir liste kurulur; panel <body>'e taşınıp
   position:fixed ile konumlanır, böylece kart/tablo taşmaları onu kesmez. */
.field__box--select { position: relative; }

.field__box--select .field__input {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

/* JS kapalıyken açılan yerel listenin rengi (tarayıcı beyazını engeller) */
.field__box--select select.field__input option,
.field__box--select select.field__input optgroup {
  background: var(--bg-elev);
  color: var(--text-strong);
  font-weight: 600;
}
.field__box--select select.field__input option:checked { background: color-mix(in srgb, var(--accent) 22%, var(--bg-elev)); }
.field__box--select select.field__input option:disabled { color: var(--muted-2); }

.field__box--select.admselect.is-open { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.field__box--select.admselect.is-open > .icon { transform: rotate(180deg); color: var(--accent); }
.field__box--select > .icon { transition: transform .2s ease, color .2s; }

/* Yerel select görünmez ama formda kalır */
.admselect { position: relative; }
.admselect__native {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.admselect__btn {
  display: flex;
  align-items: center;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
}
.admselect__btn:disabled { opacity: .55; cursor: not-allowed; }
.admselect__value { flex: 1; min-width: 0; display: flex; align-items: center; gap: 9px; }
.admselect__label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Seçenek ikonu: metinle aynı hizada, sönük durur, seçiliyken vurgulanır */
.admselect__ikon { flex: 0 0 auto; color: var(--icon-muted); }
.admselect__opt[aria-selected="true"] .admselect__ikon,
.admselect__btn .admselect__ikon { color: var(--accent); }
.admselect__opt { gap: 9px; }
.admselect__opt .admselect__label { flex: 1; }

.admselect__panel {
  position: fixed;          /* konum JS'te hesaplanır; kart taşmaları kesmesin */
  box-sizing: border-box;   /* JS genişliği dolgu dahil yazıyor */
  top: 0;
  left: 0;
  z-index: 1200;
  min-width: 150px;         /* dar tetikleyicide (RTE biçim listesi) okunur kalsın */
  max-height: 336px;        /* 7 seçenek kesilmeden sığar (select.js MAX_PANEL) */
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  border-radius: 14px;
  border: 1px solid var(--line-mid);
  background: var(--bg-elev);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .42), 0 2px 6px rgba(0, 0, 0, .18);
  outline: 0;
  scrollbar-width: thin;
  scrollbar-color: var(--line-mid) transparent;
  animation: admselectIn .14s ease-out;
}

.admselect__panel.is-up { animation-name: admselectUp; }

@keyframes admselectIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes admselectUp { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .admselect__panel { animation: none; }
}

.admselect__opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-2);
  cursor: pointer;
  user-select: none;
}

.admselect__opt + .admselect__opt { margin-top: 2px; }
.admselect__opt.is-active { background: var(--surface-5); color: var(--text-strong); }

.admselect__opt[aria-selected="true"] {
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
  font-weight: 800;
}

.admselect__opt[aria-selected="true"].is-active { background: color-mix(in srgb, var(--accent) 22%, transparent); }
.admselect__opt[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

.admselect__tick { flex: 0 0 auto; visibility: hidden; }
.admselect__opt[aria-selected="true"] .admselect__tick { visibility: visible; }

/* --- Telefon: ülke seçici --- */
.field__box--split { padding-left: 6px; gap: 0; }

.ccpick { position: relative; flex: 0 0 auto; }

.ccpick__btn {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 40px;
  padding: 0 9px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-2);
  cursor: pointer;
  transition: background .2s, color .2s;
}

.ccpick__btn:hover { background: var(--surface-5); }

.ccpick__btn[aria-expanded="true"] { background: var(--surface-5); color: var(--accent); }

.ccpick__btn > .icon-chevron-down { transition: transform .22s ease; color: var(--icon-muted); }
.ccpick__btn[aria-expanded="true"] > .icon-chevron-down { transform: rotate(180deg); }

/* Bayraklar SVG; sabit oran ve ince kenarlık beyaz bayrakları da ayırır */
.ccflag {
  flex: 0 0 auto;
  width: 21px;
  height: 16px;
  border-radius: 3px;
  object-fit: cover;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--text) 14%, transparent);
}

/* Seçici ile numara arasındaki ayraç */
.field__box--split .field__input {
  margin-left: 9px;
  padding-left: 11px;
  border-left: 1px solid var(--line-mid);
}

.ccpick__panel {
  position: absolute;
  top: calc(100% + 9px);
  left: -7px;
  z-index: 40;

  width: min(330px, calc(100vw - 48px));
  padding: 9px;
  border-radius: 16px;
  background: var(--bg-elev);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .45);

  animation: accountIn .18s ease;
}

.ccpick__search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  margin-bottom: 7px;
  padding: 0 11px;
  border-radius: 11px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.ccpick__search > .icon { color: var(--icon-muted); }

.ccpick__searchinput {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: var(--font);
  font-size: 13.5px;
}

.ccpick__searchinput::placeholder { color: var(--muted-2); }

.ccpick__list {
  max-height: 260px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ccopt {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 9px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-family: var(--font);
  text-align: left;
  cursor: pointer;
  transition: background .15s;
}

.ccopt:hover,
.ccopt:focus-visible { background: var(--surface-4); outline: 0; }

.ccopt.is-selected { background: color-mix(in srgb, var(--accent) 14%, transparent); }

.ccopt__name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-2);
}

.ccopt.is-selected .ccopt__name { color: var(--accent); }

.ccopt__dial {
  flex: 0 0 auto;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.ccpick__empty {
  margin: 0;
  padding: 14px 9px;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
}

/* --- Şifre gücü --- */
.pwmeter { margin-top: 8px; }

.pwmeter__bars { display: flex; gap: 5px; }

.pwmeter__bar {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: var(--line-mid);
  transition: background .25s ease;
}

.pwmeter__label {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}

/* Dolan çubuk sayısı güç seviyesini verir */
.pwmeter[data-level="1"] .pwmeter__bar:nth-child(-n+1) { background: var(--danger); }
.pwmeter[data-level="2"] .pwmeter__bar:nth-child(-n+2) { background: var(--warn); }
.pwmeter[data-level="3"] .pwmeter__bar:nth-child(-n+3) { background: var(--accent); }
.pwmeter[data-level="4"] .pwmeter__bar               { background: var(--ok); }

/* --- Onay kutusu --- */
.check {
  --check-size: 19px;
  --check-line: 1.5;

  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-3);
  cursor: pointer;
}

.check--top { align-items: flex-start; line-height: var(--check-line); }

/* Görsel kutu ::before değil ayrı bir span: ikon maskesi içine giriyor */
.check input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.check__box {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;

  /* border-box: sayfada genel bir reset yok, kenarlık dışarıda kalınca
     kutu 19px yerine 21px çiziliyordu */
  box-sizing: border-box;
  width: var(--check-size);
  height: var(--check-size);

  border-radius: 6px;
  background: var(--surface-4);
  border: 1px solid var(--line-mid);
  color: transparent;
  transition: background .2s, border-color .2s, color .2s;
}

/* Çok satırlı metinde kutu ilk satıra ortalanır. Sabit bir sayı yerine
   satır yüksekliğinden hesaplanıyor; yazı boyu değişince hiza bozulmaz. */
.check--top .check__box {
  margin-top: calc((1em * var(--check-line) - var(--check-size)) / 2);
}

.check:hover .check__box { border-color: var(--accent); }

.check input:checked + .check__box {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

.check input:focus-visible + .check__box {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent);
}

.check a { color: var(--accent); font-weight: 700; }

/* --- Form düzeni --- */
/* minmax(0, 1fr): düz `1fr`in alt sınırı min-content olduğu için kolonlar
   219px'te takılıp karttan taşıyordu. 0 tabanı sütunların gerçekten
   eşit bölünmesini sağlıyor. */
.authform__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
}

/* 640px altında sütun ~226px'e iniyor; ülke seçicisi olan telefon kutusunda
   numaraya ~100px kalıyor ve ipucu sığmıyor. Bu genişlikten itibaren alt alta. */
@media (max-width: 639px) {
  .authform__pair { grid-template-columns: 1fr; }
}

.authform__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 4px 0 18px;
}

.authform__link {
  font-size: 13px;
  font-weight: 700;
  color: var(--accent);
}

.authform__consent {
  margin: 6px 0 18px;
  padding: 12px 13px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.authform__consent--error { border-color: var(--danger); }

.authsubmit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 16px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: var(--font);
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}

.authsubmit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 38%, transparent);
}

/* --------------------------------------------------------------------------
   7d. Sepet
   -------------------------------------------------------------------------- */
/* Glow sütundan %32 geniş; dar ekranda kenardan taşıp yatay kaydırma
   açmasın diye kırpılıyor. `clip` kaydırma kabı oluşturmaz, sağ
   sütunun `sticky` davranışı bozulmaz (hidden bozardı). */
.cart {
  padding: clamp(20px, 3vw, 40px) var(--gutter) clamp(40px, 6vw, 80px);
  overflow-x: clip;
}

.cart__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: clamp(16px, 2vw, 24px);
}

.cart__title {
  margin: 0;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.cart__count { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--muted); }

.cart__note { max-width: 100%; }

/* Sağ sütun sabit genişlikte: özet + ödeme yöntemi + sözleşmeler burada,
   ödeme kartlarının sığması için 340px yetmiyordu. */
.cart__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: clamp(14px, 1.8vw, 22px);
  align-items: start;
}

@media (max-width: 979px) {
  .cart__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Hale mutlak konumlu; kutular onun üstünde kalsın diye konumlandırılıyor */
.cart__main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.6vw, 18px);
}

/* --- Kutular --- */
.cartbox {
  position: relative;   /* arkadaki halenin üstünde kalsın */
  padding: clamp(16px, 2vw, 24px);
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.cartbox__title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 clamp(12px, 1.6vw, 18px);
  font-size: 15px;
  font-weight: 800;
  color: var(--text-strong);
}

.cartbox__title > .icon { color: var(--accent); }

.cartbox__error { margin: -6px 0 12px; }

/* --- Ürün satırı --- */
.cartlist { margin: 0; padding: 0; list-style: none; }

.cartitem {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.cartlist > .cartitem:first-child { border-top: 0; padding-top: 0; }

.cartitem__img {
  width: 72px;
  height: 72px;
  border-radius: 14px;
  object-fit: cover;
  background: var(--surface-3);
}

.cartitem__name {
  margin: 0;
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text-strong);
}

.cartitem__variant {
  margin: 3px 0 0;
  font-size: 12.5px;
  color: var(--muted);
}

.cartitem__delivery {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 7px 0 0;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ok);
}

/* --- Adet --- */
.qty {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.qty__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text-3);
  cursor: pointer;
  transition: background .2s, color .2s;
}

.qty__btn:hover:not(:disabled) { background: var(--surface-5); color: var(--accent); }
.qty__btn:disabled { opacity: .35; cursor: default; }

/* Tarayıcının kendi artır/azalt okları bizimkilerle çakışıyordu */
.qty__input {
  width: 34px;
  height: 30px;
  border: 0;
  background: transparent;
  color: var(--text-strong);
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 800;
  text-align: center;
  outline: 0;
  -moz-appearance: textfield;
  appearance: textfield;
}

.qty__input::-webkit-outer-spin-button,
.qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* --- Satır tutarı --- */
.cartitem__price { text-align: right; min-width: 92px; }

.cartitem__old {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--price-old);
  text-decoration: line-through;
}

.cartitem__new {
  display: block;
  margin-top: 2px;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}

.cartitem__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--icon-muted);
  cursor: pointer;
  transition: color .2s, background .2s, border-color .2s;
}

.cartitem__remove:hover {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 12%, transparent);
  border-color: color-mix(in srgb, var(--danger) 30%, transparent);
}

/* --- Boş sepet --- */
.cartempty { padding: clamp(20px, 3vw, 34px) 0; text-align: center; }

.cartempty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 14px;
  border-radius: 20px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  color: var(--icon-muted);
}

.cartempty__title { margin: 0; font-size: 16px; font-weight: 800; color: var(--text-strong); }
.cartempty__sub   { margin: 6px 0 16px; font-size: 13px; color: var(--muted); }

.cartempty__link {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 20px;
  border-radius: 14px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-size: 13.5px;
  font-weight: 800;
  transition: transform .2s;
}

.cartempty__link:hover { transform: translateY(-2px); }

/* --- Ödeme yöntemleri --- */
.paymethods { display: flex; flex-direction: column; gap: 10px; }

.paymethod { display: block; cursor: pointer; }

/* Gerçek radio görsel olarak gizli; odak halkası gövdeye taşınıyor */
.paymethod__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Dar sütunda ikon + yazı + logolar + tik tek satıra sığmıyor; logolar
   her zaman alt satıra geçiyor (order: 3 + tam genişlik). */
.paymethod__body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px;
  padding: 13px 15px;
  border-radius: 16px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  transition: border-color .2s, background .2s, transform .2s;
}

.paymethod:hover .paymethod__body { border-color: var(--accent); transform: translateY(-2px); }

.paymethod__input:checked + .paymethod__body {
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border-color: var(--accent);
}

.paymethod__input:focus-visible + .paymethod__body {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent);
}

.paymethod__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
  color: var(--accent);
}

.paymethod__input:checked + .paymethod__body .paymethod__icon {
  background: var(--grad-accent);
  border-color: transparent;
  color: var(--on-accent);
}

.paymethod__text { flex: 1; min-width: 0; }

.paymethod__title {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--text-strong);
}

.paymethod__sub {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--muted);
}

/* Bakiye satırındaki coin ikonu */
.paymethod__sub .icon { flex: none; color: var(--gold, #F5C451); }

.paylogos {
  order: 3;
  width: 100%;
  display: flex;
  gap: 6px;
  margin-top: -3px;
}

.paylogos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 26px;
  border-radius: 7px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
}

.paylogos__img { width: 26px; height: 17px; object-fit: contain; }

/* Seçili işareti: boşken ince bir halka, seçilince dolu daire */
.paymethod__tick {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--line-mid);
  background: transparent;
  color: transparent;
  transition: background .2s, border-color .2s, color .2s;
}

.paymethod__input:checked + .paymethod__body .paymethod__tick {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

/* Kartlı ödeme seçiliyken çıkan yönerge */
.paynote {
  display: none;
  align-items: flex-start;
  gap: 7px;
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--text-3);
}

.paynote .icon { flex: none; margin-top: 3px; color: var(--accent); }

.paymethods:has(.paymethod__input[value="shopier"]:checked) ~ .paynote--shopier,
.paymethods:has(.paymethod__input[value="transfer"]:checked) ~ .paynote--transfer { display: flex; }

/* Seçenek değil: ödeme her zaman bakiyeden. Seçili görünür, tıklanmaz. */
.paymethod--fixed { cursor: default; }

.paymethod--fixed .paymethod__body {
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border-color: var(--accent);
}

.paymethod--fixed:hover .paymethod__body { transform: none; }

.paymethod--fixed .paymethod__icon {
  background: var(--grad-accent);
  border-color: transparent;
  color: var(--on-accent);
}

.paymethod--fixed .paymethod__tick {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

/* --- Sözleşmeler --- */
.consents { display: flex; flex-direction: column; gap: 10px; }

.consent {
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.consent--error { border-color: var(--danger); }

/* --- Sipariş özeti --- */
.cart__side { position: sticky; top: 16px; }

/* Dar ekranda yapışkanlık kalkıyor ama konumlandırma bağlamı KALMALI:
   `static` olunca içindeki glow sütuna değil sayfaya göre boyutlanıp
   kutuların üstüne biniyor ve sayfayı yana taşırıyordu. */
@media (max-width: 979px) {
  .cart__side { position: relative; }
}

.summary {
  position: relative;   /* arkadaki halenin üstünde kalsın */
  padding: clamp(16px, 2vw, 22px);
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.summary__title {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 800;
  color: var(--text-strong);
}

.summary__rows { display: flex; flex-direction: column; gap: 9px; }

.summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13.5px;
  color: var(--muted);
}

.summary__row > span:last-child {
  font-weight: 700;
  color: var(--text-2);
  font-variant-numeric: tabular-nums;
}

.summary__row--save > span:last-child { color: var(--ok); }

.summary__free { color: var(--ok) !important; }

.summary__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-3);
}

.summary__total strong {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   Kupon kutusu (sepet özeti içinde)
   Kod alanı + "Uygula"; kupon geçerliyse yerini rozetli bilgi satırı alır.
   -------------------------------------------------------------------------- */
.coupon {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
}

.coupon__label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-3);
}
.coupon__label > .icon { color: var(--accent); }

.coupon__row { display: flex; gap: 8px; }

.coupon__input {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  height: 44px;
  padding: 0 13px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-strong);
}
.coupon__input::placeholder { font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted-2); }
.coupon__input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }

.coupon__apply {
  flex: none;
  height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  background: var(--surface-5);
  font: inherit;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--text-strong);
  cursor: pointer;
  transition: background .2s, color .2s;
}
.coupon__apply:hover { background: var(--accent); color: var(--on-accent); }

.coupon__err {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 9px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--danger);
}
.coupon__err > .icon { margin-top: 2px; flex: none; }

/* Uygulanmış kupon */
.coupon__on {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--ok) 45%, transparent);
  background: color-mix(in srgb, var(--ok) 9%, transparent);
}

.coupon__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  padding: 6px 10px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--ok) 18%, transparent);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--ok);
}

.coupon__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.coupon__title { font-size: 13px; font-weight: 800; color: var(--text-strong); overflow-wrap: anywhere; }
.coupon__sub { font-size: 12px; line-height: 1.45; color: var(--muted); overflow-wrap: anywhere; }

.coupon__drop {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted-2);
  cursor: pointer;
  transition: color .2s, background .2s;
}
.coupon__drop:hover { color: var(--danger); background: color-mix(in srgb, var(--danger) 14%, transparent); }

@media (max-width: 420px) {
  .coupon__row { flex-direction: column; }
  .coupon__apply { width: 100%; }
}

/* Panel içi bölümler: özet, ödeme, sözleşmeler tek kartta ama
   ince çizgiyle ayrılmış */
.summary__block {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.summary__subtitle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--text-strong);
}

.summary__subtitle > .icon { color: var(--accent); }

.summary__error { margin: -4px 0 10px; }

.summary__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  height: 52px;
  margin-top: 16px;
  border: 0;
  border-radius: 16px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: var(--font);
  font-size: 14.5px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}

.summary__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 38%, transparent);
}

.summary__submit:disabled {
  opacity: .5;
  cursor: default;
  transform: none;
  box-shadow: none;
}

/* --- Dar ekran: ürün satırı iki sıraya --- */
@media (max-width: 599px) {
  .cartitem {
    grid-template-columns: 62px minmax(0, 1fr) auto;
    grid-template-areas:
      "img info remove"
      "img qty  price";
    row-gap: 12px;
  }

  .cartitem__img    { grid-area: img; width: 62px; height: 62px; align-self: start; }
  .cartitem__info   { grid-area: info; }
  .qty              { grid-area: qty; justify-self: start; }
  .cartitem__price  { grid-area: price; }
  .cartitem__remove { grid-area: remove; align-self: start; }
}

/* --------------------------------------------------------------------------
   7f. Blog
   -------------------------------------------------------------------------- */
/* --- Kırıntı yolu --- */
/* Makaleyle aynı okuma genişliğinde: sol kenarları hizalı dursun */
.crumbs {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  max-width: 760px;
  margin: 0 auto clamp(14px, 1.8vw, 20px);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted-2);
}

.crumbs a { color: var(--muted); transition: color .2s; }
.crumbs a:hover { color: var(--accent); }
.crumbs .icon { color: var(--icon-muted); }
.crumbs [aria-current] { color: var(--text-3); font-weight: 700; }

/* --------------------------------------------------------------------------
   7f-2. Blog listesi
   -------------------------------------------------------------------------- */
.bloglist { padding: clamp(20px, 3vw, 40px) var(--gutter) clamp(40px, 6vw, 80px); }

.bloglist__head { margin-bottom: clamp(18px, 2.4vw, 28px); }

.bloglist__title {
  margin: 0;
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.bloglist__sub {
  margin: 8px 0 0;
  max-width: 62ch;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
}

/* --- Arama / sıralama çubuğu --- */
.blogfilter {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.blogfilter__search {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  transition: border-color .2s, box-shadow .2s;
}

.blogfilter__search > .icon { color: var(--icon-muted); }

.blogfilter__search:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

.blogfilter__search:focus-within > .icon { color: var(--accent); }

.blogfilter__input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
}

.blogfilter__input::placeholder { color: var(--muted-2); }

/* Sıralama: yerel <select> görünür ama kendi kutumuzun içinde */
.blogfilter__sort {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  cursor: pointer;
  transition: border-color .2s;
}

.blogfilter__sort:hover { border-color: var(--accent); }

.blogfilter__sortlabel {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
}

.blogfilter__select {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  outline: 0;
  padding: 0 4px 0 0;
  background: transparent;
  color: var(--text-strong);
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
}

.blogfilter__select option { background: var(--bg-elev); color: var(--text); }

.blogfilter__sort > .icon { color: var(--icon-muted); pointer-events: none; }

.blogfilter__submit {
  flex: 0 0 auto;
  height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 14px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s;
}

.blogfilter__submit:hover { transform: translateY(-2px); }

/* JS varken sıralama kendiliğinden uygulanıyor; buton yalnızca
   aramayı göndermek için kalıyor, o da Enter ile yapılabiliyor. */
.blogfilter.is-live .blogfilter__submit { display: none; }

/* --- Tema uyumlu seçici (yerel <select> yerine, blog.js kuruyor) ---
   Yerel açılır listeyi işletim sistemi çiziyor; rengi CSS ile
   değiştirilemediği için aynı seçeneklerden kendi panelimizi üretiyoruz. */
.pick { position: relative; flex: 0 0 auto; }

.pick__btn {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-family: var(--font);
  cursor: pointer;
  transition: border-color .2s, background .2s;
}

.pick__btn:hover { border-color: var(--accent); }

.pick__btn[aria-expanded="true"] {
  border-color: var(--accent);
  background: var(--surface-5);
}

.pick__label { font-size: 12.5px; font-weight: 700; color: var(--muted); }

.pick__value {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-strong);
  white-space: nowrap;
}

.pick__btn > .icon { color: var(--icon-muted); transition: transform .22s ease; }
.pick__btn[aria-expanded="true"] > .icon { transform: rotate(180deg); color: var(--accent); }

.pick__panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 40;

  min-width: 100%;
  width: max-content;
  max-width: min(280px, calc(100vw - 32px));
  padding: 6px;
  border-radius: 14px;
  background: var(--bg-elev);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .45);

  animation: accountIn .18s ease;
}

.pick__opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 9px 11px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-2);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s, color .15s;
}

.pick__opt:hover,
.pick__opt:focus-visible { background: var(--surface-4); outline: 0; }

.pick__opt.is-selected {
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
}

/* Onay işareti seçili olmayanlarda yer kaplamaya devam etsin */
.pick__tick { visibility: hidden; color: var(--accent); }
.pick__opt.is-selected .pick__tick { visibility: visible; }

@media (max-width: 639px) {
  .pick { flex: 1 1 auto; }
  .pick__btn { width: 100%; justify-content: space-between; }
  .pick__panel { left: 0; right: auto; max-width: none; }
}

@media (max-width: 639px) {
  .blogfilter { flex-wrap: wrap; }
  .blogfilter__search { flex: 1 1 100%; }
  .blogfilter__sort { flex: 1 1 auto; justify-content: space-between; }
}

/* --- Etiket çipleri --- */
.blogtags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: clamp(16px, 2vw, 22px);
}

.blogtags .chip { display: inline-flex; align-items: center; gap: 7px; }

.chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--surface-5);
  font-size: 10.5px;
  font-weight: 800;
  color: var(--muted);
}

.chip--active .chip__count {
  background: color-mix(in srgb, var(--on-accent) 20%, transparent);
  color: var(--on-accent);
}

/* --- Sonuç satırı --- */
.blogresult {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: clamp(14px, 1.8vw, 18px);
  font-size: 13px;
  color: var(--muted);
}

.blogresult strong { color: var(--text-strong); }

.blogresult__clear {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--accent);
}

/* --- Boş sonuç --- */
.blogempty {
  padding: clamp(30px, 5vw, 56px) 20px;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  text-align: center;
}

.blogempty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin: 0 auto 14px;
  border-radius: 20px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  color: var(--icon-muted);
}

.blogempty__title { margin: 0; font-size: 16.5px; font-weight: 800; color: var(--text-strong); }
.blogempty__sub   { margin: 7px 0 18px; font-size: 13px; color: var(--muted); }

/* --------------------------------------------------------------------------
   Blog kartı (liste sayfası)
   Karuseldeki .blogcard'dan ayrı: burada görsel tam genişlikte, altında
   kategori etiketi, başlık, özet ve kesik çizgiyle ayrılmış künye satırı.
   -------------------------------------------------------------------------- */
.postcard {
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}

.postcard:hover { border-color: var(--accent); transform: translateY(-3px); }

.postcard__thumb {
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--surface-3);
}

.postcard__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

.postcard__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 15px 16px 13px;
}

.postcard__cat {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--accent);
}

/* Kategori renkleri kapak görsellerinin tonlarıyla aynı aileden;
   eşleşmeyen etiket accent rengiyle çıkar. */
.postcard__cat--rehber        { color: #E8A33D; }
.postcard__cat--guvenlik      { color: #4FA8E8; }
.postcard__cat--kampanya      { color: #E86FB4; }
.postcard__cat--karsilastirma { color: #E8654F; }
.postcard__cat--mor           { color: #35C4A8; }

.postcard__title {
  margin: 9px 0 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}

.postcard__title a { color: var(--text-strong); }
.postcard:hover .postcard__title a { color: var(--accent); }

.postcard__excerpt {
  /* Özet üç satırda kesiliyor; kart yükseklikleri ızgarada yakın kalsın */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;

  margin: 9px 0 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--muted);
}

.postcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px dashed var(--line-mid);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted-2);
}

.postcard__author { display: flex; align-items: center; gap: 6px; min-width: 0; }
.postcard__author > .icon { color: var(--icon-muted); }
.postcard__date { flex: 0 0 auto; font-variant-numeric: tabular-nums; }

/* --------------------------------------------------------------------------
   Sayfalama
   -------------------------------------------------------------------------- */
.pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: clamp(20px, 3vw, 32px);
}

.pager__step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 15px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-3);
  transition: border-color .2s, color .2s, background .2s;
}

.pager__step:hover { border-color: var(--accent); color: var(--accent); }

/* İlk/son sayfada düğme yerinde kalır ama tıklanamaz */
.pager__step.is-off { opacity: .4; pointer-events: none; }

.pager__nums { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.pager__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-size: 13px;
  font-weight: 800;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  transition: border-color .2s, color .2s, background .2s;
}

.pager__num:hover { border-color: var(--accent); color: var(--accent); }

.pager__num.is-active {
  background: var(--grad-accent);
  border-color: transparent;
  color: var(--on-accent);
}

.blogresult__page { color: var(--muted-2); }

@media (max-width: 479px) {
  .pager__step { padding: 0 12px; }
  .pager__num { min-width: 36px; height: 36px; }
}

/* Öne çıkan yazı: görsel solda, metin sağda */
.feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(14px, 2vw, 26px);
  align-items: center;
  margin-bottom: clamp(16px, 2vw, 24px);
  padding: clamp(14px, 1.8vw, 20px);
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  transition: border-color .2s;
}

.feature:hover { border-color: var(--accent); }

.feature__thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: var(--surface-3);
}

.feature__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

.feature__body { display: flex; flex-direction: column; gap: 9px; }

.feature__title {
  margin: 0;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01em;
}

.feature__title a { color: var(--text-strong); }
.feature:hover .feature__title a { color: var(--accent); }

.feature__excerpt {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
}

.feature__body .blogcard__more { margin-top: 4px; padding-top: 0; }
.feature:hover .blogcard__more > .icon { transform: translateX(4px); }

@media (max-width: 719px) {
  .feature { grid-template-columns: 1fr; }
}

/* Kart ızgarası; karuseldeki sabit genişlik burada geçerli değil */
.bloggrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: clamp(12px, 1.6vw, 18px);
}

.bloggrid .blogcard { flex: 1 1 auto; }

/* --------------------------------------------------------------------------
   7g. Blog yazısı
   -------------------------------------------------------------------------- */
.post { padding: clamp(20px, 3vw, 40px) var(--gutter) clamp(40px, 6vw, 80px); }

.post__back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: clamp(14px, 1.8vw, 20px);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  transition: color .2s;
}

.post__back:hover { color: var(--accent); }
.post__back > .icon { transition: transform .2s; }
.post__back:hover > .icon { transform: translateX(-3px); }

/* Okuma genişliği: uzun satır yormasın */
.post__article {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(18px, 2.6vw, 34px);
  border-radius: 24px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.post__tag {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent);
}

.post__title {
  margin: 13px 0 0;
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.post__lead {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text-3);
}

.post__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 14px;
  padding-bottom: clamp(16px, 2vw, 22px);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted-2);
}

.post__meta span { display: flex; align-items: center; gap: 6px; }
.post__meta .icon { color: var(--accent); }

.post__cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 18px;
  background: var(--surface-3);
}

/* --- Yazı gövdesi --- */
.post__body { margin-top: clamp(18px, 2.4vw, 26px); }

.post__body h2 {
  margin: clamp(22px, 2.8vw, 30px) 0 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text-strong);
}

.post__body p {
  margin: 0 0 14px;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--text-3);
}

.post__body ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

/* Madde imi olarak accent renkli küçük bir daire */
.post__body li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 9px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--text-3);
}

.post__body li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}

.post__body b { color: var(--text-strong); font-weight: 800; }

.post__note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text-3);
}

.post__note .icon { flex: 0 0 auto; margin-top: 2px; color: var(--accent); }

/* --- Yazı sonu: paylaşım --- */
.post__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: clamp(20px, 2.6vw, 28px);
  padding-top: clamp(18px, 2.4vw, 24px);
  border-top: 1px solid var(--line);
}

.post__foot-label { font-size: 13px; font-weight: 700; color: var(--muted); }

.post__share { display: flex; gap: 8px; }

.post__sharebtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  color: var(--text-3);
  transition: border-color .2s, color .2s, transform .2s;
}

.post__sharebtn:hover {
  border-color: var(--accent);
  color: var(--accent);
  transform: translateY(-2px);
}

/* --------------------------------------------------------------------------
   7g-2. Yorumlar
   -------------------------------------------------------------------------- */
.comments {
  max-width: 760px;
  margin: clamp(22px, 3vw, 32px) auto 0;
  padding: clamp(18px, 2.6vw, 30px);
  border-radius: 24px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.comments__title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 clamp(14px, 2vw, 20px);
  font-size: 17px;
  font-weight: 800;
  color: var(--text-strong);
}

.comments__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}

.comments__empty {
  margin: 0 0 clamp(16px, 2vw, 22px);
  padding: 20px;
  border-radius: 16px;
  background: var(--surface-4);
  border: 1px dashed var(--line-mid);
  font-size: 13.5px;
  color: var(--muted);
  text-align: center;
}

.commentlist {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 clamp(20px, 2.6vw, 28px);
  padding: 0;
  list-style: none;
}

/* Yanıtlar tek seviye içeri alınıyor; daha derini okunabilirliği bozuyor */
.commentlist--replies {
  gap: 10px;
  margin: 10px 0 0 clamp(20px, 4vw, 42px);
  padding-left: clamp(12px, 2vw, 18px);
  border-left: 2px solid var(--line-soft);
}

.comment__box {
  display: flex;
  gap: 12px;
  padding: 14px 15px;
  border-radius: 16px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.comment__box--staff {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  border-color: color-mix(in srgb, var(--accent) 26%, transparent);
}

.comment__avatar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-size: 15px;
  font-weight: 800;
}

.comment__main { flex: 1; min-width: 0; }

.comment__head {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-bottom: 5px;
}

.comment__name { font-size: 13.5px; font-weight: 800; color: var(--text-strong); }

.comment__badge {
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .03em;
  color: var(--accent);
}

.comment__date { font-size: 11.5px; font-weight: 600; color: var(--muted-2); }

.comment__text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text-3);
}

/* --- Yorum formu --- */
.commentform {
  padding-top: clamp(18px, 2.4vw, 24px);
  border-top: 1px solid var(--line);
}

.commentform__title {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 800;
  color: var(--text-strong);
}

/* Çok satırlı alan: yükseklik sabit değil, kutu içeriğe göre uzuyor */
.field__box--area { height: auto; padding: 12px 15px; align-items: flex-start; }

.field__textarea {
  width: 100%;
  min-height: 92px;
  line-height: 1.6;
  resize: vertical;
  font-family: var(--font);
}

.commentform__note {
  margin: 4px 0 14px;
  font-size: 12px;
  color: var(--muted-2);
}

.commentform__submit {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 14px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}

.commentform__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 38%, transparent);
}

/* --- İlgili yazılar --- */
.post__related { max-width: 760px; margin: clamp(26px, 3.4vw, 40px) auto 0; }

.post__related-title {
  margin: 0 0 clamp(12px, 1.6vw, 16px);
  font-size: 17px;
  font-weight: 800;
  color: var(--text-strong);
}

/* --------------------------------------------------------------------------
   7e. Mobil alt çubuğu
   -------------------------------------------------------------------------- */
.mobilebar { display: none; }

@media (max-width: 719px) {
  /* z-index 45: sayfa içeriğinin üstünde, açılır panellerin (50) ve
     çekmece perdesinin (55) altında — çekmece açılınca altta kalır. */
  .mobilebar {
    position: fixed;
    left: 50%;
    /* iPhone ev çubuğu varsa onun da üstünde dursun */
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 45;

    display: flex;
    align-items: center;
    gap: 4px;
    max-width: calc(100vw - 20px);
    padding: 7px;

    border-radius: 999px;
    background: var(--overlay-bg);
    border: 1px solid var(--line-mid);
    backdrop-filter: blur(14px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .45);
  }

  .mobilebar__item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 13px 15px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-3);
    white-space: nowrap;
    transition: background .2s, color .2s;
  }

  .mobilebar__item > .icon { color: var(--icon-muted); transition: color .2s; }

  .mobilebar__item.is-active {
    background: color-mix(in srgb, var(--accent) 16%, transparent);
    color: var(--accent);
  }

  .mobilebar__item.is-active > .icon { color: var(--accent); }

  /* Çubuk sabit; sayfanın son satırlarını örtmesin */
  .page { padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)); }

  /* Destek: canlı destek penceresini açar; hafif vurgulu zemin, ikon ve
     birkaç saniyede bir geçen yumuşak ışık. "Canlı" rozeti küçük ve sade. */
  .mobilebar__item--live {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 15%, transparent), color-mix(in srgb, var(--accent-2) 11%, transparent));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
    color: var(--text-strong);
  }
  .mobilebar__item--live > .icon { color: var(--accent); }
  .mobilebar__item--live::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--accent) 22%, transparent) 50%, transparent 65%);
    transform: translateX(-120%);
    animation: mb-sweep 7s ease-in-out 1.5s infinite;
    pointer-events: none;
  }
  .mobilebar__item--live.is-active { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent); }

  .mobilebar__live {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 17px;
    margin-left: -1px;
    padding: 0 6px 0 5px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--ok) 14%, transparent);
    color: var(--mb-live-ink);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1;
  }
  .mobilebar__live > i {
    position: relative;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ok);
  }
  .mobilebar__live > i::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--ok);
    animation: mb-live 2.4s ease-out infinite;
  }

  @keyframes mb-sweep {
    0%, 70% { transform: translateX(-120%); }
    100% { transform: translateX(120%); }
  }
  @keyframes mb-live {
    0% { transform: scale(1); opacity: .55; }
    70%, 100% { transform: scale(2.6); opacity: 0; }
  }

  /* Orta-dar ekran (380–429): üç etiket + rozet sığsın diye boşluklar daralır */
  @media (min-width: 380px) and (max-width: 429px) {
    .mobilebar { gap: 2px; padding: 6px; }
    .mobilebar__item { gap: 6px; padding: 12px 11px; font-size: 12.5px; }
    .mobilebar__live { padding: 0 5px 0 4px; gap: 3px; }
  }

  /* Çok dar ekranda etiketler sığmıyor; etkin olanınki kalıyor.
     "Canlı" rozeti ikonun köşesinde yalnızca nokta olarak kalır. */
  @media (max-width: 379px) {
    .mobilebar__item { padding: 13px 12px; }
    .mobilebar__item:not(.is-active) > .mobilebar__label { display: none; }
    .mobilebar__item--live:not(.is-active) .mobilebar__live {
      position: absolute;
      top: 10px;
      left: 27px;
      height: auto;
      padding: 0;
      gap: 0;
      background: none;
      font-size: 0;
    }
    .mobilebar__item--live:not(.is-active) .mobilebar__live > i { width: 8px; height: 8px; box-shadow: 0 0 0 2px var(--bg-elev); }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobilebar__item--live::after, .mobilebar__live > i::after { animation: none; opacity: 0; }
  }
}

/* --------------------------------------------------------------------------
   7h. Kategoriler sayfası
   -------------------------------------------------------------------------- */
.shop {
  padding: clamp(18px, 2.6vw, 34px) var(--gutter) clamp(40px, 6vw, 80px);
  overflow-x: clip;   /* hale/glow kenardan taşıp yatay kaydırma açmasın */
}

/* Kırıntı yolu blogda makale genişliğinde; katalogda sayfa genişliğinde */
.crumbs--wide { max-width: none; margin-left: 0; margin-right: 0; }

.catgrid .catcard { transition: border-color .2s, transform .2s; }
.catgrid .catcard:hover { transform: translateY(-2px); }

.catcard__title,
.catcard__sub { display: block; }

/* --- Marka posterleri (/kategoriler) --- */
.brands { margin-bottom: clamp(30px, 4vw, 52px); }

.brands__head { text-align: center; margin-bottom: clamp(16px, 2vw, 22px); }

.brands__title {
  margin: 0;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--text-strong);
}

.brands__sub {
  margin: 8px 0 0;
  font-size: 13.5px;
  color: var(--muted);
}

.brandsearch {
  display: flex;
  align-items: center;
  max-width: 620px;
  height: 52px;
  margin: 0 auto 16px;
  padding: 0 6px 0 18px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  transition: border-color .2s, box-shadow .2s;
}

.brandsearch:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);
}

.brandsearch__input {
  flex: 1;
  min-width: 0;
  height: 100%;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: var(--font);
  font-size: 14.5px;
}

.brandsearch__input::placeholder { color: var(--muted-2); }

.brandsearch__btn {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--icon-muted);
  cursor: pointer;
  transition: color .2s, background .2s;
}

.brandsearch__btn:hover,
.brandsearch:focus-within .brandsearch__btn { color: var(--accent); }
.brandsearch__btn:hover { background: var(--surface-5); }

.brands__tabs { justify-content: center; }

.postergrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 22px) clamp(10px, 1.3vw, 18px);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 1199px) { .postergrid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 979px)  { .postergrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 719px)  { .postergrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 339px)  { .postergrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Mobilde çipler tek satırda yana kaysın; sayfayı aşağı itmesin */
@media (max-width: 559px) {
  .brands__tabs {
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-left: calc(var(--gutter) * -1);
    margin-right: calc(var(--gutter) * -1);
    padding: 0 var(--gutter) 2px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .brands__tabs::-webkit-scrollbar { display: none; }
  .brands__tabs .chip { flex: 0 0 auto; }
}

.poster[hidden] { display: none; }

.poster__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  color: inherit;
  text-align: center;
}

.poster__frame {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--surface-4);
  border: 1px solid var(--line-card);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s;
}

.poster__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.poster__link:hover .poster__frame,
.poster__link:focus-visible .poster__frame {
  transform: translateY(-4px);
  border-color: var(--accent);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .35);
}

.poster__link:hover .poster__img { transform: scale(1.05); }
.poster__link:focus-visible { outline: 0; }

.poster__name {
  font-size: 14px;
  font-weight: 800;
  color: var(--text-strong);
  line-height: 1.3;
  transition: color .2s;
}

.poster__link:hover .poster__name { color: var(--accent); }

.poster__meta {
  font-size: 11.5px;
  color: var(--muted);
}

@media (max-width: 559px) {
  .poster__frame { border-radius: 12px; margin-bottom: 6px; }
  .poster__name { font-size: 12.5px; }
  .poster__meta { font-size: 11px; }
  .poster__price { display: none; }
}

/* --- Marka sayfası (/kategoriler/{marka}) --- */
.catpage {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: clamp(16px, 2vw, 26px);
  align-items: start;
}

.catpage__side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

/* Marka kartı */
.catinfo {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.catinfo__glow {
  position: absolute;
  top: -60px;
  left: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%);
  filter: blur(30px);
  pointer-events: none;
}

/* Kapak kartın tam genişliğinde, başlık altında */
.catinfo__poster {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--line-card);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .35);
}

.catinfo__text { position: relative; margin-top: 16px; }

.catinfo__title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--text-strong);
  overflow-wrap: anywhere;
}

.catinfo__desc {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-3);
}

/* Dar ekranda tam genişlik kapak ürünleri çok aşağı iter: yan yana */
@media (max-width: 899px) {
  .catinfo { display: flex; align-items: flex-start; gap: 16px; }
  .catinfo__poster { flex: 0 0 auto; width: clamp(110px, 30vw, 170px); }
  .catinfo__text { flex: 1; min-width: 0; margin-top: 0; }
  .catinfo__title { font-size: 22px; }
}

/* Süzgeç paneli */
.catfilter {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 18px;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.catfilter__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.catfilter__title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--text-strong);
}

.catfilter__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  cursor: default;
}

.catfilter__toggle > .icon-filter { color: var(--accent); }

.catfilter__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--accent);
  font-size: 10.5px;
  font-weight: 800;
  color: var(--on-accent);
}

.catfilter__caret { display: none; color: var(--icon-muted); transition: transform .22s ease; }

.catfilter__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* JS varken seçimler kendiliğinden uygulanıyor; arama Enter ile gidiyor */
.catfilter.is-live .catfilter__submit { display: none; }

/* Dar ekranda panel katlanır; ürünler aşağıda kaybolmasın */
@media (max-width: 899px) {
  .catfilter.is-live .catfilter__toggle { cursor: pointer; }
  .catfilter.is-live .catfilter__caret { display: block; }
  .catfilter.is-live .catfilter__toggle[aria-expanded="true"] .catfilter__caret { transform: rotate(180deg); }
  .catfilter.is-collapsed { gap: 0; }
  .catfilter.is-collapsed .catfilter__body { display: none; }
}

.catfilter__clear { font-size: 12.5px; font-weight: 800; color: var(--accent); }

.catfilter__search { flex: 0 0 auto; height: 44px; padding: 0 14px; border-radius: 12px; }

.catfilter__group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.catfilter__label {
  margin-bottom: 6px;
  padding: 0;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}

.catfilter__opt {
  padding: 9px 10px;
  border-radius: 10px;
  transition: background .15s;
}

.catfilter__opt:hover { background: var(--surface-4); }
.catfilter__opt:has(input:checked) { background: color-mix(in srgb, var(--accent) 10%, transparent); }

.catfilter__name {
  flex: 1;
  min-width: 0;
  color: var(--text-2);
  font-weight: 700;
}

.catfilter__opt:has(input:checked) .catfilter__name { color: var(--text-strong); }

.catfilter__count { flex: 0 0 auto; }

.catfilter__opt:has(input:checked) .catfilter__count {
  background: var(--accent);
  color: var(--on-accent);
}

.catfilter .stocktoggle { height: 44px; border-radius: 12px; }
.catfilter .blogfilter__sort { height: 44px; border-radius: 12px; justify-content: space-between; }
.catfilter .blogfilter__select { flex: 1; }
.catfilter .pick { width: 100%; }
.catfilter .pick__btn { width: 100%; height: 44px; border-radius: 12px; }
.catfilter .pick__value { flex: 1; text-align: left; }
.catfilter .pick__panel { left: 0; right: 0; max-width: none; }

.catfilter__submit { width: 100%; height: 44px; border-radius: 12px; }

/* Ürünler */
.catpage__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.catpage__title {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text-strong);
}

.catpage__count { font-size: 13px; color: var(--muted); }
.catpage__count strong { color: var(--text-strong); }
.catpage__page { color: var(--muted-2); }

/* Kategori listesi sayfalayıcı */
.catpager {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px;
  margin-top: clamp(18px, 2.5vw, 28px);
}

.catpager__num,
.catpager__step {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  box-sizing: border-box; min-width: 38px; height: 38px; padding: 0 12px;
  border-radius: 11px; border: 1px solid var(--line-soft); background: var(--surface-4);
  font-size: 13px; font-weight: 700; color: var(--muted);
  transition: color .2s, border-color .2s, background .2s;
}
.catpager__num:hover,
.catpager__step:hover { color: var(--text-strong); border-color: var(--accent); }

.catpager__num.is-active {
  background: var(--grad-accent); border-color: transparent; color: var(--on-accent);
}

.catpager__gap { padding: 0 2px; font-size: 13px; color: var(--muted-2); }

@media (max-width: 560px) {
  .catpager__step span { display: none; }
}

.catpage__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
  gap: clamp(11px, 1.4vw, 16px);
}

/* --------------------------------------------------------------------------
   Arama sonuç sayfası (/arama)
   -------------------------------------------------------------------------- */
.searchpage { padding: clamp(18px, 3vw, 34px) var(--gutter) clamp(30px, 5vw, 60px); }

.searchpage__head { margin-bottom: clamp(16px, 2.5vw, 26px); }

.searchpage__title {
  margin: 0 0 6px;
  font-size: clamp(21px, 3.2vw, 31px);
  font-weight: 800;
  color: var(--text-strong);
  line-height: 1.25;
}

.searchpage__q { color: var(--accent); }

.searchpage__sub { margin: 0 0 16px; font-size: 14px; color: var(--text-3); }

/* Sayfa içi büyük arama kutusu */
.searchbig {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 640px;
  padding: 0 8px 0 18px;
  height: 54px;
  border-radius: 999px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.searchbig:focus-within { border-color: var(--accent); background: var(--bg-elev); }
.searchbig__icon { color: var(--icon-muted); }

.searchbig__input {
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--text);
  font-family: inherit;
  font-size: 15px;
}

.searchbig__input::-webkit-search-cancel-button { display: none; }

.searchbig__btn {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: var(--grad-accent);
  color: var(--on-accent);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.searchbig__btn:hover { filter: brightness(1.1); }

/* Sekmeler */
.searchtabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: clamp(16px, 2.4vw, 24px);
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.searchtab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 15px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  color: var(--text-2);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.searchtab:hover { border-color: var(--accent); color: var(--accent); }

.searchtab.is-active {
  background: var(--grad-accent);
  border-color: transparent;
  color: var(--on-accent);
}

.searchtab__n {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  font-size: 11.5px;
  font-weight: 800;
  text-align: center;
}

.searchtab:not(.is-active) .searchtab__n { background: var(--surface-5); color: var(--text-3); }

/* Bölümler */
.searchpage__block + .searchpage__block { margin-top: clamp(26px, 4vw, 44px); }

.searchpage__blockhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.searchpage__h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 800;
  color: var(--text-strong);
}

.searchpage__blockhead .searchpage__h2 { margin-bottom: 0; }
.searchpage__h2 .icon { color: var(--accent); }

.searchpage__n {
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--surface-5);
  font-size: 12px;
  font-weight: 700;
  color: var(--text-3);
}

/* Filtreler */
.searchfilters { display: flex; gap: 8px; flex-wrap: wrap; }

.searchselect {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.searchselect__input {
  appearance: none;
  height: 40px;
  padding: 0 34px 0 14px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  color: var(--text-2);
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
}

.searchselect__input:hover { border-color: var(--accent); }
.searchselect__input:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
/* Tema açılır listesi (select.js): düğme yerel select'in yerini alır */
.searchselect__input.admselect__btn { min-width: 150px; gap: 8px; transition: border-color .2s, box-shadow .2s; }
.searchselect.is-open .searchselect__input { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); color: var(--text-strong); }
.searchselect > .icon { transition: transform .2s ease, color .2s; }
.searchselect.is-open > .icon { transform: rotate(180deg); color: var(--accent); }
/* JS kapalıyken yerel liste tarayıcı beyazı olmasın */
select.searchselect__input option { background: var(--bg-elev); color: var(--text-strong); }

.searchselect > .icon {
  position: absolute;
  right: 12px;
  pointer-events: none;
  color: var(--icon-muted);
}

/* Kategori sonuçları */
.searchcats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 10px;
}

.searchcat {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  color: var(--text);
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}

.searchcat:hover { border-color: var(--accent); transform: translateY(-2px); }

.searchcat__img {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 11px;
  overflow: hidden;
  background: var(--surface-5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-2);
}

.searchcat__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.searchcat__text { flex: 1 1 auto; min-width: 0; }

.searchcat__name {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-strong);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.searchcat__meta { display: block; font-size: 12.5px; color: var(--text-3); }
.searchcat__go { color: var(--text-3); }

/* Blog sonuçları */
.searchposts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 10px;
}

.searchpost {
  display: flex;
  gap: 12px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}

.searchpost:hover { border-color: var(--accent); transform: translateY(-2px); }

.searchpost__img {
  flex: 0 0 auto;
  width: 84px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface-5);
}

.searchpost__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.searchpost__text { flex: 1 1 auto; min-width: 0; }

.searchpost__name {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-strong);
  line-height: 1.35;
}

.searchpost__sub {
  display: block;
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--text-3);
  line-height: 1.45;
}

.searchpost__meta { display: block; margin-top: 5px; font-size: 12px; color: var(--muted-2); }

/* Sonuç yok / karşılama */
.searchempty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: clamp(36px, 7vw, 72px) 20px;
  text-align: center;
}

.searchempty__icon { color: var(--icon-muted); }
.searchempty__title { margin: 0; font-size: 18px; font-weight: 800; color: var(--text-strong); }
.searchempty__sub { margin: 0 0 8px; font-size: 14px; color: var(--text-3); }
.searchempty__acts { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

.searchchips { display: flex; flex-wrap: wrap; gap: 9px; }

.searchchip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  color: var(--text-2);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
}

.searchchip:hover { border-color: var(--accent); color: var(--accent); }

.searchchip__count {
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--surface-5);
  font-size: 11.5px;
  font-weight: 800;
  color: var(--text-3);
}

@media (max-width: 479px) {
  .searchbig { height: 48px; padding-left: 14px; }
  .searchbig__btn { padding: 0 15px; }
  .searchposts, .searchcats { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 899px) {
  .catpage { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 719px) {
  .catpage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Liste süzgeci: stok anahtarı --- */
.stocktoggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-3);
  white-space: nowrap;
  cursor: pointer;
}

.stocktoggle input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.stocktoggle__track {
  position: relative;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 36px;
  height: 20px;
  border-radius: 999px;
  background: var(--line-mid);
  transition: background .2s;
}

.stocktoggle__knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--white);
  transition: transform .2s;
}

.stocktoggle input:checked + .stocktoggle__track { background: var(--accent); }
.stocktoggle input:checked + .stocktoggle__track .stocktoggle__knob { transform: translateX(16px); }
.stocktoggle input:focus-visible + .stocktoggle__track { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent); }

/* --- Ürün sayfası (/kategoriler/{marka}/{ürün}) --- */
.pdp {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(16px, 2.6vw, 30px);
  align-items: stretch;   /* görsel ve satın alma paneli aynı boyda */
}

@media (max-width: 899px) {
  .pdp { grid-template-columns: minmax(0, 1fr); }
  .pdp__glow { display: none; }
}

/* Satır yüksekliği uzun olandan gelir: görsel kutusu 16:10'dan kısa
   kalmaz ama panel uzunsa boya uzar (görsel `cover` ile kırpılır). */
.pdp__media { position: relative; display: flex; flex-direction: column; }

.pdp__glow {
  position: absolute;
  inset: 4% 6% 32%;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%);
  filter: blur(50px);
  opacity: .55;
  pointer-events: none;
}

.pdp__imagebox {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  background: var(--surface-3);
  border: 1px solid var(--line-card);
}

/* Kare olmayan görsel kırpılmaz: ortada tam görünür, kalan alanı
   aynı görselin bulanık, büyütülmüş kopyası doldurur. */
.pdp__imagebox::before {
  content: "";
  position: absolute;
  inset: -40px;
  background: var(--pdp-image) center / cover no-repeat;
  filter: blur(34px) brightness(.7);
}

.pdp__image {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pdp__discount {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--grad-accent);
  font-size: 12.5px;
  font-weight: 800;
  color: var(--on-accent);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}

/* Satın alma paneli */
/* Panel görselden kısaysa fiyat + satın alma bloğu alta yaslanır */
.pdp__buy {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 24px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.pdp__brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 7px 12px 7px 7px;
  border-radius: 16px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  color: inherit;
  transition: border-color .2s;
}

.pdp__brand:hover { border-color: var(--accent); }
.pdp__brand > .icon { margin-left: auto; color: var(--icon-muted); transition: transform .2s, color .2s; }
.pdp__brand:hover > .icon { transform: translateX(3px); color: var(--accent); }

.pdp__brandposter {
  flex: 0 0 auto;
  width: 36px;
  height: 48px;
  object-fit: cover;
  border-radius: 9px;
}

.pdp__brandname,
.pdp__group { display: block; }

.pdp__brandname { font-size: 14px; font-weight: 800; color: var(--text-strong); }
.pdp__group { font-size: 12px; color: var(--muted); }

.pdp__title {
  margin: 16px 0 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.pdp__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 12px;
  font-size: 13px;
  color: var(--muted);
}

.pdp__rating { display: inline-flex; align-items: center; gap: 5px; color: inherit; }
.pdp__rating:hover span { color: var(--accent); text-decoration: underline; }
.pdp__rating .icon { color: #F5B83D; }
.pdp__rating strong { color: var(--text-strong); }

.pdp__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--line-mid); }

.pdp__stock {
  margin-left: auto;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ok) 14%, transparent);
  font-size: 12px;
  font-weight: 800;
  color: var(--ok);
}

.pdp__stock.is-low { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }
.pdp__stock.is-out { background: color-mix(in srgb, var(--danger) 14%, transparent); color: var(--danger); }


.pdp__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

/* auto boşluk yer kalmayınca 0'a iner; en az 18px aralığı üstteki öğe veriyor */
@media (min-width: 900px) {
  .pdp__price { margin-top: auto; }
  .pdp__meta { margin-bottom: 18px; }
}

.pdp__new {
  font-size: clamp(30px, 3.6vw, 38px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}

.pdp__old { font-size: 15px; color: var(--price-old); text-decoration: line-through; }

.pdp__save {
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ok) 14%, transparent);
  font-size: 12px;
  font-weight: 800;
  color: var(--ok);
}

.pdp__form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 16px;
}

/* Sepet sayfasının mobil `.qty { grid-area: qty }` kuralı burada geçersiz */
.pdp__qty { grid-area: auto; justify-self: stretch; padding: 6px; border-radius: 16px; }
.pdp__qty .qty__btn { width: 38px; height: 40px; border-radius: 11px; }
.pdp__qty .qty__input { width: 36px; height: 40px; font-size: 15px; }

.pdp__cart,
.pdp__now {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 54px;
  padding: 0 20px;
  border-radius: 16px;
  font-family: var(--font);
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}

.pdp__cart {
  border: 0;
  background: var(--grad-accent);
  color: var(--on-accent);
}

.pdp__cart:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 38%, transparent);
}

.pdp__now {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
}

.pdp__now:hover:not(:disabled) {
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.pdp__cart:disabled,
.pdp__now:disabled { opacity: .45; cursor: not-allowed; }

/* Dar ekranda: adet + sepete ekle yan yana, hemen al altta tam genişlik */
@media (max-width: 479px) {
  .pdp__form { grid-template-columns: auto minmax(0, 1fr); }
  .pdp__now { grid-column: 1 / -1; min-height: 48px; }
}

.pdp__hint {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 14px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted-2);
}

.pdp__hint .icon { flex: 0 0 auto; margin-top: 2px; color: var(--icon-muted); }

/* Ürün açıklaması */
.pdpinfo { margin-top: clamp(20px, 3vw, 32px); }

.pdpinfo__card {
  padding: clamp(16px, 2.2vw, 24px);
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.pdpinfo__title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 800;
  color: var(--text-strong);
}

.pdpinfo__title .icon { color: var(--accent); }

.pdpinfo__text {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-3);
}

.pdpinfo__list { margin: 0; padding: 0; list-style: none; }

.pdpinfo__list li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--text-3);
}

.pdpinfo__list li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}

/* --- Müşteri yorumları --- */
.reviews { margin-top: clamp(26px, 3.6vw, 40px); scroll-margin-top: 16px; }

.reviews__grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: clamp(14px, 2vw, 22px);
  align-items: start;
}

@media (max-width: 899px) {
  .reviews__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Yıldızlar: gri zemin üstünde yüzde genişlikli sarı katman */
.stars {
  --star-size: 18px;
  --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E");

  position: relative;
  display: inline-block;
  width: calc(var(--star-size) * 5);
  height: var(--star-size);
  background: var(--line-mid);
  -webkit-mask: var(--star) left center / var(--star-size) var(--star-size) repeat-x;
  mask: var(--star) left center / var(--star-size) var(--star-size) repeat-x;
  vertical-align: middle;
}

.stars__fill { position: absolute; inset: 0 auto 0 0; background: #F5B83D; }
.stars--sm { --star-size: 15px; }

/* Özet kartı */
.reviewsum {
  padding: clamp(18px, 2.2vw, 22px);
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.reviewsum__score {
  display: flex;
  align-items: center;
  gap: 14px;
}

.reviewsum__big {
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}

.reviewsum__total { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }

.reviewsum__bars {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.reviewsum__bars li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: var(--text-3);
}

.reviewsum__label { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; }
.reviewsum__label .icon { color: #F5B83D; }

.reviewsum__track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-4);
}

.reviewsum__track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #F5B83D;
}

.reviewsum__pct { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }

.reviewsum__write {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--accent);
  font-size: 13.5px;
  font-weight: 800;
  color: var(--accent);
  transition: background .2s;
}

.reviewsum__write:hover { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }

/* Liste */
.reviews__main {
  min-width: 0;
  padding: clamp(18px, 2.2vw, 24px);
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.prodreviews { margin: 0 0 22px; padding: 0; list-style: none; }

.prodreview { padding: 16px 0; border-bottom: 1px solid var(--line); }
.prodreview:first-child { padding-top: 0; }

.prodreview__head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 10px;
}

.prodreview__name { display: block; font-size: 14px; font-weight: 800; color: var(--text-strong); }

.prodreview__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ok);
}

.prodreview__date { margin-left: auto; font-size: 12px; color: var(--muted-2); white-space: nowrap; }

.prodreview__text {
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text-3);
}

.prodreview__reply {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--surface-4);
  border-left: 3px solid var(--accent);
}

.prodreview__replyhead {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

.prodreview__reply p { margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--text-3); }

/* Puan seçici: sağdan sola dizili radyolar; seçili ve öncekiler dolar */
.rate { margin: 0 0 14px; padding: 0; border: 0; }

.rate__stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.rate__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.rate__star {
  display: flex;
  padding: 4px;
  border-radius: 9px;
  color: var(--line-mid);
  cursor: pointer;
  transition: color .15s, transform .15s;
}

.rate__star:hover,
.rate__star:hover ~ .rate__star,
.rate__input:checked ~ .rate__star { color: #F5B83D; }

.rate__star:hover { transform: scale(1.12); }

.rate__input:focus-visible + .rate__star { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent); }

.rate--error .rate__star { color: color-mix(in srgb, var(--danger) 55%, var(--line-mid)); }

.reviewform .field { margin-bottom: 14px; }

/* Benzer ürünler */
.pdprelated { margin-top: clamp(26px, 3.6vw, 40px); }

.pdprelated__all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
  color: var(--accent);
}

.pdprelated__all > .icon { transition: transform .2s; }
.pdprelated__all:hover > .icon { transform: translateX(3px); }

.pdprelated__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(11px, 1.4vw, 16px);
}

@media (max-width: 979px) { .pdprelated__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 719px) { .pdprelated__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --------------------------------------------------------------------------
   7i. Ortak düğme ve künye listesi
   Kurumsal sayfalar kaldırıldı; bu iki parça Hesabım, sepet, destek ve ürün
   sayfalarında kullanılmaya devam ediyor.
   -------------------------------------------------------------------------- */
/* Tasarım: sade yüzey düğmesi + marka gradyanlı ana düğme.
   - Yazı 650 kalınlıkta; 800 ağır duruyordu.
   - Ana düğme her iki temada da koyu marka gradyanı (#5566E8 → #7B5BD6)
     üstünde beyaz yazı kullanır (kontrast 4,7+). Koyu temadaki pastel
     gradyanda siyah yazı sönük görünüyordu.
   - Hover: yüzey hafif marka tonuna bürünür, düğme 1px kalkar, içindeki
     ikon vurgulanır; ana düğmede gradyan kayar ve yumuşak bir parıltı geçer.
     Basınca hafifçe içe göçer. */
.corpbtn {
  --corp-ease: cubic-bezier(.2, .8, .2, 1);

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 50px;
  padding: 0 20px;
  border-radius: 14px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: .005em;
  color: var(--text-2);
  text-decoration: none;
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  transition:
    color .25s var(--corp-ease),
    background-color .25s var(--corp-ease),
    border-color .25s var(--corp-ease),
    box-shadow .25s var(--corp-ease),
    transform .25s var(--corp-ease);
}

.corpbtn .icon { transition: transform .25s var(--corp-ease), color .25s var(--corp-ease); }

.corpbtn:hover:not(:disabled, [aria-disabled="true"]) {
  color: var(--text-strong);
  background-color: color-mix(in srgb, var(--accent) 9%, var(--surface-4));
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line-soft));
  box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--accent) 55%, transparent);
  transform: translateY(-1px);
}

.corpbtn:hover:not(:disabled, [aria-disabled="true"]) .icon { color: var(--accent); }

/* İleri yönlü oklar gideceği yöne kayar */
.corpbtn:hover:not(:disabled, [aria-disabled="true"]) .icon-arrow-right,
.corpbtn:hover:not(:disabled, [aria-disabled="true"]) .icon-chevron-right,
.corpbtn:hover:not(:disabled, [aria-disabled="true"]) .icon-arrow-up-right { transform: translateX(2px); }

.corpbtn:active:not(:disabled, [aria-disabled="true"]) { transform: translateY(0) scale(.98); transition-duration: .08s; }

.corpbtn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.corpbtn:disabled,
.corpbtn[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
  box-shadow: none;
}

/* --- Ana düğme --- */
.corpbtn--primary {
  border-color: transparent;
  background: linear-gradient(120deg, #5566E8 0%, #7B5BD6 50%, #5566E8 100%);
  background-size: 200% 100%;
  background-position: 0% 50%;
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 6px 16px -8px rgba(85, 102, 232, .6);
  transition:
    background-position .5s var(--corp-ease),
    box-shadow .25s var(--corp-ease),
    transform .25s var(--corp-ease);
}

.corpbtn--primary .icon { color: currentColor; }

/* Üstünden geçen yumuşak parıltı */
.corpbtn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .22) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform .7s var(--corp-ease);
  pointer-events: none;
}

.corpbtn--primary:hover:not(:disabled, [aria-disabled="true"]) {
  color: #FFFFFF;
  border-color: transparent;
  background-color: transparent;
  background-position: 100% 50%;
  box-shadow: 0 12px 26px -10px rgba(123, 91, 214, .75);
  transform: translateY(-1px);
}

.corpbtn--primary:hover:not(:disabled, [aria-disabled="true"]) .icon { color: #FFFFFF; }
.corpbtn--primary:hover:not(:disabled, [aria-disabled="true"])::after { transform: translateX(120%); }

.corpbtn--block { width: 100%; justify-content: center; }
.corpbtn--sm { height: 40px; padding: 0 14px; gap: 7px; border-radius: 12px; font-size: 13.5px; }

/* --- Yıkıcı eylem: dış çizgili ve dolu iki biçim --- */
.corpbtn--danger {
  border-color: color-mix(in srgb, var(--danger) 40%, transparent);
  background: color-mix(in srgb, var(--danger) 10%, transparent);
  color: var(--danger);
}

.corpbtn--danger:hover:not(:disabled, [aria-disabled="true"]) {
  color: var(--danger);
  background-color: color-mix(in srgb, var(--danger) 16%, transparent);
  border-color: var(--danger);
  box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--danger) 60%, transparent);
}

.corpbtn--danger:hover:not(:disabled, [aria-disabled="true"]) .icon { color: var(--danger); }

/* Dolu kırmızı: --danger koyu temada açık (#FF6B7A), beyaz yazı okunmuyordu;
   %75'e koyulaştırılınca iki temada da kontrast 4,6+ */
.corpbtn--dangersolid {
  border-color: transparent;
  background: color-mix(in srgb, var(--danger) 75%, #000);
  color: #FFFFFF;
  font-weight: 700;
}

.corpbtn--dangersolid:hover:not(:disabled, [aria-disabled="true"]) {
  color: #FFFFFF;
  background-color: color-mix(in srgb, var(--danger) 68%, #000);
  border-color: transparent;
  box-shadow: 0 12px 24px -10px color-mix(in srgb, var(--danger) 70%, transparent);
}

.corpbtn--dangersolid:hover:not(:disabled, [aria-disabled="true"]) .icon { color: #FFFFFF; }

@media (prefers-reduced-motion: reduce) {
  .corpbtn:hover:not(:disabled, [aria-disabled="true"]),
  .corpbtn:active:not(:disabled, [aria-disabled="true"]) { transform: none; }
  .corpbtn:hover:not(:disabled, [aria-disabled="true"]) .icon { transform: none; }
  .corpbtn--primary::after { display: none; }
}

.corpdl { margin: 0; }

.corpdl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.corpdl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.corpdl > div:first-child { padding-top: 0; }

.corpdl dt { font-size: 13px; font-weight: 700; color: var(--muted); }
.corpdl dd { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--text-strong); overflow-wrap: anywhere; }

@media (max-width: 519px) {
  .corpdl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* --------------------------------------------------------------------------
   7j. Üyelik ekleri ve Hesabım
   -------------------------------------------------------------------------- */

/* Bot tuzağı: ekran dışında; display:none kullanan botlar alanı atlayabiliyor */
.authtrap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.authresend { margin: -6px 0 16px; }

.authresend__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 42px;
  border: 1px dashed color-mix(in srgb, var(--accent) 45%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  font-family: var(--font);
  font-size: 13px;
  font-weight: 800;
  color: var(--accent);
  cursor: pointer;
}

.authresend__btn:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); }

a.authsubmit { text-decoration: none; }

.authsubmit--ghost {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
  box-shadow: none;
}

.authpanel__badge--err {
  background: color-mix(in srgb, var(--danger) 16%, transparent);
  color: var(--danger);
  box-shadow: none;
}

.authpanel--message .authpanel__sub { max-width: 44ch; margin-left: auto; margin-right: auto; }

.authform__consent--optional { margin-top: -4px; }
.authform__consent--optional small { color: var(--muted-2); font-weight: 600; }

/* --- Header: oturum açık --- */
.account__avatar--in {
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--on-accent);
  background: var(--grad-accent);
}

/* Bakiye kartı: aynı zamanda cüzdan bağlantısı */
.account-menu__wallet {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 12px 0 10px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 16%, transparent),
    color-mix(in srgb, var(--accent-2, var(--accent)) 10%, transparent));
  color: inherit;
  transition: border-color .18s, transform .18s;
}

.account-menu__wallet:hover { border-color: var(--accent); transform: translateY(-1px); }

.account-menu__wallet-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  color: var(--accent);
}

.account-menu__wallet-label { display: block; font-size: 11.5px; font-weight: 700; color: var(--muted); }
.account-menu__wallet-amount { display: block; font-size: 17px; font-weight: 800; color: var(--text-strong); font-variant-numeric: tabular-nums; }

.account-menu__wallet-go {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: auto;
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}

.account-menu__links { display: flex; flex-direction: column; gap: 2px; }

.account-menu__link {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 8px 10px 8px 8px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  font-family: var(--font);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-2);
  text-align: left;
  cursor: pointer;
  transition: background .15s, color .15s;
}

.account-menu__ico {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: var(--surface-4);
  color: var(--icon-muted);
  transition: background .15s, color .15s;
}

.account-menu__text { flex: 1; min-width: 0; }
.account-menu__name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu__hint { display: block; margin-top: 1px; font-size: 11.5px; font-weight: 600; color: var(--muted-2); }

/* Ok yalnızca imleç üzerindeyken; dokunmatikte her zaman görünür (aşağıda).
   DİKKAT: .icon-chevron-right dönüşünü transform ile yapıyor — burada
   transform'a dokunma, yoksa ok aşağı bakar. Yalnızca opaklık değişir. */
.account-menu__go {
  flex: 0 0 auto;
  color: var(--icon-muted);
  opacity: 0;
  transition: opacity .15s;
}

.account-menu__link:hover { background: var(--surface-4); color: var(--text-strong); }
.account-menu__link:hover .account-menu__ico { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); }
.account-menu__link:hover .account-menu__go,
.account-menu__link:focus-visible .account-menu__go { opacity: 1; }
.account-menu__link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* Yönetim paneli: sıradan bir satır değil, ayrı bir yetki */
.account-menu__link--admin { margin-top: 4px; background: color-mix(in srgb, var(--accent) 9%, transparent); color: var(--text-strong); }
.account-menu__link--admin .account-menu__ico { background: color-mix(in srgb, var(--accent) 20%, transparent); color: var(--accent); }
.account-menu__link--admin:hover { background: color-mix(in srgb, var(--accent) 16%, transparent); }

.account-menu__logout {
  margin: 8px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--line-soft);
}

.account-menu__link--danger,
.account-menu__link--danger .icon { color: var(--danger); }
.account-menu__link--danger .account-menu__ico { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }
.account-menu__link--danger:hover { color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); }
.account-menu__link--danger:hover .account-menu__ico { background: color-mix(in srgb, var(--danger) 20%, transparent); color: var(--danger); }

/* Arka plan perdesi — yalnızca mobil sayfa modunda */
.account-scrim { display: none; }

/* --- 640px altı: alttan kalkan sayfa --- */
@media (max-width: 639px) {
  .account-menu {
    position: fixed;
    inset: auto 0 0 0;
    top: auto;
    z-index: 120;
    width: 100%;
    max-height: 86vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    border-radius: 22px 22px 0 0;
    border-bottom: 0;
    box-shadow: 0 -18px 50px rgba(0, 0, 0, .55);
    transform-origin: bottom center;
    animation: accountUp .75s cubic-bezier(.2, .9, .3, 1.05);
  }

  @keyframes accountUp {
    from { opacity: .4; transform: translateY(100%); }
    to   { opacity: 1; transform: none; }
  }

  .account-menu.is-closing { animation: accountDown .5s ease forwards; }

  @keyframes accountDown {
    from { opacity: 1; transform: none; }
    to   { opacity: 0; transform: translateY(100%); }
  }

  .account-menu__grab {
    display: block;
    width: 42px;
    height: 4px;
    margin: 6px auto 10px;
    border-radius: 99px;
    background: var(--line-mid);
  }

  /* Dokunmatikte hover yok: dokunma hedefleri büyür, oklar görünür kalır */
  .account-menu__link { padding: 12px 10px; font-size: 15px; }
  .account-menu__ico { width: 38px; height: 38px; border-radius: 12px; }
  .account-menu__hint { font-size: 12px; }
  .account-menu__go { opacity: 1; }
  .account-menu__wallet { padding: 13px 14px; }
  .account-menu__close { width: 32px; height: 32px; }

  .account-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 119;
    background: rgba(0, 0, 0, .55);
    animation: scrimIn .55s ease;
  }

  .account-scrim.is-closing { animation: scrimOut .5s ease forwards; }

  @keyframes scrimIn  { from { opacity: 0; } to { opacity: 1; } }
  @keyframes scrimOut { from { opacity: 1; } to { opacity: 0; } }

  /* Sayfa açıkken arkadaki içerik kaymasın */
  body.has-sheet { overflow: hidden; }
}

/* Hareket azaltma: yer değiştirme ve sıra animasyonu kalkar, yalnızca
   kısa bir solma kalır — menünün açıldığı yine de fark edilsin. */
@media (prefers-reduced-motion: reduce) {
  .account-menu__head,
  .account-menu__wallet,
  .account-menu__actions,
  .account-menu__link,
  .account-menu__logout { animation: none; }

  .account-menu { animation: accountFade .34s ease; }
  .account-menu.is-closing { animation: accountFadeOut .3s ease forwards; }
  .account-scrim { animation: accountFade .34s ease; }

  @keyframes accountFade    { from { opacity: 0; } to { opacity: 1; } }
  @keyframes accountFadeOut { from { opacity: 1; } to { opacity: 0; } }
}

/* --- Hesabım --- */
.acc > .authnote { margin-bottom: 14px; }

.acchead {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: clamp(14px, 1.8vw, 20px);
}

.acchead__avatar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: var(--grad-accent);
  font-size: 22px;
  font-weight: 800;
  color: var(--on-accent);
}

.acchead > .min-w-0 { flex: 1 1 auto; }

.acchead__title {
  margin: 0;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.acchead__sub {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.accbadge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 800;
}

.accbadge--ok   { background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.accbadge--warn { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }

@media (max-width: 559px) {
  .acchead__logout { width: 100%; }
  .acchead__logout .corpbtn { width: 100%; justify-content: center; }
}

.accstats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.4vw, 14px);
}

@media (max-width: 979px) { .accstats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 459px) { .accstats { grid-template-columns: minmax(0, 1fr); } }

.accstat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.accstat--main {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--surface)), var(--surface));
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line-card));
}

.accstat__label { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.accstat__label .icon { color: var(--accent); }

.accstat__value {
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.accstat__note { font-size: 12px; color: var(--muted-2); }
.accstat__note b { color: var(--text-strong); letter-spacing: .04em; }

.accgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(12px, 1.6vw, 16px);
  margin-top: clamp(12px, 1.6vw, 16px);
  align-items: start;
}

@media (max-width: 899px) { .accgrid { grid-template-columns: minmax(0, 1fr); } }

#guvenlik { scroll-margin-top: 16px; }

.accdevices {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.accdevices__title,
.accdevices__text { display: block; }

.accdevices__title { font-size: 14px; font-weight: 800; color: var(--text-strong); }
.accdevices__text { font-size: 12.5px; color: var(--muted); }

.accsection { margin-top: clamp(12px, 1.6vw, 16px); }

.acclog__intro { margin: -6px 0 12px; font-size: 13px; color: var(--muted); }

.acclog { margin: 0; padding: 0; list-style: none; }

.acclog__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.acclog__item:last-child { border-bottom: 0; padding-bottom: 0; }

.acclog__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--tone) 14%, transparent);
  color: var(--tone);
}

.acclog__icon--ok     { --tone: var(--ok); }
.acclog__icon--warn   { --tone: var(--warn); }
.acclog__icon--danger { --tone: var(--danger); }

.acclog__text { flex: 1; }

.acclog__title,
.acclog__meta { display: block; }

.acclog__title { font-size: 13.5px; font-weight: 800; color: var(--text-strong); }
.acclog__meta { font-size: 12px; color: var(--muted-2); overflow-wrap: anywhere; }
.acclog__time { flex: 0 0 auto; font-size: 12px; color: var(--muted); white-space: nowrap; }

@media (max-width: 519px) {
  .acclog__item { flex-wrap: wrap; }
  .acclog__time { width: 100%; padding-left: 46px; }
}

/* --------------------------------------------------------------------------
   7k. Panelden gelen marka ögeleri, banka bilgisi, bakım sayfası
   -------------------------------------------------------------------------- */

/* Yüklenen logo: yükseklik sabit, genişlik orana göre */
.sitelogo {
  display: block;
  width: auto;
  height: 40px;
  max-width: 220px;
  object-fit: contain;
}

.sitelogo.theme-on-light { display: none; }
:root[data-theme="light"] .sitelogo.theme-on-dark { display: none; }
:root[data-theme="light"] .sitelogo.theme-on-light { display: block; }

.footer-brand .sitelogo { height: 44px; }
.promo__brand .sitelogo { height: 36px; }

@media (max-width: 719px) {
  .brand .sitelogo { height: 32px; max-width: 150px; }
}

/* Sepet: Havale/EFT seçilince hesaplar */
.bankinfo { display: none; margin-top: 10px; }
.summary__block:has(input[value="transfer"]:checked) .bankinfo { display: block; }

.bankinfo__note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}

.bankinfo__note .icon { flex: 0 0 auto; margin-top: 1px; color: var(--accent); }

.bankinfo__item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  padding: 10px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
}

.bankinfo__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--surface-5);
  color: var(--text-2);
}

.bankinfo__item > .min-w-0 { flex: 1; }

.bankinfo__holder,
.bankinfo__iban,
.bankinfo__bank { display: block; }

.bankinfo__holder { font-size: 13px; font-weight: 800; color: var(--text-strong); }
.bankinfo__iban { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; color: var(--text-2); overflow-wrap: anywhere; }
.bankinfo__bank { font-size: 11.5px; color: var(--muted-2); }

.bankinfo__copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line-mid);
  border-radius: 9px;
  background: var(--surface);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 800;
  color: var(--text-2);
  cursor: pointer;
}

.bankinfo__copy:hover { border-color: var(--accent); color: var(--accent); }
.bankinfo__copy.is-copied { border-color: var(--ok); color: var(--ok); }

/* Bakım modu sayfası */
.maint {
  display: grid;
  place-items: center;
  min-height: 100vh;
  margin: 0;
  padding: 20px;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
}

.maint__card {
  position: relative;
  width: min(520px, 100%);
  padding: clamp(28px, 5vw, 44px);
  border-radius: 28px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  text-align: center;
  overflow: hidden;
}

.maint__glow {
  position: absolute;
  inset: -40% -20% auto;
  height: 80%;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
}

.maint__brand { position: relative; justify-content: center; margin-bottom: 26px; }

.maint__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: var(--grad-accent);
  color: var(--on-accent);
}

.maint__title {
  position: relative;
  margin: 20px 0 0;
  font-size: clamp(24px, 4vw, 32px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.maint__text { position: relative; margin: 12px auto 0; max-width: 42ch; font-size: 15px; line-height: 1.7; color: var(--text-3); }

.maint__contact {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}

.maint__contact a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border-radius: 12px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-2);
}

/* Çekmecedeki "Tüm ..." satırı */
.drawer-row--all { color: var(--accent); font-weight: 800; }

/* --------------------------------------------------------------------------
   8. Ana menü
   -------------------------------------------------------------------------- */
.mainnav {
  --nav-gap: clamp(8px, 1.4vw, 18px);

  display: flex;
  align-items: center;
  gap: var(--nav-gap);
  padding: 0 var(--gutter) 4px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}

.mainnav__item {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 4px 18px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--text-2);
  white-space: nowrap;
  cursor: pointer;
}

.mainnav__item--active { color: var(--text-strong); }

/* Sadece açılır menü oku sönük; kategori ikonu .mainnav__icon rengini korur */
.mainnav__item > .icon-chevron-down { color: var(--icon-muted); }

.mainnav__icon          { font-size: 14px; color: var(--accent); }
.mainnav__icon--violet  { color: var(--accent-2); }

.mainnav__tag {
  position: absolute;
  top: 4px;
  right: -14px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .06em;
}

.mainnav__spacer { flex: 1 1 20px; }

.mainnav__link {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 16px 10px 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-2);
  white-space: nowrap;
  border-left: 1px solid transparent;
}

/* Şeridin genel boşluğu kategori başlıkları için; sağdaki sayfa
   bağlantıları kendi aralarında daha sıkı dursun diye geri alınır.
   Yazılar arası mesafe böylece 12+18+12 yerine yalnızca 10+10 olur. */
.mainnav__link + .mainnav__link { margin-left: calc(var(--nav-gap) * -1); }

/* --- Akan renk geçişli menü bağlantıları ---
   Çerçevesiz, diğer menü bağlantılarıyla aynı hizada; ayrımı rengin
   sağdan sola akmasından geliyor. Tonlar pastel ve akış yavaş: göz
   yormadan fark edilsin. Metin gradyanı background-clip ile, ikon aynı
   gradyanı maskesinden alıyor.

   Varyantlar yalnızca paleti değiştirir:
     --gift  Puan Mağazası : mor–pembe–gök–mint (soğuk)
     --draw  Çekilişler    : altın–mercan–pembe–amber (sıcak) */
.mainnav__link--gift {
  --gift-grad: linear-gradient(
    90deg,
    var(--accent) 0%,
    var(--accent-2) 16%,
    #f0a6d8 32%,
    #7dd3fc 48%,
    #86efac 64%,
    var(--accent-2) 82%,
    var(--accent) 100%
  );
}

.mainnav__link--draw {
  --gift-grad: linear-gradient(
    90deg,
    #f5c451 0%,
    #ffb27d 18%,
    #ff9aa8 34%,
    #ffd79a 50%,
    #f8a170 66%,
    #ffe79a 84%,
    #f5c451 100%
  );
}

.mainnav__link--bundle {
  --gift-grad: linear-gradient(
    90deg,
    #ffb347 0%,
    #ff7a45 17%,
    #ff8fb1 34%,
    #6ee7f9 51%,
    #a7f3d0 68%,
    #ffd66b 85%,
    #ffb347 100%
  );
}
/* Açık temada aynı palet koyu tonlarda: beyaz zeminde okunur kalsın */
:root[data-theme="light"] .mainnav__link--bundle {
  --gift-grad: linear-gradient(90deg, #c2410c 0%, #db2777 20%, #0e7490 40%, #047857 60%, #b45309 80%, #c2410c 100%);
}

/* Paket kutusu üstüne gelince hafifçe zıplar */
.mainnav__link--bundle:hover .icon-bundle,
.mainnav__link--bundle:focus-visible .icon-bundle {
  animation: gift-flow 11s linear infinite, bundle-hop .6s ease-out;
}
@keyframes bundle-hop {
  0%   { translate: 0 0;     rotate: 0deg; }
  35%  { translate: 0 -3px;  rotate: -8deg; }
  65%  { translate: 0 1px;   rotate: 5deg; }
  100% { translate: 0 0;     rotate: 0deg; }
}

.mainnav__link--flow {
  gap: 8px;
  font-weight: 800;

  background-image: var(--gift-grad);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* Akış + çok hafif parlaklık nabzı */
  animation: gift-flow 11s linear infinite, gift-pulse 4.5s ease-in-out infinite alternate;
}

/* İkon currentColor yerine aynı gradyanı kullanır (maske şekli kırpar) */
.mainnav__link--flow .icon {
  background-color: transparent;
  background-image: var(--gift-grad);
  background-size: 200% auto;
  animation: gift-flow 11s linear infinite;
}

.mainnav__link--flow:hover { filter: brightness(1.15); }

/* Konfeti üstüne gelince "patlar"; gradyan akışı bozulmasın diye iki
   animasyon birlikte yazılır (tek `animation` ilkini ezerdi). */
.mainnav__link--draw:hover .icon-party,
.mainnav__link--draw:focus-visible .icon-party {
  animation: gift-flow 11s linear infinite, party-pop .55s ease-out;
}

@keyframes party-pop {
  0%   { scale: 1;    rotate: 0deg; }
  35%  { scale: 1.25; rotate: -12deg; }
  70%  { scale: .95;  rotate: 6deg; }
  100% { scale: 1;    rotate: 0deg; }
}

@keyframes gift-flow {
  from { background-position: 0% center; }
  to   { background-position: -200% center; }
}

@keyframes gift-pulse {
  from { filter: brightness(1); }
  to   { filter: brightness(1.12); }
}

@media (prefers-reduced-motion: reduce) {
  /* Hareket kapalıyken sabit gradyan kalır, renk yine ayrışır */
  .mainnav__link--flow,
  .mainnav__link--flow .icon,
  .mainnav__link--draw:hover .icon-party,
  .mainnav__link--bundle:hover .icon-bundle,
  .mainnav__link--bundle:focus-visible .icon-bundle,
  .rail-link--flow .rail-item__tile { animation: none; }
}

/* --- Alt kategori paneli (mega menü) ---
   Panel .mainnav'in DIŞINDA duruyor: şeridin overflow-x'i onu keserdi. */
.mainnav-wrap { position: relative; z-index: 40; }

.mainnav__item.is-mega-open { color: var(--text-strong); }

/* Şeritte soldan açılan vurgu çizgisi */
.mainnav__item::after {
  content: '';
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 8px;
  height: 2px;
  border-radius: 2px;
  background: var(--grad-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .78s cubic-bezier(.2, .8, .3, 1);
}

.mainnav__item:hover::after,
.mainnav__item.is-mega-open::after,
.mainnav__item--active::after { transform: scaleX(1); }

.mainnav__caret { transition: transform .2s ease; }
.mainnav__item.is-mega-open .mainnav__caret { transform: rotate(180deg); color: var(--accent); }

.megamenu {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;                 /* şeridin altında kenardan kenara */
  z-index: 45;
  box-sizing: border-box;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg);        /* sayfanın kendi siyahı; ek katman yok */
  box-shadow: 0 24px 48px rgba(0, 0, 0, .6);
  /* Açılış: yukarıdan aşağı perde gibi açılır + hafif iner */
  opacity: 0;
  transform: translateY(-12px);
  clip-path: inset(0 0 100% 0);
  transition:
    opacity .65s ease,
    transform .9s cubic-bezier(.2, .8, .3, 1),
    clip-path 1s cubic-bezier(.2, .8, .3, 1);
}

.megamenu.is-open { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }
.megamenu *, .megamenu *::before, .megamenu *::after { box-sizing: border-box; }

/* İçerik sayfanın kenar boşluğuna hizalanır; zemin tam genişlikte kalır */
.megamenu__inner {
  padding: 18px var(--gutter) 22px;
  max-height: min(72vh, 560px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Başlık şeridi yok; yalnızca sağa yaslı "tümünü gör" */
.megamenu__head { display: flex; justify-content: flex-end; margin-bottom: 10px; }

.megamenu__all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 800;
  color: var(--muted);
  white-space: nowrap;
  transition: color .2s ease;
}

.megamenu__all .icon { transition: transform .22s cubic-bezier(.2, .8, .3, 1); }
.megamenu__all:hover { color: var(--accent); }
/* icon-chevron-right dönüşü transform ile: rotate korunmalı */
.megamenu__all:hover .icon { transform: translateX(3px) rotate(-90deg); }

.megamenu__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(138px, 1fr));
  gap: 12px;
}

/* Kart kutusu yok: kapak + altında ad. Mor yalnızca hoverda, ölçülü. */
.megacard {
  display: flex;
  flex-direction: column;
  gap: 9px;
  color: inherit;
  /* Panel açılırken kartlar sırayla belirir (--i satır içinde veriliyor) */
  animation: megaCardIn .75s ease backwards;
  animation-delay: calc(var(--i, 0) * 70ms);
}

@keyframes megaCardIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}

.megacard__img {
  display: block;
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface-2);
  border: 1px solid var(--line);
  transition: border-color .22s ease, transform .26s cubic-bezier(.2, .8, .3, 1), box-shadow .26s ease;
}

.megacard__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s cubic-bezier(.2, .8, .3, 1);
}

/* Hover: ince mor çerçeve, hafif kalkış ve sakin bir yakınlaşma */
.megacard:hover .megacard__img,
.megacard:focus-visible .megacard__img {
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .5);
}

.megacard:focus-visible { outline: 0; }
.megacard:hover .megacard__img img { transform: scale(1.04); }

/* Kapağı olmayan alt kategori: sade ikon karosu */
.megacard__img--icon { display: flex; align-items: center; justify-content: center; color: var(--icon-muted); }
.megacard__img--icon .icon { transition: color .22s ease; }
.megacard:hover .megacard__img--icon .icon { color: var(--accent); }

.megacard__name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .18s ease;
}
.megacard:hover .megacard__name { color: var(--accent); }
.megacard__meta { margin-top: -6px; font-size: 11.5px; color: var(--muted-2); }

/* Hareket azaltma: perde açılışı, kayma ve kart sırası kalkar;
   menünün açıldığı belli olsun diye kısa bir solma bırakılır. */
@media (prefers-reduced-motion: reduce) {
  .megacard,
  .megacard__img img { transition: none; animation: none; }

  .megamenu {
    transform: none;
    clip-path: none;
    transition: opacity .34s ease;
  }
  .megamenu.is-open { transform: none; clip-path: none; }
}

/* --------------------------------------------------------------------------
   9. Hero
   -------------------------------------------------------------------------- */
.hero { padding: clamp(14px, 2.4vw, 24px) var(--gutter); }

.hero__frame {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: clamp(320px, 34vw, 500px);
  background: var(--surface);
}

/* Sürükleyerek geçiş: yatay hareketi biz alıyoruz, dikey kaydırma
   tarayıcıda kalsın diye touch-action: pan-y. transform geçişi yalnızca
   bırakıştaki yerine oturma için; sürükleme sırasında JS kapatıyor. */
.hero__media {
  position: absolute;
  inset: 0;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  transition: transform .25s ease;
}

/* Slaytlar bağlantı olduğu için imleç `pointer` kalıyor; grab/grabbing
   yazsak üstteki <a> zaten eziyor olurdu. */
.hero__media img { -webkit-user-drag: none; }

/* Slaytlar üst üste durur, geçiş opacity ile yapılır. JS yoksa
   yalnızca ilk slaydın is-active sınıfı vardır ve sabit kalır. */
.hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s;
}

.hero__slide.is-active {
  opacity: 1;
  visibility: visible;
}

.hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* BANNER MODU
   Hazır bir slider görseli için. Görselin üzerinde kendi başlığı, açıklaması
   ve butonu basılı olduğunda tema metnini üstüne bindirmek iki başlık
   üst üste demek — bu yüzden overlay gizlenir ve çerçeve görselin kendi
   en-boy oranını alır (kırpma olmaz).
   Tema metnini geri istersen HTML'den `hero__frame--banner` sınıfını sil. */
.hero__frame--banner {
  aspect-ratio: 1280 / 454;
  min-height: 0;
}

.hero__frame--banner .hero__overlay { display: none; }

/* Mobilde 2.82:1 bir masaüstü banner'ı ~120px yüksekliğe düşer ve üzerindeki
   yazı okunmaz. Çerçeveyi dikleştirip görseli sola sabitliyoruz: başlık
   alanı büyüyor, sağdaki görsel kırpılıyor.
   Kalıcı çözüm ayrı bir mobil banner'dır (ör. 800x1000). */
@media (max-width: 719px) {
  .hero__frame--banner { aspect-ratio: 16 / 10; }
  .hero__frame--banner .hero__img { object-position: left center; }

  /* Karusel kutusu dar ekranda çerçeveden taşıyordu */
  .hero__carousel {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: 10px;
    gap: 10px;
    padding: 7px 12px;
  }

  .hero__carousel-title { display: none; }
}

/* Görsel yerleştirilene kadar duran placeholder */
.hero__placeholder {
  width: 100%;
  height: 100%;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #5E5B6E;
  font-size: 13px;
}

.hero__placeholder .icon { font-size: 40px; }

.hero__overlay {
  position: relative;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(14px, 2vw, 22px);
  min-height: clamp(320px, 34vw, 500px);
  padding: clamp(24px, 3.4vw, 48px);
  background: linear-gradient(100deg, rgba(0, 0, 0, .88) 0%, rgba(0, 0, 0, .6) 48%, rgba(0, 0, 0, 0) 78%);
}

.hero__badge {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hero__badge-mark {
  width: 96px;
  height: 56px;
  border-radius: 14px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.hero__badge-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--grad-accent);
}

.hero__badge-text {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--text-strong);
}

.hero__title {
  margin: 0;
  font-size: clamp(28px, 4.2vw, 50px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--text-strong);
  text-wrap: balance;
}

.hero__desc {
  margin: 0;
  max-width: 46ch;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.6;
  color: var(--text-2);
}

/* Overlay pointer-event'leri kapatıyor; aksiyon şeridi geri açıyor */
.hero__actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  pointer-events: auto;
}

.avatar-stack { display: flex; align-items: center; }

.hero__divider { width: 22px; height: 1px; background: var(--divider-soft); }

.hero__stat {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-3);
}

/* Sağ üstte kalan süre. Halka --hero-interval boyunca boşalır, ortadaki
   rakam her saniye değişip hafifçe büyüyüp yerine oturur. Süre yine
   hero.js'ten geliyor; sayaç, halka ve setInterval tek değeri paylaşır. */
.hero__timer {
  position: absolute;
  top: clamp(14px, 2vw, 26px);
  right: clamp(14px, 2vw, 26px);
  z-index: 2;

  width: clamp(34px, 3.4vw, 40px);
  height: clamp(34px, 3.4vw, 40px);
  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  background: var(--overlay-bg);
  border: 1px solid var(--line-mid);
  backdrop-filter: blur(10px);
}

.hero__timer-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);   /* boşalma saat 12'den başlasın */
}

.hero__timer-track,
.hero__timer-ring {
  fill: none;
  stroke-width: 2.5;
}

.hero__timer-track { stroke: var(--dot); }

/* 106.8 = 2πr, r=17 (viewBox birimi). Tam çevre kadar kesik verip
   kaydırınca halka baştan sona boşalıyor. */
.hero__timer-ring {
  stroke: var(--accent);
  stroke-linecap: round;
  stroke-dasharray: 106.8;
  stroke-dashoffset: 0;
}

.hero__timer.is-ticking .hero__timer-ring {
  animation: heroTimerRing var(--hero-interval, 10s) linear forwards;
}

@keyframes heroTimerRing {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: 106.8; }
}

.hero__timer-num {
  position: relative;
  font-size: clamp(10.5px, 1vw, 12px);
  font-weight: 800;
  line-height: 1;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;   /* rakam değişirken genişlik oynamasın */
}

.hero__timer-num.is-bump { animation: heroTimerBump .26s ease-out; }

@keyframes heroTimerBump {
  from { transform: scale(1.22); opacity: .55; }
  to   { transform: scale(1);    opacity: 1; }
}

/* Slider duraklayınca sayaç da olduğu yerde beklesin */
.hero__frame.is-paused .hero__timer-ring { animation-play-state: paused; }

.hero__carousel {
  position: absolute;
  right: clamp(14px, 2vw, 26px);
  bottom: clamp(14px, 2vw, 26px);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--overlay-bg);
  border: 1px solid var(--line-mid);
  backdrop-filter: blur(10px);
}

.hero__carousel-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 17px;
  color: var(--text-2);
  cursor: pointer;
  transition: color .2s, background .2s;
}

.hero__carousel-arrow:hover {
  color: var(--accent);
  background: var(--glass-bg);
}

.hero__carousel-title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-strong);
  white-space: nowrap;
}

.dots { display: flex; align-items: center; gap: 6px; }

/* Noktalar artık düğme; tıklanınca o slayda gidiyor */
.dot {
  position: relative;
  width: 8px;
  height: 3px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: var(--dot);
  cursor: pointer;
  overflow: hidden;          /* dolgu köşe yarıçapının dışına taşmasın */
  transition: width .3s ease, background .3s ease;
}

/* Etkin noktanın zemini sayaç rayı; hover onu bozmasın */
.dot:not(.dot--active):hover { background: var(--text-2); }

/* Etkin nokta bir süre göstergesi: zemini diğer noktalarla aynı kalır,
   dolgu 10 saniyede soldan sağa büyür. Süre --hero-interval ile
   hero.js'ten gelir; böylece çubuk ile setInterval tek bir değeri
   paylaşır. Dolgu --text-strong: karanlıkta beyaz, aydınlıkta koyu —
   ikisinde de kutucuğun başlık yazısıyla aynı kontrast. */
.dot--active { width: 34px; }

.dot--active::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  border-radius: inherit;
  background: var(--text-strong);
  transform-origin: left center;
  animation: dotFill var(--hero-interval, 10s) linear forwards;
}

@keyframes dotFill {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Slider duraklayınca (fare üstünde, odak içeride, sekme arkada) sayaç da
   olduğu yerde beklesin. */
.hero__frame.is-paused .dot--active::after { animation-play-state: paused; }


/* --------------------------------------------------------------------------
   11. Güven şeridi
   -------------------------------------------------------------------------- */
.trustbar {
  padding: 0 var(--gutter) clamp(14px, 2.4vw, 24px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 12px;
}

.trust {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.trust__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 13px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-soft);
}

.trust__title { font-size: 14px; font-weight: 700; color: var(--text-strong); }
.trust__sub   { font-size: 12.5px; color: var(--muted); margin-top: 2px; }

/* --------------------------------------------------------------------------
   12. Bölüm başlıkları
   -------------------------------------------------------------------------- */
.section-head {
  padding: clamp(10px, 1.6vw, 18px) var(--gutter) 6px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.section-head__title {
  margin: 0;
  font-size: clamp(21px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--text-strong);
}

.section-head__sub { margin-top: 5px; font-size: 14px; color: var(--muted); }

/* --------------------------------------------------------------------------
   13. Kategori kartları
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   Ana sayfa: Seçmeli paketler (slider'ın altında)
   Sıcak amber-turuncu vurgu (sitenin morundan ayrışsın). Görsel 1:1 (1000×1000).
   Animasyon ölçülü: kenarda yavaş dönen ışık (9 sn), görselde arada bir geçen
   parıltı, rozette hafif nabız; hover'da yakınlaşma. Hareketi azalt: hepsi durur.
   -------------------------------------------------------------------------- */
@property --hb-ang { syntax: "<angle>"; initial-value: 0deg; inherits: false; }

.hbnd {
  --hb-a: #FFB347;
  --hb-b: #FF6A3D;
  --hb-ink: #1C1206;            /* amber zemin üstü yazı */
  --hb-text: #FFC56E;           /* koyu zemin üstü vurgu yazı */
  --hb-grad: linear-gradient(135deg, var(--hb-a), var(--hb-b));
  padding: 14px var(--gutter) clamp(16px, 2.4vw, 26px);
}
:root[data-theme="light"] .hbnd { --hb-a: #F59E0B; --hb-b: #EA580C; --hb-text: #9A3412; }

.hbnd__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
  gap: 16px;
  margin: 0; padding: 0; list-style: none;
}
.hbnd__item { min-width: 0; }

/* Kart: ince, yavaş dönen amber kenar ışığı (degrade kenarlık hilesi) */
.hbnd__card {
  position: relative;
  display: flex; flex-direction: column; height: 100%;
  padding: 8px;
  border-radius: 24px;
  border: 1.5px solid transparent;
  background:
    linear-gradient(var(--surface), var(--surface)) padding-box,
    conic-gradient(from var(--hb-ang), transparent 0 55%, color-mix(in srgb, var(--hb-a) 90%, transparent) 70%, var(--hb-b) 78%, transparent 92%) border-box,
    linear-gradient(var(--line-card), var(--line-card)) border-box;
  color: inherit;
  /* Kenarda dönen ışık + öne çıkan ürün kartlarındaki gibi nefes alan hafif ışıma */
  animation: hb-spin 9s linear infinite, hb-glow 3.2s ease-in-out infinite;
  transition: transform .3s ease;
}
@keyframes hb-spin { to { --hb-ang: 360deg; } }
@keyframes hb-glow {
  0%, 100% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--hb-a) 14%, transparent), 0 12px 30px -8px color-mix(in srgb, var(--hb-b) 10%, transparent); }
  50%      { box-shadow: 0 0 0 1px color-mix(in srgb, var(--hb-a) 30%, transparent), 0 16px 38px -8px color-mix(in srgb, var(--hb-b) 22%, transparent); }
}
.hbnd__card:hover { transform: translateY(-2px); color: inherit; }
/* Işıma animasyonu box-shadow'u kullandığı için odak halkası outline ile */
.hbnd__card:focus-visible { outline: 2px solid var(--hb-a); outline-offset: 3px; }

/* Görsel: kare (1000×1000 paket görseli için) */
.hbnd__art {
  position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden;
  border-radius: 18px;
  background:
    radial-gradient(90% 90% at 20% 10%, color-mix(in srgb, var(--hb-a) 34%, transparent), transparent 60%),
    radial-gradient(80% 80% at 90% 100%, color-mix(in srgb, var(--hb-b) 30%, transparent), transparent 60%),
    var(--surface-3);
}
.hbnd__cover { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hbnd__card:hover .hbnd__cover { transform: scale(1.05); }
.hbnd__art::after {   /* alttan hafif karartma: rozet ve parıltı okunur kalsın */
  content: ""; position: absolute; inset: 55% 0 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, .35), transparent);
}

/* Görsel yoksa: üç ürün görselinden yelpaze */
.hbnd__fan { position: absolute; inset: 0; }
.hbnd__poster {
  position: absolute; left: 50%; top: 50%;
  width: 46%; aspect-ratio: 1 / 1; height: auto; object-fit: cover;
  border-radius: 16px; border: 3px solid var(--surface); background: var(--surface-4);
  box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .65);
  transition: transform .4s ease;
}
.hbnd__poster--1 { transform: translate(-50%, -50%) translateX(-42%) rotate(-11deg); z-index: 1; }
.hbnd__poster--2 { transform: translate(-50%, -50%) translateY(-6%); z-index: 2; }
.hbnd__poster--3 { transform: translate(-50%, -50%) translateX(42%) rotate(11deg); z-index: 1; }
.hbnd__card:hover .hbnd__poster--1 { transform: translate(-50%, -50%) translateX(-50%) rotate(-15deg); }
.hbnd__card:hover .hbnd__poster--2 { transform: translate(-50%, -50%) translateY(-12%) scale(1.04); }
.hbnd__card:hover .hbnd__poster--3 { transform: translate(-50%, -50%) translateX(50%) rotate(15deg); }

/* Arada bir geçen parıltı */
.hbnd__shine {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .22) 50%, transparent 62%);
  transform: translateX(-120%);
  animation: hb-shine 6.5s ease-in-out 1.2s infinite;
}
.hbnd__item:nth-child(2n) .hbnd__shine { animation-delay: 3.4s; }
@keyframes hb-shine { 0%, 72% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }

.hbnd__badge {
  position: absolute; left: 12px; bottom: 12px; z-index: 4;
  display: inline-flex; align-items: baseline; gap: 5px; padding: 6px 12px; border-radius: 999px;
  background: var(--hb-grad); color: var(--hb-ink);
  font-size: 12px; font-weight: 800;
  box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--hb-b) 80%, transparent);
  overflow: hidden;
  animation: hb-pulse 2.8s ease-in-out infinite;
}
/* Rozetin üzerinden geçen parıltı (öne çıkan ürün rozeti gibi) */
.hbnd__badge::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7), transparent);
  animation: hb-badge-shine 2.8s ease-in-out infinite;
}
@keyframes hb-badge-shine { 0% { left: -60%; } 55%, 100% { left: 130%; } }
.hbnd__badge strong { font-size: 16px; }
@keyframes hb-pulse {
  0%, 100% { box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--hb-b) 80%, transparent), 0 0 0 0 color-mix(in srgb, var(--hb-a) 45%, transparent); }
  50% { box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--hb-b) 80%, transparent), 0 0 0 7px transparent; }
}

.hbnd__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 14px 8px 6px; }
.hbnd__name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 16.5px; font-weight: 800; line-height: 1.3; color: var(--text-strong);
}
.hbnd__facts { font-size: 13px; line-height: 1.5; color: var(--text-3); }
.hbnd__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; }
.hbnd__pricebox { display: flex; flex-direction: column; min-width: 0; }
.hbnd__label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--hb-text); }
.hbnd__price { font-size: 22px; font-weight: 800; line-height: 1.15; color: var(--text-strong); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hbnd__cta {
  display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border-radius: 13px;
  background: var(--hb-grad); color: var(--hb-ink); font-size: 13.5px; font-weight: 800; white-space: nowrap;
  box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--hb-b) 40%, transparent);
  animation: hb-cta-glow 3.2s ease-in-out infinite;
  transition: filter .2s, transform .2s;
}
/* Düğmenin ışığı nefes alır (öne çıkan ürünün sepet düğmesi gibi) */
@keyframes hb-cta-glow {
  0%, 100% { box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--hb-b) 32%, transparent); }
  50%      { box-shadow: 0 8px 24px -6px color-mix(in srgb, var(--hb-b) 58%, transparent); }
}
.hbnd__cta .icon { transition: transform .25s ease; }
.hbnd__card:hover .hbnd__cta { filter: brightness(1.06); }
.hbnd__card:hover .hbnd__cta .icon { transform: translateX(4px); }

/* Telefon: yana kaydırılan şerit; bir sonraki kart kenardan görünür */
@media (max-width: 639px) {
  .hbnd { padding-left: 0; padding-right: 0; }
  .hbnd__list {
    display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter);
    padding: 4px var(--gutter) 12px; scrollbar-width: none;
  }
  .hbnd__list::-webkit-scrollbar { display: none; }
  .hbnd__item { flex: 0 0 min(78%, 300px); scroll-snap-align: start; }
}

/* /paketler: aynı kart, sayfa ızgarası; footer'a yapışmasın */
.hbnd--page { padding: 0; margin-bottom: clamp(32px, 5vw, 64px); }
.hbnd--page .hbnd__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 18px; }
@media (max-width: 639px) {
  .hbnd--page .hbnd__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; overflow: visible; padding: 0; scroll-snap-type: none; }
  .hbnd--page .hbnd__item { flex: none; }
  .hbnd--page .hbnd__card { padding: 6px; border-radius: 20px; }
  .hbnd--page .hbnd__art { border-radius: 15px; }
  .hbnd--page .hbnd__body { padding: 10px 4px 4px; }
  .hbnd--page .hbnd__name { font-size: 14.5px; }
  .hbnd--page .hbnd__facts { display: none; }
  .hbnd--page .hbnd__foot { flex-direction: column; align-items: stretch; gap: 8px; }
  .hbnd--page .hbnd__price { font-size: 18px; }
  .hbnd--page .hbnd__cta { justify-content: center; height: 38px; }
  .hbnd--page .hbnd__badge { left: 8px; bottom: 8px; padding: 5px 10px; font-size: 11px; }
  .hbnd--page .hbnd__badge strong { font-size: 14px; }
}
@media (max-width: 359px) {
  .hbnd--page .hbnd__list { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .hbnd__card, .hbnd__badge, .hbnd__badge::after, .hbnd__shine, .hbnd__cta { animation: none; }
  .hbnd__badge::after { display: none; }
  .hbnd__shine { display: none; }
  .hbnd__card, .hbnd__cover, .hbnd__poster, .hbnd__cta, .hbnd__cta .icon { transition: none; }
  .hbnd__card:hover, .hbnd__card:hover .hbnd__cover { transform: none; }
}

.catgrid {
  padding: 14px var(--gutter) clamp(16px, 2.4vw, 26px);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 12px;
}

.catcard {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  cursor: pointer;
}

.catcard:hover { border-color: var(--accent); }

.catcard__title { font-size: 14px; font-weight: 700; color: var(--text-strong); line-height: 1.25; }
.catcard__sub   { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* --------------------------------------------------------------------------
   14. Filtre çipleri
   -------------------------------------------------------------------------- */
.chips { display: flex; gap: 7px; flex-wrap: wrap; }

.chip {
  padding: 9px 15px;
  border-radius: 999px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-3);
  white-space: nowrap;
  cursor: pointer;
}

.chip--active {
  background: var(--accent);
  border: 1px solid var(--accent);
  color: var(--on-accent);
}

/* --------------------------------------------------------------------------
   15. Ürün kartları
   -------------------------------------------------------------------------- */
.products {
  padding: 14px var(--gutter) clamp(16px, 2.4vw, 26px);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
  gap: clamp(11px, 1.4vw, 16px);
}

.product {
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  cursor: pointer;
  transition: transform .2s, border-color .2s;
}

.product:hover {
  transform: translateY(-3px);
  border-color: var(--accent);
}

.product__thumb {
  position: relative;
  border-radius: 14px;
  aspect-ratio: 1 / 1;   /* urun gorselleri kare (1000x1000) */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--surface-3);   /* görsel yüklenene kadar boş görünmesin */
}

/* Ürün görseli: kare kutuya kırpılır (products.image, 1000×1000 önerilir). */
.product__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product__discount {
  position: absolute;
  top: 9px;
  right: 9px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 10.5px;
  font-weight: 800;
}

.product__stock {
  position: absolute;
  top: 9px;
  left: 9px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .55);
  border: 1px solid var(--line-strong);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--text-2);
}

.product__stock--out { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 40%, transparent); }

/* Tükenmiş ürün görseli soluk; kart yine de tıklanır (ürün sayfası açılır) */
.product--out .product__img { opacity: .45; filter: grayscale(.6); }

.product__name    { margin: 0; font-size: 14.5px; font-weight: 700; color: var(--text-strong); line-height: 1.3; }

/* Kartın tamamı ürün sayfasına gider: başlık bağlantısı kartı kaplıyor.
   Sepete ekle formu üstte kaldığı için ayrıca tıklanabiliyor. */
.product { position: relative; }
.product__link { color: inherit; }
.product__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.product:hover .product__link { color: var(--accent); }
.product__link:focus-visible { outline: 0; }
.product:has(.product__link:focus-visible) { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent); }
.product__variant { font-size: 12.5px; color: var(--muted); margin-top: -6px; }

.product__prices {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   Öne çıkan ürün kartı — altın çerçeve, hareketli rozet, altın sepet düğmesi
   -------------------------------------------------------------------------- */
:root {
  --gold:      #F5C451;
  --gold-2:    #FFE79A;
  --gold-deep: #B8860B;
  --on-gold:   #2A1D00;
}

.product--featured {
  border-color: color-mix(in srgb, var(--gold) 55%, transparent);
  background:
    radial-gradient(120% 90% at 50% -10%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 60%),
    var(--surface);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 22%, transparent), 0 14px 34px color-mix(in srgb, var(--gold) 14%, transparent);
  animation: goldPulse 3.2s ease-in-out infinite;
}

@keyframes goldPulse {
  0%, 100% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 20%, transparent), 0 12px 30px color-mix(in srgb, var(--gold) 12%, transparent); }
  50%      { box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 42%, transparent), 0 18px 42px color-mix(in srgb, var(--gold) 26%, transparent); }
}

.product--featured:hover { border-color: var(--gold); transform: translateY(-4px); }

/* Rozet: altın degrade + üzerinden geçen parıltı */
.product__star {
  position: absolute;
  top: 9px;
  left: 9px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold) 45%, var(--gold-2));
  color: var(--on-gold);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--gold) 45%, transparent);
}

/* Stok etiketi rozetin altında kalmasın */
.product--featured .product__stock { top: auto; bottom: 9px; }

.product__star::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent);
  animation: goldShine 2.8s ease-in-out infinite;
}

@keyframes goldShine {
  0%        { left: -60%; }
  55%, 100% { left: 130%; }
}

/* Sepet düğmesi de altın; parıltısı nefes alır */
.product--featured .btn-cart {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold) 50%, var(--gold-2));
  color: var(--on-gold);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--gold) 38%, transparent);
  animation: goldGlow 3.2s ease-in-out infinite;
}

@keyframes goldGlow {
  0%, 100% { box-shadow: 0 6px 18px color-mix(in srgb, var(--gold) 30%, transparent); }
  50%      { box-shadow: 0 8px 26px color-mix(in srgb, var(--gold) 55%, transparent); }
}

.product--featured .btn-cart:hover { filter: brightness(1.06); }
.product--featured .btn-cart:disabled { background: var(--surface-5); color: var(--muted); box-shadow: none; animation: none; }
.product--featured .price-new { color: var(--gold-2); }
.product--featured:hover .product__link { color: var(--gold-2); }

@media (prefers-reduced-motion: reduce) {
  .product--featured,
  .product--featured .btn-cart,
  .product__star::after { animation: none; }
}

.price-old { font-size: 12.5px; color: var(--price-old); text-decoration: line-through; }
.price-new { font-size: 19px; font-weight: 800; letter-spacing: -.01em; color: var(--text-strong); }

/* Urun adi/aciklamasi farkli sayida satira sarabiliyor; buton kart tabanina
   yaslanmazsa ayni siradaki kartlarda hizasiz kaliyor. */
.product__buy { position: relative; z-index: 1; margin-top: auto; }
.product__buy .btn-cart { width: 100%; }

.btn-cart:disabled { opacity: .45; cursor: not-allowed; transform: none; filter: none; }

/* --------------------------------------------------------------------------
   17. Sıkça sorulan sorular

   Tek bir panel içinde iki sütun akordiyon. <details>/<summary> kullanildigi
   icin acilip kapanma JS'siz calisir.
   -------------------------------------------------------------------------- */
.faq { padding: clamp(14px, 2.4vw, 26px) var(--gutter) clamp(22px, 3vw, 34px); }

.faq__panel {
  position: relative;
  border-radius: 26px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  padding: clamp(30px, 3.4vw, 46px) clamp(16px, 2.6vw, 38px) clamp(26px, 3vw, 40px);
}

.faq__badge {
  display: block;
  width: fit-content;
  margin: 0 auto 14px;
  padding: 7px 16px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--accent-soft);
}

.faq__title {
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  text-align: center;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.faq__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;      /* acilan satir komsusunu uzatmasin */
  gap: 10px;
}

.faq__item {
  border-radius: 16px;
  background: var(--bg);
  border: 1px solid var(--line-card);
  transition: border-color .2s, background .2s;
}

.faq__item[open] {
  background: color-mix(in srgb, var(--accent) 4%, transparent);
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
}

.faq__head {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 16px;
  cursor: pointer;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
}

.faq__head::-webkit-details-marker { display: none; }

.faq__mark {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  color: var(--accent-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
}

.faq__item[open] .faq__mark {
  background: var(--grad-accent);
  border-color: transparent;
  color: var(--on-accent);
}

.faq__q {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text-strong);
}

.faq__chevron {
  flex: 0 0 auto;
  color: var(--muted-2);
  transition: transform .25s ease;
}

.faq__item[open] .faq__chevron {
  transform: rotate(180deg);
  color: var(--accent-soft);
}

/* Yükseklik animasyonu .faq__a üzerinde yapılır; dolgu iç sarmalayıcıda
   durur ki kapalıyken (yükseklik 0) dolgu payı görünmesin. */
.faq__a { overflow: hidden; }

.faq__a-inner {
  padding: 0 16px 16px 63px;   /* soldaki hiza karo + boslugu kadar */
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--muted);
}

@media (max-width: 719px) {
  .faq__panel { border-radius: 20px; }
  .faq__grid  { grid-template-columns: 1fr; }
  .faq__head  { padding: 13px 13px; gap: 11px; }
  .faq__q     { font-size: 13.5px; }
  .faq__a-inner { padding: 0 13px 14px 13px; font-size: 13px; }
}


/* --------------------------------------------------------------------------
   17b. Yatay kaydırma (blog + yorumlar)

   Harici swiper kütüphanesi yok: CSS scroll-snap kullanılıyor. Dokunmatikte
   parmakla kayar, masaüstünde bölüm başlığındaki oklar track'i kaydırır
   (assets/js/carousel.js).
   -------------------------------------------------------------------------- */
/* Şerit gutter'ın içinde kalır; kartlar sayfa kenarına taşmaz. */
.carousel {
  position: relative;
  padding: 0 var(--gutter) clamp(14px, 2vw, 22px);
}

/* Sayfanın son bölümü: promo şeridi ve footer'a yapışmasın */
.carousel--end { padding-bottom: clamp(38px, 5vw, 68px); }

.carousel__track {
  display: flex;
  gap: 12px;
  padding: 4px 0 10px;

  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.carousel__track::-webkit-scrollbar { display: none; }

.carousel__track > * { scroll-snap-align: start; }

/* Masaüstünde fareyle tutup sürüklenebilir (bkz. assets/js/carousel.js) */
@media (hover: hover) and (pointer: fine) {
  .carousel__track { cursor: grab; }
}

.carousel__track.is-grabbing {
  cursor: grabbing;
  user-select: none;
}

/* Sürükleme sırasında kartların içindeki bağlantılar tepki vermesin */
.carousel__track.is-grabbing a { pointer-events: none; }

.carousel__track:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  border-radius: 8px;
}

/* Oklar kartların üzerinde, şeridin sol ve sağ ucunda durur. */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;

  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--overlay-bg);
  backdrop-filter: blur(8px);
  border: 1px solid var(--line-mid);
  color: var(--text-2);
  font-size: 17px;

  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color .2s, border-color .2s, background .2s, opacity .2s;
}

.carousel-btn--prev { left: calc(var(--gutter) - 22px); }
.carousel-btn--next { right: calc(var(--gutter) - 22px); }

.carousel-btn:hover {
  color: var(--accent);
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 22%, transparent);
}

/* Başta/sonda düğme gizlenir, kartların üstünü boşuna kapatmasın */
.carousel-btn[disabled] {
  opacity: 0;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   17c. Blog kartı
   -------------------------------------------------------------------------- */
.blogcard {
  position: relative;   /* başlık bağlantısının kartı kaplaması için */
  flex: 0 0 312px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  overflow: hidden;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Kartın her yeri yazıya gider: başlıktaki bağlantı ::after ile kartı kaplar
   (ürün kartındaki yöntemin aynısı). */
.blogcard__title a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.blogcard__title a:focus-visible::after {
  outline: 2px solid var(--accent);
  outline-offset: -3px;
}

.blogcard:hover {
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
  transform: translateY(-4px);
  box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--accent) 70%, transparent);
}

.blogcard__thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--surface-3);
}

.blogcard__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.blogcard:hover .blogcard__thumb img { transform: scale(1.06); }

/* Görselin altını karartan yumuşak geçiş: kapak ile gövde birbirine bağlanır */
.blogcard__thumb::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 52%;
  background: linear-gradient(to top, color-mix(in srgb, var(--surface) 92%, transparent), transparent);
  pointer-events: none;
}

/* Görseli olmayan yazı için yer tutucu */
.blogcard__noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, var(--surface-3)), var(--surface-3));
  color: color-mix(in srgb, var(--accent) 70%, transparent);
}

.blogcard__tag {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  padding: 4px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 88%, transparent);
  border: 1px solid color-mix(in srgb, var(--on-accent) 26%, transparent);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .03em;
  color: var(--on-accent);
  backdrop-filter: blur(6px);
}

.blogcard__body {
  flex: 1;              /* alt şeridin kartın dibine yaslanması için */
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px 15px;
}

.blogcard__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.38;
  letter-spacing: -.01em;
}

.blogcard__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--text-strong);
  transition: color .2s ease;
}

.blogcard:hover .blogcard__title a { color: var(--accent); }

.blogcard__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.62;
  color: var(--muted);
}

/* Alt şerit: tarih/süre solda, "Oku →" sağda; ince çizgiyle ayrılır */
.blogcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid var(--line-soft);
}

.blogcard__meta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--muted-2);
}

.blogcard__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--dot);
}

.blogcard__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  font-weight: 800;
  color: var(--accent);
}

.blogcard__more > .icon { transition: transform .25s ease; }
.blogcard:hover .blogcard__more > .icon { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   17d. Müşteri yorumu
   -------------------------------------------------------------------------- */
.review {
  flex: 0 0 320px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

/* Kartın üstü: avatar + ad + ürün, sağda puan */
.review__head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
}

/* Avatarin rengi .ink-* sinifindan gelir */
.review__avatar {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
}

.review__who { flex: 1 1 auto; min-width: 0; }

.review__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-strong);
}

.review__product {
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--muted-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review__stars {
  flex: 0 0 auto;
  display: flex;
  gap: 2px;
  color: #F2B33D;
  font-size: 13px;
}

.review__stars .is-empty { color: var(--line-strong); }

.review__text {
  margin: 0;
  flex: 1 1 auto;
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--text-3);
}

.review__date {
  font-size: 11.5px;
  color: var(--muted-2);
}

/* Mobil: iki kart yan yana, kalanı kaydırarak gelir */
@media (max-width: 719px) {
  .carousel__track { gap: 10px; }

  .blogcard,
  .review { flex: 0 0 calc((100% - 10px) / 2); }

  .blogcard__body { padding: 11px 12px 13px; gap: 5px; }
  .blogcard__title { font-size: 13px; }
  .blogcard__excerpt { font-size: 11.5px; }
  .blogcard__meta { font-size: 10.5px; }

  .review { padding: 14px; gap: 10px; }
  .review__text { font-size: 12.5px; }
  .review__head { gap: 9px; padding-bottom: 11px; }
  .review__avatar { width: 34px; height: 34px; border-radius: 11px; font-size: 11.5px; }
  .review__name { font-size: 13px; }

  /* Dar kartta puan ada yer birakmiyor; alta iniyor */
  .review__head { flex-wrap: wrap; }
  .review__stars { width: 100%; font-size: 12px; }

  /* Oklar mobilde de var; kucultulup ekran kenarina cekiliyor ki
     dar kartlarin uzerini gereginden fazla kapatmasinlar. */
  .carousel-btn {
    width: 34px;
    height: 34px;
    font-size: 14px;
  }

  .carousel-btn--prev { left: 3px; }
  .carousel-btn--next { right: 3px; }
}


/* --------------------------------------------------------------------------
   18. Alt bilgi
   -------------------------------------------------------------------------- */
/* --- Footer üstü tanıtım şeridi ------------------------------------------
   Footer ile ayni zemini paylasir ve aralarinda bosluk yoktur; ust cizgi
   burada oldugu icin .site-footer kendi border-top'unu tasimaz. */
.promo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 1.8vw, 26px);
  flex-wrap: wrap;
  padding: 18px var(--gutter);
  background: var(--bg-elev);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.promo__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.promo__mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.promo__dot {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--grad-accent);
}

.promo__name {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.promo__name span { color: var(--muted-2); }

.promo__cards {
  display: flex;
  gap: 10px;
  flex: 1 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Kartlar icerik genisliginde durur, bos alani doldurmak icin gerilmez. */
.promo-card {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 15px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--line-card);
  transition: border-color .2s, transform .2s;
}

.promo-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}

.promo-card--accent {
  background: color-mix(in srgb, var(--accent) 7%, transparent);
  border-color: color-mix(in srgb, var(--accent) 28%, transparent);
}

.promo-card__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
}

.promo-card__icon--green  { background: rgba(45, 190, 120, .14); color: #3FD08A; }
.promo-card__icon--blue   { background: rgba(90, 130, 255, .14); color: #7FA0FF; }
.promo-card__icon--accent { background: var(--grad-accent); color: var(--on-accent); }

/* Kartlar arasinda ortak bir taban genislik: ok, yazidan hep ayni
   mesafede durur ve kartlar birbirine yakin boyda cikar. */
.promo-card__text { flex: 1 1 auto; min-width: 132px; }

.promo-card__title {
  font-size: 14px;
  font-weight: 800;
  color: var(--text-strong);
}

.promo-card__sub {
  margin-top: 3px;
  font-size: 12px;
  color: var(--muted);
}

.promo-card__arrow { color: var(--text-3); font-size: 17px; }

.promo-channels {
  display: flex;
  gap: 6px;
  flex: 0 0 auto;
}

.promo-channel {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
  font-size: 14px;
  transition: color .2s, border-color .2s;
}

.promo-channel:hover {
  color: var(--accent);
  border-color: var(--accent);
}

/* Ust bosluk .footer-main'den gelir; burada tekrar verilirse
   serit ile sutunlar arasinda ~80px olu alan olusuyor. */
.site-footer {
  padding: 0 var(--gutter) clamp(18px, 2.2vw, 26px);
  background: var(--bg-elev);
}

/* --- Sosyal medya (marka sütununda) -------------------------------------- */
/* Marka sutununun son ogesi — altina bosluk gerekmiyor. */
.socials {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.social {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
  font-size: 18px;
  transition: color .2s, border-color .2s, background .2s;
}

.social:hover {
  color: var(--accent);
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

/* --- Ana sütunlar -------------------------------------------------------- */
.footer-main {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.1fr;
  gap: clamp(20px, 2.6vw, 40px);
  padding: clamp(24px, 2.6vw, 34px) 0 clamp(20px, 2.2vw, 28px);
}

.footer-brandcol { min-width: 0; }

/* Marka sütunundaki iletişim bilgisi — telefon ve e-posta alt alta */
.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px;
}

.footer-contact__item {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.footer-contact__item .icon {
  font-size: 17px;
  color: var(--accent-soft);
}

.footer-contact__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.footer-contact__value {
  display: block;
  margin-top: 2px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-strong);
}

.footer-contact__item:hover .footer-contact__value { color: var(--accent); }

.footer-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}

.footer-brand__mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-brand__dot {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--grad-accent);
}

.footer-brand__name {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.footer-about {
  margin: 0 0 16px;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.7;
  max-width: 42ch;
}
.copyright {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.7;
}

.paylist {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

/* Düz logolar — kutu, çerçeve, zemin yok. Logolar saydam PNG ve farklı
   en-boy oranlarında (1.00 - 2.17); `contain` hepsini kırpmadan
   aynı yüksekliğe oturtur. */
.paylist__item {
  width: 54px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paylist__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Sütunlar <details> olarak yazıldı: mobilde akordiyon, masaüstünde düz liste.
   HTML'de `open` var, yani JS çalışmasa bile hiçbir link gizli kalmaz;
   footer.js sadece mobilde kapatır. */
.footer-col { min-width: 0; }

.footer-col__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 16px;
  list-style: none;
  cursor: default;
}

.footer-col__title::-webkit-details-marker { display: none; }

/* Ok yalnızca mobilde görünür */
.footer-col__arrow { display: none; }

.footer-col__links {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.footer-link {
  font-size: 13.5px;
  color: var(--text-3);
  transition: color .15s;
}

.footer-link:hover { color: var(--accent); }

.footer-link--icon { display: flex; align-items: center; gap: 9px; }
.footer-link--icon .icon { color: var(--accent-soft); font-size: 15px; }

/* --- Kurumsal künye ------------------------------------------------------ */
/* Solda kurumsal kunye, sagda odeme logolari. */
.footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  flex-wrap: wrap;
  padding-top: clamp(18px, 2.2vw, 26px);
  border-top: 1px solid var(--line);
}

/* Şeritte yalnızca ödeme logoları var; sağda kalsınlar */
.footer-legal .paylist { margin-left: auto; }

/* --- En alt şerit -------------------------------------------------------- */
.bottombar {
  padding: 16px var(--gutter) 20px;
  background: var(--bg);
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: var(--muted-2);
}

.bottombar__links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.bottombar__links a { color: var(--muted-2); }
.bottombar__links a:hover { color: var(--accent); }

/* ==========================================================================
   19. Mobil menü — iki panelli çekmece

   Sol dar ray bölümleri (Oyun Epin, Hediye Kartı, ...) taşır; sağ panel
   seçili bölümün listesini gösterir. Masaüstündeki .mainnav şeridi
   ayrı bir işaretlemedir ve bu bloktan etkilenmez.
   ========================================================================== */

/* Masaüstünde çekmece ve tetikleyicileri yok */
.drawer,
.navtoggle,
.navscrim { display: none; }

.navtoggle {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line-soft);
  border-radius: 13px;
  background: var(--surface-4);
  color: var(--text-2);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 899px) {

  .navtoggle { display: flex; }
  .mainnav   { display: none; }

  .drawer {
    display: flex;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 60;

    width: min(92vw, 400px);
    background: var(--bg-elev);
    border-right: 1px solid var(--line);

    transform: translateX(-100%);
    visibility: hidden;
    transition: transform .28s ease, visibility .28s;
  }

  .drawer.is-open {
    transform: none;
    visibility: visible;
  }

  /* --- Sol ray ---------------------------------------------------------- */
  .drawer__rail {
    flex: 0 0 82px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 12px 0 16px;
    background: var(--bg);
    border-right: 1px solid var(--line);
    overflow-y: auto;
    scrollbar-width: none;
  }

  .drawer__rail::-webkit-scrollbar { display: none; }

  .drawer__close {
    width: 46px;
    height: 46px;
    margin-bottom: 10px;
    flex: 0 0 auto;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: var(--surface-3);
    color: var(--text-2);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .drawer__close:hover {
    color: var(--accent);
    border-color: var(--accent);
  }

  .rail-item {
    flex: 0 0 auto;
    width: 100%;
    padding: 9px 4px;
    border: 0;
    border-left: 3px solid transparent;
    background: transparent;
    font-family: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .rail-item__tile {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--surface-3);
    border: 1px solid var(--line-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    transition: background .2s, border-color .2s, color .2s;
  }

  .rail-item__label {
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: var(--muted-2);
    max-width: 74px;
  }

  /* Seçili bölüm: sol çizgi + degrade karo */
  .rail-item.is-active {
    border-left-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 7%, transparent);
  }

  .rail-item.is-active .rail-item__tile {
    background: var(--grad-accent);
    border-color: transparent;
    color: var(--on-accent);
  }

  .rail-item.is-active .rail-item__label { color: var(--text-strong); }

  /* --- Raydaki sayfa bağlantıları (Kategoriler, Blog, Puan, Çekiliş) --- */
  .rail-sep {
    flex: 0 0 auto;
    width: 46px;
    height: 1px;
    margin: 8px 0;
    background: var(--line);
  }

  .rail-link { text-decoration: none; }
  .rail-link:hover .rail-item__tile { border-color: var(--accent); color: var(--accent); }

  /* Vurgulu bağlantılar: karo akan renk geçişiyle dolu, etiket aynı
     paletten boyanır. Dar rayda metin gradyanı okunmaz; asıl vurgu karoda. */
  .rail-link--flow .rail-item__tile {
    border-color: transparent;
    background-image: var(--gift-grad);
    background-size: 200% auto;
    color: #221a06;
    animation: gift-flow 11s linear infinite;
    box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .8);
  }

  .rail-link--flow .rail-item__label {
    background-image: var(--gift-grad);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 800;
    animation: gift-flow 11s linear infinite;
  }

  .rail-link--flow .icon { background-color: currentColor; }

  /* Palet varyantları masaüstü şeridiyle aynı */
  .rail-link--gift {
    --gift-grad: linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 16%, #f0a6d8 32%, #7dd3fc 48%, #86efac 64%, var(--accent-2) 82%, var(--accent) 100%);
  }
  .rail-link--gift .rail-item__tile { color: #0d1030; }

  .rail-link--draw {
    --gift-grad: linear-gradient(90deg, #f5c451 0%, #ffb27d 18%, #ff9aa8 34%, #ffd79a 50%, #f8a170 66%, #ffe79a 84%, #f5c451 100%);
  }

  .rail-link--bundle {
    --gift-grad: linear-gradient(90deg, #ffb347 0%, #ff7a45 17%, #ff8fb1 34%, #6ee7f9 51%, #a7f3d0 68%, #ffd66b 85%, #ffb347 100%);
  }
  .rail-link--bundle .rail-item__tile { color: #221a06; }

  /* --- Sağ panel -------------------------------------------------------- */
  .drawer__main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .drawer__head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px 12px;
    border-bottom: 1px solid var(--line);
  }

  .drawer__brand {
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--text-strong);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .drawer__brand span { color: var(--muted-2); }

  .drawer__theme {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: var(--surface-3);
    color: var(--accent-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .drawer__search {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 12px 14px;
    padding: 0 14px;
    height: 44px;
    border-radius: 999px;
    background: var(--surface-4);
    border: 1px solid var(--line-soft);
    transition: border-color .2s;
  }

  .drawer__search:focus-within { border-color: var(--accent); }
  .drawer__search .icon { color: var(--icon-muted); }

  .drawer__search-input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--text);
    font-family: inherit;
    font-size: 13.5px;
  }

  /* --- Bölüm listeleri -------------------------------------------------- */
  .drawer__panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0 14px 14px;
    scrollbar-width: none;
  }

  .drawer__panels::-webkit-scrollbar { display: none; }

  .drawer__panel { display: none; }
  .drawer__panel.is-active {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* Satirin sol cizgisi ve karo ikonu .ink-* renginden gelir;
     ad ise her zaman beyaz kalir. */
  .drawer-row {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border-radius: 13px;
    background: var(--surface);
    border: 1px solid var(--line-card);
    border-left: 3px solid currentColor;
    transition: border-color .2s, background .2s;
  }

  .drawer-row:hover {
    background: var(--surface-3);
    border-color: var(--accent);
    border-left-color: currentColor;
  }

  .drawer-row .logo-tile {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    border-radius: 11px;
    font-size: 11px;
  }

  .drawer-row__name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-strong);
  }

  .drawer-row__go {
    flex: 0 0 auto;
    font-size: 14px;
    color: var(--muted-2);
  }

  /* Alt sekme şeridi kaldırıldı: bağlantılar sol rayda (bkz. .rail-link). */

  /* --- Arka karartma ---------------------------------------------------- */
  /* DIKKAT: burada dogrudan `.navscrim { display: block }` yazilamaz.
     Yazar CSS'i tarayicinin [hidden] kuralini ezer ve karartma katmani
     kapaliyken de ekrani kaplayip tum tiklamalari yutar. */
  .navscrim:not([hidden]) {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 55;
    background: var(--scrim);
    opacity: 0;
    transition: opacity .28s ease;
  }

  .navscrim.is-open { opacity: 1; }
}

/* Çekmece açıkken arka plan kaymasın */
body.nav-open { overflow: hidden; }


/* ==========================================================================
   20. Üst bar ve header — mobil
   Kirilim menu cekmecesiyle ayni (899px): header ile menu ayni anda
   mobil moda gecsin, aradaki 720-899 bandi bosta kalmasin.
   ========================================================================== */
@media (max-width: 899px) {

  /* --- Üst bar: tek satır --- */
  .topbar {
    gap: 10px;
    padding: 8px var(--gutter);
    flex-wrap: nowrap;
  }

  /* Duyuru mobilde de görünür; uzun cümle tek satıra kısaltılır */
  .topbar__promo {
    gap: 7px;
    font-size: 12px;
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    overflow: hidden;
  }

  .topbar__icon { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 7px; }
  .topbar__icon .icon { font-size: 14px; }

  .topbar__text {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Metin varken rozet ve ok yer kaplamasın; metin yoksa rozet tek başına kalır */
  .topbar__promo:has(.topbar__text) .topbar__badge,
  .topbar__arrow { display: none; }

  .topbar__badge {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .topbar__meta { flex: 0 0 auto; }

  .theme-toggle { padding: 6px 10px; }
  .theme-toggle__label { display: none; }

  /* --- Header: iki satır --- */
  .site-header {
    gap: 10px;
    padding: 12px var(--gutter);
    flex-wrap: wrap;
  }

  .brand { flex: 1 1 auto; min-width: 0; gap: 10px; }
  .brand__mark { width: 40px; height: 40px; border-radius: 12px; }
  .brand__mark-dot { width: 20px; height: 20px; }
  .brand__name { font-size: 22px; }

  .header-actions { flex: 0 0 auto; gap: 8px; flex-wrap: nowrap; }

  /* --- Arama: mobilde header'da yalnızca büyüteç düğmesi durur; basınca
     kutu tam ekran açılır. Böylece başlık tek satırda kalıyor. --- */
  .icon-btn.search-open { display: flex; }

  .search-wrap {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: none;
    flex-direction: column;
    padding: 10px var(--gutter) 0;
    background: var(--bg);
  }

  .search-wrap.is-full { display: flex; }

  .search {
    height: 50px;
    padding: 0 8px 0 16px;
    flex: 0 0 auto;
  }

  .search__go { display: none; }
  .search__close { display: flex; }

  /* Panel tam ekranda kutunun altında akar, kendi kartı olmaz */
  .searchpanel {
    position: static;
    flex: 1 1 auto;
    max-height: none;
    margin-top: 10px;
    padding: 0 0 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    animation: none;
  }

  .searchrow { padding: 10px 6px; }
  .searchrow__img { width: 44px; height: 44px; }

  .searchpanel__all {
    position: sticky;
    bottom: 0;
    margin-top: 10px;
    border: 1px solid var(--line);
    background: var(--bg-elev);
  }

  /* Tam ekran aramadayken arka plan kaymasın */
  body.search-on { overflow: hidden; }

  .icon-btn { width: 44px; height: 44px; border-radius: 13px; }

  /* Hesap kutusu sadece avatara iner */
  .account {
    height: 44px;
    width: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 13px;
  }

  .account__text,
  .account > .icon { display: none; }
}

/* Bildirim düğmesi mobilde de görünüyor; marka + üç düğme dar telefonlarda
   tek satıra sığmadığı için ölçüler bu aralıkta biraz daralıyor.
   Ellipsis son çare: 320px gibi uçlarda taşma yerine marka adı kısalır. */
@media (max-width: 439px) {
  .site-header { gap: 8px; }

  /* flex-basis 0: marka kalan boşluğu alır, yer daralınca sarmak yerine
     kendisi kısalır. `auto` kalsaydı 320px'te eylemler alt satıra düşüyordu. */
  .brand { flex: 1 1 0; gap: 8px; }
  .brand__mark { width: 36px; height: 36px; border-radius: 11px; }
  .brand__mark-dot { width: 18px; height: 18px; }

  .brand__name {
    font-size: 17px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .header-actions { gap: 6px; }

  .icon-btn { width: 40px; height: 40px; border-radius: 12px; }

  .account {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
}

/* 380px altında marka adı tam sığmıyor; "pinhes…" yerine sadece marka
   karesini bırakmak daha temiz. */
@media (max-width: 379px) {
  .brand__name { display: none; }
}

/* ==========================================================================
   21. Izgaralar — mobilde iki sütun
   Varsayilan auto-fill kurallari dar ekranda tek sutuna dusuyordu;
   burada sabit iki sutuna zorluyoruz. minmax(0,1fr) uzun metnin
   sutunu tasirmasini engeller.
   ========================================================================== */
@media (max-width: 719px) {

  .products,
  .trustbar,
  .catgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  /* --- Güven şeridi: ikon üstte, yazı altta --- */
  .trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
  }

  .trust__icon { width: 36px; height: 36px; border-radius: 11px; }
  .trust__title { font-size: 13px; }
  .trust__sub   { font-size: 11.5px; }

  /* --- Kategori kartı: karo üstte --- */
  .catcard {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 13px;
  }

  .catcard__title { font-size: 13px; }
  .catcard__sub   { font-size: 11.5px; }

  /* --- Ürün kartı: iki sütuna sığacak ölçüler --- */
  .product { padding: 11px; gap: 10px; }

  .product__name    { font-size: 13.5px; }
  .product__variant { font-size: 11.5px; margin-top: -4px; }

  .product__prices { gap: 6px; }
  .price-old { font-size: 11.5px; }
  .price-new { font-size: 16.5px; }

  .product__discount,
  .product__stock { font-size: 9.5px; padding: 3px 7px; top: 7px; }
  .product__discount { right: 7px; }
  .product__stock    { left: 7px; }

  .btn-cart { height: 40px; font-size: 12.5px; gap: 6px; }
}

/* --------------------------------------------------------------------------
   22. Footer duyarlılık
   -------------------------------------------------------------------------- */

/* Tablet: iki sütun, marka bloğu tam genişlik */
@media (max-width: 980px) {
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-brandcol { grid-column: 1 / -1; }
}

/* Mobil: tek sütun + akordiyon */
@media (max-width: 719px) {
  .promo { flex-direction: column; align-items: stretch; }
  .promo__brand { justify-content: center; }

  /* Dikey flex'te flex-basis yukseklik tabanidir; sifirlanmazsa
     kartlar 620px'lik alani doldurmak icin gereksiz uzar. */
  .promo__cards { flex: 0 0 auto; justify-content: stretch; }
  .promo-card,
  .promo-card--accent { flex: 1 1 100%; }
  .promo-card--accent { flex-wrap: wrap; }
  .promo-channels { width: 100%; justify-content: flex-start; padding-left: 53px; }

  .socials { justify-content: center; }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: clamp(18px, 3vw, 26px);
  }

  .footer-brandcol { margin-bottom: 8px; }

  .footer-col { border-top: 1px solid var(--line); }

  .footer-col__title {
    margin: 0;
    padding: 16px 2px;
    cursor: pointer;
    color: var(--text-2);
    font-size: 12.5px;
    -webkit-tap-highlight-color: transparent;
  }

  .footer-col__arrow {
    display: inline-block;
    font-size: 16px;
    color: var(--muted-2);
    transition: transform .25s ease;
  }

  .footer-col[open] .footer-col__arrow { transform: rotate(180deg); }

  .footer-col__links { padding: 0 2px 18px; }

  .bottombar { justify-content: flex-start; }
}


/* --------------------------------------------------------------------------
   Blog içerik öğeleri (yönetim panelindeki editörden gelenler)
   -------------------------------------------------------------------------- */
.post__body h3 { margin: 22px 0 8px; font-size: 16px; font-weight: 800; color: var(--text-strong); }
.post__body h4 { margin: 18px 0 6px; font-size: 14.5px; font-weight: 800; color: var(--text-strong); }
.post__body h2,
.post__body h3 { scroll-margin-top: 90px; }
.post__body strong { color: var(--text-strong); font-weight: 800; }
.post__body a { color: var(--accent); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.post__body a:hover { text-decoration-thickness: 2px; }
.post__body mark { padding: 0 3px; border-radius: 4px; background: color-mix(in srgb, var(--warn) 30%, transparent); color: var(--text-strong); }

.post__body ol { margin: 0 0 16px; padding: 0; list-style: none; counter-reset: ol; }
.post__body ol > li { counter-increment: ol; padding-left: 30px; }
.post__body ol > li::before {
  content: counter(ol);
  top: .12em;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  font-size: 11.5px;
  font-weight: 800;
  color: var(--accent);
}

.post__body blockquote {
  margin: 0 0 18px;
  padding: 4px 0 4px 18px;
  border-left: 3px solid var(--accent);
  font-size: 15px;
  font-style: italic;
  color: var(--text-2);
}

.post__body blockquote p:last-child,
.post__note > div > :last-child { margin-bottom: 0; }
.post__note > div { min-width: 0; }
.post__note p { font-size: inherit; line-height: inherit; }

.post__body figure { margin: 22px 0; }
.post__body img { display: block; max-width: 100%; height: auto; border-radius: 14px; background: var(--surface-3); }
.post__body figcaption { margin-top: 8px; font-size: 12.5px; color: var(--muted); text-align: center; }
.post__body hr { margin: 26px 0; border: 0; border-top: 1px solid var(--line); }
.post__body code { padding: 1px 6px; border-radius: 6px; background: var(--surface-4); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .9em; color: var(--text-strong); }
.post__body pre { margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: var(--surface-4); overflow-x: auto; font-size: 13px; line-height: 1.6; }

.post__table { margin: 0 0 18px; overflow-x: auto; border-radius: 14px; border: 1px solid var(--line-soft); }
.post__table table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 13.5px; }
.post__table caption { padding: 10px 14px; caption-side: bottom; font-size: 12.5px; color: var(--muted); text-align: left; }
.post__table th,
.post__table td { padding: 11px 14px; border-bottom: 1px solid var(--line-soft); color: var(--text-3); text-align: left; vertical-align: top; }
.post__table thead th { background: var(--surface-4); font-size: 12.5px; font-weight: 800; color: var(--text-strong); }
.post__table tbody th { font-weight: 800; color: var(--text-strong); }
.post__table tr:last-child > * { border-bottom: 0; }

/* Yazar satırı ve tarih */
.post__byline { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; color: var(--text-2); }
.post__byline:hover { color: var(--accent); }
.post__avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.post__updated { color: var(--ok); }
.post__tag { transition: border-color .2s; }
a.post__tag:hover { border-color: var(--accent); }

/* Kısaca: yazının başında özet maddeleri */
.keypoints {
  margin-top: clamp(18px, 2.4vw, 24px);
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70%);
}

.keypoints__title { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.keypoints__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }

.keypoints__list li {
  position: relative;
  padding-left: 24px;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text-2);
}

.keypoints__list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .38em;
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-4.8' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat;
}

/* İçindekiler */
.toc { margin-top: 18px; border-radius: 16px; border: 1px solid var(--line-soft); background: var(--surface-4); }
.toc__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; list-style: none; font-size: 13.5px; font-weight: 800; color: var(--text-strong); cursor: pointer; }
.toc__head::-webkit-details-marker { display: none; }
.toc__head > span { display: flex; align-items: center; gap: 8px; }
.toc__chevron { color: var(--icon-muted); transition: transform .2s; }
.toc[open] .toc__chevron { transform: rotate(180deg); }
.toc__list { margin: 0; padding: 0 16px 14px 34px; font-size: 13.5px; line-height: 1.5; }
.toc__item { margin-bottom: 6px; color: var(--muted-2); }
.toc__item--h3 { margin-left: 16px; list-style: circle; }
.toc__item a { color: var(--text-3); }
.toc__item a:hover { color: var(--accent); }

/* Yazı SSS */
.postfaq { margin-top: clamp(24px, 3vw, 32px); scroll-margin-top: 90px; }
.postfaq__title { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: var(--text-strong); }
.postfaq .faq__item + .faq__item { margin-top: 8px; }
.faq__head h3.faq__q,
.faq__head h2.faq__q { margin: 0; font-size: inherit; line-height: inherit; }

/* Kaynaklar */
.sources { margin-top: clamp(22px, 2.8vw, 28px); padding-top: 18px; border-top: 1px solid var(--line); }
.sources__title { margin: 0 0 10px; font-size: 14px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.sources__list { margin: 0; padding-left: 20px; font-size: 13.5px; line-height: 1.6; color: var(--muted-2); }
.sources__list li + li { margin-top: 4px; }
.sources__list a { color: var(--text-2); font-weight: 700; }
.sources__list a:hover { color: var(--accent); }
.sources__host { font-size: 12px; color: var(--muted-2); }

.post__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 0; padding: 0; list-style: none; }
.post__tags a { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: var(--surface-4); font-size: 12.5px; font-weight: 700; color: var(--muted); }
.post__tags a:hover { color: var(--accent); }

/* Yazar kutusu (yazı sonu) */
.authorbox {
  display: flex;
  gap: 14px;
  margin-top: clamp(22px, 2.8vw, 28px);
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
}

.authorbox__avatar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  font-size: 22px;
  font-weight: 800;
  color: var(--accent);
}

.authorbox__avatar img { width: 100%; height: 100%; object-fit: cover; }
.authorbox__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.authorbox__label { font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--muted-2); }
.authorbox__name { font-size: 16px; font-weight: 800; color: var(--text-strong); }
.authorbox__name:hover { color: var(--accent); }
.authorbox__job { font-size: 13px; color: var(--muted); }
.authorbox__bio { margin: 6px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--text-3); }
.authorbox__links { display: flex; gap: 6px; margin-top: 8px; }
.authorbox__links a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--line-soft); color: var(--text-3); }
.authorbox__links a:hover { border-color: var(--accent); color: var(--accent); }

/* Yazar sayfası başlığı */
.authorhero {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.4vw, 26px);
  margin-bottom: clamp(18px, 2.4vw, 28px);
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 24px;
  border: 1px solid var(--line-card);
  background: var(--surface);
}

.authorhero__avatar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(72px, 9vw, 96px);
  height: clamp(72px, 9vw, 96px);
  overflow: hidden;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  font-size: 34px;
  font-weight: 800;
  color: var(--accent);
}

.authorhero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.authorhero__text { min-width: 0; }
.authorhero__job { margin: 4px 0 0; font-size: 14px; font-weight: 700; color: var(--accent); }
.authorhero__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.authorhero__tags li { padding: 4px 10px; border-radius: 999px; background: var(--surface-4); font-size: 12px; font-weight: 700; color: var(--text-3); }
.authorhero__links { display: flex; gap: 8px; margin-top: 12px; }

@media (max-width: 559px) { .authorhero { flex-direction: column; align-items: flex-start; } }

a.postcard__cat:hover { text-decoration: underline; }
a.postcard__author { color: inherit; }
a.postcard__author:hover { color: var(--accent); }

/* Önizleme şeridi (yalnızca yönetici) */
.previewbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 760px;
  margin: 0 auto 14px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--warn) 40%, transparent);
  background: color-mix(in srgb, var(--warn) 12%, transparent);
  font-size: 13px;
  color: var(--text-2);
}

.previewbar .icon { color: var(--warn); }
.previewbar a { margin-left: auto; font-weight: 800; color: var(--accent); }
.pageview .previewbar { max-width: none; }

/* --------------------------------------------------------------------------
   Özel sayfalar (yönetim panelinden HTML içerik)
   -------------------------------------------------------------------------- */
.pageview { display: flex; flex-direction: column; gap: clamp(16px, 2.2vw, 24px); }
.pageview > .crumbs { margin-bottom: 0; }

/* Standart: okuma genişliği; Geniş: sayfa genişliği; Tam sayfa: kod kendi düzenini kurar */
.pageview--standard > .pageview__head,
.pageview--standard > .pageview__body,
.pageview--standard > .crumbs,
.pageview--standard > .previewbar { width: 100%; max-width: 960px; margin-left: auto; margin-right: auto; }

.pageview__title { margin: 0; font-size: clamp(28px, 3.8vw, 42px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--text-strong); }
.pageview__lead { margin: 10px 0 0; max-width: 64ch; font-size: 15px; line-height: 1.7; color: var(--muted); }

.pgcard { padding: clamp(18px, 2.8vw, 36px); border-radius: 22px; border: 1px solid var(--line-card); background: var(--surface); }
.pageview__body { margin-top: 0; min-width: 0; overflow-wrap: anywhere; }
.pageview__body > :first-child { margin-top: 0; }
.pageview__body > :last-child { margin-bottom: 0; }
.pageview__body iframe,
.pageview__body video { display: block; max-width: 100%; border: 0; border-radius: 14px; }
.pageview__html { min-width: 0; }

/* Ürün sayfası: teslimat, özet, müşteri bilgileri */
.pdp__delivery {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--ok) 10%, transparent);
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-3);
}
.pdp__delivery .icon { flex: 0 0 auto; margin-top: 1px; color: var(--ok); }
.pdp__delivery strong { color: var(--text-strong); }
.pdp__delivery--manual { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.pdp__delivery--manual .icon { color: var(--accent); }

.pdp__summary { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--text-3); }

.pdp__fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.pdp__fields .field { margin: 0; }
.field__opt { font-weight: 600; color: var(--muted-2); }

.pdp__hint--note { margin-top: 8px; color: var(--text-3); }
.pdp__hint--note .icon { color: var(--accent); }

.pdpinfo__content { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.pdpinfo + .catseo { margin-top: clamp(20px, 3vw, 32px); }

/* Kategori / ürün sayfası alt bölümü: SEO metni ve sık sorulanlar */
.catseo__title { margin: 0 0 14px; font-size: clamp(18px, 2vw, 22px); font-weight: 800; letter-spacing: -.01em; color: var(--text-strong); }
.catseo__text + .catseo__faq { margin-top: clamp(20px, 2.6vw, 30px); }

.catseo__faq { display: grid; gap: 10px; }

/* Masaüstünde sorular iki sütuna bölünür; başlık iki sütunu birden kaplar.
   align-items: start olmasa açılan kutu satırdaki komşusunu da uzatırdı. */
@media (min-width: 860px) {
  .catseo__faq {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .catseo__faq > .catseo__title { grid-column: 1 / -1; margin-bottom: 4px; }
}
/* Blog yorumları: onay bekleyen, yanıtla, üye kapısı */
.comment__box { scroll-margin-top: 90px; }
.comment__box--pending { border-style: dashed; border-color: color-mix(in srgb, var(--warn) 45%, transparent); background: color-mix(in srgb, var(--warn) 6%, var(--surface-4)); }
.comment__pending { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 6px; padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--warn) 16%, transparent); font-size: 11px; font-weight: 800; color: var(--warn); }
.comment__reply { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 12px; font-weight: 800; color: var(--muted); }
.comment__reply:hover { color: var(--accent); }

.commentform__as { display: flex; align-items: center; gap: 10px; margin: -4px 0 14px; font-size: 13px; color: var(--muted); }
.commentform__as .comment__avatar { width: 30px; height: 30px; border-radius: 9px; font-size: 13px; }
.commentform__as strong { color: var(--text-strong); }
.commentform__replying { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 8%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent); font-size: 12.5px; line-height: 1.5; color: var(--text-3); }
.commentform__replying .icon { flex: none; margin-top: 2px; color: var(--accent); }
.commentform__replying span { flex: 1; overflow-wrap: anywhere; }
.commentform__replying a { flex: none; font-weight: 800; color: var(--accent); }
.commentform__note { display: flex; align-items: flex-start; gap: 6px; }
.commentform__note .icon { flex: none; margin-top: 2px; color: var(--ok); }

.commentgate { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: clamp(14px, 2vw, 18px); border-radius: 16px; background: var(--surface-4); border: 1px solid var(--line-soft); scroll-margin-top: 90px; }
.commentgate__icon { flex: none; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.commentgate > .min-w-0 { flex: 1 1 240px; }
.commentgate__title { margin: 0 0 3px; font-size: 14.5px; font-weight: 800; color: var(--text-strong); }
.commentgate__text { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }
.commentgate__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.commentgate__login, .commentgate__register { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 18px; border-radius: 12px; font-size: 13px; font-weight: 800; }
.commentgate__login { background: var(--grad-accent); color: var(--on-accent); }
.commentgate__register { border: 1px solid var(--accent); color: var(--accent); }
.commentgate__register:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); }
/* Bildirimler: ek renkler, boş durum, giriş bağlantısı */
.notif-item__icon--amber { background: color-mix(in srgb, var(--warn) 18%, transparent); color: var(--warn); }
.notif-item__icon--red   { background: color-mix(in srgb, var(--danger) 16%, transparent); color: var(--danger); }
.icon-btn__badge[hidden] { display: none; }
.notif-item__text { overflow-wrap: anywhere; }
.notif-menu__empty { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.notif-menu__empty[hidden] { display: none; }
.notif-menu__empty p { margin: 0; line-height: 1.5; }
.notif-menu__emptyicon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.notif-menu__login { display: inline-flex; align-items: center; height: 38px; padding: 0 18px; border-radius: 11px; background: var(--grad-accent); color: var(--on-accent); font-size: 13px; font-weight: 800; }

/* Tüm bildirimler sayfası */
.notifpage { max-width: 760px; margin: 0 auto; padding: clamp(20px, 3vw, 36px) var(--gutter) clamp(36px, 5vw, 60px); }
.notifpage__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.notifpage__title { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -.02em; color: var(--text-strong); }
.notifpage__sub { margin: 4px 0 0; font-size: 13.5px; color: var(--muted); }
.notifpage__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.notifpage__actions form { margin: 0; }
.notifpage__btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 11px; border: 1px solid var(--line-soft); background: var(--surface-4); font-family: var(--font); font-size: 12.5px; font-weight: 800; color: var(--text-2); cursor: pointer; }
.notifpage__btn:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.notifpage__btn:disabled { opacity: .45; cursor: default; }
.notifpage__tabs { display: flex; gap: 6px; margin-bottom: 12px; }
.notifpage__tab { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-soft); font-size: 13px; font-weight: 700; color: var(--text-2); }
.notifpage__tab.is-active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.notifpage__tab span { padding: 1px 7px; border-radius: 999px; background: var(--surface-5, var(--surface-3)); font-size: 11.5px; }
.notifpage__list { margin: 0; padding: 10px; list-style: none; border-radius: 20px; background: var(--surface); border: 1px solid var(--line-card); }

/* Sayfadaki liste menüdekinden ferah: satırlar ayrı kartlar gibi durur */
.notifpage__list .notif-item { display: flex; align-items: stretch; gap: 6px; scroll-margin-top: 90px; }
.notifpage__list .notif-item + .notif-item { margin-top: 8px; }

.notifpage__list .notif-item__link {
  position: relative; flex: 1; min-width: 0;
  align-items: center; gap: 13px; padding: 14px 15px;
  border: 1px solid var(--line-soft);
}
.notifpage__list .notif-item__title { font-size: 13.5px; }
.notifpage__list .notif-item__text { margin-top: 3px; font-size: 13px; line-height: 1.5; }
.notifpage__list .notif-item__time { margin-top: 7px; }

/* Okunmamış: sol kenarda mor şerit + sağda nokta (dikey ortalı) */
.notifpage__list .notif-item.is-unread .notif-item__link {
  border-color: color-mix(in srgb, var(--accent) 35%, transparent);
  box-shadow: inset 3px 0 0 var(--accent);
}
.notifpage__list .notif-item__dot { align-self: center; width: 9px; height: 9px; margin-top: 0; }

.notifpage__del { flex: none; display: flex; align-items: center; margin: 0; }
.notifpage__del button {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border: 1px solid transparent; border-radius: 10px;
  background: transparent; color: var(--muted-2); cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
}
.notifpage__del button:hover { border-color: var(--danger); color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); }

@media (max-width: 560px) {
  .notifpage__list { padding: 8px; }
  .notifpage__list .notif-item__link { gap: 11px; padding: 12px; }
  .notifpage__del button { width: 32px; height: 32px; }
}
.notifpage__empty { padding: 40px 20px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line-card); text-align: center; color: var(--muted); }
.notifpage__empty .notif-menu__emptyicon { margin: 0 auto 12px; }
.notifpage__pager { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
/* --------------------------------------------------------------------------
   Hesabım: sol menülü hesap alanı
   -------------------------------------------------------------------------- */
.accshell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(16px, 2vw, 26px);
  align-items: start;
}

.accside {
  position: sticky;
  top: 16px;
  overflow: hidden;
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.accside__profile {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 26px 18px 18px;
  text-align: center;
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 34%, var(--surface)) 0%, color-mix(in srgb, var(--accent-2) 16%, var(--surface)) 100%);
  border-bottom: 1px solid var(--line-card);
}

.accside__glow {
  position: absolute;
  top: -60px;
  right: -60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent-2) 45%, transparent), transparent 70%);
  pointer-events: none;
}

.accside__avatar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--grad-accent);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--text-strong) 14%, transparent), 0 12px 28px color-mix(in srgb, var(--accent) 35%, transparent);
  font-size: 26px;
  font-weight: 800;
  color: var(--on-accent);
}

.accside__name {
  position: relative;
  margin-top: 14px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text-strong);
  overflow-wrap: anywhere;
}

.accside__email {
  position: relative;
  margin-top: 2px;
  font-size: 12.5px;
  color: var(--text-3);
  overflow-wrap: anywhere;
}

.accside__balance {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--bg) 45%, transparent);
  border: 1px solid color-mix(in srgb, var(--text-strong) 10%, transparent);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-3);
  transition: border-color .2s;
}
.accside__balance:hover { border-color: var(--accent); color: var(--text-3); }
.accside__balance strong { font-size: 17px; font-weight: 800; color: var(--text-strong); font-variant-numeric: tabular-nums; }

.accside__nav { display: flex; flex-direction: column; gap: 3px; padding: 10px; }

.accside__group {
  margin: 10px 12px 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted-2);
}
.accside__group:first-child { margin-top: 4px; }

.accside__link {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-2);
  text-align: left;
  cursor: pointer;
  transition: background .18s, color .18s;
}
.accside__link .icon { color: var(--muted); transition: color .18s; }
.accside__link:hover { background: var(--surface-3); color: var(--text-strong); }
.accside__link:hover .icon { color: var(--accent); }
.accside__link > span:not(.accside__badge) { flex: 1; min-width: 0; }

.accside__link.is-active {
  background: var(--grad-accent);
  color: var(--on-accent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent) 28%, transparent);
}
.accside__link.is-active .icon { color: var(--on-accent); }

.accside__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--danger);
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  vertical-align: middle;
}
.accside__link.is-active .accside__badge { background: var(--on-accent); color: var(--accent); }

.accside__logout { margin: 0; padding: 6px 10px 10px; border-top: 1px solid var(--line); }
.accside__link--danger, .accside__link--danger .icon { color: var(--danger); }
.accside__link--danger:hover { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
.accside__link--danger:hover .icon { color: var(--danger); }

/* İçerik */
.accmain { display: flex; flex-direction: column; gap: clamp(12px, 1.6vw, 18px); min-width: 0; }
.accmain > .authnote { margin: 0; }
.accpage__head { margin-bottom: 2px; }
.accpage__title { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -.02em; color: var(--text-strong); }
.accpage__sub { margin: 4px 0 0; font-size: 14px; color: var(--muted); }

.authnote--warn { background: color-mix(in srgb, var(--warn) 12%, transparent); border: 1px solid color-mix(in srgb, var(--warn) 30%, transparent); color: var(--warn); }

.accstats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.accstats--3 .accstat { position: relative; flex-direction: row; align-items: center; gap: 14px; padding: 18px; }
.accstats--3 .accstat__label { display: block; font-size: 12.5px; }
.accstats--3 .accstat__value { display: block; margin-top: 2px; font-size: clamp(20px, 2.1vw, 26px); }
.accstat__value--sm { font-size: 20px !important; }
.accstats--3 .accstat__note { display: block; margin-top: 2px; }

.accstat__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--tone, var(--accent)) 15%, transparent);
  color: var(--tone, var(--accent));
}
.accstat__icon--blue   { --tone: #6E9BFF; }
.accstat__icon--green  { --tone: var(--ok); }
.accstat__icon--violet { --tone: var(--accent-2); }

.accstat__add {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--grad-accent);
  color: var(--on-accent);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);
  transition: transform .2s;
}
.accstat__add:hover { color: var(--on-accent); transform: scale(1.08); }

@media (max-width: 1099px) { .accstats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px)  { .accstats--3 { grid-template-columns: minmax(0, 1fr); } }

.acccard {
  overflow: hidden;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line-card);
}

.acccard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
}

.acccard__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--text-strong);
}
.acccard__title > .icon { color: var(--accent); }

.acccard__more { font-size: 12.5px; font-weight: 800; color: var(--accent); white-space: nowrap; }
.acccard__more:hover { color: var(--accent-2); }
.acccard__body { padding: 18px 20px 20px; }

.accquick {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
}
@media (max-width: 719px) { .accquick { grid-template-columns: minmax(0, 1fr); } }

.accquick__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border-radius: 15px;
  background: var(--surface-4);
  border: 1px solid var(--line-soft);
  color: inherit;
  transition: border-color .2s, transform .2s;
}
.accquick__item:hover { border-color: var(--accent); transform: translateY(-2px); color: inherit; }
.accquick__item > .min-w-0 { flex: 1; }

.accquick__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--grad-accent);
  color: var(--on-accent);
}

.accquick__label { display: block; font-size: 14px; font-weight: 800; color: var(--text-strong); }
.accquick__sub { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.accquick__go { flex: 0 0 auto; color: var(--muted-2); transition: color .2s, transform .2s; }
.accquick__item:hover .accquick__go { color: var(--accent); transform: translateX(3px); }

.acccols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 18px);
  align-items: start;
}
@media (max-width: 1199px) { .acccols { grid-template-columns: minmax(0, 1fr); } }

.accempty {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(28px, 4vw, 44px) 20px;
  text-align: center;
}
.accempty--sm { padding: 26px 20px; }
.accempty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 12px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  color: var(--accent);
}
.accempty--sm .accempty__icon { width: 48px; height: 48px; border-radius: 15px; }
.accempty__title { margin: 0; font-size: 15px; font-weight: 800; color: var(--text-strong); }
.accempty__text { margin: 4px 0 0; max-width: 42ch; font-size: 13px; line-height: 1.55; color: var(--muted); }
.accempty__btn { height: 44px; margin-top: 16px; font-size: 13.5px; }

.accnotif { max-height: none; padding: 8px; }

.accsecure { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 18px 20px; }
.accsecure > .min-w-0 { flex: 1 1 260px; }
.accsecure__icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 15px; background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.accsecure__text { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.accsecure__text strong { color: var(--text-strong); }
.accsecure .corpbtn { height: 44px; font-size: 13.5px; }

.accnote { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 12px 14px; border-radius: 13px; background: color-mix(in srgb, var(--accent) 8%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); font-size: 13px; line-height: 1.55; color: var(--text-3); }
.accnote .icon { flex: 0 0 auto; margin-top: 2px; color: var(--accent); }
.accnote a { font-weight: 800; color: var(--accent); }
.accnote--flat { margin: 0 20px 20px; }
.acccard__body > .accnote--flat { margin: 14px 0 0; }
.acccard__body .faq__item + .faq__item { margin-top: 8px; }

.accbanks { display: grid; gap: 8px; margin-top: 12px; }
.acccard .accdevices { margin-top: 18px; }
.acccard .corpdl.acccard__body { margin: 0; }

/* Bildirimler sayfası hesap alanı içinde */
.accmain.notifpage { max-width: none; margin: 0; padding: 0; }
.accmain.notifpage .notifpage__head { margin-bottom: 0; }
.accmain.notifpage .notifpage__tabs { margin-bottom: 0; }

@media (max-width: 979px) {
  .accshell { grid-template-columns: minmax(0, 1fr); }
  .accside { position: static; }
  .accside__profile { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding: 16px; text-align: left; }
  .accside__avatar { width: 56px; height: 56px; font-size: 20px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--text-strong) 14%, transparent); }
  .accside__name { flex: 1 1 0; margin: 0; min-width: 0; }
  .accside__email { order: 3; width: 100%; margin: 0; }
  .accside__balance { order: 4; margin-top: 8px; }
  /* Şerit sarmalanır: bölüm sayısı arttıkça (Davet Et, Puan Mağazası)
     yatay kaydırmada gizli kalan sekme olmasın. */
  .accside__nav { flex-direction: row; flex-wrap: wrap; gap: 6px; padding: 10px; }
  .accside__group { display: none; }
  .accside__link { flex: 0 0 auto; width: auto; min-height: 40px; padding: 0 14px; border: 1px solid var(--line-soft); white-space: nowrap; }
  .accside__link.is-active { border-color: transparent; }
  .accside__link > span:not(.accside__badge) { flex: 0 0 auto; }
  .accside__logout { padding: 0 10px 10px; border-top: 0; }
  .accside__logout .accside__link { justify-content: center; border-color: color-mix(in srgb, var(--danger) 35%, transparent); }
}

/* --- Bildirim menüsünde tarayıcı bildirimi anahtarı --- */
.notif-push { padding: 10px 14px; border-top: 1px solid var(--line-soft); }

.notif-push__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  height: 38px;
  padding: 0 12px;
  border-radius: 11px;
  border: 1px solid var(--line-soft);
  background: var(--surface-4);
  font-family: var(--font);
  font-size: 13px;
  font-weight: 800;
  color: var(--text-2);
  cursor: pointer;
  transition: border-color .18s, background .18s, color .18s;
}

.notif-push__btn:hover:not(:disabled) { border-color: var(--line-mid); color: var(--text-strong); }
.notif-push__btn:disabled { cursor: not-allowed; opacity: .7; }

/* Açıkken anahtar vurgulanır */
.notif-push__btn[data-state="on"] {
  border-color: color-mix(in srgb, var(--ok) 45%, transparent);
  background: color-mix(in srgb, var(--ok) 12%, transparent);
  color: var(--ok);
}

.notif-push__btn[data-state="blocked"] { border-color: color-mix(in srgb, var(--danger) 35%, transparent); color: var(--danger); }
.notif-push__note { margin: 7px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--muted); }


/* ================================================================== */
/*  Destek talepleri                                                   */
/* ================================================================== */

.accpage__head--row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }

/* --- Talep listesi: durum kartları --- */
.tkstats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 16px); }
@media (max-width: 767px) { .tkstats { grid-template-columns: minmax(0, 1fr); } }

.tkstat {
  position: relative; display: flex; align-items: center; gap: 13px;
  padding: 16px 18px; border-radius: 16px;
  background: var(--surface-3); border: 1px solid var(--line-soft);
  color: inherit; transition: border-color .18s, transform .18s, background .18s;
}
.tkstat:hover { border-color: color-mix(in srgb, var(--st, var(--accent)) 45%, transparent); transform: translateY(-2px); }
.tkstat.is-active {
  border-color: color-mix(in srgb, var(--st, var(--accent)) 55%, transparent);
  background: color-mix(in srgb, var(--st, var(--accent)) 9%, var(--surface-3));
}

.tkstat__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 14px;
  background: color-mix(in srgb, var(--st, var(--accent)) 16%, transparent);
  color: var(--st, var(--accent));
}
.tkstat__main { display: flex; flex-direction: column; min-width: 0; }
.tkstat__num { font-size: 24px; font-weight: 800; line-height: 1.1; color: var(--st, var(--accent)); font-variant-numeric: tabular-nums; }
.tkstat__label { font-size: 13.5px; font-weight: 800; color: var(--text-strong); }
.tkstat__sub { font-size: 12px; color: var(--muted); }
.tkstat__pill {
  position: absolute; top: 10px; right: 12px;
  padding: 2px 8px; border-radius: 999px;
  background: color-mix(in srgb, var(--st, var(--accent)) 20%, transparent);
  font-size: 10.5px; font-weight: 800; color: var(--st, var(--accent));
}
.tkstats__note { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 12.5px; color: var(--muted); }
.tkstats__note .icon { color: var(--warn); }

.tksec { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.tksec__title { margin: 0; font-size: 16px; font-weight: 800; color: var(--text-strong); }
.tksec__count {
  padding: 3px 10px; border-radius: 999px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
  font-size: 12px; font-weight: 700; color: var(--muted);
}

.tklist { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
/* Sol kenardaki durum şeridi satırın kendisinde */
.tkrow {
  position: relative; border-radius: 16px; overflow: hidden;
  background: var(--surface-3); border: 1px solid var(--line-soft);
  transition: border-color .18s, transform .18s;
}
.tkrow::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--st, var(--accent)); }
.tkrow:hover { border-color: color-mix(in srgb, var(--st, var(--accent)) 45%, transparent); transform: translateY(-1px); }

.tkrow__link { display: flex; align-items: center; gap: 14px; padding: 15px 16px 15px 20px; color: inherit; }
.tkrow__main { display: flex; flex-direction: column; gap: 7px; min-width: 0; flex: 1; }
.tkrow__ref { font-family: ui-monospace, monospace; font-size: 12px; font-weight: 800; color: var(--accent); }
.tkrow__subject { font-size: 15px; font-weight: 800; color: var(--text-strong); overflow-wrap: anywhere; }
.tkrow__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.tkchip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 999px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
  font-size: 11.5px; font-weight: 700; color: var(--muted);
}
.tkchip .icon { color: var(--icon-muted); }
.tkrow__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--muted-2); }
.tkrow__meta > span { display: inline-flex; align-items: center; gap: 5px; }
.tkrow__side { flex: none; display: flex; align-items: center; gap: 9px; }
.tkrow__arrow { flex: none; color: var(--icon-muted); }
@media (max-width: 599px) {
  .tkrow__link { align-items: flex-start; }
  .tkrow__side { flex-direction: column; align-items: flex-end; }
}

/* Okunmamış yanıtı olan talep */
.tkrow.is-unread { border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.tkrow.is-unread .tkrow__subject { color: var(--accent); }
.tkrow__new {
  padding: 1px 8px; border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  font-size: 11px; font-weight: 800; color: var(--accent);
}

.tkbadges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }

/* Rozet — panelle aynı sözleşme (admin.css'te de tanımlı, site tarafına da lazım) */
.badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 9px; border-radius: 999px;
  background: color-mix(in srgb, var(--st, var(--accent)) 14%, transparent);
  font-size: 12px; font-weight: 800; color: var(--st, var(--accent)); white-space: nowrap;
}
.status--ok     { --st: var(--ok); }
.status--warn   { --st: var(--warn); }
.status--info   { --st: var(--info); }
.status--danger { --st: var(--danger); }
.status--muted  { --st: var(--muted); }

/* --- Sipariş kalemleri (hesabım > sipariş detayı; panelde de aynı) --- */
.orderitems { display: flex; flex-direction: column; gap: 12px; padding: 14px; }

.orderitem {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  background: var(--surface-3);
  border: 1px solid var(--line-soft);
}
.orderitem.is-done { border-color: color-mix(in srgb, var(--ok) 32%, transparent); }

.orderitem__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.orderitem__name { margin: 0; font-size: 14.5px; font-weight: 800; color: var(--text-strong); overflow-wrap: anywhere; }
.orderitem__meta { margin: 3px 0 0; font-size: 12.5px; color: var(--muted); }
.orderitem__hint { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 12.5px; color: var(--muted-2); }

.orderitem__fields { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.orderitem__fields > div { display: flex; align-items: baseline; gap: 6px; }
.orderitem__fields dt { font-size: 12px; color: var(--muted); }
.orderitem__fields dd { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--text-2); }

.ordercodes { display: flex; flex-direction: column; gap: 7px; padding: 11px; border-radius: 13px; background: var(--surface-4); }
.ordercodes__label { display: flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.ordercodes__label .icon { color: var(--accent); }

.ordercode { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 11px; border-radius: 10px; background: var(--surface-2); border: 1px solid var(--line-soft); }
.ordercode code { font-family: ui-monospace, monospace; font-size: 13.5px; font-weight: 700; color: var(--text-strong); overflow-wrap: anywhere; }
.ordercode__copy { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 8px; border: 1px solid var(--line-soft); background: transparent; font-size: 11.5px; font-weight: 700; color: var(--muted); cursor: pointer; }
.ordercode__copy:hover { color: var(--accent); border-color: var(--accent); }

.orderpayload { font-size: 13.5px; line-height: 1.6; color: var(--text-2); overflow-wrap: anywhere; }

/* Sepette yalnızca bakiye yetmediğinde çıkan uyarı satırı */
.balancebox__note { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 12.5px; color: var(--muted); }
.balancebox__note a { color: var(--accent); font-weight: 700; }
.balancebox__note .icon { color: var(--warn); }

/* Bakiye yükleme (Shopier) */
.topup { display: flex; flex-direction: column; gap: 12px; }
.topup__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.topup__field { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.topup__label { font-size: 12.5px; font-weight: 700; color: var(--text-2); }

.topup__input {
  position: relative; display: flex; align-items: center;
  border-radius: 13px; background: var(--surface-4);
  border: 1px solid var(--line-soft); transition: border-color .2s, box-shadow .2s;
}
.topup__input:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.topup__input input {
  flex: 1; min-width: 0; box-sizing: border-box;
  padding: 12px 38px 12px 14px; border: 0; background: transparent;
  font: inherit; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums;
  color: var(--text-strong);
}
.topup__input input:focus { outline: none; }
.topup__suffix { position: absolute; right: 14px; font-size: 14px; font-weight: 800; color: var(--muted); pointer-events: none; }

.topup__submit { flex: none; }

.topup__quick { display: flex; flex-wrap: wrap; gap: 7px; }
.topup__chip {
  padding: 7px 12px; border-radius: 999px;
  border: 1px solid var(--line-soft); background: transparent;
  font-size: 12.5px; font-weight: 700; color: var(--muted); cursor: pointer;
  transition: color .2s, border-color .2s, background .2s;
}
.topup__chip:hover { color: var(--accent); border-color: var(--accent); }
.topup__chip.is-active { color: var(--on-accent); background: var(--accent); border-color: var(--accent); }

.topup__help { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--muted); }

.topup__or { display: flex; align-items: center; gap: 12px; margin: 16px 0 4px; font-size: 12px; font-weight: 700; color: var(--muted-2); }
.topup__or::before, .topup__or::after { content: ''; flex: 1; height: 1px; background: var(--line-soft); }

/* --- Havale / EFT --- */

/* Cüzdanda kart / havale sekmeleri */
.paytabs { display: flex; gap: 10px; margin-bottom: 16px; }

.paytab {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  box-sizing: border-box; padding: 14px 10px;
  border-radius: 14px; border: 1px solid var(--line-soft); background: var(--surface-4);
  font: inherit; font-size: 13px; font-weight: 700; color: var(--muted); cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
}
.paytab .icon {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 12px;
  background: var(--surface-2); border: 1px solid var(--line-soft); color: var(--muted);
}
.paytab:hover { color: var(--text-strong); border-color: var(--accent); }
.paytab.is-active { color: var(--text-strong); border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.paytab.is-active .icon { background: var(--grad-accent); border-color: transparent; color: var(--on-accent); }

.paypane.is-hidden { display: none; }

/* Adım şeridi */
.trsteps { display: flex; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }

.trstep {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  box-sizing: border-box; padding: 11px 8px;
  border-radius: 12px; background: var(--surface-4); border: 1px solid var(--line-soft);
  font-size: 12px; font-weight: 700; color: var(--muted-2); text-align: center;
}
.trstep__no {
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--surface-2); border: 1px solid var(--line-soft);
  font-size: 11.5px; font-weight: 800; color: var(--muted);
}
.trstep__label { overflow-wrap: anywhere; }
.trstep.is-active { border-color: var(--accent); color: var(--text-strong); }
.trstep.is-active .trstep__no { background: var(--accent); border-color: transparent; color: var(--on-accent); }
.trstep.is-done { color: var(--text-2); }
.trstep.is-done .trstep__no { background: color-mix(in srgb, var(--ok) 20%, transparent); border-color: transparent; color: var(--ok); }
.trsteps--sm .trstep { padding: 9px 6px; font-size: 11.5px; }

/* Sayfa iskeleti */
.trpage__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.trpage__title { margin: 0; font-size: clamp(19px, 2.4vw, 25px); font-weight: 800; color: var(--text-strong); }

.trgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(12px, 1.6vw, 20px); align-items: start; }

/* Kart zemini sayfa yüzeyi (gündüz: beyaz); iç kutular --surface-4 ile ayrışır */
.trcard { border-radius: 18px; background: var(--surface); border: 1px solid var(--line-card); overflow: hidden; }
.trcard__head {
  display: flex; align-items: center; gap: 8px;
  padding: 13px 16px; background: var(--surface-2); border-bottom: 1px solid var(--line-soft);
  font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted);
}
.trcard__head .icon { color: var(--accent); }
.trcard__body { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
.trcard__note { margin: 0; font-size: 12.5px; color: var(--muted); }

/* Dikey flex'te sabit yükseklikli düğme ezilebiliyor: küçülmesin */
.trcard__body > .corpbtn { flex: 0 0 auto; }

/* Sipariş özeti */
.trsum { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.trsum__row { display: flex; align-items: center; gap: 11px; }
.trsum__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 11px;
  background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent);
}
/* Ürün görseli; ürün silinmişse .trsum__icon devreye girer */
.trsum__thumb {
  flex: none; overflow: hidden;
  width: 44px; height: 44px; border-radius: 11px;
  background: var(--surface-3); border: 1px solid var(--line-soft);
}
.trsum__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

.trsum__name { display: block; font-size: 13.5px; font-weight: 700; color: var(--text-strong); }
.trsum__qty { display: block; font-size: 12px; color: var(--muted); }
.trsum__price { margin-left: auto; font-size: 13.5px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-strong); }
.trsum__total {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px; border-top: 1px solid var(--line-soft);
  font-size: 14px; font-weight: 700; color: var(--text-2);
}
.trsum__total strong { font-size: 17px; font-weight: 800; color: var(--text-strong); }

/* Form iskeleti: dar alanda tek kolon, geniş alanda (cüzdan) iki kolon */
.trform { display: grid; gap: 16px; }

.trform--wide {
  grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(14px, 2vw, 24px);
  align-items: start;
}

.trform__col { min-width: 0; display: flex; flex-direction: column; gap: 12px; }

.trform__legend {
  font-size: 11px; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; color: var(--muted);
}
/* Dar (tek kolon) yerleşimde başlık gereksiz: kart başlığı zaten söylüyor */
.trform:not(.trform--wide) .trform__legend { display: none; }

/* Banka hesabı seçimi */
.trbanks { display: flex; flex-direction: column; gap: 8px; }

.trbank { position: relative; display: block; cursor: pointer; }
.trbank__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.trbank__body {
  display: flex; align-items: center; gap: 11px;
  box-sizing: border-box; padding: 11px 13px 34px;
  border-radius: 14px; background: var(--surface-4); border: 1px solid var(--line-soft);
  transition: border-color .2s, background .2s;
}
.trbank:hover .trbank__body { border-color: var(--accent); }
.trbank__input:checked + .trbank__body { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, transparent); }
.trbank__input:focus-visible + .trbank__body { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent); }

.trbank__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.trbank__holder { font-size: 13px; font-weight: 800; color: var(--text-strong); }
.trbank__iban { font-family: ui-monospace, monospace; font-size: 12px; letter-spacing: .01em; color: var(--accent); overflow-wrap: anywhere; }
.trbank__bank { font-size: 11.5px; color: var(--muted); }

.trbank__tick {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  border: 2px solid var(--line-mid); background: transparent; color: transparent;
  transition: background .2s, border-color .2s, color .2s;
}
.trbank__input:checked + .trbank__body .trbank__tick { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

.trbank__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 11px;
  background: var(--surface-2); border: 1px solid var(--line-soft); color: var(--accent);
}
.trbank__input:checked + .trbank__body .trbank__icon { background: var(--grad-accent); border-color: transparent; color: var(--on-accent); }

/* Kopyala düğmesi kartın alt şeridinde: satırları dar tutar */
.trbank__copy {
  position: absolute; left: 13px; bottom: 9px;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px; border-radius: 8px;
  border: 1px solid var(--line-soft); background: var(--surface-2);
  font: inherit; font-size: 11px; font-weight: 700; color: var(--muted); cursor: pointer;
}
.trbank__copy:hover { color: var(--accent); border-color: var(--accent); }

/* Aktarılacak tutar */
.tramount {
  display: flex; flex-direction: column; gap: 7px;
  padding: 13px 15px; border-radius: 14px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
}
.tramount--fixed { position: relative; border-color: var(--accent); }
.tramount__label { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.tramount__value { font-size: 25px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-strong); }
.tramount__lock { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--muted-2); }

/* Serbest tutar: kutunun içinde, büyük ve sağında ₺ */
.tramount__field { position: relative; display: flex; align-items: center; }
.tramount__field input {
  box-sizing: border-box; width: 100%; padding: 0 30px 0 0;
  border: 0; background: transparent;
  font: inherit; font-size: 25px; font-weight: 800; font-variant-numeric: tabular-nums;
  color: var(--text-strong);
}
.tramount__field input:focus { outline: none; }
.tramount:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.tramount__suffix { position: absolute; right: 0; font-size: 19px; font-weight: 800; color: var(--muted-2); pointer-events: none; }

/* Gönderen bilgileri: her zaman alt alta */
.trfields { display: flex; flex-direction: column; gap: 11px; }
.trfield { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.trfield__label { font-size: 12px; font-weight: 700; color: var(--text-2); }
.trfield__req { color: var(--danger); }
.trfield__opt { font-weight: 500; color: var(--muted-2); }

.trfield input[type="text"] {
  box-sizing: border-box; width: 100%; height: 44px; padding: 0 13px;
  border-radius: 12px; background: var(--surface-4); border: 1px solid var(--line-soft);
  font: inherit; font-size: 13.5px; color: var(--text-strong);
  transition: border-color .2s, box-shadow .2s;
}
.trfield input[type="text"]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.trfield input::placeholder { color: var(--muted-2); }

/* Dekont yükleme */
.trdrop {
  display: flex; align-items: center; gap: 11px;
  box-sizing: border-box; height: 56px; padding: 0 13px;
  border-radius: 12px; background: var(--surface-4);
  border: 1px dashed var(--line-mid); cursor: pointer;
  transition: border-color .2s, background .2s;
}
.trdrop:hover { border-color: var(--accent); }
.trdrop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.trdrop:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }

/* Dosya seçildi: kesik çizgi dolu çizgiye döner, ikon vurgulanır */
.trdrop.is-filled {
  border-style: solid; border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.trdrop.is-filled .trdrop__icon { background: var(--grad-accent); border-color: transparent; color: var(--on-accent); }
.trdrop__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 10px;
  background: var(--surface-2); border: 1px solid var(--line-soft); color: var(--accent);
}
.trdrop__text { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.trdrop__title { font-size: 12.5px; font-weight: 700; color: var(--text-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trdrop__sub { font-size: 11px; color: var(--muted); }

/* Gönder + açıklama */
.trform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 2px; }
.trsubmit { flex: 0 0 auto; }
.trform__note { flex: 1 1 200px; min-width: 0; margin: 0; font-size: 11.5px; line-height: 1.5; color: var(--muted); }

/* --- Havale formu: dar ekranlar --- */
@media (max-width: 720px) {
  .trsubmit { width: 100%; justify-content: center; }
  .trform__foot { flex-direction: column; align-items: stretch; }
  .trform__note { flex: none; text-align: center; }

  /* Sekmeler: ikon ve yazı yan yana, daha alçak */
  .paytabs { gap: 8px; }
  .paytab { flex-direction: row; justify-content: center; padding: 10px 8px; font-size: 12px; }
  .paytab .icon { width: 28px; height: 28px; border-radius: 9px; }

  /* Adım şeridi: numara üstte kalsın ama yazılar küçülsün */
  .trsteps { gap: 6px; }
  .trstep { padding: 8px 5px; font-size: 11px; }
  .trstep__no { width: 20px; height: 20px; font-size: 11px; }

  /* Sayfa başlığı ve iki kolon */
  .trpage__head { gap: 10px; }
  .tramount__value,
  .tramount__field input { font-size: 21px; }
  .tramount__suffix { font-size: 16px; }
}

@media (max-width: 420px) {
  .trbank__body { padding: 10px 11px 32px; gap: 9px; }
  .trbank__icon { width: 30px; height: 30px; border-radius: 9px; }
  .trbank__iban { font-size: 11px; }
  .trdrop { height: auto; padding: 10px 11px; }
  .trstep__label { font-size: 10.5px; }
}

/* Üyenin son bildirimleri */

@media (max-width: 860px) {
  .trgrid { grid-template-columns: minmax(0, 1fr); }
  .trform--wide { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------------------------------------------------
   Siparişlerim: sekmeler, açılır satırlar, sipariş süreci
   -------------------------------------------------------------------------- */
.ordpanel { overflow: hidden; }

.ordbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line-soft);
}

.ordtabs { display: flex; flex-wrap: wrap; gap: 4px; }

.ordtab {
  flex: none;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 13px; border-radius: 11px;
  white-space: nowrap;
  font-size: 13px; font-weight: 700; color: var(--muted);
  transition: color .2s, background .2s;
}
.ordtab:hover { color: var(--text-strong); background: var(--surface-4); }

.ordtab.is-active { color: var(--text-strong); background: color-mix(in srgb, var(--accent) 12%, transparent); }

.ordtab__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: var(--surface-5); font-size: 11px; font-weight: 800; color: var(--muted);
}
.ordtab.is-active .ordtab__count { background: var(--accent); color: var(--on-accent); }

.ordsearch {
  position: relative; display: flex; align-items: center; gap: 8px;
  flex: 1 1 220px; max-width: 320px;
  box-sizing: border-box; padding: 0 12px; height: 40px;
  border-radius: 12px; background: var(--surface-4); border: 1px solid var(--line-soft);
  transition: border-color .2s, box-shadow .2s;
}
.ordsearch:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.ordsearch > .icon { flex: none; color: var(--muted-2); }
.ordsearch input {
  flex: 1; min-width: 0; border: 0; background: transparent;
  font: inherit; font-size: 13px; color: var(--text-strong);
}
.ordsearch input:focus { outline: none; }
.ordsearch input::placeholder { color: var(--muted-2); }
.ordsearch__clear { flex: none; display: flex; color: var(--muted-2); }
.ordsearch__clear:hover { color: var(--danger); }

/* --- Liste --- */
.ordlist { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.ordlist > li + li { border-top: 1px solid var(--line-soft); }

.ordrow { --st: var(--accent); }
.ordrow.status--ok { --st: var(--ok); }
.ordrow.status--warn { --st: var(--warn); }
.ordrow.status--danger { --st: var(--danger); }
.ordrow.status--info { --st: var(--accent); }

.ordrow__head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto auto auto 28px;
  align-items: center; gap: 12px;
  padding: 13px 14px; cursor: pointer; list-style: none;
  transition: background .2s;
}
.ordrow__head::-webkit-details-marker { display: none; }
.ordrow__head:hover { background: var(--surface-4); }
.ordrow[open] .ordrow__head { background: var(--surface-4); }

.ordrow__thumb {
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 13px; overflow: hidden;
  background: var(--surface-3); border: 1px solid var(--line-soft); color: var(--muted-2);
}
.ordrow__thumb img { width: 100%; height: 100%; object-fit: cover; }

.ordrow__main { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.ordrow__title {
  font-size: 13.5px; font-weight: 800; color: var(--text-strong);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ordrow__plus { font-size: 11.5px; font-weight: 700; color: var(--muted-2); }

.ordrow__chips { display: flex; flex-wrap: wrap; gap: 5px; }
.ordchip {
  padding: 2px 8px; border-radius: 999px;
  background: var(--surface-5); font-size: 11px; font-weight: 700; color: var(--muted);
}

.ordrow__no { display: flex; flex-direction: column; gap: 3px; text-align: right; }
.ordrow__code { font-size: 12.5px; font-weight: 800; color: var(--text-2); }
.ordrow__date { font-size: 11.5px; color: var(--muted-2); }

.ordrow__total { font-size: 14.5px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-strong); }
.ordrow__state { display: flex; }

.ordrow__toggle {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 9px;
  background: var(--surface-2); border: 1px solid var(--line-soft); color: var(--muted);
  transition: transform .25s ease, color .2s, border-color .2s;
}
.ordrow__head:hover .ordrow__toggle { color: var(--accent); border-color: var(--accent); }
.ordrow[open] .ordrow__toggle { transform: rotate(180deg); }

/* --- Açılan gövde --- */
.ordbody {
  display: grid; grid-template-columns: 250px minmax(0, 1fr);
  gap: 14px;
  /* Başlıkla arasında nefes payı; üstteki ince çizgi ikisini ayırır */
  margin: 0 14px; padding: 14px 0 16px;
  border-top: 1px solid var(--line-soft);
}

.ordbody__title {
  display: flex; align-items: center; gap: 7px; margin: 0 0 10px;
  font-size: 11.5px; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; color: var(--muted);
}
.ordbody__title .icon { color: var(--accent); }

.ordflow, .orditem {
  padding: 13px 14px; border-radius: 14px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
}

/* Zaman çizelgesi */
.ordsteps { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }

.ordstep { position: relative; display: flex; gap: 10px; padding-bottom: 14px; }
.ordstep:last-child { padding-bottom: 0; }

/* Noktaları birleştiren dikey çizgi */
.ordstep:not(:last-child)::before {
  content: ''; position: absolute; left: 10px; top: 22px; bottom: 2px;
  width: 2px; background: color-mix(in srgb, var(--accent) 55%, transparent);
}

.ordstep__dot {
  position: relative; z-index: 1; flex: none;
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--accent); border: 2px solid var(--accent); color: var(--on-accent);
}
.ordstep.is-cancel .ordstep__dot { background: var(--danger); border-color: var(--danger); color: #fff; }

/* Sıradaki adım: henüz olmadı, kesik halka ile ayrışır */
.ordstep.is-wait .ordstep__dot {
  background: var(--surface-2); border-style: dashed; border-color: var(--line-mid); color: var(--muted-2);
}
.ordstep.is-wait:not(:last-child)::before { background: var(--line-mid); }

.ordstep__text { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ordstep__name { font-size: 12.5px; font-weight: 700; color: var(--text-strong); }
.ordstep.is-wait .ordstep__name { font-weight: 600; color: var(--muted); }
.ordstep__time { font-size: 11.5px; color: var(--muted-2); }

/* Kalemler */
.orddetail { min-width: 0; display: flex; flex-direction: column; gap: 10px; }

.orditem__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.orditem__name { flex: 1 1 160px; min-width: 0; font-size: 13.5px; font-weight: 800; color: var(--text-strong); }
.orditem__meta { font-size: 12px; color: var(--muted); }
.orditem__hint { display: flex; align-items: center; gap: 6px; margin: 9px 0 0; font-size: 12px; color: var(--muted); }
.orditem__hint--off .icon { color: var(--danger); }

.ordfields { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 9px 0 0; }
.ordfields > div { display: flex; align-items: baseline; gap: 6px; }
.ordfields dt { font-size: 11.5px; color: var(--muted); }
.ordfields dd { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--text-2); }

.ordcodes {
  display: flex; flex-direction: column; gap: 7px;
  margin-top: 10px; padding: 11px; border-radius: 12px; background: var(--surface-2);
}
.ordcodes__label {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted);
}
.ordcodes__label .icon { color: var(--accent); }

.ordcode {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 11px; border-radius: 10px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
}
.ordcode code {
  font-family: ui-monospace, monospace; font-size: 13px; font-weight: 700;
  color: var(--text-strong); overflow-wrap: anywhere;
}
.ordcode__copy {
  flex: none; display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 9px; border-radius: 8px;
  border: 1px solid var(--line-soft); background: transparent;
  font: inherit; font-size: 11px; font-weight: 700; color: var(--muted); cursor: pointer;
}
.ordcode__copy:hover { color: var(--accent); border-color: var(--accent); }

.ordpayload { font-size: 13px; line-height: 1.6; color: var(--text-2); overflow-wrap: anywhere; }

/* Sipariş bilgileri (ayrı detay sayfası yerine burada) */
.ordfacts {
  display: flex; flex-direction: column; gap: 7px;
  margin: 13px 0 0; padding-top: 12px; border-top: 1px solid var(--line-soft);
}
.ordfacts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ordfacts dt { flex: none; font-size: 11.5px; color: var(--muted); }
.ordfacts dd {
  margin: 0; min-width: 0; text-align: right;
  font-size: 12.5px; font-weight: 700; color: var(--text-2); overflow-wrap: anywhere;
}
.ordfacts dd code { font-family: ui-monospace, monospace; font-size: 12px; color: var(--text-strong); }
.ordfacts dd strong { font-size: 14px; color: var(--text-strong); }
.ordfacts__save { color: var(--ok); }

/* --- Sipariş kaleminde değerlendirme --- */
.ordreview { margin-top: 10px; }

.ordreview__toggle {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 11px; border-radius: 999px;
  background: var(--surface-2); border: 1px solid var(--line-soft);
  font-size: 12px; font-weight: 700; color: var(--muted);
  cursor: pointer; list-style: none;
  transition: color .2s, border-color .2s;
}
.ordreview__toggle::-webkit-details-marker { display: none; }
.ordreview__toggle:hover { color: var(--gold, #F5C451); border-color: color-mix(in srgb, var(--gold, #F5C451) 50%, transparent); }
.ordreview__toggle .icon { color: var(--gold, #F5C451); }

.ordreview__form {
  display: flex; flex-direction: column; gap: 9px;
  margin-top: 10px; padding: 12px; border-radius: 12px;
  background: var(--surface-2); border: 1px solid var(--line-soft);
}

.ordreview__input {
  box-sizing: border-box; width: 100%; padding: 10px 12px;
  border-radius: 11px; background: var(--surface-4); border: 1px solid var(--line-soft);
  font: inherit; font-size: 13px; line-height: 1.55; color: var(--text-strong); resize: vertical;
}
.ordreview__input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }

.ordreview__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ordreview__note { flex: 1 1 180px; min-width: 0; font-size: 11.5px; color: var(--muted); }

/* Gönderilmiş değerlendirme: puan + metin + durum */
.ordreview--done {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
  padding: 10px 12px; border-radius: 12px;
  background: var(--surface-2); border: 1px solid var(--line-soft);
}
.ordreview__stars { display: inline-flex; gap: 2px; color: var(--gold, #F5C451); }
.ordreview__text { flex: 1 1 160px; min-width: 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }

/* Yıldızla puanlama: sağdan sola dizilir, hover/seçim soldakileri de doldurur */
.starpick { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; margin: 0; padding: 0; border: 0; }
.starpick__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.starpick__star { display: inline-flex; padding: 2px; color: var(--line-mid); cursor: pointer; transition: color .15s; }
.starpick__input:checked ~ .starpick__star,
.starpick__star:hover,
.starpick__star:hover ~ .starpick__star { color: var(--gold, #F5C451); }
.starpick__input:focus-visible + .starpick__star { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }

/* Ürün sayfasında hiç yorum yokken */
.reviews__empty {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: clamp(28px, 4vw, 44px) 20px; border-radius: 18px;
  background: var(--surface); border: 1px solid var(--line-card); text-align: center;
}
.reviews__emptyicon {
  display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 16px;
  background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent);
}
.reviews__emptytitle { margin: 4px 0 0; font-size: 15px; font-weight: 800; color: var(--text-strong); }
.reviews__emptytext { margin: 0 0 4px; font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 46ch; }

/* Ürün sayfasında yorum koşulu notu */
.reviews__note {
  display: flex; align-items: center; flex-wrap: wrap; gap: 7px;
  margin: 14px 0 0; padding: 12px 14px; border-radius: 13px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
  font-size: 13px; line-height: 1.55; color: var(--text-3);
}
.reviews__note .icon { color: var(--accent); }
.reviews__note a { color: var(--accent); font-weight: 700; }

/* Ödemesi yarım kalan sipariş: sağ alta yaslanan bağlantı */
.ordfoot { display: flex; justify-content: flex-end; margin-top: 2px; }
.ordfoot__link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 800; color: var(--accent);
}
.ordfoot__link:hover { text-decoration: underline; }
.ordfoot__link > .icon { transition: transform .2s ease; }
.ordfoot__link:hover > .icon { transform: translateX(3px); }

@media (max-width: 900px) {
  .ordbody { grid-template-columns: minmax(0, 1fr); }
}

/* Dar ekran: satır iki sıraya bölünür, kod/tutar/durum alta iner */
@media (max-width: 680px) {
  .ordbar { padding: 11px 12px; }
  .ordsearch { max-width: none; }

  /* Sekmeler alt alta sarmak yerine tek sırada kaydırılır */
  .ordtabs {
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Kenarlardan taşan sekmeler kesik durmasın: şerit kenara kadar aksın */
    margin: 0 -12px;
    padding: 0 12px;
    scroll-padding: 0 12px;
  }
  .ordtabs::-webkit-scrollbar { display: none; }
  .ordtab { scroll-snap-align: start; }

  .ordrow__head {
    grid-template-columns: 46px minmax(0, 1fr) 28px;
    grid-template-areas:
      'thumb main toggle'
      'no    no   no'
      'total state state';
    gap: 8px 10px; padding: 12px;
  }
  .ordrow__thumb { grid-area: thumb; width: 46px; height: 46px; }
  .ordrow__main { grid-area: main; }
  .ordrow__toggle { grid-area: toggle; align-self: start; }
  .ordrow__no { grid-area: no; flex-direction: row; align-items: center; gap: 8px; text-align: left; }
  .ordrow__total { grid-area: total; }
  .ordrow__state { grid-area: state; justify-content: flex-end; }
  .ordbody { margin: 0 12px; padding: 12px 0 14px; }
}

/* --------------------------------------------------------------------------
   Davet Et: bağlantı kutusu ve adımlar
   -------------------------------------------------------------------------- */
.refshare { display: flex; flex-direction: column; gap: 10px; }

.refshare__row { display: flex; gap: 8px; }

.refshare__input {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  height: 50px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px dashed var(--line-mid);
  background: var(--surface-4);
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-strong);
  text-overflow: ellipsis;
}
.refshare__input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }

.refshare__code { margin: 0; font-size: 13px; color: var(--muted); }
.refshare__code strong { font-size: 15px; letter-spacing: .12em; color: var(--text-strong); }

.refshare__mini {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  padding: 3px 8px;
  border: 0;
  border-radius: 8px;
  background: var(--surface-5);
  font: inherit;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
}
.refshare__mini:hover { color: var(--text-strong); }
.refshare__mini.is-copied, .corpbtn.is-copied { color: var(--ok); }

.refsteps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 719px) { .refsteps { grid-template-columns: minmax(0, 1fr); } }

.refstep {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px;
  border-radius: 14px;
  border: 1px solid var(--line-soft);
  background: var(--surface-2);
}

.refstep__no {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  font-size: 12.5px;
  font-weight: 800;
  color: var(--accent);
}

.refstep__text { font-size: 12.5px; line-height: 1.55; color: var(--muted); }
.refstep__text strong { display: block; color: var(--text-strong); }

/* .accnote'un kendi üst boşluğu yok: adımlara yapışmasın */
.refsteps + .accnote { margin-top: 12px; }

/* Kayıt formundaki "seni X davet etti" notu */
.refnote {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--ok) 45%, transparent);
  background: color-mix(in srgb, var(--ok) 9%, transparent);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--muted);
}
.refnote > .icon { flex: none; margin-top: 1px; color: var(--ok); }
.refnote strong { color: var(--text-strong); }

/* --------------------------------------------------------------------------
   Çekilişler
   Her çekiliş tek kartta: başlık şeridi, geri sayım, görselli ödül ızgarası,
   ödül havuzu / katılımcı sayacı, katılım düğmesi ve açılır ayrıntılar.
   Ayrı detay sayfası yoktur.
   -------------------------------------------------------------------------- */
.gwshop { padding-bottom: clamp(44px, 6vw, 84px); }
.gwshop__note { margin-bottom: 18px; }

.gwhead { margin-bottom: clamp(18px, 2.4vw, 28px); }

.gwhead__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}

.gwhead__title {
  margin: 13px 0 7px;
  font-size: clamp(25px, 3.6vw, 36px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}
.gwhead__lead { margin: 0; max-width: 62ch; font-size: 14.5px; line-height: 1.6; color: var(--muted); }

/* --- Izgara --- */
.gwgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 18px);
  align-items: start;
}
@media (max-width: 1099px) { .gwgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 719px)  { .gwgrid { grid-template-columns: minmax(0, 1fr); } }

/* --- Kart --- */
.gwcard {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid var(--line-card);
  background: var(--surface);
  transition: border-color .2s, box-shadow .2s;
}
.gwcard:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line-card)); }
.gwcard.is-done { opacity: .82; }

/* Başlık şeridi */
.gwcard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line-soft);
}

.gwcard__brand { display: flex; align-items: center; gap: 10px; min-width: 0; }

.gwcard__brandimg,
.gwcard__brandicon {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  object-fit: cover;
}
.gwcard__brandicon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
}

.gwcard__tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
}
.gwcard__site { display: block; margin-top: 3px; font-size: 14px; font-weight: 800; color: var(--text-strong); }

.gwcard__state {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 99px;
  background: var(--surface-4);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}
.gwcard__state--in  { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); }
.gwcard__state--req { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }

.gwcard__title {
  margin: 14px 0 0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.01em;
  color: var(--text-strong);
  text-transform: uppercase;
}

/* --- Geri sayım şeridi --- */
.gwstrip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 13px;
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: center;
}
.gwstrip > .icon { flex: none; }
.gwstrip__suffix { font-weight: 700; opacity: .85; }
.gwstrip.is-soon { border-color: color-mix(in srgb, var(--warn) 55%, transparent); background: color-mix(in srgb, var(--warn) 12%, transparent); color: var(--warn); }
.gwstrip--done, .gwstrip.is-over {
  border-color: var(--line-soft);
  background: var(--surface-4);
  color: var(--muted);
}

/* --- Ödüller --- */
.gwprizes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 8px;
  margin-top: 14px;
  padding: 12px;
  border-radius: 16px;
  background: var(--surface-2);
}

.gwprizecard {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: var(--surface);
}

/* Kazanan sayısı rozeti (1X, 3X…) */
.gwprizecard__x {
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 2;
  padding: 2px 6px;
  border-radius: 6px;
  background: linear-gradient(135deg, #f97316, #fb923c);
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 3px 10px -3px rgba(0, 0, 0, .7);
}

/* Ödül görselleri her zaman 1:1 (kare): ürün görseli de bakiye görseli de
   aynı orana oturur, ızgara satırları kaymaz.
   height: auto şart — yoksa <img height="..."> özniteliği kazanır ve
   aspect-ratio hiç devreye girmez (görsel dikey uzar). */
.gwprizecard__img,
.gwprizecard__ph {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 9px;
  object-fit: cover;
  object-position: center;
  background: var(--surface-4);
}
.gwprizecard__ph { display: flex; align-items: center; justify-content: center; color: var(--icon-muted); }

.gwprizecard__name {
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Bakiye ödülünün görseli PHP'de üretiliyor (App\Libraries\PrizeImage):
   pinhesap-bakiye.png üzerine tutar Coastal-Hand ile turuncu yazılır. */

/* --- Sayaçlar --- */
.gwstats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.gwstat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 12px 10px;
  border-radius: 14px;
  background: var(--surface-2);
  border: 1px solid var(--line-soft);
  text-align: center;
}

.gwstat__value {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.gwstat__value--pool { color: var(--ok); }

.gwstat__label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted-2);
}

/* --- Katılım --- */
.gwjoin {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  height: 48px;
  margin-top: 12px;
  border: 0;
  border-radius: 14px;
  background: var(--grad-accent);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  color: var(--on-accent);
  cursor: pointer;
  transition: box-shadow .2s, filter .2s;
}
.gwjoin:hover:not(:disabled) { color: var(--on-accent); box-shadow: 0 12px 28px color-mix(in srgb, var(--accent) 36%, transparent); }
.gwjoin:disabled { background: var(--surface-5); color: var(--muted-2); cursor: not-allowed; box-shadow: none; }

.gwjoined {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 0;
  padding: 13px;
  border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--ok) 45%, transparent);
  background: color-mix(in srgb, var(--ok) 9%, transparent);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ok);
  text-align: center;
}

/* --- Açılır ayrıntılar --- */
.gwmore { margin-top: 8px; }

.gwmore__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border-radius: 14px;
  background: var(--surface-4);
  font-size: 13px;
  font-weight: 800;
  color: var(--text-2);
  cursor: pointer;
  list-style: none;
  transition: background .2s, color .2s;
}
.gwmore__head::-webkit-details-marker { display: none; }
.gwmore__head:hover { background: var(--surface-5); color: var(--text-strong); }
.gwmore__head .icon { transition: transform .2s; }
.gwmore[open] .gwmore__head .icon { transform: rotate(180deg); }

.gwmore__body { padding: 14px 2px 2px; }
.gwmore__lead { margin: 0 0 10px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.gwmore__text { margin-bottom: 12px; font-size: 13px; }

.gwmore__label {
  display: block;
  margin: 14px 0 8px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-2);
}

.gwmore__facts { margin: 0; }
.gwmore__facts > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: 12.5px;
}
.gwmore__facts > div:last-child { border-bottom: 0; }
.gwmore__facts dt { color: var(--muted); }
.gwmore__facts dd { margin: 0; font-weight: 700; color: var(--text-strong); text-align: right; }

/* --- Katılım şartları --- */
.gwreq { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; }

.gwreq__item { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--muted); }

.gwreq__mark {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--danger) 14%, transparent);
  color: var(--danger);
}
.gwreq__item.is-ok .gwreq__mark { background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); }

.gwreq__text { flex: 1; min-width: 0; }
.gwreq__text strong { color: var(--text-strong); }
.gwreq__have { flex: none; font-weight: 800; color: var(--text-2); font-variant-numeric: tabular-nums; }
.gwreq__note { margin: 8px 0 0; font-size: 12px; color: var(--muted-2); }

/* --- Kazananlar --- */
.gwwinlist { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }

.gwwin {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 11px;
  background: var(--surface-2);
  font-size: 12.5px;
}
.gwwin.is-me { background: color-mix(in srgb, var(--ok) 10%, transparent); }

.gwwin__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--gold, var(--warn)) 20%, transparent);
  color: var(--gold, var(--warn));
}
.gwwin__who { flex: 1; min-width: 0; color: var(--text-2); }
.gwwin__who strong { color: var(--text-strong); }
.gwwin__prize { flex: none; display: flex; align-items: center; gap: 7px; font-weight: 800; color: var(--text-strong); }
.gwwin__order { font-size: 11px; font-weight: 700; color: var(--accent); }
/* --------------------------------------------------------------------------
   Puan Mağazası
   Üst panel (bakiye sayacı), puan kazanma yolları ve ürün kartları.
   Kart, puanı yetmeyen üyeye ilerleme çubuğu gösterir.
   -------------------------------------------------------------------------- */
.ptshop { padding-bottom: clamp(44px, 6vw, 84px); }

/* --- Üst panel --- */
.pthero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  margin-bottom: clamp(16px, 2vw, 24px);
  padding: clamp(22px, 3.2vw, 38px);
  border-radius: 24px;
  border: 1px solid var(--line-card);
  background: var(--surface);
}
@media (max-width: 819px) { .pthero { grid-template-columns: minmax(0, 1fr); } }

/* Köşeden yayılan hale: kart sınırını aşmaz (overflow: hidden) */
.pthero__glow {
  position: absolute;
  top: -55%;
  right: -12%;
  width: 55%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 30%, transparent) 0%, transparent 68%);
  pointer-events: none;
}

.pthero__text { position: relative; min-width: 0; }

.pthero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}

.pthero__title {
  margin: 13px 0 7px;
  font-size: clamp(25px, 3.6vw, 36px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text-strong);
}

.pthero__lead { margin: 0; max-width: 56ch; font-size: 14.5px; line-height: 1.6; color: var(--muted); }

/* --- Bakiye sayacı --- */
.ptmeter {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 232px;
  padding: 20px 26px;
  border-radius: 20px;
  border: 1px dashed color-mix(in srgb, var(--accent) 45%, transparent);
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  text-align: center;
}

.ptmeter__label { font-size: 12.5px; font-weight: 600; color: var(--muted); }

.ptmeter__value {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: clamp(34px, 4.4vw, 44px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
}
.ptmeter__value span { font-size: 14px; font-weight: 700; letter-spacing: 0; color: var(--muted); }

.ptmeter__note {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.ptmeter__note--ok { color: var(--ok); }

.ptmeter--guest { gap: 10px; }
.ptmeter__alt { font-size: 12px; font-weight: 700; color: var(--accent); }

/* --- Ortak düğme --- */
.ptbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 13px;
  background: var(--surface-4);
  font: inherit;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--text-strong);
  cursor: pointer;
  transition: background .2s, box-shadow .2s, color .2s, transform .2s;
}
.ptbtn--primary { background: var(--grad-accent); color: var(--on-accent); }
.ptbtn--primary:hover { color: var(--on-accent); box-shadow: 0 10px 26px color-mix(in srgb, var(--accent) 36%, transparent); }

/* --- Puan kazanma yolları --- */
.ptways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 14px);
  margin-bottom: clamp(22px, 3vw, 34px);
}
@media (max-width: 979px) { .ptways { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .ptways { grid-template-columns: minmax(0, 1fr); } }

.ptway {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--line-card);
  background: var(--surface);
  color: inherit;
  transition: border-color .2s, transform .2s;
}
.ptway:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line-card)); transform: translateY(-2px); color: inherit; }

.ptway__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--accent) 13%, transparent);
  color: var(--accent);
}

.ptway__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ptway__title { font-size: 14px; font-weight: 800; color: var(--text-strong); }
.ptway__text { font-size: 12.5px; line-height: 1.5; color: var(--muted); }

.ptway__cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}
.ptway__cta .icon { transition: transform .2s; }
.ptway:hover .ptway__cta .icon { transform: translateX(3px); }

@media (max-width: 599px) {
  /* Dar ekranda bağlantı metni satır sonunda kalsın */
  .ptway { align-items: center; }
  .ptway__cta { display: none; }
}

/* --- Liste başlığı --- */
.ptlist__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.ptlist__title { margin: 0; font-size: 19px; font-weight: 800; letter-spacing: -.01em; color: var(--text-strong); }
.ptlist__count { font-size: 13px; font-weight: 700; color: var(--muted); }

/* --- Ürün ızgarası --- */
/* Geniş ekranda altı kart yan yana; dar ekranda en az iki kart kalır */
.ptgrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(9px, 1vw, 14px);
}
@media (max-width: 1439px) { .ptgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 1199px) { .ptgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 979px)  { .ptgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 719px)  { .ptgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.ptcard {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 9px;
  border-radius: 18px;
  border: 1px solid var(--line-card);
  background: var(--surface);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.ptcard:hover {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line-card));
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -26px rgba(0, 0, 0, .7);
}
/* Puanı yeten ürün ince yeşil çerçeveyle öne çıkar */
.ptcard.is-ready { border-color: color-mix(in srgb, var(--ok) 45%, transparent); }
.ptcard.is-out { opacity: .62; }
.ptcard.is-out:hover { transform: none; box-shadow: none; }

.ptcard__thumb {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 15px;
  background: var(--surface-4);
  aspect-ratio: 1 / 1;
}

.ptcard__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.ptcard:hover .ptcard__img { transform: scale(1.04); }

/* Puan bedeli: görselin üstünde rozet */
.ptcard__cost {
  position: absolute;
  left: 8px;
  top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 9px;
  background: var(--grad-accent);
  font-size: 11.5px;
  font-weight: 800;
  color: var(--on-accent);
  box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .6);
}

/* Durum etiketi altta: "Öne çıkan" rozetiyle çakışmasın */
.ptcard__flag {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 9px;
  font-size: 10.5px;
  font-weight: 800;
  color: #fff;
}
.ptcard__flag--ok  { background: color-mix(in srgb, var(--ok) 88%, black); }
.ptcard__flag--out { background: color-mix(in srgb, var(--danger) 85%, black); }

/* --- Öne çıkan: mağaza kartıyla aynı altın görünüm ---
   Seçici çift sınıflı: .ptcard.is-ready'nin yeşil çerçevesini yensin. */
.ptcard.ptcard--featured {
  border-color: color-mix(in srgb, var(--gold) 55%, transparent);
  background:
    radial-gradient(120% 90% at 50% -10%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 60%),
    var(--surface);
  animation: goldPulse 3.2s ease-in-out infinite;
}
.ptcard.ptcard--featured:hover { border-color: var(--gold); }
.ptcard--featured .ptcard__link:hover { color: var(--gold-2); }

/* Puan bedeli de altın olur */
.ptcard--featured .ptcard__cost {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold) 50%, var(--gold-2));
  color: var(--on-gold);
}

/* Rozet: altın degrade + üzerinden geçen parıltı (product__star ile aynı) */
.ptcard__star {
  position: absolute;
  right: 8px;
  top: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--gold-deep), var(--gold) 45%, var(--gold-2));
  color: var(--on-gold);
  font-size: 10px;
  font-weight: 800;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--gold) 45%, transparent);
}

.ptcard__star::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 45%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent);
  animation: goldShine 2.8s ease-in-out infinite;
}

/* Satın alma düğmesi de altın; parıltısı nefes alır */
.ptcard--featured .ptbtn--buy {
  background: linear-gradient(135deg, var(--gold-deep), var(--gold) 50%, var(--gold-2));
  color: var(--on-gold);
  animation: goldGlow 3.2s ease-in-out infinite;
}
.ptcard--featured .ptbtn--buy:hover:not(:disabled) { color: var(--on-gold); filter: brightness(1.06); box-shadow: none; }
.ptcard--featured .ptbtn--buy:disabled { background: var(--surface-5); color: var(--muted); animation: none; }

/* Altın kartta ilerleme çubuğu da altın akar */
.ptcard--featured .ptprog__fill { background: linear-gradient(90deg, var(--gold-deep), var(--gold-2)); }

@media (prefers-reduced-motion: reduce) {
  .ptcard--featured,
  .ptcard--featured .ptbtn--buy,
  .ptcard__star::after { animation: none; }
}

.ptcard__body { flex: 1; display: flex; flex-direction: column; padding: 11px 3px 0; }

/* Ad iki satırda sabitlenir: dar kartlarda yükseklikler eşit kalsın */
.ptcard__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  min-height: 2.8em;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.ptcard__link { color: var(--text-strong); }
.ptcard__link:hover { color: var(--accent); }

.ptcard__worth { margin: 4px 0 0; font-size: 11.5px; color: var(--muted-2); }

/* --- İlerleme çubuğu --- */
.ptprog { margin-top: 11px; }

.ptprog__bar {
  display: block;
  height: 5px;
  border-radius: 99px;
  background: var(--surface-5);
  overflow: hidden;
}
.ptprog__fill { display: block; height: 100%; border-radius: 99px; background: var(--grad-accent); }

.ptprog__text { display: block; margin-top: 6px; font-size: 11px; line-height: 1.4; color: var(--muted); }
.ptprog__text strong { color: var(--text-strong); font-variant-numeric: tabular-nums; }

@media (max-width: 719px) {
  /* İki kolonlu mobil: kart daralır, yazılar biraz küçülür */
  .ptcard { padding: 8px; }
  .ptcard__name { font-size: 12.5px; }
  .ptcard__cost { font-size: 11px; padding: 4px 8px; }
  .ptcard__star { font-size: 9.5px; padding: 3px 7px; }
  .ptcard__flag { font-size: 9.5px; padding: 4px 7px; }
  .ptbtn--buy { height: 38px; font-size: 12px; gap: 6px; }
}

.ptcard__form { margin-top: 10px; }

.ptbtn--buy { width: 100%; height: 40px; padding: 0 10px; font-size: 12.5px; background: var(--grad-accent); color: var(--on-accent); }
.ptbtn--buy:hover:not(:disabled) { color: var(--on-accent); box-shadow: 0 10px 24px color-mix(in srgb, var(--accent) 34%, transparent); }
.ptbtn--buy:disabled { background: var(--surface-5); color: var(--muted-2); cursor: not-allowed; box-shadow: none; }

/* --- Boş durum --- */
.ptempty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: clamp(36px, 5vw, 60px) 22px;
  border-radius: 22px;
  border: 1px dashed var(--line-mid);
  background: var(--surface);
  text-align: center;
}
.ptempty__icon { color: var(--icon-muted); }
.ptempty__title { margin: 8px 0 0; font-size: 17px; font-weight: 800; color: var(--text-strong); }
.ptempty__text { margin: 0 0 8px; max-width: 46ch; font-size: 13.5px; line-height: 1.6; color: var(--muted); }

.ptshop__note { margin-bottom: 18px; }

/* --------------------------------------------------------------------------
   Hesap hareketleri tablosu
   Cüzdan hareketleri, kart ödemeleri ve havale bildirimleri tek tabloda.
   Dar ekranda satırlar karta dönüşür (thead gizlenir, hücreler data-label
   ile etiketlenir).
   -------------------------------------------------------------------------- */
.acttabs {
  display: flex;
  gap: 6px;
  /* Kart başlığının altında kendi bandı: başlığa yapışmasın.
     Alt ayırıcı gerekmiyor, tablo başlığının border-top'u o işi görüyor. */
  padding: 14px 20px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.acttabs::-webkit-scrollbar { display: none; }

.acttab {
  flex: none;
  padding: 8px 13px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--surface-4);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
  transition: color .2s, background .2s, border-color .2s;
}
.acttab:hover { color: var(--text-strong); }
.acttab.is-active {
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
}

.acttable-wrap { overflow-x: auto; }

.acttable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.acttable thead th {
  padding: 9px 16px;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted-2);
  text-align: left;
  white-space: nowrap;
}
.acttable th.is-num,
.acttable td.is-num { text-align: right; }

.acttable td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--line-soft);
  vertical-align: middle;
}
.acttable tbody tr:last-child td { border-bottom: 0; }
.acttable tbody tr { transition: background .15s; }
.acttable tbody tr:hover { background: var(--surface-2); }

.actrow__cell { display: flex; align-items: center; gap: 11px; }

.actrow__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--st, var(--accent)) 14%, transparent);
  color: var(--st, var(--accent));
}
.actrow__icon--ok     { --st: var(--ok); }
.actrow__icon--warn   { --st: var(--warn); }
.actrow__icon--info   { --st: var(--info); }
.actrow__icon--err    { --st: var(--danger); }
.actrow__icon--muted  { --st: var(--muted); }

.actrow__title { display: block; font-size: 13.5px; font-weight: 700; color: var(--text-strong); }
.actrow__note {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted-2);
  overflow-wrap: anywhere;
}

.actrow__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: var(--accent);
}
.actrow__link .icon { transition: transform .2s; }
.actrow__link:hover .icon { transform: translateX(3px); }

.actrow__method { font-size: 12.5px; font-weight: 600; color: var(--muted); white-space: nowrap; }

.actrow__date { font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.actrow__date span { display: block; font-size: 11.5px; color: var(--muted-2); }

.actrow__amount {
  display: block;
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.actrow__amount.is-in  { color: var(--ok); }
.actrow__amount.is-out { color: var(--danger); }

.actrow__after {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--muted-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

@media (max-width: 719px) {
  .acttabs { padding: 12px 14px; }

  /* Kart görünümü: başlık satırı yerine hücre etiketleri */
  .acttable-wrap { overflow-x: visible; }
  .acttable, .acttable tbody, .acttable tr, .acttable td { display: block; width: auto; }
  .acttable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

  .acttable tbody tr {
    margin: 0 12px 10px;
    padding: 12px 13px;
    border-radius: 14px;
    border: 1px solid var(--line-soft);
    background: var(--surface-2);
  }
  .acttable tbody tr:hover { background: var(--surface-2); }

  .acttable td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 0;
    text-align: right;
  }
  /* İlk hücre (işlem) tam genişlikte ve etiketsiz durur */
  .acttable td:first-child { padding-top: 0; }
  .acttable td:first-child::before { display: none; }
  .acttable td:not(:first-child)::before {
    content: attr(data-label);
    flex: none;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--muted-2);
  }
  .acttable td.is-num { text-align: right; }
  .acttable td:last-child {
    flex-wrap: wrap;
    margin-top: 4px;
    padding-top: 10px;
    padding-bottom: 0;
    border-top: 1px solid var(--line-soft);
  }
  /* Kalan bakiye alt satıra, sağa yaslı geçer */
  .acttable td:last-child .actrow__after { width: 100%; text-align: right; }
  .actrow__cell { width: 100%; }
}

/* Sepet satırındaki müşteri bilgileri ve alt işlem çubuğu */
/* Siparişlerim: paket başlığı ve içindeki ürünler */
.ordbundle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 14px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); }
.ordbundle__name { flex: 1; min-width: 0; font-size: 14px; font-weight: 800; color: var(--text-strong); }
.orditem--inbundle { margin-left: 14px; border-left: 2px solid color-mix(in srgb, var(--accent) 40%, transparent); }
/* Paket satırı: seçilen ürünler; fiyat sabit, üstü çizili fiyat yok */
.cartitem--bundle .cartitem__old { display: none; }
.cartitem__tag { display: inline-flex; align-items: center; height: 20px; margin-left: 4px; padding: 0 8px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); font-size: 11px; font-weight: 800; vertical-align: 2px; }
.cartitem__picks { display: flex; flex-direction: column; gap: 4px; margin: 8px 0 0; padding: 0; list-style: none; }
.cartitem__picks li { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--text-3); }
.cartitem__picks img { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 6px; object-fit: cover; background: var(--white); }
.cartitem__picks small { font-size: 11.5px; color: var(--muted); }
.cartitem__edit { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 700; }
.cartitem__fields { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 0; font-size: 12px; color: var(--muted); }
.cartfoot { display: flex; justify-content: flex-end; padding: 10px 0 0; }
.cartfoot__clear { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--line-soft); background: transparent; font-size: 12.5px; font-weight: 700; color: var(--muted); cursor: pointer; }
.cartfoot__clear:hover { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, transparent); }

/* --- Talep sayfası: sohbet paneli + yan bilgi sütunu --- */
.tkgrid { display: grid; grid-template-columns: minmax(0, 1fr) 306px; gap: clamp(12px, 1.5vw, 18px); align-items: start; }
.tkgrid--sideleft { grid-template-columns: 306px minmax(0, 1fr); }
@media (max-width: 1099px) {
  .tkgrid, .tkgrid--sideleft { grid-template-columns: minmax(0, 1fr); }
  .tkgrid--sideleft .tkside { order: 2; }
}

.tkpanel {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  border-radius: 18px; overflow: hidden;
  background: var(--surface-3); border: 1px solid var(--line-soft);
}
/* Üstteki ince vurgu şeridi */
.tkpanel::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--grad-accent); }

.tkpanel__head { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line-soft); }
.tkpanel__icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 14px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent); font-size: 14px; font-weight: 800;
}
.tkpanel__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.tkpanel__title { margin: 0; font-size: 16px; font-weight: 800; color: var(--text-strong); overflow-wrap: anywhere; }
.tkpanel__main .tkbadges { margin-top: 0; }
.tkpanel__side { flex: none; display: flex; align-items: center; gap: 10px; }
.tkpanel__count { font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.tkpanel__body { min-height: 300px; max-height: 60vh; overflow-y: auto; }
.tkpanel__note { margin: 0; padding: 11px 18px; border-top: 1px solid var(--line-soft); font-size: 12.5px; color: var(--muted); }

/* Alt yazma çubuğu */
.tkcomposer { border-top: 1px solid var(--line-soft); background: var(--surface-4); }
.tkcomposer__bar { display: flex; align-items: flex-end; gap: 9px; padding: 12px; }
.tkcomposer__box {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px;
  padding: 3px 6px 3px 10px; border-radius: 16px;
  background: var(--surface-3); border: 1px solid var(--line-soft);
  transition: border-color .18s;
}
.tkcomposer__box:focus-within { border-color: var(--accent); }
.tkcomposer__input {
  flex: 1; min-width: 0; max-height: 168px; padding: 11px 2px;
  border: 0; background: transparent; resize: none;
  font: inherit; font-size: 14px; line-height: 1.5; color: var(--text-strong);
}
.tkcomposer__input:focus { outline: 0; }
.tkcomposer__input::placeholder { color: var(--muted-2); }
.tkcomposer__clip {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 11px;
  border: 0; background: transparent; color: var(--icon-muted); cursor: pointer;
}
.tkcomposer__clip:hover { background: var(--surface-5); color: var(--accent); }
.tkcomposer__send {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 14px;
  border: 0; background: var(--grad-accent); color: var(--on-accent); cursor: pointer;
  transition: transform .18s, box-shadow .18s;
}
.tkcomposer__send:hover { transform: translateY(-1px); box-shadow: 0 10px 22px color-mix(in srgb, var(--accent) 36%, transparent); }
.tkcomposer__send:disabled { cursor: not-allowed; opacity: .6; transform: none; box-shadow: none; }
.tkcomposer__extra { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 0 14px 12px; }

/* Yan sütun */
.tkside { display: flex; flex-direction: column; gap: clamp(12px, 1.5vw, 18px); }
.tkside__card { border-radius: 18px; overflow: hidden; background: var(--surface-3); border: 1px solid var(--line-soft); }
.tkside__head {
  display: flex; align-items: center; gap: 8px; padding: 13px 16px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
.tkside__head .icon { color: var(--accent); }

.tkfacts { margin: 0; }
.tkfacts > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; border-top: 1px solid var(--line-soft); }
.tkfacts > div:first-child { border-top: 0; }
.tkfacts dt { flex: none; font-size: 12.5px; color: var(--muted); }
.tkfacts dd { margin: 0; font-size: 13px; font-weight: 700; color: var(--text-strong); text-align: right; overflow-wrap: anywhere; }
.tkfacts dd a { color: var(--accent); }

.tkside__foot { display: flex; flex-direction: column; gap: 9px; padding: 14px 16px; border-top: 1px solid var(--line-soft); }
.tkside__foot:first-child { border-top: 0; }
.tkside__link { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.tkside__link:hover { color: var(--accent); }

.tkside__user { display: flex; align-items: center; gap: 11px; padding: 15px 16px; }
.tkside__avatar {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: var(--accent); font-size: 14px; font-weight: 800;
}
.tkside__name { display: block; font-size: 14px; font-weight: 800; color: var(--text-strong); }
.tkside__mail { display: block; font-size: 12.5px; color: var(--muted); overflow-wrap: anywhere; }

/* --- Yazışma --- */
.acccard--thread { padding: 4px 0; }
.tkthread { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 16px; list-style: none; }
.tkthread__wrap { max-height: 70vh; overflow-y: auto; }

.tkmsg { display: flex; gap: 11px; align-items: flex-start; }
/* Sağ taraf bakan kişinin kendi mesajı; "ekip" yalnızca rengi belirler */
.tkmsg--mine { flex-direction: row-reverse; }
.tkmsg--mine .tkmsg__head { justify-content: flex-end; }

.tkmsg__avatar {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--surface-5); border: 1px solid var(--line-soft);
  font-size: 13px; font-weight: 800; color: var(--muted);
}
.tkmsg--mine .tkmsg__avatar {
  background: color-mix(in srgb, var(--accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--accent) 32%, transparent);
  color: var(--accent);
}

.tkmsg__box {
  min-width: 0; max-width: 78%;
  padding: 11px 14px; border-radius: 16px;
  background: var(--surface-4); border: 1px solid var(--line-soft);
}
.tkmsg--mine .tkmsg__box {
  background: color-mix(in srgb, var(--accent) 9%, transparent);
  border-color: color-mix(in srgb, var(--accent) 24%, transparent);
}
/* İç not: müşteriye gitmediği açıkça görünsün */
.tkmsg--internal .tkmsg__box {
  background: color-mix(in srgb, var(--warn) 10%, transparent);
  border-color: color-mix(in srgb, var(--warn) 36%, transparent);
  border-style: dashed;
}

.tkmsg__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 5px; }
.tkmsg__who { font-size: 13px; font-weight: 800; color: var(--text-strong); }
.tkmsg__time { font-size: 11.5px; color: var(--muted-2); }
.tkmsg__tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 1px 7px; border-radius: 6px; background: var(--surface-5);
  font-size: 10.5px; font-weight: 800; color: var(--muted);
}
.tkmsg__tag--internal { background: color-mix(in srgb, var(--warn) 20%, transparent); color: var(--warn); }
.tkmsg__body { font-size: 14px; line-height: 1.6; color: var(--text-2); overflow-wrap: anywhere; }

/* Durum/atama değişikliği kaydı */
.tkevent {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px;
  padding: 3px 0; font-size: 12px; color: var(--muted-2);
}
.tkevent .icon { color: var(--icon-muted); }

/* --- Ekler --- */
.tkatt { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tkatt__img { display: block; width: 116px; height: 116px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line-soft); }
.tkatt__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tkatt__img:hover { border-color: var(--accent); }

.tkatt__file {
  display: flex; align-items: center; gap: 9px; max-width: 100%;
  padding: 8px 11px; border-radius: 11px;
  background: var(--surface-5); border: 1px solid var(--line-soft);
  font-size: 12.5px; color: var(--text-2);
}
.tkatt__file:hover { border-color: var(--accent); color: var(--text-strong); }
.tkatt__name { display: block; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
.tkatt__size { display: block; font-size: 11px; color: var(--muted-2); }

/* --- Formlar --- */
.tkform { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
.acccard__body .tkform { padding: 0; }
.tkform__foot { display: flex; flex-wrap: wrap; gap: 9px; }
.tkform__foot--block { flex-direction: column; align-items: stretch; gap: 12px; }
.field__req { color: var(--danger); }

.tkclose { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.tkrate { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0; padding: 0; border: 0; }
.tkrate legend { width: 100%; margin-bottom: 6px; font-size: 12.5px; font-weight: 700; color: var(--muted); }
.tkrate__item { position: relative; cursor: pointer; }
.tkrate__item input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tkrate__item span {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 6px 11px; border-radius: 10px;
  border: 1px solid var(--line-soft); background: var(--surface-4);
  font-size: 13px; font-weight: 700; color: var(--muted);
}
.tkrate__item input:checked + span {
  border-color: color-mix(in srgb, var(--warn) 50%, transparent);
  background: color-mix(in srgb, var(--warn) 14%, transparent);
  color: var(--warn);
}
.tkrate__item input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

.tkclosed { display: flex; align-items: center; gap: 12px; padding: 16px; }
.tkclosed .icon { flex: none; color: var(--ok); }
.tkclosed strong { display: block; font-size: 14px; color: var(--text-strong); }
.tkclosed p { margin: 2px 0 0; font-size: 13px; color: var(--muted); }

/* --- Dosya ekleme --- */
.tkfiles { display: flex; flex-direction: column; gap: 9px; }

.tkfiles__drop {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 15px; border-radius: 14px;
  border: 1px dashed var(--line-mid); background: var(--surface-4);
  cursor: pointer; transition: border-color .18s, background .18s;
}
.tkfiles__drop:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }

/* Yeni talep formundaki geniş bırakma alanı */
.tkfiles__drop--center { flex-direction: column; justify-content: center; text-align: center; gap: 9px; padding: 26px 18px; }
.tkfiles__drop--center .tkfiles__text { align-items: center; }
.tkfiles__drop--center .tkfiles__text span { color: var(--accent); font-weight: 700; }

/* Sohbet çubuğundaki ataç: alan gizli, tetikleyici düğmenin kendisi */
.tkfiles--inline { gap: 0; }
.tkfiles--inline .tkfiles__list:not([hidden]) { padding: 10px 14px 0; }
.tkfiles--inline .tkfiles__error:not([hidden]) { padding: 8px 14px 0; }
.tkfiles__drop > .icon { flex: none; color: var(--accent); }
.tkfiles__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tkfiles__text strong { font-size: 13.5px; font-weight: 800; color: var(--text-strong); }
.tkfiles__text span { font-size: 12px; color: var(--muted); }
.tkfiles__input { position: absolute; width: 1px; height: 1px; opacity: 0; }

.tkfiles__list { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.tkfiles__item {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 10px; border-radius: 10px; background: var(--surface-5);
  font-size: 12.5px; color: var(--text-2);
}
.tkfiles__thumb { width: 32px; height: 32px; border-radius: 7px; object-fit: cover; flex: none; }
.tkfiles__icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 7px; background: var(--surface-4); color: var(--muted); flex: none; }
.tkfiles__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tkfiles__size { flex: none; font-size: 11.5px; color: var(--muted-2); }
.tkfiles__error { margin: 0; font-size: 12.5px; color: var(--danger); }

.pager--acc { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; }
/* Kartın içinde duran sayfalama: alt kenara yapışmasın */
.pager--incard { margin-top: 0; padding: 14px 20px 18px; border-top: 1px solid var(--line-soft); }
.pager__info { font-size: 13px; color: var(--muted); }

.accempty { display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 40px 20px; text-align: center; }
.accempty__icon { color: var(--icon-muted); }
.accempty__title { margin: 0; font-size: 16px; font-weight: 800; color: var(--text-strong); }
.accempty__sub { margin: 0 0 6px; font-size: 13.5px; color: var(--muted); max-width: 44ch; }

/* ==========================================================================
   Hover geçişi tamamlama
   Hover'da rengi/kenarı değişip geçişi olmayan öğeler. :where() özgüllüğü
   sıfırdır: öğenin kendi transition kuralı varsa her zaman o kazanır.
   transform bilinçli olarak yok (sürüklenen satırlar geride kalmasın).
   ========================================================================== */
:where(
  .faq__q, .topbar__arrow, .authbtn__label, .searchtab, .searchselect__input,
  .pdp__rating span, .bankinfo__copy, .footer-contact__value, .notifpage__btn,
  .acccard__more, .ordercode__copy, .tkcomposer__clip
) {
  transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s, filter .2s;
}

/* Geçişi olup hover'daki özelliği kapsamayanlar: mevcut özellikler korunarak */
.searchbig__btn { transition: background-color .2s, border-color .2s, color .2s, filter .2s; }
.mainnav__link--flow { transition: color .2s, background-color .2s, border-color .2s, transform .2s, filter .2s; }
.gwjoin { transition: color .2s, box-shadow .2s, filter .2s; }
.ptcard--featured .ptbtn--buy { transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s, transform .2s, filter .2s; }

/* Vurgu zeminli bağlantı-düğmeler: genel a:hover (vurgu rengi yazı) zeminle
   aynı renge boyuyordu; hover/odakta yazı zemin üstü renginde kalsın */
a.btn-primary:hover, a.btn-primary:focus-visible,
a.authbtn--login:hover, a.authsubmit:hover,
a.cartempty__link:hover, a.cartempty__link:focus-visible,
a.pager__num.is-active:hover, a.catpager__num.is-active:hover,
a.searchtab.is-active:hover, a.chip--active:hover,
a.commentgate__login:hover, a.notif-menu__login:hover,
a.accside__link.is-active:hover, a.accstat__add:hover,
a.gwjoin:hover, a.ptbtn--primary:hover, a.ptbtn--buy:hover { color: var(--on-accent); }
/* Gradyan yazılı menü bağlantısı: hover rengi gradyanın üstünü örtmesin */
a.mainnav__link--flow:hover, a.mainnav__link--flow:focus-visible { color: transparent; }

/* ==========================================================================
   Ödeme başarılı (/odeme/basarili/{id})
   ========================================================================== */
.paydone { display: flex; justify-content: center; padding: 40px 16px 72px; }
.paydone__card { width: 100%; max-width: 620px; padding: 36px 32px 30px; border: 1px solid var(--line-card, var(--line)); border-radius: 24px; background: var(--surface); text-align: center; box-shadow: 0 24px 60px -32px rgba(0, 0, 0, .45); }
.paydone__badge { display: inline-grid; place-items: center; width: 88px; height: 88px; margin-bottom: 14px; border-radius: 50%; background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.paydone__badge.is-warn { background: color-mix(in srgb, #f59e0b 14%, transparent); color: #f59e0b; }
.paydone__badge svg { fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.paydone__ring { stroke-width: 2.4; opacity: .35; stroke-dasharray: 151; stroke-dashoffset: 151; animation: paydone-ring .7s ease-out forwards; }
.paydone__tick { stroke-dasharray: 36; stroke-dashoffset: 36; animation: paydone-tick .45s .45s ease-out forwards; }
@keyframes paydone-ring { to { stroke-dashoffset: 0; } }
@keyframes paydone-tick { to { stroke-dashoffset: 0; } }
.paydone__eyebrow { margin: 0 0 4px; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.paydone__title { margin: 0; font-size: clamp(24px, 4vw, 30px); font-weight: 800; color: var(--text-strong); }
.paydone__amount { margin: 8px 0 6px; font-size: clamp(30px, 6vw, 40px); font-weight: 800; letter-spacing: -.02em; color: var(--text-strong); font-variant-numeric: tabular-nums; }
.paydone__sub { max-width: 460px; margin: 0 auto 22px; font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
.paydone__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 22px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--line-soft); text-align: left; }
.paydone__meta div { padding: 12px 14px; background: var(--surface-2); min-width: 0; }
.paydone__meta dt { font-size: 12px; font-weight: 700; color: var(--text-3); }
.paydone__meta dd { margin: 2px 0 0; font-size: 14px; font-weight: 700; color: var(--text-strong); overflow-wrap: anywhere; }
.paydone__h2 { margin: 0 0 10px; font-size: 14px; font-weight: 800; text-align: left; color: var(--text-strong); }
.paydone__items { margin: 0 0 22px; padding: 0; text-align: left; }
.paydone__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.paydone__more { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 16px 0 0; font-size: 13px; color: var(--text-3); }
@media (max-width: 560px) {
  .paydone { padding-top: 20px; }
  .paydone__card { padding: 26px 18px 22px; border-radius: 20px; }
  .paydone__meta { grid-template-columns: 1fr; }
  .paydone__actions .corpbtn { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .paydone__ring, .paydone__tick { animation: none; stroke-dashoffset: 0; }
}
