/* Barswear Public.Web — Utero override'ları için */

/* ═══════════════════════════════════════════
   İÇİNDEKİLER
   ═══════════════════════════════════════════
   0.  RENK DEĞİŞKENLERİ — CSS custom properties (:root)
   1.  PHOTOSWIPE        — Galeri ikon fix
   2.  ÜRÜN KARTI        — Genel stiller (tüm sayfalarda)
   3.  BİLEŞENLER        — Yeniden kullanılabilir form bileşenleri
   4.  ARAMA             — Search popup override
   5.  HEADER            — Logo, nav, badge, dropdown, tooltip
   6.  ÜRÜN DETAY        — Breadcrumb, badge, sticky bar
   7.  MAĞAZA            — Filtre, pagination, swatch, empty state
   8.  AUTH              — Login / Register sayfası
   9.  HESABIM           — Profil, adres, sidebar, floating label, Select2
   10. ANASAYFA          — Promo bar + Instagram + Features spacing
   11. SEPET             — Sepet sayfası + mini cart + kupon
   12. FAVORİLER         — Kalp toggle + wishlist sayfası
   13. CHECKOUT           — Ödeme sayfası
   14. FOOTER            — 4 kolon + accordion + copyright
   15. VALİDASYON        — Merkezi form validation (per-field error state)
   16. TOAST NOTIFICATION — Merkezi bildirim sistemi (notifySuccess/Error/Warning)
   17. ERROR MODAL        — Merkezi hata popup sistemi (_showApiErrorModal)
   18. ÜRÜN KARTI BEDEN   — Size dropdown (glassmorphism, Zara pattern)
   19. İADE TALEBİ         — Return card, detail, form, timeline
   20. YASAL SAYFALAR      — Legal pages (KVKK, sözleşme, çerez vb.)
   21. STICKY BEDEN DROPDOWN — Sticky bar beden seçim popup'ı
   23. BARS-BOX-SELECT    — Yeniden kullanılabilir seçim kutuları (ikon + metin)
   24. COOKIE CONSENT BANNER — KVKK çerez onay bildirimi
   25. CONFIRM POPUP       — Onay popup'ı (sipariş iptal vb.)
   26. SSS ACCORDION       — Sıkça Sorulan Sorular açılır kapanır panel
   27. KONSEPT CAROUSEL    — Stacked carousel layout + line indicator (mobil)
   ═══════════════════════════════════════════ */


/* ═══════════════════════════════════════════
   0. RENK DEĞİŞKENLERİ
   ═══════════════════════════════════════════ */
:root {
    /* Ana renk — teal: buton, link hover, aktif durum, seçili öğe */
    --clr-teal:         #304650;
    /* Ana renk koyu tonu — buton hover/pressed durumu */
    --clr-teal-dark:    #1a2a32;

    /* Metin hiyerarşisi (koyu → açık) */
    --clr-text:         #333;   /* başlık, etiket, birincil metin */
    --clr-text-soft:    #666;   /* açıklama, ikincil metin */
    --clr-text-muted:   #999;   /* placeholder, devre dışı alan */
    --clr-text-faint:   #ccc;   /* gölge metin, boş yıldız */

    /* Kenarlık */
    --clr-border:       #e8e8e8; /* form, kart, tablo çizgisi */
    --clr-border-light: #f0f0f0; /* bölüm ayracı, ince çizgi */

    /* Zemin (beyaz → koyu) */
    --clr-bg:           #fff;    /* sayfa / kart beyaz zemin */
    --clr-bg-soft:      #fafafa; /* form alanı, alternatif satır */
    --clr-bg-muted:     #f5f5f5; /* placeholder kutu, disabled alan */

    /* Durum renkleri */
    --clr-danger:       #e74c3c; /* hata, silme, uyarı kırmızı */
    --clr-success:      #27ae60; /* başarı, onay, stok var */
    --clr-warning:      #f39c12; /* uyarı, yıldız puan */
    --clr-info:         #3498db; /* bilgi, link, nötr vurgu */
}


/* ═══════════════════════════════════════════
   0. BARS-PUBLIC-BTN — Genel buton bileseni
   ═══════════════════════════════════════════
   Kullanım:
     <a class="bars-public-btn">Solid (primary)</a>
     <a class="bars-public-btn is-outlined">Çerçeveli</a>
     <a class="bars-public-btn is-outlined is-danger">Kırmızı çerçeveli</a>
     <a class="bars-public-btn is-small">Küçük boyut</a>
   ═══════════════════════════════════════════ */

/* Base */
.bars-public-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 22px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    text-decoration: none;
    border-radius: 0;
    border: 1px solid var(--clr-teal);
    background: var(--clr-teal);
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
    line-height: 1.4;
    box-sizing: border-box;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.bars-public-btn:hover {
    background: var(--clr-teal-dark);
    border-color: var(--clr-teal-dark);
    color: #fff;
}

/* Primary — explicit class (base ile aynı, semantic kullanım için) */
.bars-public-btn.is-primary {
    border-color: var(--clr-teal);
    background: var(--clr-teal);
    color: #fff;
}
.bars-public-btn.is-primary:hover {
    background: var(--clr-teal-dark);
    border-color: var(--clr-teal-dark);
    color: #fff;
}

/* Outlined — çerçeveli, hover'da dolar */
.bars-public-btn.is-outlined {
    background: transparent;
    color: var(--clr-teal);
}
.bars-public-btn.is-outlined:hover {
    background: var(--clr-teal);
    color: #fff;
}

/* Danger */
.bars-public-btn.is-danger {
    border-color: var(--clr-danger);
    background: var(--clr-danger);
    color: #fff;
}
.bars-public-btn.is-danger:hover {
    border-color: #c0392b;
    background: #c0392b;
    color: #fff;
}
.bars-public-btn.is-danger.is-outlined {
    background: transparent;
    color: var(--clr-danger);
    border-color: var(--clr-danger);
}
.bars-public-btn.is-danger.is-outlined:hover {
    background: var(--clr-danger);
    color: #fff;
}

/* Warning */
.bars-public-btn.is-warning {
    border-color: var(--clr-warning);
    background: var(--clr-warning);
    color: #fff;
}
.bars-public-btn.is-warning:hover {
    border-color: #e67e22;
    background: #e67e22;
    color: #fff;
}
.bars-public-btn.is-warning.is-outlined {
    background: transparent;
    color: var(--clr-warning);
    border-color: var(--clr-warning);
}
.bars-public-btn.is-warning.is-outlined:hover {
    background: var(--clr-warning);
    color: #fff;
}

/* Info */
.bars-public-btn.is-info {
    border-color: var(--clr-info);
    background: var(--clr-info);
    color: #fff;
}
.bars-public-btn.is-info:hover {
    border-color: #2980b9;
    background: #2980b9;
    color: #fff;
}
.bars-public-btn.is-info.is-outlined {
    background: transparent;
    color: var(--clr-info);
    border-color: var(--clr-info);
}
.bars-public-btn.is-info.is-outlined:hover {
    background: var(--clr-info);
    color: #fff;
}

/* Success */
.bars-public-btn.is-success {
    border-color: var(--clr-success);
    background: var(--clr-success);
    color: #fff;
}
.bars-public-btn.is-success:hover {
    border-color: #219a52;
    background: #219a52;
    color: #fff;
}
.bars-public-btn.is-success.is-outlined {
    background: transparent;
    color: var(--clr-success);
    border-color: var(--clr-success);
}
.bars-public-btn.is-success.is-outlined:hover {
    background: var(--clr-success);
    color: #fff;
}

/* Cancel — gri iptal butonu (is-outlined ile birlikte kullanılır) */
.bars-public-btn.is-cancel {
    border-color: #bbb;
    background: #bbb;
    color: #fff;
}
.bars-public-btn.is-cancel:hover {
    border-color: #888;
    background: #888;
    color: #fff;
}
.bars-public-btn.is-cancel.is-outlined {
    background: transparent;
    color: #888;
    border-color: #ccc;
}
.bars-public-btn.is-cancel.is-outlined:hover {
    background: transparent;
    border-color: #888;
    color: #666;
}

/* Boyut modifier'ları — standart: 9px 22px / 13px */
.bars-public-btn.is-small {
    padding: 6px 14px;
    font-size: 12px;
}
.bars-public-btn.is-large {
    padding: 12px 28px;
    font-size: 15px;
}


/* ═══════════════════════════════════════════
   1. PHOTOSWIPE — Galeri ikon fix
   ═══════════════════════════════════════════
   theme.css'te iki çakışan PhotoSwipe CSS bloğu var:
     v5 core (satır 8680) → .pswp__button:hover { background: none }  ← sprite'ı siliyor
     v4 skin (satır 8892) → .pswp__button { background: url(sprite) } ← sprite ekliyor
   hover shorthand'ı background-image + background-position + background-size hepsini sıfırlıyor.
   !important ile base rule'ların hover'ı ezmesi sağlanır.
   --pswp-skin CSS custom property _PublicHead.cshtml'de CDN URL olarak set edilir. */

/* Sprite image + size — tüm butonlarda korunsun (hover dahil) */
.pswp__button {
    background-image: var(--pswp-skin) !important;
    background-size: 264px 88px !important;
    background-repeat: no-repeat !important;
}
/* Buton bazlı sprite pozisyonları — hover shorthand'ın sıfırlamasını engelle */
.pswp__button--close {
    background-position: 0 -44px !important;
}
.pswp__button--share {
    background-position: -44px -44px !important;
}
.pswp__button--zoom {
    background-position: -88px 0 !important;
}
.pswp--zoomed-in .pswp__button--zoom {
    background-position: -132px 0 !important;
}
.pswp--fs .pswp__button--fs {
    background-position: -44px 0 !important;
}
/* Ok butonları — sprite yalnızca :before pseudo-element'te,
   butonun kendisinde background olmamalı */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
    background-image: none !important;
}


/* ═══════════════════════════════════════════
   2. ÜRÜN KARTI — Genel stiller (tüm sayfalarda)
   ═══════════════════════════════════════════ */

/* Simple Products: wishlist + tag görünür yap (theme.css display:none override) */
.simple-products .product-grid-item__wishlist,
.simple-products .product-grid-item__tag {
    display: block;
}

/* Ürün kartı — resim alanı arka plan */
.product-grid-item__image {
    background-color: #f2f2f2;
}

/* Ürün kartı içeriği ortalı — ad, fiyat, renk swatchleri (tüm sayfalarda) */
.product-grid-item {
    text-align: center;
}

/* Tablet (768-991px): Action butonları hover'a bağlı değil, her zaman görünür.
   Tablet'te hover yok (touch ekran) → theme.css'in hover kuralı çalışmaz.
   theme.css 3 katmanlı gizleme: display:none + visibility:hidden + opacity:0.
   Üçünü de override ediyoruz. Mobilde (≤767px) butonlar gizli kalır → karta
   dokunarak ürün detay sayfasına gider, beden seçimi orada yapılır. */
@media (min-width: 768px) and (max-width: 991px) {
    .product-grid-item__action {
        display: flex;
        opacity: 1;
        visibility: visible;
    }
}


/* ═══════════════════════════════════════════
   3. BİLEŞENLER — Yeniden kullanılabilir form bileşenleri
   ═══════════════════════════════════════════ */

/* --- bars-public-select: Native <select> bileşeni ---
   Kullanım: <select class="bars-public-select"> veya <select class="bars-public-select bars-public-select--sm">
   Specificity: select.bars-public-select (0,1,1) — theme.css override'ları için yeterli.
   Boyut değişkeni: .bars-public-select--sm (kompakt, filtre/sıralama alanları için). */
select.bars-public-select {
    display: block;
    width: 100%;
    border: 1px solid #d8d8d8;
    padding: 10px 35px 10px 14px;
    border-radius: 0;
    font-size: 14px;
    line-height: 1.15;
    color: #000;
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23999' d='M6 8L1 3h10z'/%3e%3c/svg%3e") no-repeat right 14px center;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
select.bars-public-select:focus {
    border-color: #000;
}

/* Kompakt boyut — filtre, sıralama, inline kullanım */
select.bars-public-select.bars-public-select--sm {
    padding: 8px 30px 8px 12px;
    font-size: 13px;
}

/* --- bars-public-badge: Badge bileseni ---
   Filled (varsayılan): <span class="bars-public-badge is-primary">Varsayılan</span>
   Outlined (soft):     <span class="bars-public-badge is-outlined" style="color: #28A745">Teslim Edildi</span>
   Rounded:             is-rounded ile birleştirilebilir.
   Dinamik renk:        is-outlined + inline style="color: ..." (DB'den gelen renkler)
   Statik renk:         is-primary / is-danger / is-success / is-warning / is-info */
.bars-public-badge {
    position: relative;
    display: inline-block;
    padding: 4px 12px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
    z-index: 0;
    /* Filled varsayılan — nötr gri */
    background: #666;
    color: #fff;
    border: 1px solid transparent;
}
.bars-public-badge.is-rounded {
    border-radius: 50px;
}

/* Filled renk modifier'ları — içi dolu, text beyaz */
.bars-public-badge.is-primary { background: var(--clr-teal); border-color: var(--clr-teal); color: #fff; }
.bars-public-badge.is-danger  { background: var(--clr-danger); border-color: var(--clr-danger); color: #fff; }
.bars-public-badge.is-success { background: var(--clr-success); border-color: var(--clr-success); color: #fff; }
.bars-public-badge.is-warning { background: var(--clr-warning); border-color: var(--clr-warning); color: #fff; }
.bars-public-badge.is-info    { background: var(--clr-info); border-color: var(--clr-info); color: #fff; }

/* Outlined — soft badge: çerçeve + %8 tint arka plan, text = renk.
   currentColor mekanizması: inline style="color: ..." veya modifier class ile renk verilir. */
.bars-public-badge.is-outlined {
    background: transparent;
    border: 1px solid currentColor;
}
.bars-public-badge.is-outlined::before {
    content: '';
    position: absolute;
    inset: 0;
    background: currentColor;
    opacity: 0.08;
    border-radius: inherit;
    z-index: -1;
    pointer-events: none;
}
/* Outlined + renk modifier'ları — sadece color set et, currentColor geri kalanı türetir */
.bars-public-badge.is-outlined.is-primary { color: var(--clr-teal); }
.bars-public-badge.is-outlined.is-danger  { color: var(--clr-danger); }
.bars-public-badge.is-outlined.is-success { color: var(--clr-success); }
.bars-public-badge.is-outlined.is-warning { color: var(--clr-warning); }
.bars-public-badge.is-outlined.is-info    { color: var(--clr-info); }


/* ═══════════════════════════════════════════
   4. ARAMA — Search popup override
   ═══════════════════════════════════════════ */

/* Arama popup — is-compact modifier ile kompakt mod.
   is-compact kaldırılırsa saf Utero standardına döner.

   Yapı (is-compact):
     .search-popup__form     → padding:0
     .search-popup__input    → 20px font (Utero: 30px)
     .search-popup__close-btn→ 28×28, absolute top-right (Utero: 50×50 top:40 right:55)
     .search-popup__categories→ input altında, 12px gap

   Boyut tablosu (Utero standart → compact):
     input font     30px    20px
     input border   1px #000  (değiştirilmedi)
     close button   50×50   28×28 (stroke:0.4px bold)
     close position 40/55   30/40 (absolute, popup sağ köşesi)
     close mobile   0/0     16/16
     popup padding  60px 0  28px 0 30px
     categories gap 40px    12px */

/* ── 4a. Popup container ──
   min-height: promo bar (~40px) + header type-7 (~125px) + buffer = 170px
   Hesap: promo (10+9 pad + 20 text = 40) + header (40+40 pad + 45 logo = 125) = 165 + 5px
   Popup ilk açıldığında header + promo alanını tam kapatır, küçük kalmaz. */
.search-popup.is-compact {
    bottom: auto;
    min-height: 170px;
    max-height: 66vh;
    overflow-y: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    padding: 28px 0 30px;
}

/* ── 4b. Header: input + close ── */
.search-popup.is-compact .search-popup__header .search-popup__form {
    padding: 0;
    margin: 0;
}

.search-popup.is-compact .search-popup__input {
    font-size: 20px;
}

/* Close button — popup sağ köşesine absolute konumlandırma.
   Utero orijinal: .search-popup__close { position:absolute; top:40; right:55 } (50×50)
   Compact: 28×28, orantılı top:22 right:40. Input'tan bağımsız, popup kenarında. */
.search-popup.is-compact .search-popup__close-btn {
    position: absolute;
    top: 30px;
    right: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--clr-text-soft);
    font-size: 15px;
    -webkit-text-stroke: 0.4px;
    transition: color 0.2s;
    z-index: 1;
}

.search-popup.is-compact .search-popup__close-btn:hover {
    color: var(--clr-text);
}

/* ── 4c. Kategoriler (input altında) ── */
.search-popup.is-compact .search-popup__categories {
    padding-top: 12px;
}

/* ── 4d. Ürün kartları (compact) ──
   Kurallar DOM hiyerarşisini takip eder:
     1) Overlay (tag + wishlist)  2) Image  3) Title  4) Price
     5) Colors  6) Container spacing  7) Action button

   Öncelik: resim alanı en çok küçülür, text ve renk badge az küçülür.
   Utero standart → compact:
     tag font       12px    10px
     tag padding    2px 10  2px 7
     tag position   20/20   10/10
     wishlist btn   46×46   34×34
     wishlist pos   17/17   10/10
     wishlist icon  ~18px   15px
     image ratio    122.6%  105% (padding-bottom aspect ratio, object-fit:cover)
     image mobile   122.6%  100%
     title font     18px    15px
     title padding  21px    10px
     price font     18px    15px
     price padding  5px     3px
     color dot      10×10   10×10 (değiştirilmedi)
     color spacing  10/5    6/4
     results gap    30px    15px */

/* 1) Overlay — tag (top-left) + wishlist (top-right), resmin üzerinde */
.search-popup.is-compact .product-grid-item__tag {
    font-size: 10px;
    padding: 2px 7px;
    top: 10px;
    left: 10px;
}
.search-popup.is-compact .product-grid-item__wishlist {
    width: 34px;
    height: 34px;
    top: 10px;
    right: 10px;
}
.search-popup.is-compact .product-grid-item__wishlist a {
    line-height: 34px;
    font-size: 15px;
}

/* 2) Image — aspect ratio küçültme.
   Utero: padding-bottom 122.6% (~5:6 portrait). Compact: 105% (~20:21).
   object-fit: cover → orantılı, object-position: top → baskı/tasarım görünür. */
.search-popup.is-compact .product-grid-item__image a {
    padding-bottom: 105%;
}
.search-popup.is-compact .product-grid-item__image a img {
    object-fit: cover;
    object-position: top center;
}

/* 3) Title */
.search-popup.is-compact .product-grid-item__title {
    padding-top: 10px;
}
.search-popup.is-compact .product-grid-item__title a {
    font-size: 15px;
    line-height: 1.4;
}

/* 4) Price */
.search-popup.is-compact .product-grid-item__price {
    padding-top: 3px;
    font-size: 15px;
}

/* 5) Colors — dot boyutu orijinal (10×10), sadece spacing azaltıldı */
.search-popup.is-compact .product__available-colors {
    margin-top: 4px;
}
.search-popup.is-compact .product__available-colors li {
    margin-top: 6px;
    margin-right: 4px;
}

/* 6) Results heading + container spacing */
.search-popup.is-compact .search-popup__results-heading {
    font-size: 12px;
}
.search-popup.is-compact .search-popups__results {
    padding-top: 20px;
}
.search-popup.is-compact .search-popups__results-products {
    margin-top: 15px;
}

/* 7) Action button — "Tüm sonuçlar" */
.search-popup.is-compact .search-popup__results-action {
    padding-top: 30px;
}
.search-popup.is-compact .search-popup__results-action .button {
    font-size: 13px;
    padding: 8px 24px;
    letter-spacing: 0.3px;
}

/* ── 4e. Responsive ── */
@media (max-width: 991px) {
    .search-popup.is-compact {
        min-height: 110px;
        max-height: 75vh;
        padding: 15px 0 20px;
    }
    .search-popup.is-compact .search-popup__input {
        font-size: 16px;
    }
    .search-popup.is-compact .search-popup__close-btn {
        top: 16px;
        right: 16px;
        width: 26px;
        height: 26px;
        font-size: 14px;
    }
    .search-popup.is-compact .search-popup__categories {
        padding-top: 10px;
    }
    .search-popup.is-compact .product-grid-item__title a {
        font-size: 14px;
    }
    .search-popup.is-compact .product-grid-item__price {
        font-size: 14px;
    }
    .search-popup.is-compact .product-grid-item__image a {
        padding-bottom: 100%;
    }
}


/* ═══════════════════════════════════════════
   5. HEADER — Logo, nav, badge, dropdown, tooltip
   ═══════════════════════════════════════════ */

/* --- Logo: Libre Baskerville Bold wordmark --- */
.header__logo,
.header__logo a {
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
}
@media (max-width: 991px) {
    /* Mobilde logo — flex centering (best practice).
       Logo hamburger↔ikonlar arasındaki alanı doldurur, text-align:center ile ortalanır.
       Geniş ekranda (414px+) tam ortadan ayırt edilemez.
       Dar ekranda (375px) otomatik sola kayar, ikonlara asla binmez. */
    .header__logo {
        flex: 1;
        text-align: center;
        min-width: 0;
    }
}

/* --- Mobil header: Sadece Search + Cart göster (Account + Wishlist gizle) --- */
/* Premium minimalizm: [☰]  [BARS]  [🔍] [🛒]
   Account → hamburger menüde mevcut. Wishlist → hesap sayfasından erişilebilir. */
@media (max-width: 991px) {
    .header__right .header__user-menu,
    .header__right .header__account,
    .header__right .header__wishlist {
        display: none;
    }
}

/* --- Mobil menü: üst boşluk (X butonuyla nefes alanı) --- */
/* Theme'da first-step ve second-step close butonuna bitişik başlıyor.
   padding-top ile her iki slide'da görsel nefes alanı sağlıyoruz. */
@media (max-width: 991px) {
    .mobile-menu .mobile-menu__first-step,
    .mobile-menu .mobile-menu__second-step {
        padding-top: 14px;
    }
}

/* --- Mobil menü: second-step geri butonu alt boşluk (theme override) --- */
/* Theme default 30px → premium compact için 20px.
   Border zaten görsel ayırım sağlıyor, 20px yeterli nefes alanı verir. */
@media (max-width: 991px) {
    .mobile-menu .second-step__go-to-previous a {
        margin-bottom: 20px;
    }
}

/* --- Mobil menü alt öğe font boyutu (second-step) --- */
/* Theme default'ta standard-column__nav font-size belirtilmemiş (~14px).
   Üst menü (first-step) 18px olduğundan alt menüler ufak kalıyor.
   Tutarlılık için 16px yapıyoruz — okunabilir ama parent'tan ayrışır. */
@media (max-width: 991px) {
    .mobile-menu .standard-column__nav li a,
    .mobile-menu .standard-column__nav .header__logout-btn {
        font-size: 16px;
        line-height: 2.4;
    }
}

/* --- İç sayfalarda siyah kalması gereken header elementleri --- */
/* inner-page'de accent teal (#304650) olur ama header tutarlı siyah kalmalı */

/* Sepet/favori badge dairesi */
.header__right > li > a span {
    background: #000;
}

/* Sepet popup checkout butonu */
.header-cart__button--checkout {
    background: #000;
    border-color: #000;
}



/* --- 2 Satırlı Layout (Nav inline) --- */

/* Nav'ı tüm satırda ortala — absolute ile logo/ikonlardan bağımsız.
   height:100% → nav header__container'ın tüm yüksekliğini kaplar.
   Bu sayede mega-menu top:100% header alt kenarından açılır
   (position:absolute containing block nav olduğu için nav yüksekliği = header yüksekliği olmalı). */
.header__nav--inline {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-top: none;
    margin: 0;
    height: 100%;
}

/* Nav item — medium font + underline animasyonu için base */
.header__nav--inline .nav__item {
    padding: 10px 0;
    font-weight: 500;
    white-space: nowrap;
}
/* Hover underline — scaleX animasyonu
   li:hover ile tetiklenir → dropdown/arrow/underline/renk hepsi aynı alan */
.header__nav--inline .nav__item::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #304650;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.header__nav--inline > li:hover .nav__item::after {
    transform: scaleX(1);
}

/* Fixed header'da da padding uyumu */
.header--type-7.header.fixed .header__nav--inline .nav__item {
    padding: 10px 0;
}

/* Nav item spacing — inline'da biraz sıkıştır */
.header__nav--inline > li {
    margin-right: 40px;
}
.header__nav--inline > li:last-child {
    margin-right: 0;
}

@media (max-width: 1198px) {
    .header__nav--inline > li {
        margin-right: 24px;
    }
    .header__nav--inline > li:last-child {
        margin-right: 0;
    }
}

/* Nav — aktif (#999) ve hover (#304650) renk değişimini kapat, sabit siyah */
.header__nav--type-5 .nav__item.nav__item--current {
    font-weight: 500;
    color: #000;
}

.header__nav--type-5 > li:hover > .nav__item {
    color: #000;
}

/* --- Dil dropdown --- */
.header__right .wrap-dropdown .open-dropdown {
    font-size: 13px;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.header__right .wrap-dropdown .open-dropdown i {
    font-size: 10px;
    margin-left: 2px;
}

/* ── User Account Dropdown ──────────────────────────────────────────────
   Çalışma prensibi:
   1. header__container → d-flex align-items-center (HTML'de).
   2. header__right → align-self:stretch → container content-box yüksekliğine uzanır.
   3. header__user-menu → align-self:stretch + position:relative →
      <li> content alanının tam yüksekliğine uzanır.
      top:100% = content-box alt kenarı.
   4. margin-top = header__container padding-bottom (theme.css sabiti) →
      dropdown header alt kenarından başlar.
   5. right:0 → ikon sağ kenarına hizalı (tüm ekran boyutlarında responsive). */
/* Desktop only — mobilde hover dropdown yok (touch device), stretch gereksiz */
@media (min-width: 992px) {
    .header__right {
        align-self: stretch;
    }
    .header__user-menu {
        position: relative;
        align-self: stretch;
        display: flex;
        align-items: center;
    }
    .header__user-menu .nav__dropdown {
        left: auto;
        right: 0;
        /* theme.css → .header__container { padding: 40px 0 } */
        margin-top: 40px;
        z-index: 9;
        transition: all 0.3s ease-in;
        transform: translateY(40px);
    }
    .header__user-menu:hover .nav__dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    /* Hover bridge: margin-top (40px) + animasyon (40px) = 80px */
    .header__user-menu .nav__dropdown::before {
        top: -80px;
        height: 80px;
    }
    /* Sticky header — theme.css → .header.fixed .header__container { padding: 25px 0 } */
    .header.fixed .header__user-menu .nav__dropdown {
        margin-top: 25px;
    }
    .header.fixed .header__user-menu .nav__dropdown::before {
        top: -65px;
        height: 65px;
    }
}

/* --- Logout butonu (nav__dropdown-list link stiliyle tutarlı) --- */
.header__logout-form {
    margin: 0;
}
.header__logout-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 9px 28px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.3px;
    color: #666;
    width: 100%;
    text-align: left;
    line-height: normal;
    transition: color 0.2s, background-color 0.2s;
}
/* Mobil menüde (standard-column__nav) logout butonu diğer linklerle aynı görünmeli */
.standard-column__nav .header__logout-btn {
    padding: 0;
    font-size: inherit;
    color: #000;
    line-height: 1.875;
    letter-spacing: normal;
}
.header__logout-btn:hover {
    color: #000;
    background-color: #f5f5f5;
}
/* Mobil menüde — diğer linklerle tutarlı: #000→#999 renk, background yok */
.standard-column__nav .header__logout-btn:hover {
    color: #999;
    background-color: transparent;
}

/* --- İkon tooltip (aşağı yönlü) --- */
/* theme.css top:-45px üstte gösterir ama header en üst eleman:
   promo bar ile kesişir, sticky modda alan yetmez → kesilir.
   Tooltip aşağı, ok yukarı bakacak şekilde çevrildi. */
.header__right .open-tooltip .custom-tooltip {
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
}
.header__right .open-tooltip .custom-tooltip:after {
    top: -10px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    border-top: none;
    border-bottom: 10px solid #000;
}

/* --- Sepet popup konumu fix ---
   open-tooltip → position:relative ekler → popup top:100% ikon altından başlar.
   static ile popup header alt kenarından açılır.
   Tooltip sadece sepet sayfasında gösterilir (popup orada gizli). */
.header__cart.open-tooltip {
    position: static;
}
.header__cart .custom-tooltip {
    display: none;
}
.page-cart .header__cart.open-tooltip {
    position: relative;
}
.page-cart .header__cart .custom-tooltip {
    display: block;
}

/* ── Category Dropdown (nav__dropdown) ────────────── */
.header__nav--inline > li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
/* Chevron arrow — dropdown olan menülerde
   vertical-align: baseline → uppercase text ile doğal hizalı
   (middle, x-height ortasına hizalar — uppercase'te aşağıda kalır) */
.nav__arrow {
    font-size: 10px;
    margin-left: 5px;
    display: inline-block;
    transition: transform 0.3s ease;
    -webkit-text-stroke: 1px;
}
.header__nav--inline > li:hover .nav__arrow {
    transform: rotate(180deg);
}
.nav__dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid #e0e0e0;
    padding: 10px 0;
    min-width: 200px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s, margin-top 0.2s, visibility 0.2s;
    margin-top: 40px;
    z-index: 100;
}
.header__nav li:hover .nav__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-top: 0;
}
.nav__dropdown::before {
    content: '';
    display: block;
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    height: 40px;
}
/* Dikey liste — alt kategoriler alt alta */
.nav__dropdown-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
}
.nav__dropdown-list li {
    margin: 0;
    padding: 0;
}
/* Dropdown link — nav font'uyla uyumlu hiyerarşi
   Nav: 16px / uppercase / 1px spacing / 500 weight
   Dropdown: 15px / normal-case / 0.3px spacing / 400 weight */
.nav__dropdown-list a {
    display: block;
    color: #666;
    text-decoration: none;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.3px;
    text-transform: none;
    padding: 9px 28px;
    transition: color 0.2s, background-color 0.2s;
}
.nav__dropdown-list a:hover {
    color: #000;
    background-color: #f5f5f5;
}


/* ═══════════════════════════════════════════
   6. ÜRÜN DETAY — Breadcrumb, badge, sticky bar
   ═══════════════════════════════════════════ */

/* İndirim badge */
.product-detail-discount-badge {
    display: inline-block;
    background: #da5f39;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
}

/* Kısa açıklama */
.product__short-description {
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

/* Breadcrumb */
.product-detail-breadcrumb {
    margin-bottom: 10px;
}
.product-detail-breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 13px;
}
.product-detail-breadcrumb ol li {
    color: #999;
}
.product-detail-breadcrumb ol li + li::before {
    content: '/';
    margin: 0 8px;
    color: #ccc;
}
.product-detail-breadcrumb ol li a {
    color: #999;
    text-decoration: none;
    transition: color 0.2s;
}
.product-detail-breadcrumb ol li a:hover {
    color: #333;
}
.product-detail-breadcrumb ol li.active {
    color: #333;
}

/* Renk adı göstergesi */
.product-color-name {
    font-size: 13px;
    color: #666;
    margin-left: 10px;
}

/* Sticky add to cart bar */
.product-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #eee;
    padding: 12px 0;
    z-index: 999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
}
.product-sticky-bar__inner {
    justify-content: space-between;
    position: relative;
}
.product-sticky-bar__image {
    width: 45px;
    height: 45px;
    object-fit: cover;
    border-radius: 4px;
    margin-right: 12px;
}
.product-sticky-bar__title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
.product-sticky-bar__price {
    font-size: 15px;
    margin: 0 20px;
}
.product-sticky-bar__price .product-price__old {
    font-size: 13px;
}
.product-sticky-bar__button {
    white-space: nowrap;
    padding: 10px 25px;
    font-size: 13px;
}

/* Sticky bar responsive — mobilde başlık gizle, resim + fiyat + buton göster */
@media (max-width: 767px) {
    .product-sticky-bar__title {
        display: none;
    }
    .product-sticky-bar__image {
        width: 36px;
        height: 36px;
        margin-right: 10px;
    }
    .product-sticky-bar__inner {
        justify-content: center;
        gap: 12px;
    }
    .product-sticky-bar__price {
        margin: 0 8px;
        font-size: 14px;
    }
    .product-sticky-bar__button {
        padding: 8px 18px;
        font-size: 12px;
    }
}


/* ═══════════════════════════════════════════
   7. MAĞAZA — Filtre, pagination, swatch, empty state
   ═══════════════════════════════════════════ */

/* --- Sıralama dropdown: bars-public-select uyumu --- */
/* bars-public-select inline kullanım — sort alanında tam genişlik değil */
.products-sort-by__select select.bars-public-select {
    width: auto;
    display: inline-block;
}
/* Utero chevron ikonu gizle — bars-public-select kendi SVG chevron'unu kullanır */
.products-sort-by__select > i {
    display: none;
}

/* Wishlist + tag görünür yap (theme.css display:none override) */
.collection .product-grid-item__wishlist,
.collection .product-grid-item__tag {
    display: block;
}

/* Pagination */
.shop-pagination {
    margin-top: 40px;
    margin-bottom: 20px;
}
.shop-pagination .page-item.active .page-link {
    background-color: #304650;
    border-color: #304650;
    color: #fff;
}
.shop-pagination .page-link {
    color: #304650;
    border: 1px solid #ddd;
    padding: 8px 14px;
    margin: 0 2px;
    transition: all 0.2s;
}
.shop-pagination .page-link:hover {
    background-color: #f5f5f5;
    color: #304650;
}
.shop-pagination .page-item.disabled .page-link {
    color: #ccc;
}

/* Price filter — inline tek satır (Ürün Durumu widget'ı içinde)
   FİYAT  [Min ₺] — [Max ₺]  kompakt bir satır */
.shop-price-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #eee;
}
.shop-price-filter__label {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    color: #333;
}
.shop-price-filter__inputs {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.shop-price-filter__inputs input {
    width: 0;
    flex: 1;
    min-width: 60px;
    padding: 7px 10px;
    border: 1px solid #ddd;
    font-size: 13px;
    border-radius: 0;
    outline: none;
    transition: border-color 0.2s;
}
.shop-price-filter__inputs input:focus {
    border-color: #304650;
}
.shop-price-filter__sep {
    color: #bbb;
    font-size: 14px;
    flex-shrink: 0;
}
/* Fiyat — çok dar ekranlarda (≤480px) label üstte, inputlar altta */
@media (max-width: 480px) {
    .shop-price-filter {
        flex-wrap: wrap;
    }
    .shop-price-filter__label {
        width: 100%;
    }
}

/* Empty state */
.shop-empty-state {
    text-align: center;
    padding: 80px 20px;
    color: #999;
}
.shop-empty-state i {
    font-size: 48px;
    display: block;
    margin-bottom: 15px;
}
.shop-empty-state h3 {
    font-size: 18px;
    color: #666;
    margin-bottom: 10px;
}
.shop-empty-state p {
    font-size: 14px;
}
.shop-empty-state a {
    color: #304650;
    text-decoration: underline;
}

/* Filtre paneli — aktif kategori (sadece renk, font-weight değişmez → layout kayması yok) */
.widget__collections li a.active {
    color: #304650;
}
/* "Tüm Ürünler" separator — parent gruplardan ince çizgiyle ayrılır */
/* Selector: .top-filter__widget > ile scope'la — başka widget__collections'ı etkilemesin */
.top-filter__widget > .widget__collections > li:first-child {
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #eee;
}

/* Filtre paneli — hiyerarşik kategori (parent/child grouping)
   Header satırı: [Link ────── Toggle]
   Link tıkla → filtre, Toggle tıkla → accordion aç/kapa (Nike/Zara pattern)
   ──────────────────────────────────────────────────────────
   Aktif durum sadece renk ile belirtilir (font-weight değişmez → layout kayması yok):
     Normal parent/child : inherit (default)
     Seçili child        : teal (#304650)
     Seçili parent       : teal (#304650)
   Hover: #999 (Utero standardı — teal sadece aktif durumda) */

.widget__collection-header {
    display: flex;
    align-items: center;
}
/* Parent base — font-weight: 500 (medium) — seçili olmadıkça kalın DEĞİL
   font-size belirtilmiyor → child'larla aynı inherited değeri kullanır */
.widget__collection-parent {
    flex: 1;
    font-weight: 500;
    color: #000;
    min-width: 0;
}
/* Parent kendisi seçili → sadece teal renk (font-weight değişmez → layout kayması yok) */
.widget__collections .widget__collection-parent.active {
    color: #304650;
}
/* Toggle button — parent ile aynı renk, text bitiminin sağında */
.widget__collection-toggle {
    background: none;
    border: none;
    padding: 0 0 0 8px;
    cursor: pointer;
    color: inherit;
    font-size: 12px;
    line-height: 1;
    display: flex;
    align-items: center;
    transition: transform 0.3s ease, color 0.2s ease;
    -webkit-text-stroke: 1px;
}
/* Focus outline — mouse tıklamada çerçeve yok, keyboard Tab ile görünür (a11y) */
.widget__collection-toggle:focus {
    outline: none;
}
.widget__collection-toggle:focus-visible {
    outline: 2px solid #304650;
    outline-offset: 2px;
    border-radius: 2px;
}
.widget__collection-toggle:hover {
    color: #999;
}
/* Aktif parent → arrow da teal (text ile aynı renk) */
.widget__collections .widget__collection-parent.active + .widget__collection-toggle {
    color: #304650;
}
.widget__collection-group.is-open > .widget__collection-header > .widget__collection-toggle {
    transform: rotate(90deg);
}
/* Child listesi — accordion collapse */
.widget__collection-children {
    list-style: none;
    padding: 0 0 0 14px;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.widget__collection-group.is-open > .widget__collection-children {
    max-height: 500px;
}

/* Checkbox renk swatch — Utero widget__checkbox-options içinde
   Utero selektörü: .widget__checkbox-options li label span i (4 seviye)
   Aynı spesifiklikte ezmek için li dahil edilmeli.
   Hiza hesabı: line-height 30px, daire 16px → (30-16)/2 = 7px üst margin
   Checkbox kutusu (::after) top:6px + 18px/2 = 15px merkez
   Daire: 7px + 16px/2 = 15px merkez → hizalı ✓
   margin shorthand zorunlu — Utero'nun shorthand'ını tamamen ezmek için */
.widget__checkbox-options li label span i {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: top;
    margin: 7px 6px 0 0;
    border: 1px solid #ddd;
}

/* Checkbox teal renk — Utero input'u display:none yapıp span:before/after ile
   özel checkbox çiziyor. accent-color etkisiz, pseudo-element override gerekli */
.widget__checkbox-options li label input:checked + span:before {
    color: #304650;
}
.widget__checkbox-options li label input:checked + span:after {
    border-color: #304650;
}

/* Wishlist kalp ikonu — 46×46 daire içinde tam ortalama.
   theme.css line-height:46px + baseline → glyph (16×17) yukarı kayıyor.
   <a> tıklama alanını korur, <i> absolute ile merkeze kilitlenir.
   calc() sub-pixel + glyph asimetri telafisi. */
.product-grid-item__wishlist a {
    height: 100%;
    position: relative;
}
.product-grid-item__wishlist a i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 0.5px), calc(-50% + 1px));
}

/* Renk swatchleri ortalı — sadece ürün kartlarında (grid listeleri).
   Ürün detay sayfası etkilenmez (.product-grid-item bağlamı ile sınırlandırıldı). */
.product-grid-item .product__available-colors {
    justify-content: center;
    padding-left: 0;
    margin: 0;
}

/* Renk swatch border — beyaz/açık renklerin beyaz arka planda kaybolmasını önler */
.product__available-colors .product-grid-item__color {
    border: 1px solid #ddd;
}

/* Renk swatch seçim çerçevesi — box-shadow ile sub-pixel yuvarlama sorunu giderildi.
   theme.css'teki absolute positioned <span> zoom'da (110%, 90% vb.) dengesiz duruyordu.
   box-shadow elementin kendi kutusundan çizilir → her zoom seviyesinde ortalı kalır. */
.product__available-colors .product-grid-item__color.active {
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #999;
}
.product__available-colors .product-grid-item__color.active span {
    display: none !important;
}


/* --- Mobil filtre butonu: iOS Safari alt bar ayrımı --- */
/* iOS Safari'de bottom toolbar ile buton aynı tonda birleşiyor.
   border-bottom görsel ayırım sağlar, safe-area-inset cihazın güvenli
   alanını hesaba katar. Android/Desktop'ta env() 0 döner → etki yok. */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .open-mobile-top-filter {
        padding-bottom: calc(13px + env(safe-area-inset-bottom, 0px));
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }
}

/* Mobil 2'li grid — badge + wishlist küçültme */
@media (max-width: 767px) {
    .collection .product-grid-item__tag {
        top: 10px;
        left: 10px;
        font-size: 10px;
        padding: 2px 6px;
    }
    .collection .product-grid-item__wishlist {
        top: 8px;
        right: 8px;
        width: 34px;
        height: 34px;
    }
    .collection .product-grid-item__wishlist a {
        line-height: 34px;
        font-size: 14px;
    }
}


/* ═══════════════════════════════════════════
   8. AUTH — Login / Register sayfası
   ═══════════════════════════════════════════
   Utero Shopify canlı yapısı: ayrı login + register sayfaları
   (tek kolon, sayfa ortası) */

/* Sayfa padding — theme.css sadece alt (175px), üst boşluk yok. Shopify canlıdaki gibi ekliyoruz. */
.auth {
    padding: 80px 0 100px;
}
@media (max-width: 991px) {
    .auth {
        padding: 50px 0 70px;
    }
}

/* Container — theme.css 1170px + 42px padding, Shopify canlıdaki 615px + padding yok */
.auth .auth__container {
    max-width: 615px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

/* Sayfa başlığı — Shopify canlıdaki iç sayfa başlık sistemiyle tutarlı.
   shop-breadcrumb__title (48px) ile aynı ölçek + responsive breakpoint'ler. */
.auth__title {
    font-size: 48px;
    font-family: "Jost", sans-serif;
    text-transform: none;
    padding: 0 0 20px 0;
    margin: 0;
}
@media (max-width: 1098px) {
    .auth__title { font-size: 42px; }
}
@media (max-width: 991px) {
    .auth__title { font-size: 26px; }
}

/* Açıklama — ortalı */
.auth .auth__description {
    text-align: center;
}

/* Form alanları sarmalayıcı — tek çerçeve içinde bitişik input'lar (Shopify canlıdaki gibi) */
.auth__inputs {
    border: 1px solid #d0d0d0;
    text-align: left;
}

/* Form-group margin sıfırla — theme.css 20px, biz bitişik istiyoruz */
.auth .form-group {
    margin: 0;
}

/* Input override — çerçeve dıştan geliyor, input'lar arası sadece ayırıcı çizgi.
   Shopify canlıda input 61px yükseklik: 14px font * 1.667 lh ≈ 23px + 18px*2 + 1px border = ~60px */
.auth .form-group__input {
    border: none;
    border-bottom: 1px solid #d0d0d0;
    padding: 18px 20px;
    border-radius: 0;
    font-size: 15px;
}
.auth .form-group:last-child .form-group__input {
    border-bottom: none;
}

/* Buton sarmalayıcı — Shopify canlıdaki padding */
.auth__button {
    padding-top: 23px;
}

/* Forgot password — ortalı + butondan boşluk (Shopify canlıdaki gibi) */
.auth .auth__forgot-password {
    text-align: center;
    padding: 30px 0 0 0;
}
.auth .auth__forgot-password a {
    font-size: 15px;
    text-decoration: none;
    color: #666;
}
.auth .auth__forgot-password a:hover {
    color: #000;
}

/* Sayfa içi cross-link (Kayıt ol / Giriş yap) — ortalı */
.auth__register {
    padding-top: 22px;
    text-align: center;
}
.auth__register a {
    font-size: 15px;
    text-decoration: none;
    color: #666;
}
.auth__register a:hover {
    color: #000;
}

/* Koşullar metni (register sayfasında) — ortalı */
.auth__terms {
    padding-top: 22px;
    font-size: 15px;
    color: #777;
    line-height: 1.6;
    text-align: center;
}
.auth__terms a {
    color: #304650;
    text-decoration: none;
}
.auth__terms a:hover {
    color: #000;
}

/* Hata mesajları */
.auth__error {
    color: #d9534f;
    font-size: 13px;
    margin-bottom: 15px;
    padding: 10px 12px;
    background: #fdf2f2;
    border: 1px solid #f5c6cb;
    border-radius: 3px;
    text-align: left;
}

/* Başarı mesajları */
.auth__success {
    color: #28a745;
    font-size: 13px;
    margin-bottom: 15px;
    padding: 10px 12px;
    background: #f0faf3;
    border: 1px solid #c3e6cb;
    border-radius: 3px;
    text-align: left;
}

/* Şifre sıfırlama bölümü — başlangıçta gizli */
.auth--forgot-password {
    display: none;
}
.auth--forgot-password.active {
    display: block;
}


/* ═══════════════════════════════════════════
   9. HESABIM — Profil, adres, sidebar, floating label, Select2
   ═══════════════════════════════════════════ */

/* --- Layout: container + sidebar + content --- */
.account {
    padding: 60px 0 80px;
}
.account__container {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* --- Başlık --- */
.account__title {
    font-size: 26px;
    font-weight: 600;
    font-family: "Jost", sans-serif;
    text-transform: none;
    padding: 0 0 20px 0;
    margin: 0 0 25px 0;
    border-bottom: 1px solid #e8e8e8;
}

/* --- Header (başlık + buton yan yana — Adreslerim sayfası) --- */
.account__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    border-bottom: 1px solid #e8e8e8;
}
.account__header .account__title {
    margin: 0;
    padding: 0;
    border-bottom: none;
}

/* --- Sidebar --- */
.account-sidebar {
    width: 280px;
    flex-shrink: 0;
}
.account-sidebar__nav {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #e8e8e8;
}
.account-sidebar__nav li {
    border-bottom: 1px solid #e8e8e8;
}
.account-sidebar__nav li:last-child {
    border-bottom: none;
}
.account-sidebar__nav li a,
.account-sidebar__nav li button {
    display: block;
    padding: 14px 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s;
    background: none;
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    font-family: inherit;
}
.account-sidebar__nav li a i,
.account-sidebar__nav li button i {
    margin-right: 10px;
    font-size: 16px;
    vertical-align: middle;
}
.account-sidebar__nav li a:hover,
.account-sidebar__nav li button:hover {
    background: #f9f9f9;
    color: #000;
}
.account-sidebar__nav li.active a {
    background: #304650;
    color: #fff;
    font-weight: 600;
}
/* --- Grup label'ları (Siparişler / Hesap Bilgilerim) --- */
.account-sidebar__label {
    padding: 14px 20px 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #666;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8 !important;
    cursor: default;
}
.account-sidebar__label:first-child {
    border-radius: 0;
}
.account-sidebar__logout-form {
    margin: 0;
}

/* --- Content --- */
.account__content {
    flex: 1;
    min-width: 0;
}

/* --- Form alanları --- */
.account .form-group {
    margin: 0 0 20px 0;
}
/* Border, font, padding, transition → .form-group--floating component'inden gelir (tek kaynak) */
/* Readonly input — e-posta gibi değiştirilemez alanlar */
.account .form-group__input--readonly {
    background: #f9f9f9;
    color: #999;
    cursor: not-allowed;
}
.account select.form-group__input {
    appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23999' d='M6 8L1 3h10z'/%3e%3c/svg%3e") no-repeat right 18px center;
    cursor: pointer;
}

/* --- Floating Label Component (Reusable) --- */
/* .form-group--floating modifier → label placeholder konumunda başlar,
   input'a tıklanınca veya değer varken üst kenara kayar, küçülür.
   Account, checkout, iletişim — herhangi bir sayfada kullanılabilir. */
.form-group--floating {
    position: relative;
}
.form-group--floating .form-group__input {
    border: 1px solid #d8d8d8;
    border-radius: 0;
    padding: 20px 18px 10px;
    font-size: 14px;
    line-height: 1.15;
    color: #000;
    background: #fff;
    box-sizing: border-box;
    font-family: inherit;
    transition: border-color 0.2s;
}
.form-group--floating .form-group__input:focus {
    border-color: #000;
}
.form-group--floating .form-group__label {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #999;
    pointer-events: none;
    transition: all 0.2s ease;
    padding: 0 4px;
    z-index: 1;
}
/* Float up: focused OR has value (text/email/password) */
.form-group--floating .form-group__input:focus + .form-group__label,
.form-group--floating .form-group__input:not(:placeholder-shown) + .form-group__label {
    top: 0;
    transform: translateY(-50%);
    font-size: 11px;
    color: #666;
    background: #fff;
}
/* Select ve date — her zaman floated (tarayıcı her zaman içerik gösterir) */
.form-group--floating select.form-group__input + .form-group__label,
.form-group--floating input[type="date"].form-group__input + .form-group__label {
    top: 0;
    transform: translateY(-50%);
    font-size: 11px;
    color: #666;
    background: #fff;
}
/* Focus state — accent renk */
.form-group--floating .form-group__input:focus + .form-group__label {
    color: #304650;
}
/* Required asterisk */
.form-group--floating.required .form-group__label::after {
    content: ' *';
    color: #d9534f;
}
/* Readonly — label background matches input */
.form-group--floating .form-group__input--readonly + .form-group__label {
    background: #f9f9f9;
}
/* Address form context — label background matches form container */
.address-form .form-group--floating .form-group__input:focus + .form-group__label,
.address-form .form-group--floating .form-group__input:not(:placeholder-shown) + .form-group__label,
.address-form .form-group--floating select.form-group__input + .form-group__label,
.address-form .form-group--floating input[type="date"].form-group__input + .form-group__label {
    background: #fafafa;
}

/* --- Select2 uyumu --- */
/* Select2 native <select>'i gizleyip araya container koyar → + sibling selector kırılır.
   ~ (general sibling) ile label'ı her zaman floated konumda tut. */
.form-group--floating .select2-container ~ .form-group__label {
    top: 0;
    transform: translateY(-50%);
    font-size: 11px;
    color: #666;
    background: #fff;
}
.address-form .form-group--floating .select2-container ~ .form-group__label {
    background: #fafafa;
}
/* Select2 container — floating label input ile birebir aynı yükseklik.
   .form-group--floating scope'unda tanımlı → account, checkout, iletişim vb. otomatik alır. */
.form-group--floating .select2-container--default .select2-selection--single {
    border: 1px solid #d8d8d8;
    border-radius: 0;
    height: auto;
    padding: 20px 18px 10px;
    font-size: 14px;
    line-height: 1.15;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s;
    background: #fff;
}
.form-group--floating .select2-container--default .select2-selection--single:focus,
.form-group--floating .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #000;
    outline: none;
}
/* Seçili metin */
.form-group--floating .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #000;
    padding: 0;
    line-height: 1.15;
}
/* Placeholder (Seçiniz) */
.form-group--floating .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
}
/* Ok ikonu */
.form-group--floating .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    height: auto;
}
/* Dropdown panel */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #304650;
}
/* Arama inputu */
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #d8d8d8;
    border-radius: 0;
    padding: 8px 12px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #304650;
}
/* Form satırı — 2 kolon yan yana */
.account .form-row {
    display: flex;
    gap: 20px;
}
.account .form-row > .form-group {
    flex: 1;
    min-width: 0;
}
@media (max-width: 767px) {
    .account .form-row {
        flex-direction: column;
        gap: 0;
    }
}

/* --- Checkbox'lar --- */
.account__checkboxes {
    padding: 20px 0 0;
}
.account__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}
.account__checkbox input[type="checkbox"] {
    accent-color: #304650;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* --- Buton --- */
.account__button {
    padding-top: 23px;
}

/* --- Başarı mesajı --- */
.account__success {
    color: #28a745;
    font-size: 13px;
    margin-bottom: 15px;
    padding: 10px 12px;
    background: #f0fdf4;
    border: 1px solid #c3e6cb;
    border-radius: 3px;
    text-align: left;
}

/* --- Adres kartları --- */
.address-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.address-card {
    border: 1px solid #e8e8e8;
    padding: 20px;
    transition: border-color 0.2s;
}
.address-card:hover {
    border-color: #304650;
}
.address-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--clr-border-light);
}
.address-card__title {
    font-size: 15px;
    font-weight: 600;
    color: #333;
    margin: 0;
}
.address-card__body {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}
.address-card__line {
    color: #333;
}
.address-card__location {
    font-size: 13px;
    color: #999;
}
.address-card__postal {
    font-size: 13px;
    color: #999;
}
.address-card__contact {
    margin-top: 8px;
    font-size: 13px;
    color: #555;
}
.address-card__actions {
    display: flex;
    gap: 15px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--clr-border-light);
}
/* --- Adres formu (inline slide-down) --- */
.address-form {
    border: 1px solid #304650;
    padding: 25px;
    margin-bottom: 25px;
    background: #fafafa;
}
.address-form__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #333;
}
.address-form__actions {
    display: flex;
    gap: 15px;
    padding-top: 20px;
}
/* --- Boş durum --- */
.address-empty {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}
.address-empty i {
    font-size: 48px;
    display: block;
    margin-bottom: 15px;
}
.address-empty p {
    font-size: 14px;
    margin-bottom: 20px;
}

/* --- Yükleniyor --- */
.address-loading {
    text-align: center;
    padding: 40px 0;
    color: #999;
    font-size: 14px;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .account__container {
        flex-direction: column;
        align-items: stretch;
        gap: 25px;
    }
    .account-sidebar {
        width: 100%;
    }
    .account-sidebar__nav {
        display: flex;
        flex-wrap: wrap;
        border: none;
        gap: 5px;
    }
    .account-sidebar__nav li {
        border-bottom: none;
    }
    .account-sidebar__label {
        width: 100%;
        padding: 12px 0 4px;
        background: none;
        border: none !important;
        font-size: 10px;
    }
    .account-sidebar__label:first-child {
        padding-top: 0;
    }
    .account-sidebar__nav li a,
    .account-sidebar__nav li button {
        padding: 10px 15px;
        border: 1px solid #e8e8e8;
        font-size: 13px;
    }
    .account-sidebar__nav li.active a {
        background: #304650;
        border-color: #304650;
    }
    .account {
        padding: 40px 0 60px;
    }
}
@media (max-width: 767px) {
    .account__container { gap: 20px; }
    .account { padding: 30px 0 50px; }
}


/* --- Siparişlerim --- */

/* Sipariş listesi */
.order-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Sipariş kartı */
.order-card {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    transition: border-color 0.2s;
    overflow: hidden;
}
.order-card:hover {
    border-color: #ccc;
}

/* Üst bar — sipariş no + durum */
.order-card__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
}
.order-card__no {
    font-weight: 600;
    font-size: 13px;
    color: #333;
    font-family: "Jost", sans-serif;
}
/* Meta — 4 sütun bilgi */
.order-card__meta {
    display: flex;
    padding: 18px 20px;
    border-bottom: 1px solid #f0f0f0;
    gap: 10px;
}
.order-card__meta-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.order-card__meta-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.order-card__meta-value {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
.order-card__meta-value--price {
    font-weight: 700;
}

/* İçerik — thumbnails + teslimat durumu */
.order-card__content {
    display: flex;
    align-items: center;
    padding: 18px 20px;
}
.order-card__thumbnails {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.order-card__thumb {
    width: 55px;
    height: 55px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid #e8e8e8;
}
.order-card__thumb--more {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #666;
    font-size: 13px;
    font-weight: 600;
    object-fit: unset;
}
/* Butonlar */
.order-card__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--clr-border-light);
}
/* Sipariş boş durum */
.order-empty {
    text-align: center;
    padding: 60px 20px;
}
@media (max-width: 767px) {
    .order-empty { padding: 40px 16px; }
    .order-empty i { font-size: 40px; }
}
.order-empty i {
    font-size: 48px;
    color: #ccc;
    display: block;
    margin-bottom: 15px;
}
.order-empty p {
    font-size: 15px;
    color: #888;
    margin-bottom: 25px;
}

/* Sipariş detay — geri link */
.order-detail__back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 20px;
    font-size: 13px;
    color: #304650;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}
.order-detail__back:hover {
    color: #1a2a32;
}

/* Sipariş detay — dış çerçeve */
.order-detail__wrapper {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}

/* Sipariş detay — başlık (farklı arka plan) */
.order-detail__header {
    padding: 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
}
.order-detail__title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.order-detail__title {
    font-size: 22px;
    font-weight: 600;
    font-family: "Jost", sans-serif;
    text-transform: none;
    margin: 0;
}
.order-detail__date {
    font-size: 13px;
    color: #888;
}

/* Sipariş detay — bölümler (wrapper içinde) */
.order-detail__section {
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
}
.order-detail__section:last-child {
    border-bottom: none;
}
/* Ürün kalemleri */
.order-items__head {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 2px solid #333;
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.order-items__col--product { flex: 1; }
.order-items__col--qty { width: 70px; text-align: center; }
.order-items__col--price { width: 110px; text-align: right; }
.order-items__col--total { width: 110px; text-align: right; }

.order-item {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
}
.order-item:last-child {
    border-bottom: none;
}
.order-item__product {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.order-item__name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
a.order-item__name--link {
    text-decoration: none;
    color: var(--clr-text);
    transition: color 0.2s;
}
a.order-item__name--link:hover {
    color: var(--clr-teal);
}
.order-item__variant {
    font-size: 13px;
    color: #666;
}
.order-item__sku {
    font-size: 12px;
    color: #999;
}
.order-item__qty {
    width: 70px;
    text-align: center;
    font-size: 14px;
    color: #333;
}
.order-item__price {
    width: 110px;
    text-align: right;
    font-size: 14px;
    color: #333;
}
.order-item__total {
    width: 110px;
    text-align: right;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

/* Sipariş özeti */
.order-summary {
    max-width: 400px;
    margin-left: auto;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e8e8e8;
}
.order-summary--card {
    max-width: none;
    margin-left: 0;
    margin-top: 14px;
    padding-top: 14px;
    font-size: 13px;
}
.order-summary--card .order-summary__row {
    font-size: 13px;
    padding: 7px 0;
    border-bottom: none;
}
.order-summary--card .order-summary__row--total {
    font-size: 13px;
    font-weight: 400;
    border-top: 1px solid #e8e8e8;
    margin: 0 calc(-1 * var(--card-px)) calc(-1 * var(--card-py));
    padding: var(--card-py) var(--card-px);
}
.order-summary__row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #e8e8e8;
}
.order-summary__row--discount {
    color: #e74c3c;
}
.order-summary__row--discount small {
    color: #999;
    margin-left: 5px;
}
.order-summary__row--total {
    border-bottom: none;
    border-top: 2px solid #333;
    margin-top: 4px;
    padding-top: 12px;
    font-weight: 700;
    font-size: 16px;
}

/* 3 Kart — Teslimat + Fatura + Ödeme */
.order-detail__cards {
    display: flex;
    gap: 20px;
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
}
.order-detail__cards:last-child {
    border-bottom: none;
}
.order-detail__card {
    flex: 1;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}
.order-detail__card--full {
    flex: none;
    width: 100%;
}
.order-detail__card-title {
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    font-family: "Jost", sans-serif;
    text-transform: none;
    margin: 0;
    padding: 14px 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    color: #333;
}
.order-detail__card-title i {
    margin-right: 6px;
    font-size: 15px;
    color: #304650;
}
.order-detail__card-body {
    --card-px: 20px;
    --card-py: 18px;
    padding: var(--card-py) var(--card-px);
    font-size: 13px;
    line-height: 1.7;
    color: #333;
}
.order-detail__card-body p {
    margin: 0;
}
.order-detail__card-same {
    color: #888;
    font-style: italic;
}
.order-detail__card-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 14px 20px;
    border-top: 1px solid #e8e8e8;
}
/* Ödeme bilgisi — kart içindeki satırlar */
.order-detail__payment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}
.order-detail__payment-row:first-child {
    padding-top: 0;
}
.order-detail__payment-label {
    color: #666;
}

/* Kargo bilgisi */
.order-detail__shipment-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}
.order-detail__shipment-carrier-name {
    font-weight: 600;
    font-size: 14px;
    color: #333;
}
.order-detail__shipment-row {
    color: #666;
    display: flex;
    align-items: center;
    gap: 6px;
}
.order-detail__shipment-dates {
    display: flex;
    gap: 30px;
}
.order-detail__shipment-date {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.order-detail__shipment-date-label {
    font-size: 12px;
    color: #888;
}
.order-detail__shipment-date-value {
    font-weight: 500;
}
/* Müşteri notu */
.order-detail__note {
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    padding: 15px 20px;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* (Sipariş kartı thumbnail + buton stilleri yukarıda tanımlandı) */

/* Sipariş detay — ürün görseli */
.order-items__col--image {
    width: 75px;
    flex-shrink: 0;
}
.order-item__image-wrap {
    width: 75px;
    flex-shrink: 0;
}
.order-item__image-wrap a {
    display: block;
    line-height: 0;
}
.order-item__image {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid #e8e8e8;
}
.order-item__image--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #ccc;
    font-size: 20px;
}

/* Sipariş sayfalama */
.order-pagination {
    margin-top: 30px;
    margin-bottom: 10px;
}

/* Responsive — tablet */
@media (max-width: 991px) {
    .order-summary {
        max-width: 100%;
    }
    .order-items__head {
        display: none;
    }
    .order-item {
        flex-wrap: wrap;
        gap: 8px;
    }
    .order-item__image-wrap {
        width: 60px;
    }
    .order-item__image {
        width: 50px;
        height: 50px;
    }
    .order-item__product {
        flex: 1 1 calc(100% - 70px);
    }
    .order-item__review {
        width: auto;
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }
    .order-item__review-btn {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }
    .order-item__qty,
    .order-item__price,
    .order-item__total {
        width: auto;
        text-align: left;
        font-size: 13px;
    }
    .order-item__qty::before {
        content: "Adet: ";
        color: #888;
    }
    .order-item__price::before {
        content: "Birim: ";
        color: #888;
    }
    .order-item__total::before {
        content: "Toplam: ";
        color: #888;
    }
    /* Sipariş kartı — tablet */
    .order-card__meta {
        flex-wrap: wrap;
    }
    .order-card__meta-item {
        flex: 0 0 calc(50% - 5px);
        padding-bottom: 10px;
    }
    .order-card__thumb {
        width: 50px;
        height: 50px;
    }
}

/* Responsive — mobil */
@media (max-width: 767px) {
    .order-card__content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .order-card__thumb {
        width: 45px;
        height: 45px;
    }
    .order-card__actions {
        flex-direction: column;
    }
    .order-card__actions .bars-public-btn {
        text-align: center;
        width: 100%;
    }
    .order-card__actions .bars-public-btn:not(.is-outlined) {
        order: -1;
    }
    .order-detail__header,
    .order-detail__section,
    .order-detail__cards,
    .order-detail__footer {
        padding: 15px;
    }
    .order-detail__title {
        font-size: 18px;
    }
    .order-detail__cards {
        flex-direction: column;
    }
    .order-detail__shipment-dates {
        flex-direction: column;
        gap: 10px;
    }
}

/* Hesap — Favorilerim */
.account-wishlist {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.account-wishlist__item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
}
.account-wishlist__item:last-child {
    border-bottom: none;
}
.account-wishlist__image-link {
    flex-shrink: 0;
}
.account-wishlist__image {
    width: 70px;
    height: 70px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid #e8e8e8;
}
.account-wishlist__image--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #ccc;
    font-size: 22px;
}
.account-wishlist__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.account-wishlist__name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.account-wishlist__name:hover {
    color: #304650;
}
.account-wishlist__price {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
/* Fiyat renkleri → mevcut .wishlist-price--new / --old yeniden kullanılır (bölüm 12) */
/* Stok durumu — ürün bilgisi ile sil butonu arasında ortalı.
   flex:1 ile info ile eşit alan paylaşır, text-align:center ile ortalanır. */
.account-wishlist__status {
    flex: 1;
    text-align: center;
}
.account-wishlist__status .wishlist-product__status {
    font-size: 13px;
}
.account-wishlist__actions {
    flex-shrink: 0;
}
.account-wishlist__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    background: none;
    color: #bbb;
    cursor: pointer;
    padding: 0;
    transition: all 0.2s;
}
.account-wishlist__remove:hover {
    border-color: #e74c3c;
    color: #e74c3c;
    background: #fdf2f2;
}
.account-wishlist__remove i {
    font-size: 15px;
}

/* Hesap Favorilerim — Responsive */
@media (max-width: 767px) {
    .account-wishlist__image {
        width: 55px;
        height: 55px;
    }
    .account-wishlist__item {
        gap: 12px;
    }
    .account-wishlist__name {
        font-size: 13px;
    }
    .account-wishlist__status {
        display: none;
    }
}


/* ═══════════════════════════════════════════
   10. ANASAYFA — Promo bar + Instagram (dark section)
   ═══════════════════════════════════════════ */

/* --- Promo Bar — vurgu rengi ---
   Varsayılan: span → beyaz bold (kargo, iade, duyuru — çoğu zaman bu)
   .promo-bar--sale: span → kırmızı (indirim kampanyası zamanı ekle)
   Kullanım: _Layout.cshtml'de indirim varsa promo-bar'a --sale ekle */
.promo-bar span {
    color: #fff;
    font-weight: 700;
}
.promo-bar--sale span {
    color: #ed4336;
}

/* --- Slider butonları — mobil responsive ---
   theme.css'te iki .button yan yana (inline-block + margin-left: 6px).
   Dar ekranlarda alt satıra geçtiğinde dikey boşluk yok → üst üste biniyor.
   Flexbox + gap ile hem yatay hem dikey boşluk sağlanır. */
@media (max-width: 767px) {
    .default-slider-item__button {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    .default-slider-item__button .button + .button {
        margin-left: 0;
    }
}

.home-parallax--instagram {
    padding: 80px 0;
}

/* Instagram — dark section içinde margin sıfırla, renkleri beyaza çevir */
.home-parallax--instagram .minimal-instagram {
    margin: 0;
}
.home-parallax--instagram .minimal-instagram__title {
    color: #fff;
}
.home-parallax--instagram .minimal-instagram__title a {
    color: #fff;
    transition: opacity 0.3s ease;
}
.home-parallax--instagram .minimal-instagram__title a:hover {
    opacity: 0.7;
}

/* Features spacing — theme.css ≤1198px'te features__d-flex margin-top:0 + <hr> gizleniyor.
   margin-bottom:99px ise değişmiyor → dengesiz.
   Hem üst hem alt eşitlenir: simetrik boşluk. */
@media (max-width: 1198px) {
    .features {
        padding-top: 60px;
    }
    .features__d-flex {
        margin-bottom: 60px;
    }
}
@media (max-width: 767px) {
    .features {
        padding-top: 45px;
    }
    .features__d-flex {
        margin-bottom: 45px;
    }
}


/* ═══════════════════════════════════════════
   11. SEPET — Sepet sayfası + mini cart + kupon
   ═══════════════════════════════════════════ */

/* --- Boş sepet --- */
.cart-page__empty { text-align: center; padding: 80px 0; }
.cart-page__empty-icon { font-size: 64px; color: #ccc; margin-bottom: 20px; }
.cart-page__empty-text { font-size: 18px; color: #666; margin-bottom: 30px; }
.cart-page__empty-btn {
    display: inline-block; padding: 14px 40px; background: #304650; color: #fff;
    text-decoration: none; font-size: 14px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 1px; transition: background .2s;
}
.cart-page__empty-btn:hover { background: #1a2a31; color: #fff; }
@media (max-width: 767px) {
    .cart-page__empty { padding: 50px 20px; }
    .cart-page__empty-icon { font-size: 48px; }
    .cart-page__empty-text { font-size: 16px; }
}

/* --- Sipariş özeti: ara satır çizgilerini kaldır (sadece ilk satır + toplam üstü kalır) --- */
.order-summary__subtotal + .order-summary__subtotal {
    border-top: none;
    margin-top: 0;
    padding-top: 8px;
}

/* --- Kargo "Ücretsiz" — normal renk (yeşil sadece indirim/kampanyada) --- */
.cart-shipping--free { color: inherit; }

/* --- Sepete eklendi bildirimi --- */
.cart-notification {
    position: fixed; bottom: -60px; left: 50%; transform: translateX(-50%);
    background: #304650; color: #fff; padding: 14px 28px; font-size: 14px;
    display: flex; align-items: center; gap: 12px; z-index: 9999;
    transition: bottom .3s ease; box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.cart-notification.active { bottom: 30px; }
.cart-notification__link { color: #fff; text-decoration: underline; font-weight: 600; }

/* --- Header mini cart --- */
/* Sepet sayfasında mini cart popup açılmaz — kullanıcı zaten tam sepeti görüyor.
   theme.css hover kuralı: .header__cart:hover .header-cart { opacity:1; visibility:visible }
   Bunu sepet sayfasında devre dışı bırakıyoruz. */
.page-cart .header__cart:hover .header-cart {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
/* theme.css .cart-item sınıfları kullanılır. Sadece Utero'da olmayan boş/fazla durumları burada. */
.header-cart-item--empty { text-align: center; color: #999; padding: 20px 0; font-size: 13px; }
.header-cart-item--more { text-align: center; margin-top: 15px; }
.header-cart-item--more a { color: #304650; font-size: 13px; }

/* Mini cart — details flex: 1 (trash icon ile tutarlı hizalama).
   theme.css'te .cart-item__details flex property'si yok — details sadece metin
   genişliği kadar yer kaplar, çöp ikonu ile değişken boşluk kalır.
   flex: 1 ile details her zaman image–trash arasını doldurur. */
.header-cart .cart-item__details {
    flex: 1;
    min-width: 0;
}

/* Mini cart — ürün kaldır butonu (çöp kutusu)
   Touch target: 32x32px (padding ile). Mini cart hover-based → desktop-only,
   ama yine de rahat tıklanabilir alan sağlanır. */
.cart-item__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: none;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    color: #999;
    cursor: pointer;
    padding: 0;
    font-size: 15px;
    line-height: 1;
    align-self: flex-start;
    margin: 0 0 0 8px;
    transition: all 0.2s ease;
    outline: none;
    flex-shrink: 0;
}
.cart-item__remove:hover { border-color: #e74c3c; color: #e74c3c; background: #fdf2f2; }
.cart-item__remove:focus { outline: none; }
.cart-item__remove:focus-visible { outline: 2px solid #304650; outline-offset: 2px; }
.cart-item__remove:disabled { opacity: 0.4; cursor: not-allowed; }

/* Mini cart — silme animasyonu overlay */
.cart-item--removing {
    position: relative;
    overflow: hidden;
}
.cart-item__removing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #ededed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    z-index: 2;
    transform: translateX(100%);
    animation: miniCartSlideIn 0.35s ease forwards;
}
.cart-item__removing-overlay i {
    font-size: 18px;
    color: #aaa;
}
.cart-item__removing-overlay span {
    font-size: 11px;
    color: #aaa;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
@keyframes miniCartSlideIn {
    to { transform: translateX(0); }
}

/* Mini cart — ücretsiz kargo bildirim çubuğu */
.mini-cart-shipping {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    margin: 0;
    background: rgba(39, 174, 96, 0.08);
    border-radius: 6px;
    list-style: none;
}
.mini-cart-shipping__icon {
    flex-shrink: 0;
    font-size: 16px;
    color: #27ae60;
}
.mini-cart-shipping__text {
    font-size: 12px;
    font-weight: 600;
    color: #27ae60;
    line-height: 1.3;
}

/* --- Sepet & Favoriler — silme butonu (account-wishlist__remove ile tutarlı tasarım) --- */
.cart-product__delete a,
.wishlist-product__delete a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: none;
    color: #999;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.2s;
}
.cart-product__delete a:hover,
.wishlist-product__delete a:hover {
    border-color: #e74c3c;
    color: #e74c3c;
    background: #fdf2f2;
}

/* --- Tablo kolon başlıkları + fiyat alanları nowrap --- */
.shopping-cart__table thead tr th,
.cart-product__price,
.summary-subtotal__price,
.summary-total__price { white-space: nowrap; }

/* --- Kupon formu --- */
/* theme.css .discount__submit → position:absolute, border:none, background:none.
   .button class ile product detail hover animasyonu yeniden kullanılır.
   Override: flex row + .discount__submit reset. */
.discount__form-row {
    display: flex;
    gap: 0;
    align-items: stretch;
}
.discount__form-row .discount__input {
    flex: 1;
    min-width: 0;
    padding-left: 15px;
}
.discount__form-row .discount__submit:focus {
    outline: none;
}
.discount__form-row .discount__submit {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    border: 1px solid #304650;
    background: transparent;
    width: auto;
    padding: 0 24px;
    margin: 0 0 0 -1px;
    white-space: nowrap;
    font-size: 13px;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-family: inherit;
}
@media (max-width: 767px) {
    .discount__form-row .discount__submit {
        padding: 0 16px;
        font-size: 12px;
    }
}

/* Kupon hata mesajı */
.coupon-error-container {
    min-height: 0;
}
.coupon-error {
    color: #e74c3c;
    font-size: 13px;
    margin-top: 8px;
}

/* İndirim tutarı — müşteri lehine (yeşil) */
.cart-discount-amount { color: #27ae60; }

/* --- Sepet hata toast --- */
.cart-toast {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: #fff;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 14px;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s;
    white-space: nowrap;
}
.cart-toast--visible { opacity: 1; }
@media (max-width: 767px) {
    .cart-toast {
        white-space: normal;
        max-width: 90%;
        text-align: center;
    }
}


/* ═══════════════════════════════════════════
   12. FAVORİLER — Kalp toggle + wishlist sayfası
   ═══════════════════════════════════════════ */

/* Aktif kalp — dolu kırmızı ikon */
.js-add-to-wishlist.active i {
    color: #e74c3c !important;
}
.js-add-to-wishlist.active i::before {
    content: "\ebac";  /* lnil-heart-filled */
}

/* Ürün detay sayfasındaki "Favorilere Ekle" link aktif durumu */
.product__second-action .js-add-to-wishlist.active {
    color: #e74c3c;
}

/* --- Wishlist sayfası (theme.css'te olmayan ek stiller) --- */

/* Boş durum */
.wishlist-page__empty { text-align: center; padding: 80px 0; }
.wishlist-page__empty-icon { font-size: 64px; color: #ccc; margin-bottom: 20px; }
.wishlist-page__empty-text { font-size: 18px; color: #666; margin-bottom: 30px; }
.wishlist-page__empty-btn {
    display: inline-block; padding: 14px 40px; background: #304650; color: #fff;
    text-decoration: none; font-size: 14px; font-weight: 600; text-transform: uppercase;
    letter-spacing: 1px; transition: background .2s;
}
.wishlist-page__empty-btn:hover { background: #1a2a31; color: #fff; }
@media (max-width: 767px) {
    .wishlist-page__empty { padding: 50px 20px; }
    .wishlist-page__empty-icon { font-size: 48px; }
    .wishlist-page__empty-text { font-size: 16px; }
}

/* Ürün kodu */
.wishlist-product__code { display: block; font-size: 12px; color: #aaa; margin-top: 4px; }

/* İndirimli fiyat — yeni/eski fiyat ayrımı */
.wishlist-price--new { color: #e74c3c; font-weight: 600; }
.wishlist-price--old {
    text-decoration: line-through; color: #aaa; font-size: 13px; margin-left: 8px;
}

/* Disabled buton (stokta olmayan ürünler) */
.wishlist__table .fourth-button--disabled {
    opacity: 0.5; cursor: not-allowed; pointer-events: none;
}


/* ═══════════════════════════════════════════
   13. CHECKOUT — Ödeme sayfası
   ═══════════════════════════════════════════ */

/* --- Kayıtlı adres kartları --- */
.checkout-address-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.checkout-address-card {
    flex: 1 1 calc(50% - 6px);
    min-width: 220px;
    border: 1px solid #e0e0e0;
    padding: 15px;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
    background: #fff;
}
.checkout-address-card:hover {
    border-color: #304650;
}
.checkout-address-card--selected {
    border-color: #304650;
    box-shadow: 0 0 0 1px #304650;
}

.checkout-address-card__radio {
    flex-shrink: 0;
    padding-top: 2px;
}
.checkout-address-card__radio input[type="radio"] {
    accent-color: #304650;
    width: 16px;
    height: 16px;
    cursor: pointer;
}
.checkout-address-card__info {
    flex: 1;
    min-width: 0;
}
.checkout-address-card__info strong {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
.checkout-address-card__info span {
    font-size: 13px;
    color: #666;
}
.checkout-address-card__detail {
    font-size: 13px;
    color: #666;
    margin-top: 5px;
    line-height: 1.4;
}

.checkout-address-card__phone {
    color: #888;
    font-size: 12px;
    letter-spacing: 0.3px;
}

/* Yeni adres kartı (dashed border, + ikonu) */
.checkout-address-card--new {
    border-style: dashed;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 5px;
    min-height: 80px;
    color: #999;
    transition: color 0.2s, border-color 0.2s;
}
.checkout-address-card--new:hover {
    color: #304650;
    border-color: #304650;
}
.checkout-address-card__new-icon {
    font-size: 24px;
    line-height: 1;
}
.checkout-address-card__new-text {
    font-size: 13px;
    font-weight: 500;
}

/* --- Yeni adres formu container (slide-down) --- */
.checkout-new-address-form {
    border: 1px solid #e0e0e0;
    padding: 20px;
    margin-bottom: 20px;
    background: #fff;
}

/* --- Fatura adresi formu container (slide-down) --- */
.checkout-billing-form {
    border: 1px solid #e0e0e0;
    padding: 20px;
    margin-top: 15px;
    margin-bottom: 5px;
    background: #fff;
}

/* --- İndirim satırı (checkout özet — müşteri lehine, yeşil) --- */
.checkout-discount-row .checkout-subtotal__price {
    color: #27ae60;
}

/* --- Checkout kargo ücreti — theme.css kırmızı (#ea311d) override → normal renk --- */
.checkout-shipping__price { color: inherit; }

/* --- Kupon uygulandı badge --- */
.checkout-coupon-applied {
    cursor: default;
    opacity: 0.7;
}

/* --- Kayıtlı adreslerime dön link --- */
.checkout-back-link {
    color: #304650;
    font-size: 14px;
}

/* --- Checkout hata mesajı --- */
.checkout-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 12px 16px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5;
}

/* --- Checkout floating label context --- */
/* Billing-form container (background: #fafafa) → floating label pill aynı renkte olmalı */
.checkout .billing-form .form-group--floating .form-group__input:focus + .form-group__label,
.checkout .billing-form .form-group--floating .form-group__input:not(:placeholder-shown) + .form-group__label,
.checkout .billing-form .form-group--floating select.form-group__input + .form-group__label {
    background: #fafafa;
}
.checkout .billing-form .form-group--floating .select2-container ~ .form-group__label {
    background: #fafafa;
}
/* Alt container'lar (white background) → floating label'lar #fff override */
.checkout .checkout-new-address-form .form-group--floating .form-group__input:focus + .form-group__label,
.checkout .checkout-new-address-form .form-group--floating .form-group__input:not(:placeholder-shown) + .form-group__label,
.checkout .checkout-new-address-form .form-group--floating select.form-group__input + .form-group__label,
.checkout .checkout-billing-form .form-group--floating .form-group__input:focus + .form-group__label,
.checkout .checkout-billing-form .form-group--floating .form-group__input:not(:placeholder-shown) + .form-group__label,
.checkout .checkout-billing-form .form-group--floating select.form-group__input + .form-group__label {
    background: #fff;
}
.checkout .checkout-new-address-form .form-group--floating .select2-container ~ .form-group__label,
.checkout .checkout-billing-form .form-group--floating .select2-container ~ .form-group__label {
    background: #fff;
}

/* --- Textarea floating label fix --- */
/* Textarea'da label top:50% yerine üst kenara yakın başlar */
.form-group--floating textarea.form-group__input + .form-group__label {
    top: 14px;
    transform: none;
}

/* --- Checkout section başlık alt çizgisi ---
   Her section heading'inin altında çizgi — heading'i kendi içeriğinden ayırır.
   Tutarlı pattern: Teslimat Adresi, Fatura Adresi, Ödeme Yöntemi hepsi aynı.
   theme.css'te padding: 0 0 20px 0 → bölüyoruz: text↔çizgi + çizgi↔içerik. */
.checkout .billing-form__heading {
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid #d0d0d0;
}
/* Heading + sağa yaslı checkbox aynı satırda */
.checkout-heading-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid #d0d0d0;
}
.checkout-heading-row .billing-form__heading {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.checkout-heading-row__checkbox {
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
}
/* --- Checkout section container (her billing-form = bordered card) --- */
.checkout .billing-form {
    border: 1px solid #e0e0e0;
    padding: 20px;
    background: #fafafa;
}
/* Section arası boşluk */
.billing-form + .billing-form {
    margin-top: 25px;
}
/* Ödeme yöntemi bloğunun altına spacing — sonraki element (sipariş notu) ile arası */
.billing-form + .form-group {
    margin-top: 30px;
}

/* --- Checkout spacing utility classes (inline style yerine) --- */
.checkout-promo-wrapper {
    margin-bottom: 10px;
}
.checkout-back-wrapper {
    margin-bottom: 15px;
}
.checkout-billing-form .billing-form__heading {
    margin-top: 5px;
}

/* --- Sipariş Onay Sayfası --- */
.checkout-confirmation {
    text-align: center;
    padding: 60px 20px 80px;
    max-width: 600px;
    margin: 0 auto;
}
.checkout-confirmation__icon {
    margin-bottom: 20px;
}
.checkout-confirmation__icon i {
    font-size: 72px;
    color: #22c55e;
}
.checkout-confirmation__heading {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 30px;
}
.checkout-confirmation__details {
    border: 1px solid #e0e0e0;
    padding: 25px;
    margin-bottom: 30px;
    text-align: left;
}
.checkout-confirmation__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 15px;
}
.checkout-confirmation__row + .checkout-confirmation__row {
    border-top: 1px solid #f0f0f0;
}
.checkout-confirmation__label {
    color: #666;
}
.checkout-confirmation__value {
    font-weight: 600;
    color: #333;
}
.checkout-confirmation__order-no {
    font-family: monospace;
    font-size: 16px;
    letter-spacing: 1px;
    color: #304650;
}

/* Havale/EFT banka bilgileri (onay sayfası) */
.checkout-confirmation__bank-info {
    border: 1px solid #e0e0e0;
    padding: 25px;
    margin-bottom: 30px;
    text-align: left;
    background: #fafafa;
}
.checkout-confirmation__bank-info h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 10px 0;
    color: #333;
}
.checkout-confirmation__bank-info p {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}
.checkout-confirmation__bank-detail {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}

/* Onay sayfası butonlar */
.checkout-confirmation__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.checkout-confirmation__actions .second-button {
    min-width: 250px;
}
.checkout-confirmation__orders-link {
    color: #304650;
    font-size: 14px;
    text-decoration: underline;
}
.checkout-confirmation__orders-link:hover {
    color: #1a2a31;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    .checkout .billing-form {
        padding: 15px;
    }
    .checkout-new-address-form,
    .checkout-billing-form {
        padding: 15px;
    }
    .billing-form + .billing-form {
        margin-top: 20px;
    }
    .checkout-address-card {
        flex: 1 1 100%;
    }
    .checkout-confirmation {
        padding: 40px 15px 60px;
    }
    .checkout-confirmation__heading {
        font-size: 20px;
    }
    .checkout-confirmation__icon i {
        font-size: 56px;
    }
    .checkout-confirmation__row {
        font-size: 14px;
    }
}


/* ═══════════════════════════════════════════
   14. FOOTER — 4 kolon + accordion + copyright
   ═══════════════════════════════════════════ */

/* --- Kolon genişlikleri: 40/20/20/20 (theme.css 41/27/20/12 override) ---
   Logo kolonu geniş (tagline + sosyal), diğer 3 kolon eşit.
   flex + max-width + width üçlüsü ile Bootstrap col-lg override. */
@media (min-width: 992px) {
    .footer--simple .footer__first-column {
        flex: 0 0 40%;
        max-width: 40%;
        width: 40%;
    }
    .footer--simple .footer__second-column,
    .footer--simple .footer__third-column,
    .footer--simple .footer__fourth-column {
        flex: 0 0 20%;
        max-width: 20%;
        width: 20%;
    }
}

/* --- Kolon 1: Logo + Tagline + Sosyal --- */
.footer__brand-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}
.footer__brand-logo {
    width: 60px;
    height: 60px;
}
.footer__brand-name {
    font-family: 'Libre Baskerville', serif;
    font-weight: 700;
    font-size: 26px;
    color: #000;
    letter-spacing: 7px;
}
.footer__tagline {
    margin: 20px 0 0 0;
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    text-align: center;
}

/* Desktop ortalama */
.footer .footer__first-column {
    text-align: center;
}

/* --- Kolon 2-3-4: Başlıklı menü kolonları --- */

/* Footer tipografi hiyerarşisi:
   Heading: 15px semibold (600) capitalize → baskın başlık
   Linkler: 15px normal → yardımcı, ana nav değil (body 16px'ten küçük)
   Nike/Zara/Les Benjamins standardı — footer linkleri body'den küçüktür */
.footer .footer__heading {
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
}
.footer .footer__menu li,
.footer .footer__address li {
    font-size: 15px;
}

/* Chevron ikonu — sadece mobilde görünür */
.footer__chevron {
    display: none;
}

/* Heading + chevron yatay hizalama (mobilde) */
.footer__toggle {
    cursor: default;
}

/* --- İletişim kolon linkleri --- */
.footer__address a {
    color: inherit;
    text-decoration: none;
}
.footer__address a:hover {
    text-decoration: underline;
}

/* --- Copyright bar --- */
.copyright__payment {
    text-align: center;
}
.copyright__second-column {
    text-align: right;
}

/* --- Responsive (≤991px) — accordion + brand + copyright --- */
@media (max-width: 991px) {
    /* Sosyal ikonlar mobilde ortalı */
    .footer .footer__first-column .footer__socials {
        display: flex;
        justify-content: center;
        padding-top: 25px;
    }

    /* Kolon ayracı */
    .footer__collapsible-column {
        border-bottom: 1px solid #ddd;
        padding-top: 0 !important;
        padding-bottom: 0;
    }
    .footer__collapsible-column:last-child {
        border-bottom: none;
    }

    /* Heading → tıklanabilir toggle satırı */
    .footer__collapsible-column .footer__heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 0;
        margin: 0;
        cursor: pointer;
        -webkit-user-select: none;
        user-select: none;
    }

    /* Chevron görünür */
    .footer__chevron {
        display: block;
        transition: transform 0.3s ease;
        flex-shrink: 0;
    }

    /* Açık durumda chevron 180° döner */
    .footer__collapsible-column.is-open .footer__chevron {
        transform: rotate(180deg);
    }

    /* İçerik kapalı başlar */
    .footer__collapsible-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease, padding 0.35s ease;
        padding-top: 0;
        padding-bottom: 0;
    }

    /* Açık durumda içerik görünür */
    .footer__collapsible-column.is-open .footer__collapsible-content {
        max-height: 300px;
        padding-bottom: 18px;
    }

    /* Brand responsive */
    .footer__brand-logo {
        width: 45px;
        height: 45px;
    }
    .footer__brand-name {
        font-size: 22px;
        letter-spacing: 5px;
    }

    /* Copyright ortalı */
    .footer--simple .copyright__first-column,
    .footer--simple .copyright__payment,
    .footer--simple .copyright__second-column {
        text-align: center;
    }
    .footer--simple .full-width-footer__language {
        text-align: center;
    }
}


/* ═══════════════════════════════════════════════
   15. VALİDASYON — Merkezi form validation (per-field error state)
   ═══════════════════════════════════════════════
   .has-validation      → Marker class — .form-group üzerinde opt-in
   .form-group--error   → Error state — JS tarafından eklenir/kaldırılır
   .form-group__error-msg → <span> hata mesajı — JS tarafından append/remove
   Renk tokeni: #d9534f (projede tutarlı danger rengi)
   ═══════════════════════════════════════════════ */

/* --- Floating label error state --- */
/* Input border kırmızı */
.form-group--floating.form-group--error .form-group__input {
    border-color: #d9534f;
}

/* Label rengi kırmızı */
.form-group--floating.form-group--error .form-group__label {
    color: #d9534f;
}

/* --- Select2 error state (floating label scope) --- */
.form-group--floating.form-group--error .select2-container--default .select2-selection--single {
    border-color: #d9534f;
}

/* --- Auth (non-floating) error state --- */
/* Auth sayfasında input'lar border-bottom ile ayrılır, error'da alt çizgi kırmızı */
.auth .form-group--error .form-group__input {
    border-bottom-color: #d9534f !important;
}

/* --- Checkbox error state --- */
.form-group--error .form-group__checkbox-label {
    color: #d9534f;
}

/* --- Hata mesajı — tüm form tipleri --- */
.form-group__error-msg {
    display: block;
    font-size: 11px;
    color: #d9534f;
    margin-top: 4px;
    line-height: 1.3;
}

/* --- Floating label içinde error mesajı — absolute konumla, parent yüksekliğini etkileme ---
   Sorun: <span class="form-group__error-msg"> eklenince .form-group--floating yüksekliği artar,
   label top:50% aşağı kayar → placeholder ortadan kaybolur.
   Çözüm: Error mesajı absolute + top:100% ile parent'ın hemen altına konumlanır.
   - position:absolute → parent yüksekliği değişmez → label top:50% sabit kalır
   - top:100% → error her zaman input'un altından başlar (bottom:-Npx magic number yok)
   - Çok satırlı error text aşağı doğru büyür, input'a taşmaz (dar kolonlarda güvenli)
   - margin-bottom:40px → normal 20px + ~20px error alanı → alttaki input ile çakışma yok */
.form-group--floating .form-group__error-msg {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 2px;
}
.form-group--floating.form-group--error {
    margin-bottom: 40px;
}


/* ═══════════════════════════════════════════
   16. TOAST NOTIFICATION — Merkezi bildirim sistemi
   ═══════════════════════════════════════════
   JS: common.js → notifySuccess() / notifyError() / notifyWarning()
   İkonlar: Lineicons (lnil) — Utero template ile gelir.
   Pozisyon: Sağ üst köşe (fixed).
   Animasyon: Sağdan slide-in, auto-dismiss.
   ═══════════════════════════════════════════ */

.bars-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100000;
    padding: 14px 40px 14px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    transform: translateX(calc(100% + 30px));
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 420px;
    pointer-events: auto;
}
.bars-toast--visible {
    transform: translateX(0);
}

/* --- Tip renkleri --- */
.bars-toast--success { background: #27ae60; }
.bars-toast--error   { background: #e74c3c; }
.bars-toast--warning { background: #f39c12; }

/* --- İkon --- */
.bars-toast i.lnir {
    font-size: 20px;
    flex-shrink: 0;
}

/* --- Kapatma butonu --- */
.bars-toast__close {
    position: absolute;
    top: 8px;
    right: 10px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}
.bars-toast__close:hover {
    color: #fff;
}

/* --- Mobil uyum --- */
@media (max-width: 575px) {
    .bars-toast {
        top: auto;
        bottom: 16px;
        right: 12px;
        left: 12px;
        max-width: none;
        font-size: 13px;
        padding: 12px 36px 12px 14px;
    }
}

/* --- Buton loading state (apiPost/apiGet buton parametresi) ---
   apiPost/apiGet btn parametresi verildiğinde common.js otomatik ekler/kaldırır.
   Text gizlenir, ortada CSS spinner döner. Buton boyutu sabit kalır (Nike/Apple/Stripe pattern). */
button.is-loading,
a.is-loading {
    pointer-events: none;
    color: transparent !important;
    position: relative;
}
button.is-loading::after,
a.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: btnSpin 0.6s linear infinite;
}
@keyframes btnSpin {
    to { transform: rotate(360deg); }
}
/* .button (Utero) sweep — loading sırasında teal arka planı açık tut.
   theme.css: .button::before → soldan sağa teal sweep (hover'da right:-1px).
   is-loading'de sweep tam açık pozisyonda kilitlenir, mouse çıksa bile teal kalır. */
.button.is-loading::before {
    right: -1px !important;
    transition: none !important;
}
.button.is-loading {
    color: transparent !important;
}


/* ═══════════════════════════════════════════
   17. ERROR MODAL — Merkezi hata popup sistemi
   ═══════════════════════════════════════════
   JS: common.js → _showApiErrorModal(errors, debugInfo)
   Development: DebugInfo var → büyük modal + debug paneli
   Production:  DebugInfo null → küçük modal, sadece hata mesajı
   İkonlar: Lineicons (lnil) — Utero template ile gelir.
   Renk tokenleri: #e74c3c (danger), #d9534f (form accent), #d0d0d0 (border)
   Standalone — Huro bağımlılığı yok.
   ═══════════════════════════════════════════ */

/* --- Overlay (backdrop) --- */
.bars-error-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100001;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Modal container --- */
.bars-error-modal {
    background: #fff;
    border-radius: 0;
    max-width: 600px;
    width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Küçük mod — production (debugInfo yok) */
.bars-error-modal--sm {
    max-width: 420px;
}

/* --- Header --- */
.bars-error-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #d0d0d0;
    flex-shrink: 0;
}

.bars-error-modal__title {
    font-family: "Jost", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bars-error-modal__icon {
    color: #e74c3c;
    font-size: 20px;
}

.bars-error-modal__close {
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: #666;
    cursor: pointer;
    padding: 0 4px;
}
.bars-error-modal__close:hover {
    color: #000;
}

/* --- Body --- */
.bars-error-modal__body {
    padding: 20px;
    overflow-y: auto;
    max-height: 60vh;
    flex: 1;
}

/* --- Üst bölüm: İkon + başlık + mesajlar --- */
.bars-error-modal__content-top {
    text-align: center;
    margin-bottom: 16px;
}

.bars-error-modal__big-icon {
    font-size: 48px;
    color: #e74c3c;
    display: block;
    margin-bottom: 12px;
}

.bars-error-modal__subtitle {
    font-family: "Jost", sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin: 0 0 12px 0;
}

.bars-error-modal__message {
    font-size: 14px;
    color: #000;
    line-height: 1.5;
    margin: 0;
}

.bars-error-modal__list {
    margin: 0;
    padding-left: 16px;
    text-align: left;
    font-size: 14px;
    color: #000;
    line-height: 1.5;
}
.bars-error-modal__list li {
    margin-bottom: 4px;
}

/* --- Footer --- */
.bars-error-modal__footer {
    padding: 16px 20px;
    border-top: 1px solid #d0d0d0;
    text-align: center;
    flex-shrink: 0;
}

.bars-error-modal__btn {
    display: inline-block;
    padding: 10px 32px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 0;
    font-family: "Jost", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
}
.bars-error-modal__btn:hover {
    background: #333;
}

/* --- Debug collapse panel --- */
.bars-debug-collapse {
    border: 1px solid #d0d0d0;
    margin-top: 12px;
}

.bars-debug-collapse__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #000;
    background: #f8f8f8;
    -webkit-user-select: none;
    user-select: none;
}

.bars-debug-collapse__chevron {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

/* Açık durumda chevron 180° döner */
.bars-debug-collapse.is-open > .bars-debug-collapse__header .bars-debug-collapse__chevron {
    transform: rotate(180deg);
}

.bars-debug-collapse__content {
    padding: 12px 14px;
    border-top: 1px solid #d0d0d0;
}

/* --- Debug table --- */
.bars-debug-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.bars-debug-table td {
    padding: 4px 10px 4px 0;
    vertical-align: top;
}

.bars-debug-table__label {
    font-weight: 600;
    white-space: nowrap;
    color: #000;
    font-size: 11px;
    width: 80px;
}

.bars-debug-table__val {
    color: #000;
    word-break: break-all;
    font-family: "Consolas", "Monaco", "Courier New", monospace;
    font-size: 12px;
}

.bars-debug-table__val--error {
    color: #e74c3c;
}

/* --- Stack trace --- */
.bars-debug-stack {
    background: #1e1e1e;
    color: #d4d4d4;
    padding: 12px;
    font-size: 11px;
    line-height: 1.5;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
    margin: 0;
    max-height: 300px;
    overflow-y: auto;
    border-radius: 0;
}

/* Barswear satırları kırmızı vurgulu */
.bars-debug-stack__highlight {
    color: #e74c3c;
    font-weight: 500;
}

/* --- Tablet (≤991px) --- */
@media (max-width: 991px) {
    .bars-error-modal {
        max-width: 90vw;
    }
    .bars-error-modal--sm {
        max-width: 90vw;
    }
    .bars-error-modal__body {
        padding: 16px;
    }
}

/* --- Mobil (≤575px) --- */
@media (max-width: 575px) {
    .bars-error-modal {
        width: calc(100% - 24px);
        margin: 12px;
        max-width: none;
    }
    .bars-error-modal--sm {
        max-width: none;
    }
    .bars-error-modal__header {
        padding: 12px 16px;
    }
    .bars-error-modal__body {
        padding: 14px;
        max-height: 50vh;
    }
    .bars-error-modal__footer {
        padding: 12px 16px;
    }
    .bars-error-modal__big-icon {
        font-size: 36px;
    }
    .bars-error-modal__subtitle {
        font-size: 16px;
    }
    .bars-debug-table {
        font-size: 11px;
    }
    .bars-debug-table__val {
        font-size: 11px;
    }
    .bars-debug-stack {
        font-size: 10px;
    }
}


/* ═══════════════════════════════════════════
   18. ÜRÜN KARTI BEDEN — Size dropdown (glassmorphism, Zara pattern)
   ═══════════════════════════════════════════
   JS: common.js → .js-add-to-cart click handler
   Desktop-only (≥992px): Mobilde action buttons theme.css'te display:none,
   size dropdown tetiklenmez. Kullanıcı ürün detay sayfasından sepete ekler.
   ═══════════════════════════════════════════ */

/* Image blur efekti — dropdown açıkken */
.product-grid-item--size-open .product-grid-item__image > a img {
    filter: blur(4px);
    transition: filter 0.3s ease;
}

/* Dropdown container — image alanının alt kısmında, yukarıya doğru açılır */
.size-dropdown {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 5;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.size-dropdown.active {
    transform: translateY(0);
}

/* Dropdown header */
.size-dropdown__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
}
.size-dropdown__title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #333;
    font-weight: 600;
}
.size-dropdown__close {
    cursor: pointer;
    font-size: 16px;
    color: #666;
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
}
.size-dropdown__close:hover { color: #000; }

/* Size listesi — dikey (alt alta) */
.size-dropdown__list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.size-dropdown__item {
    text-align: center;
    padding: 8px 12px;
    font-size: 13px;
    letter-spacing: 0.5px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    color: #333;
}
.size-dropdown__item:hover {
    border-color: #333;
    background: rgba(255, 255, 255, 0.6);
}

/* Stokta yok */
.size-dropdown__item--out-of-stock {
    color: #bbb;
    text-decoration: line-through;
    cursor: not-allowed;
    pointer-events: none;
}

/* Eklendi feedback — :hover (0,2,0) specificity'yi eşitle, aksi halde
   hover'ın background: rgba(255,255,255,0.6) kuralı --added'ı ezer,
   beyaz arka plan + beyaz yazı = metin kaybolur */
.size-dropdown__item--added,
.size-dropdown__item--added:hover {
    background: #333;
    color: #fff;
    border-color: #333;
}

/* Action buttons gizle dropdown açıkken */
.product-grid-item--size-open .product-grid-item__action {
    opacity: 0;
    pointer-events: none;
}


/* ═══════════════════════════════════════════
   19. İADE TALEBİ — Return card, detail, form, timeline
   ═══════════════════════════════════════════ */

/* --- İade Listesi: Return Card --- */
.return-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.return-card {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    transition: border-color 0.2s;
    overflow: hidden;
}
.return-card:hover {
    border-color: #ccc;
}
.return-card__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
}
.return-card__no {
    font-weight: 600;
    font-size: 13px;
    color: #333;
    font-family: "Jost", sans-serif;
}
.return-card__meta {
    display: flex;
    padding: 18px 20px;
    border-bottom: 1px solid #f0f0f0;
    gap: 10px;
}
.return-card__meta-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.return-card__meta-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.return-card__meta-value {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
.return-card__order-link {
    color: #304650;
    text-decoration: none;
    font-weight: 600;
}
.return-card__order-link:hover {
    text-decoration: underline;
}
.return-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    border-top: 1px solid #f0f0f0;
}
.return-card__refund {
    font-size: 15px;
    font-weight: 700;
    color: #333;
}
.return-card__refund-label {
    font-size: 12px;
    font-weight: 400;
    color: #999;
}

/* --- İade Detay --- */
.return-detail__wrapper {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}
.return-detail__header {
    padding: 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
}
.return-detail__sub {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 6px;
    flex-wrap: wrap;
}
.return-detail__order-link {
    font-size: 13px;
    color: #888;
}
.return-detail__order-link a {
    color: #304650;
    font-weight: 600;
    text-decoration: none;
}
.return-detail__order-link a:hover {
    text-decoration: underline;
}

/* --- İade Detay: Status Timeline --- */
.return-detail__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 20px;
}
.return-detail__timeline-item {
    position: relative;
    padding-bottom: 20px;
    padding-left: 16px;
}
.return-detail__timeline-item:last-child {
    padding-bottom: 0;
}
/* Vertical line connecting dots */
.return-detail__timeline-item::before {
    content: '';
    position: absolute;
    left: -14px;
    top: 10px;
    bottom: 0;
    width: 2px;
    background: #e8e8e8;
}
.return-detail__timeline-item:last-child::before {
    display: none;
}
.return-detail__timeline-dot {
    position: absolute;
    left: -20px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #999;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #e8e8e8;
    z-index: 1;
}
.return-detail__timeline-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.return-detail__timeline-status {
    font-size: 13px;
    font-weight: 600;
    color: #333;
}
.return-detail__timeline-date {
    font-size: 12px;
    color: #888;
}
.return-detail__timeline-notes {
    font-size: 12px;
    color: #666;
    font-style: italic;
    margin-top: 2px;
}

/* --- OrderDetail header sub row (for return button) --- */
.order-detail__header-sub {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 6px;
    flex-wrap: wrap;
}
/* Sipariş detay — footer aksiyonlar */
/* Not: border-top yok — üstteki section/cards zaten border-bottom sağlıyor, çift çizgi önlenir */
.order-detail__footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
}

/* --- İade Formu --- */
.return-form {
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
}
.return-form__order-info {
    display: flex;
    padding: 18px 20px;
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    gap: 10px;
}
.return-form__order-info-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.return-form__order-info-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.return-form__order-info-value {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
.return-form__order-info-value--deadline {
    color: #e74c3c;
    font-weight: 600;
}
.return-form__reason {
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
}
.return-form__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}
.return-form__label small {
    font-weight: 400;
    color: #999;
}
.return-form__required {
    color: #e74c3c;
}
.return-form__reason select.bars-public-select {
    max-width: 400px;
}
.return-form__items {
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
}
.return-form__note {
    padding: 20px;
    border-bottom: 1px solid #e8e8e8;
}
.return-form__note textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    resize: vertical;
    outline: none;
    transition: border-color 0.2s;
    font-family: inherit;
}
.return-form__note textarea:focus {
    border-color: #304650;
}
.return-form__actions {
    padding: 20px;
    display: flex;
    justify-content: flex-end;
}

/* --- İade Form: Ürün Kartı (return-item) --- */
.return-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f0f0f0;
}
.return-item:last-child {
    border-bottom: none;
}
.return-item--disabled {
    opacity: 0.5;
    pointer-events: none;
}
.return-item__check {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.return-item__check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #304650;
}
.return-item__image {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
}
.return-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e8e8e8;
}
.return-item__image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    border-radius: 4px;
    color: #ccc;
    font-size: 22px;
}
.return-item__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.return-item__name {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.return-item__variant {
    font-size: 13px;
    color: #666;
}
.return-item__price {
    font-size: 13px;
    font-weight: 600;
    color: #333;
}
.return-item__remaining {
    font-size: 12px;
    color: #888;
}
.return-item__completed-label {
    font-size: 12px;
    color: #e74c3c;
    font-weight: 600;
}
.return-item__qty {
    flex-shrink: 0;
    width: 70px;
}
.return-item__qty input {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
    color: #333;
    outline: none;
    transition: border-color 0.2s;
}
.return-item__qty input:focus {
    border-color: #304650;
}
.return-item__qty input:disabled {
    background: #f5f5f5;
    color: #aaa;
    cursor: not-allowed;
}

/* --- İade Formu: Uygun Değil Durumu --- */
.return-form__ineligible {
    text-align: center;
    padding: 60px 20px;
}
.return-form__ineligible i {
    font-size: 48px;
    color: #e74c3c;
    display: block;
    margin-bottom: 15px;
}
.return-form__ineligible h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}
.return-form__ineligible p {
    font-size: 14px;
    color: #888;
    margin-bottom: 25px;
}

/* --- İade Responsive: Tablet (≤991px) --- */
@media (max-width: 991px) {
    .return-card__meta {
        flex-wrap: wrap;
    }
    .return-card__meta-item {
        flex: 0 0 calc(50% - 5px);
        padding-bottom: 10px;
    }
    .return-form__order-info {
        flex-wrap: wrap;
    }
    .return-form__order-info-item {
        flex: 0 0 calc(50% - 5px);
        padding-bottom: 10px;
    }
}

/* --- İade Responsive: Mobil (≤767px) --- */
@media (max-width: 767px) {
    .return-card__footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .return-card__footer .bars-public-btn {
        width: 100%;
        text-align: center;
    }
    .return-detail__header {
        padding: 15px;
    }
    .return-detail__sub {
        flex-direction: column;
        gap: 6px;
    }
    .order-detail__header-sub {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .return-item {
        flex-wrap: wrap;
        gap: 10px;
    }
    .return-item__info {
        flex: 1 1 calc(100% - 100px);
    }
    .return-item__qty {
        width: 60px;
    }
    .return-form__order-info {
        flex-direction: column;
    }
    .return-form__order-info-item {
        flex: none;
    }
    .return-form__actions {
        justify-content: stretch;
    }
    .return-form__actions .second-button {
        width: 100%;
        text-align: center;
    }
}

/* ══════════════════════════════════════════════════════════
   20. YASAL SAYFALAR — home-about--legal scope
   ══════════════════════════════════════════════════════════
   Utero home-about default'ları (158px padding, 570px width, 27px p gap)
   yasal metinler için aşırı boşluk yaratıyor. Bu bölüm sadece
   .home-about--legal class'lı sayfaları ezer, diğer home-about'lar etkilenmez.
   ──────────────────────────────────────────────────────────── */

/* Arka plan beyaz — Utero default #f2f2f2'yi kaldır */
.home-about--legal {
    background: #fff;
}

/* Ana container — padding küçült (158px → 60px desktop, 80px → 40px tablet, 30px mobil) */
.home-about--legal .home-about__d-flex {
    padding: 60px 0;
    justify-content: center;
}
@media (max-width: 991px) {
    .home-about--legal .home-about__d-flex {
        padding: 40px 0;
    }
}
@media (max-width: 480px) {
    .home-about--legal .home-about__d-flex {
        padding: 30px 0;
    }
}

/* İçerik alanı — geniş layout, max-width ile okunabilirlik korunsun */
.home-about--legal .home-about__content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
@media (max-width: 480px) {
    .home-about--legal .home-about__content {
        padding: 0 16px;
    }
}

/* Başlık — büyük, hafif ağırlık, yatayda ortalı */
.home-about--legal .home-about__title {
    font-size: 32px;
    text-align: center;
    margin-bottom: 16px;
}
@media (max-width: 991px) {
    .home-about--legal .home-about__title {
        font-size: 26px;
    }
}
@media (max-width: 480px) {
    .home-about--legal .home-about__title {
        font-size: 22px;
        margin-bottom: 12px;
    }
}

/* Description container — üst padding küçült (54px → 16px)
   font-size: 16px (12pt) — yasal zorunluluk, tüm yasal sayfalar için geçerli
   word-wrap: break-word — uzun kelimeler/URL'ler dar ekranda taşmasın */
.home-about--legal .home-about__description {
    padding-top: 16px;
    line-height: 1.7;
    font-size: 16px;
    color: #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
@media (max-width: 991px) {
    .home-about--legal .home-about__description {
        padding-top: 12px;
    }
}

/* Paragraflar — boşluk küçült (27px → 10px) */
.home-about--legal .home-about__description p {
    padding-top: 10px;
}

/* Bölüm başlıkları (h4) — paragraftan belirgin, üstte biraz daha boşluk */
.home-about--legal .home-about__description h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 28px 0 8px 0;
    padding: 0;
    color: #000;
}
.home-about--legal .home-about__description h4:first-of-type {
    margin-top: 16px;
}
@media (max-width: 480px) {
    .home-about--legal .home-about__description h4 {
        margin: 20px 0 6px 0;
    }
}

/* Listeler — kompakt, sol indent */
.home-about--legal .home-about__description ul {
    margin: 8px 0;
    padding-left: 24px;
    list-style: disc;
}
.home-about--legal .home-about__description ul li {
    padding: 3px 0;
    line-height: 1.6;
}
@media (max-width: 480px) {
    .home-about--legal .home-about__description ul {
        padding-left: 16px;
    }
}

/* Alt başlık (h5) — çerez politikası 3.1, 3.2 gibi alt bölümler */
.home-about--legal .home-about__description h5 {
    font-size: 15px;
    font-weight: 600;
    margin: 20px 0 6px 0;
    padding: 0;
    color: #222;
}

/* Tablo — çerez listesi, responsive wrap */
.home-about--legal .legal-table-wrap {
    overflow-x: auto;
    margin: 12px 0;
    -webkit-overflow-scrolling: touch;
}
.home-about--legal .legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    line-height: 1.5;
}
.home-about--legal .legal-table th,
.home-about--legal .legal-table td {
    padding: 10px 12px;
    border: 1px solid #e0e0e0;
    text-align: left;
    vertical-align: top;
}
.home-about--legal .legal-table th {
    background: #f7f7f7;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #333;
    white-space: nowrap;
}
/* Çerez tablosu — thead'li tablolarda ilk kolon kod adı (monospace) */
.home-about--legal .legal-table thead ~ tbody td:first-child {
    font-family: monospace;
    font-size: 13px;
    white-space: nowrap;
    color: #555;
}

/* Yatay çizgi — footer notu öncesi */
.home-about--legal .home-about__description hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 28px 0 16px 0;
}
@media (max-width: 480px) {
    .home-about--legal .home-about__description hr {
        margin: 20px 0 12px 0;
    }
}

/* ══════════════════════════════════════════════════════════
   21. YASAL ONAY CHECKBOX — Register + Checkout ortak
   ══════════════════════════════════════════════════════════ */

.legal-checkbox {
    margin: 12px 0 4px;
}
.legal-checkbox label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #666;
    cursor: pointer;
    line-height: 1.5;
}
.legal-checkbox input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #304650;
}

/* Info text — bağımsız bilgilendirme paragrafı */
.legal-info-text {
    font-size: 13px;
    color: #666;
    margin: 10px 0 16px;
    line-height: 1.5;
}

/* Linkler — checkbox ve info text ortak */
.legal-checkbox a,
.legal-info-text a {
    color: #333;
    text-decoration: underline;
}
.legal-checkbox a:hover,
.legal-info-text a:hover {
    color: #000;
}

/* Auth sayfası — text-align: center mirasını ez */
.auth .legal-checkbox,
.auth .legal-info-text {
    text-align: left;
}


/* ═══════════════════════════════════════════
   21. STICKY BEDEN DROPDOWN — Sticky bar beden seçim popup'ı
   ═══════════════════════════════════════════
   JS: product-detail.js → #sticky-add-to-cart click handler
   Beden seçilmemişken sticky bar "Sepete Ekle" tıklanınca,
   butonun üzerinden yukarıya doğru açılan glassmorphism dropdown.
   İç elemanlar section 18 (.size-dropdown__*) ile ortak — tasarım tutarlılığı.
   ═══════════════════════════════════════════ */

/* Sadece container pozisyonlama — iç elemanlar .size-dropdown__* class'larını kullanır */
.sticky-size-dropdown {
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 200px;
    margin-bottom: 12px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    padding: 16px;
    z-index: 1000;
    animation: stickyDropUp 0.25s ease;
}

@keyframes stickyDropUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Mobile — dropdown butona ortalanmış */
@media (max-width: 767px) {
    .sticky-size-dropdown { right: 50%; transform: translateX(50%); width: 200px; }
    @keyframes stickyDropUp {
        from { opacity: 0; transform: translateX(50%) translateY(10px); }
        to   { opacity: 1; transform: translateX(50%) translateY(0); }
    }
}

/* ============================================================
   22. HOME — SIMPLE BANNER OVERRIDE
   ============================================================ */

/* Banner overlay text — daha zarif boyutlar */
.simple-banner__tag {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.5px;
    font-weight: 500;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.simple-banner__title {
    font-size: 36px;
    line-height: 1.3;
    padding-top: 16px;
    font-weight: 600;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.simple-banner__title span {
    color: #fb5716;
}

/* Ortadaki banner — açık arka plan üzerine hafif karartma overlay */
.simple-banners .row > div:nth-child(2) .simple-banner__image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.30);
    z-index: 1;
    pointer-events: none;
}

/* Tablet */
@media (max-width: 1198px) {
    .simple-banner__tag { font-size: 13px; line-height: 18px; }
    .simple-banner__title { font-size: 28px; line-height: 1.3; padding-top: 12px; }
}

/* Mobil */
@media (max-width: 991px) {
    .simple-banner__tag { font-size: 12px; }
    .simple-banner__title { font-size: 24px; line-height: 1.3; }
}

/* ═══════════════════════════════════════
   Section 23: Değerlendirmeler (Review)
   Utero .review-2 pattern kullanılır.
   Sadece Utero'da olmayan stiller burada.
   ═══════════════════════════════════════ */

.review-section {
    padding: 4px 0 0 0;
}

/* ── Accordion başlık — inline yıldızlar ── */
.review-2__rating--inline {
    display: inline-flex;
    font-size: 12px;
    margin-left: 4px;
    vertical-align: middle;
}

.review-2__rating--inline i {
    color: #ccc;
}

.review-2__rating--inline i.active {
    color: #ffbb05;
}

.review-average-text {
    font-size: 13px;
    color: #666;
    margin-left: 2px;
    font-weight: 500;
}

/* ── Doğrulanmış alım rozeti ── */
.review-verified-badge {
    font-size: 12px;
    color: #2ecc71;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
}

/* ── Boş / durum mesajları ── */
.review-empty-message {
    color: #999;
    font-size: 14px;
}

.review-login-prompt,
.review-ineligible-message {
    padding: 16px 0 0 0;
    font-size: 14px;
    color: #666;
}

.review-login-prompt a {
    color: #304650;
    font-weight: 600;
    text-decoration: underline;
}

.review-success-message {
    padding: 16px 20px;
    background: #f0faf4;
    border: 1px solid #2ecc71;
    border-radius: 6px;
    color: #27ae60;
    font-size: 14px;
    font-weight: 500;
    margin-top: 24px;
}

.review-success-message i {
    margin-right: 6px;
}

/* ── Yorum yazma formu — yıldız rating input ── */
#review-star-input .js-review-star {
    font-size: 22px;
    color: var(--clr-text-faint);
    cursor: pointer;
    margin-right: 2px;
    transition: color 0.15s;
}

#review-star-input .js-review-star.active {
    color: var(--clr-warning);
}

/* ── Sipariş detay — Değerlendir ikon butonu ── */
.order-items__col--review {
    flex: 1;
    text-align: center;
}

.order-item__review {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.order-item__review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 16px;
    color: var(--clr-teal);
    background: transparent;
    border: 1px solid var(--clr-border);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s;
}

.order-item__review-btn:hover:not(:disabled) {
    border-color: var(--clr-teal);
    background: var(--clr-teal);
    color: var(--clr-bg);
}

.order-item__review-btn:disabled {
    opacity: 0.5;
    cursor: default;
    color: var(--clr-success);
    border-color: var(--clr-border-light);
}

/* ── Değerlendirme popup — ürün kartı + mesaj stili ── */
.review-popup__content {
    padding: 40px 40px 36px !important;
    max-width: 480px !important;
}

@media (max-width: 767px) {
    .review-popup__content {
        padding: 30px 24px 28px !important;
    }
}

.review-popup__product {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--clr-border-light);
}

.review-popup__product img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

.review-popup__product-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--clr-text);
    line-height: 1.4;
}

.review-popup__product-variant {
    font-size: 13px;
    color: var(--clr-text-muted);
    margin-top: 2px;
}

.review-popup__loading {
    text-align: center;
    padding: 32px 0;
    color: var(--clr-text-muted);
    font-size: 14px;
}

.review-popup__message {
    padding: 20px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
}

.review-popup__message--info {
    background: var(--clr-bg-soft);
    color: var(--clr-text-soft);
}

.review-popup__message--success {
    background: #f0faf0;
    color: var(--clr-success);
}

.review-popup__message i {
    margin-right: 6px;
}

/* ── Popup içi form stili (rating + input alanları) ── */
#review-popup .form__your-rating {
    margin-bottom: 16px;
}

#review-popup .your-rating__title {
    font-size: 14px;
    color: var(--clr-text-soft);
    margin-right: 12px;
    white-space: nowrap;
}

#review-popup-stars .js-popup-star {
    font-size: 22px;
    color: var(--clr-text-faint);
    cursor: pointer;
    margin-right: 2px;
    transition: color 0.15s;
}

#review-popup-stars .js-popup-star.active {
    color: var(--clr-warning);
}

#review-popup .form-group {
    margin-bottom: 14px;
}

#review-popup .form-group__input,
#review-popup .form-group__textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--clr-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--clr-text);
    background: var(--clr-bg);
    transition: border-color 0.2s;
    box-sizing: border-box;
}

#review-popup .form-group__input:focus,
#review-popup .form-group__textarea:focus {
    outline: none;
    border-color: var(--clr-teal);
}

#review-popup .form__action {
    margin-top: 8px;
    text-align: right;
}


/* ═══════════════════════════════════════════
   23. BARS-BOX-SELECT — Yeniden kullanılabilir seçim kutuları
   ═══════════════════════════════════════════
   İkon + metin içeren büyük seçilebilir kutular.
   Sağ üst köşede yuvarlak check indicator.
   Radio veya checkbox ile çalışır.

   Kullanım:
     <div class="bars-box-select">
       <label class="bars-box-select__item">
         <input type="radio" class="bars-box-select__input" name="..." value="..." />
         <div class="bars-box-select__box">
           <span class="bars-box-select__check"></span>
           <i class="bars-box-select__icon lnil lnil-..."></i>
           <span class="bars-box-select__label">Başlık</span>
           <span class="bars-box-select__desc">Açıklama</span>
         </div>
       </label>
     </div>
   ═══════════════════════════════════════════ */

/* Container — flex row */
.bars-box-select {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Item — label wrapper */
.bars-box-select__item {
    flex: 1 1 calc(50% - 6px);
    min-width: 140px;
    cursor: pointer;
    margin: 0;
}

/* Hidden radio/checkbox — visually hidden ama fonksiyonel
   (theme.css display:none override — label click çalışsın) */
.bars-box-select__input {
    display: block !important;
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Visible box */
.bars-box-select__box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 16px 18px;
    border: 1.5px solid var(--clr-border, #e0e0e0);
    background: var(--clr-bg, #fff);
    transition: border-color 0.2s, box-shadow 0.2s;
    text-align: center;
    position: relative;
    min-height: 110px;
}

.bars-box-select__box:hover {
    border-color: var(--clr-teal, #304650);
}

/* Selected state */
.bars-box-select__input:checked + .bars-box-select__box {
    border-color: var(--clr-teal, #304650);
    box-shadow: 0 0 0 1px var(--clr-teal, #304650);
}

/* ── Check circle — sağ üst köşe ── */
.bars-box-select__check {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid var(--clr-text-faint, #ccc);
    background: var(--clr-bg, #fff);
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Selected — dolu daire */
.bars-box-select__input:checked + .bars-box-select__box .bars-box-select__check {
    border-color: var(--clr-teal, #304650);
    background: var(--clr-teal, #304650);
}

/* Checkmark (CSS-only ✓) */
.bars-box-select__check::after {
    content: '';
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -2px;
    opacity: 0;
    transition: opacity 0.15s;
}

.bars-box-select__input:checked + .bars-box-select__box .bars-box-select__check::after {
    opacity: 1;
}

/* ── Icon ── */
.bars-box-select__icon {
    font-size: 28px;
    margin-bottom: 8px;
    color: var(--clr-text-soft, #666);
    transition: color 0.2s;
}

.bars-box-select__input:checked + .bars-box-select__box .bars-box-select__icon {
    color: var(--clr-teal, #304650);
}

/* ── Label (ana metin) ── */
.bars-box-select__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--clr-text, #333);
    line-height: 1.3;
}

/* ── Description (alt metin) ── */
.bars-box-select__desc {
    font-size: 12px;
    color: var(--clr-text-muted, #999);
    margin-top: 3px;
    line-height: 1.3;
}

/* ── Note — seçili kutunun altında dinamik bilgilendirme mesajı ── */
.bars-box-select__note {
    margin-top: 10px;
    padding: 12px 14px;
    background: var(--clr-bg-muted, #f5f5f5);
    font-size: 13px;
    color: var(--clr-text-soft, #666);
    line-height: 1.5;
    border-left: 3px solid var(--clr-teal, #304650);
}

/* ── Responsive — mobil: kutular yan yana kalır ama daha dar ── */
@media (max-width: 400px) {
    .bars-box-select__item {
        min-width: 0;
    }
    .bars-box-select__box {
        padding: 18px 10px 14px;
        min-height: 95px;
    }
    .bars-box-select__icon {
        font-size: 24px;
        margin-bottom: 6px;
    }
    .bars-box-select__label {
        font-size: 13px;
    }
}


/* ═══════════════════════════════════════════
   24. COOKIE CONSENT BANNER — KVKK çerez onay bildirimi
   ═══════════════════════════════════════════
   Fixed bottom banner. localStorage ile onay durumu tutulur.
   Slide-up animasyon (translateY).
   ≥768px yatay layout, <768px dikey stack.
   ═══════════════════════════════════════════ */

.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    background: var(--clr-bg, #fff);
    border-top: 1px solid var(--clr-border, #e0e0e0);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
    padding: 12px 24px;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 300ms ease, opacity 300ms ease;
}

.cookie-consent.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.cookie-consent__inner {
    max-width: 1640px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 45px;
}

.cookie-consent__icon {
    font-size: 24px;
    flex-shrink: 0;
    line-height: 1;
}

.cookie-consent__text {
    flex: 1;
    font-size: 13px;
    line-height: 1.55;
    color: var(--clr-text-soft, #666);
    margin: 0;
}

.cookie-consent__text a {
    color: var(--clr-teal, #304650);
    text-decoration: underline;
    font-weight: 500;
}

.cookie-consent__text a:hover {
    color: var(--clr-teal-dark, #1e2e35);
}

.cookie-consent__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Responsive: <768px dikey stack ── */
@media (max-width: 767px) {
    .cookie-consent {
        padding: 16px;
    }
    .cookie-consent__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        text-align: center;
        min-height: auto;
    }
    .cookie-consent__icon {
        font-size: 20px;
    }
    .cookie-consent__actions {
        justify-content: center;
    }
}


/* ═══════════════════════════════════════════
   25. CONFIRM POPUP — Onay popup'ı (sipariş iptal vb.)
   ═══════════════════════════════════════════
   Utero newsletter-popup base pattern üzerine.
   Header (başlık + close) | Body (ikon + mesaj) | Footer (butonlar)
   Bölümler border-bottom / border-top ile ayrılır.
   ═══════════════════════════════════════════ */

.confirm-popup__content {
    padding: 0 !important;
    max-width: 420px !important;
    overflow: hidden;
}

/* ── Header: başlık sol, close sağ ── */
.confirm-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--clr-border);
}

.confirm-popup__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--clr-text);
    margin: 0;
}

.confirm-popup__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    cursor: pointer;
    color: var(--clr-text-muted);
    transition: color 0.2s;
    flex-shrink: 0;
}

.confirm-popup__close:hover {
    color: var(--clr-text);
}

.confirm-popup__close i {
    font-size: 18px;
    line-height: 1;
}

/* ── Body: ikon + mesajlar ── */
.confirm-popup__body {
    padding: 28px 24px;
    text-align: center;
}

.confirm-popup__icon {
    font-size: 48px;
    color: var(--clr-danger);
    margin-bottom: 16px;
    line-height: 1;
}

.confirm-popup__message {
    font-size: 14px;
    color: var(--clr-text-soft);
    line-height: 1.6;
    margin-bottom: 8px;
}

.confirm-popup__warning {
    font-size: 13px;
    color: var(--clr-text-muted);
    margin: 0;
}

/* ── Footer: butonlar ── */
.confirm-popup__footer {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 16px 20px;
    border-top: 1px solid var(--clr-border);
}

.confirm-popup__footer .bars-public-btn {
    min-width: 110px;
}

@media (max-width: 767px) {
    .confirm-popup__body {
        padding: 24px 20px;
    }
    .confirm-popup__footer {
        justify-content: center;
    }
}


/* ═══════════════════════════════════════════
   26. SSS ACCORDION — Sıkça Sorulan Sorular
   ═══════════════════════════════════════════
   home-about--legal scope içinde çalışır.
   Kategori başlıkları (h4) + accordion panelleri.
   Vanilla JS ile toggle — jQuery bağımlılığı yok.
   ─────────────────────────────────────────────
   Tasarım: Soru satırı açık gri zemin (#f5f5f5),
   cevap alanı beyaz zemin. Soru/cevap ayrımı net.
   ═══════════════════════════════════════════ */

/* faq-list = <ul> elementi. .home-about--legal .home-about__description ul
   kuralı (specificity 0,3,1) padding-left: 24px ve margin: 8px 0 uyguluyor.
   Bu kural faq-list'i de etkiliyor → sorular 24px sağa kayıyor, h4 yerinde kalıyor.
   Aşağıdaki override aynı specificity scope ile bunu sıfırlar. */
.home-about--legal .home-about__description ul.faq-list {
    margin: 0 0 16px 0;
    padding-left: 0;
    list-style: none;
}

/* Tek bir soru-cevap — kartlar arası boşluk
   background gri → button/li arasındaki ince gap'i gizler.
   Hover da .faq-item seviyesinde → gap farklı tonda kalmaz. */
.faq-item {
    margin-bottom: 6px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--clr-border-light, #f0f0f0);
    background: var(--clr-bg-muted, #f5f5f5);
    transition: background 0.2s;
}
.faq-item:hover {
    background: #efefef;
}

/* Soru butonu — transparent zemin (parent'tan miras alır),
   tüm browser çerçeve/outline sıfır */
.faq-item__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 15px 18px;
    background: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    text-align: left;
    font-size: 15px;
    font-weight: 600;
    color: var(--clr-text, #333);
    line-height: 1.5;
    gap: 16px;
    transition: color 0.2s;
}
.faq-item__question:focus,
.faq-item__question:focus-visible,
.faq-item__question:active {
    outline: none;
    box-shadow: none;
}
.faq-item:hover .faq-item__question {
    color: var(--clr-teal, #304650);
}

/* Chevron ikon — muted renk, hover'da teal */
.faq-item__icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--clr-text-muted, #999);
    transition: transform 0.25s ease, color 0.2s;
}
.faq-item:hover .faq-item__icon {
    color: var(--clr-teal, #304650);
}
.faq-item.is-open .faq-item__icon {
    transform: rotate(180deg);
}

/* Cevap alanı — max-height animasyon ile açılır/kapanır */
.faq-item__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

/* Cevap iç alan — beyaz zemin, üst çizgi ile soru/cevap ayrımı */
.faq-item__answer-inner {
    padding: 16px 18px;
    font-size: 14px;
    color: var(--clr-text-soft, #666);
    line-height: 1.7;
    background: var(--clr-bg, #fff);
    border-top: 1px solid var(--clr-border-light, #f0f0f0);
}
.faq-item__answer-inner p {
    margin: 0 0 8px 0;
    padding: 0;
}
.faq-item__answer-inner p:last-child {
    margin-bottom: 0;
}
.faq-item__answer-inner ul {
    margin: 4px 0 8px 0;
    padding-left: 20px;
    list-style: disc;
}
.faq-item__answer-inner ul li {
    padding: 2px 0;
}
.faq-item__answer-inner a {
    color: var(--clr-teal, #304650);
    text-decoration: underline;
}
.faq-item__answer-inner a:hover {
    color: var(--clr-teal-dark, #1a2a32);
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .faq-item__question {
        font-size: 14px;
        padding: 13px 14px;
    }
    .faq-item__answer-inner {
        font-size: 13px;
        padding: 14px;
    }
}


/* ═══════════════════════════════════════════
   27. KONSEPT CAROUSEL — Ana sayfa konsept bazlı ürün satırları
   ═══════════════════════════════════════════ */

/* ── Konsept Carousel — Benzer Ürünler pattern'i ── */
.concept-products .home-products__container {
    margin: 0;
    padding: 40px 0 0;
}
.simple-products__heading {
    margin: revert;
}
.concept-products:first-child .home-products__container {
    padding-top: 32px;
}
.concept-products + .concept-products {
    margin-top: 56px;
}
.simple-products .simple-products__action {
    padding-top: 80px;
}
@media (max-width: 991px) {
    .concept-products .home-products__container { margin: 0; padding: 32px 0 0; }
    .concept-products:first-child .home-products__container { padding-top: 24px; }
    .concept-products + .concept-products { margin-top: 48px; }
    .concept-products .slick-dots {
        display: flex !important;
        gap: 3px;
        list-style: none !important;
        padding: 0 !important;
        margin: 35px -25% 0 0 !important;
        position: relative;
        z-index: 2;
        background: #f2f2f2;
    }
    .concept-products .slick-dots li {
        flex: 1;
        height: 2px;
        background: #e6e6e6;
        border-radius: 1px;
        margin: 0;
        transition: background 0.2s ease;
    }
    .concept-products .slick-dots li.slick-active {
        background: #000;
    }
    .concept-products .slick-dots li button {
        display: none !important;
    }
    .simple-products .simple-products__action { padding-top: 56px; }
}

@media (max-width: 767px) {
    .concept-products .home-products__container { margin: 0; padding: 24px 0 0; }
    .concept-products + .concept-products { margin-top: 40px; }
    .concept-products .slick-dots { margin: 28px -25% 0 0 !important; }
    .simple-products .simple-products__action { padding-top: 48px; }
}

