/* ========================================================
   KedWear — Site CSS
   Design system: "Warm Atelier"
   Ivory paper, espresso ink, terracotta clay accent.
   Fraunces (display serif) + Inter (text sans).
   Editorial spacing, hairline rules, quiet motion.
   ======================================================== */

:root {
    /* Ink & paper */
    --kw-ink:      #221c16;   /* deep espresso — primary text & dark surfaces */
    --kw-black:    #221c16;   /* legacy alias */
    --kw-white:    #fffdf9;   /* warm paper */
    --kw-cream:    #faf7f1;   /* page background */
    --kw-beige:    #f2ece2;   /* linen — alt section background */
    --kw-beige-2:  #eae2d4;
    --kw-sand:     #d8c3a5;
    --kw-gray:     #7a7168;   /* warm gray — secondary text */
    --kw-gray-2:   #a89e93;
    --kw-light:    #f5f1e9;   /* product image canvas */
    --kw-border:   rgba(34,28,22,.12);
    --kw-hairline: rgba(34,28,22,.09);

    /* Accent — terracotta clay, used sparingly */
    --kw-accent:      #b25d3f;
    --kw-accent-dark: #96482e;
    --kw-accent-soft: #f3e3da;

    /* Quiet success (add-to-cart confirmation) */
    --kw-sage:      #4d6152;
    --kw-sage-soft: #e8ede7;

    --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-serif:   'Fraunces', Georgia, 'Times New Roman', serif;
    --font-sans:    'Inter', system-ui, sans-serif;

    /* Radius — restrained, editorial (pill reserved for badges/counters) */
    --radius-sm:   3px;
    --radius-md:   6px;
    --radius-lg:   10px;
    --radius-pill: 999px;

    /* Elevation — soft, warm-tinted */
    --shadow-xs: 0 1px 2px rgba(34,28,22,.05);
    --shadow-sm: 0 2px 10px rgba(34,28,22,.06), 0 1px 2px rgba(34,28,22,.04);
    --shadow-md: 0 10px 30px rgba(34,28,22,.09), 0 2px 8px rgba(34,28,22,.05);
    --shadow-lg: 0 24px 55px rgba(34,28,22,.13), 0 8px 18px rgba(34,28,22,.06);
    --shadow-xl: 0 34px 80px rgba(34,28,22,.17), 0 12px 28px rgba(34,28,22,.08);

    --ease: cubic-bezier(.25,.46,.2,1);
    --transition: .3s var(--ease);
    --transition-slow: .65s var(--ease);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);font-size:.95rem;color:var(--kw-ink);background:var(--kw-cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.65}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--kw-accent)}
h1,h2,h3,h4,.serif{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}
h1 em,h2 em,h3 em,.serif em{font-style:italic;font-weight:400}
img{max-width:100%}
::selection{background:var(--kw-accent);color:var(--kw-white)}

/* Gentle page entrance — content settles rather than snapping in */
main{animation:pageEnter .6s var(--ease) both}
@keyframes pageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Utilities the views rely on */
.fw-500{font-weight:500}
.fw-600{font-weight:600}
.mt-6{margin-top:4.5rem}
.bg-beige{background-color:var(--kw-beige)!important}
.bg-light-kw{background-color:var(--kw-light)!important}
.bg-white{background-color:var(--kw-cream)!important} /* keep "white" sections on warm paper */
.text-muted{color:var(--kw-gray)!important}

/* ---------- Announcement + Navbar ---------- */
.announcement-bar{background:var(--kw-ink);color:rgba(255,253,249,.85);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.announcement-bar strong{color:var(--kw-white);font-weight:600}

#mainNav{background:transparent;border-bottom:1px solid transparent;padding:1rem 0;transition:background var(--transition),box-shadow var(--transition),padding var(--transition),border-color var(--transition)}
#mainNav.scrolled{background:rgba(250,247,241,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--kw-hairline);box-shadow:var(--shadow-xs);padding:.55rem 0}
#mainNav:not(.navbar-home-transparent){background:var(--kw-cream);border-bottom:1px solid var(--kw-hairline)}
#mainNav:not(.navbar-home-transparent).scrolled{background:rgba(250,247,241,.92)}
/* Dark scrim so nav icons/text stay legible from the very first paint,
   independent of whether the hero image has finished loading. */
.navbar-home-transparent#mainNav:not(.scrolled){background:linear-gradient(to bottom,rgba(15,12,9,.52) 0%,rgba(15,12,9,.22) 65%,rgba(15,12,9,0) 100%)}
.navbar-home-transparent#mainNav:not(.scrolled) .nav-link,
.navbar-home-transparent#mainNav:not(.scrolled) .nav-icon-btn{color:var(--kw-white)}
.navbar-home-transparent#mainNav:not(.scrolled) .navbar-toggler-icon{filter:invert(1)}

.brand-logo{height:100px;width:auto;display:block;transition:filter var(--transition)}
.navbar-home-transparent#mainNav:not(.scrolled) .brand-logo{filter:brightness(0) invert(1)}

.navbar-nav .nav-link{font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--kw-ink);padding:.5rem .95rem!important;transition:color var(--transition);position:relative}
.navbar-nav .nav-link::after{content:'';position:absolute;left:.95rem;right:.95rem;bottom:.18rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link.active::after{transform:scaleX(1)}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--kw-accent)}

.nav-icon-btn{display:flex;align-items:center;justify-content:center;color:var(--kw-ink);width:38px;height:38px;border-radius:var(--radius-pill);transition:color var(--transition),background var(--transition);cursor:pointer}
.nav-icon-btn:hover{color:var(--kw-accent);background:var(--kw-beige)}

.cart-badge{position:absolute;top:-2px;right:-2px;background:var(--kw-accent);color:var(--kw-white);font-size:.62rem;font-weight:600;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--kw-cream)}
.cart-badge.pop{animation:badgePop .5s var(--ease)}
@keyframes badgePop{0%{transform:scale(1)}45%{transform:scale(1.5)}100%{transform:scale(1)}}

.dropdown-menu-minimal{border:1px solid var(--kw-hairline);border-radius:var(--radius-md);background:var(--kw-white);box-shadow:var(--shadow-lg);padding:.5rem;margin-top:.5rem!important}
.dropdown-menu-minimal .dropdown-item{font-size:.82rem;font-weight:450;letter-spacing:.02em;padding:.55rem 1rem;color:var(--kw-ink);border-radius:var(--radius-sm);transition:background var(--transition),padding-left var(--transition)}
.dropdown-menu-minimal .dropdown-item:hover{background:var(--kw-beige);color:var(--kw-ink);padding-left:1.25rem}
.dropdown-menu-minimal .dropdown-divider{border-color:var(--kw-hairline)}

/* Mobile off-canvas menu */
.offcanvas-kw{width:min(340px,85vw);background:var(--kw-cream)}
.offcanvas-kw .offcanvas-header{border-bottom:1px solid var(--kw-hairline);padding:1.25rem 1.5rem}
.offcanvas-kw .offcanvas-body{padding:1.5rem}
.offcanvas-kw .nav-link{display:block;font-family:var(--font-display);font-size:1.15rem;text-transform:none;letter-spacing:0;font-weight:450;padding:.8rem 0!important;border-bottom:1px solid var(--kw-hairline)}
.offcanvas-kw .nav-link::after{display:none}
.offcanvas-kw .mobile-collapse-toggle{width:100%;background:transparent;border:0;border-bottom:1px solid var(--kw-hairline);text-align:left;display:flex;align-items:center;justify-content:space-between;color:var(--kw-ink)}
.offcanvas-kw .mobile-collapse-toggle .bi{font-size:.85rem;transition:transform var(--transition)}
.offcanvas-kw .mobile-collapse-toggle:not(.collapsed) .bi{transform:rotate(180deg)}
.offcanvas-kw .mobile-submenu{padding-left:1rem;border-bottom:1px solid var(--kw-hairline)}
.offcanvas-kw .mobile-submenu .nav-link{font-size:1.02rem;padding:.65rem 0!important;border-bottom:0}

/* Ürün listesi: mobil filtre aç/kapa butonu (masaüstünde filtreler hep açık) */
.mobile-filter-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:1px solid var(--kw-ink);border-radius:var(--radius-sm);color:var(--kw-ink);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.85rem 1.1rem;cursor:pointer}
.mobile-filter-toggle .bi-chevron-down{transition:transform var(--transition)}
.mobile-filter-toggle:not(.collapsed) .bi-chevron-down{transform:rotate(180deg)}
@media (max-width:767.98px){
    #productFilters{padding-top:1.25rem}
    #productFilters.show,#productFilters.collapsing{border-bottom:1px solid var(--kw-hairline);margin-bottom:.5rem;padding-bottom:.75rem}
}

/* Çerez bilgilendirme bandı */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:1080;background:var(--kw-ink);color:rgba(255,253,249,.9);display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;padding:.9rem 1.25rem;font-size:.82rem;line-height:1.5;box-shadow:0 -4px 20px rgba(0,0,0,.18)}
.cookie-banner a{color:var(--kw-cream);text-decoration:underline}
.cookie-banner-btn{background:var(--kw-cream);color:var(--kw-ink);border:0;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.55rem 1.4rem;cursor:pointer;white-space:nowrap}
.cookie-banner-btn:hover{background:var(--kw-accent);color:var(--kw-white)}

/* ---------- Hero ---------- */
.hero-section{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;color:var(--kw-white);background:var(--kw-ink)}
.hero-bg{position:absolute;inset:-4%}
.hero-bg-layer{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;animation:heroCrossfade 30s infinite}
.hero-bg-layer:nth-child(1){animation-delay:0s}
.hero-bg-layer:nth-child(2){animation-delay:6s}
.hero-bg-layer:nth-child(3){animation-delay:12s}
.hero-bg-layer:nth-child(4){animation-delay:18s}
.hero-bg-layer:nth-child(5){animation-delay:24s}
@keyframes heroCrossfade{
    0%{opacity:0;transform:scale(1.05)}
    6%{opacity:1}
    28%{opacity:1;transform:scale(1.12)}
    34%{opacity:0;transform:scale(1.14)}
    100%{opacity:0}
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(115deg,rgba(15,12,9,.74) 0%,rgba(15,12,9,.42) 55%,rgba(15,12,9,.16) 100%)}

.hero-section .hero-tag{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,253,249,.85);display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}
.hero-section .hero-tag::before{content:'';width:36px;height:1px;background:rgba(255,253,249,.5)}
.hero-section h1{font-size:clamp(3rem,7vw,6.2rem);font-weight:400;line-height:1.02;letter-spacing:-.02em;color:var(--kw-white)}
.hero-section h1 em{font-style:italic;font-weight:350}
.hero-section .hero-sub{font-size:1.02rem;line-height:1.8;color:rgba(255,253,249,.78);max-width:400px;font-weight:300}

/* Staggered entrance for hero copy on first paint */
.hero-rise{opacity:0;transform:translateY(26px);animation:heroRise 1s var(--ease) forwards;animation-delay:calc(.15s + var(--rise-i,0) * .13s)}
@keyframes heroRise{to{opacity:1;transform:none}}

.scroll-indicator{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;color:rgba(255,253,249,.7);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;z-index:2;cursor:pointer;transition:color var(--transition)}
.scroll-indicator:hover{color:var(--kw-white)}
.scroll-indicator i{animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* Masaüstünde hero iki sütuna ayrılır: solda düz mürekkep zemin üzerinde metin,
   sağda görselin doğal (dikey) oranına yakın dar bir görsel kutusu. Dik oranlı
   fotoğraflar böylece tüm genişliğe yayılmak yerine kendi kutusunu doldurur
   (cover, kırpma minimum). Mobil davranış (tam ekran arka plan + overlay)
   aşağıdaki kurallardan etkilenmez. Markup aynı; .hero-bg akışa alınıp sağa,
   metin container'ı sola dizilir. */
@media (min-width:992px){
    /* Düz mürekkep yerine çok hafif, sıcak kahve tonlu bir geçiş — sol panel "boş" durmasın */
    .hero-section{align-items:stretch;background:linear-gradient(120deg,#2c231a 0%,#221c16 52%,#17120e 100%)}
    .hero-section .hero-bg{position:relative;inset:auto;order:2;flex:0 0 52%;width:52%;align-self:stretch;overflow:hidden}
    .hero-section .hero-bg-layer{background-size:cover}
    .hero-section .hero-overlay{display:none}
    /* Metin bloğu sol panelin (%58) içinde hem dikey hem yatay ortalanır; görselle
       arasındaki boşluk her genişlikte padding'le sınırlı kalır, panel ortası boş kalmaz. */
    .hero-section>.container{order:1;flex:1 1 auto;min-width:0;max-width:none;margin:0;display:flex;align-items:center;justify-content:center;padding-left:clamp(2.5rem,5vw,5rem);padding-right:clamp(2.5rem,4vw,4.5rem)}
    .hero-section>.container>.row{width:100%;max-width:640px;justify-content:center}
    /* col-lg-7'nin %58 sınırı daralmış panelde butonları alt alta kırdırıyordu */
    .hero-section>.container [class*="col-"]{width:100%;max-width:100%}
    /* "Keşfet" göstergesi görselin üstüne binmesin, sol panelde ortalansın */
    .hero-section .scroll-indicator{left:29%}
    /* Düz koyu zeminde mürekkep renkli buton kaybolur — krem varyanta çevrilir */
    .hero-section .btn-kw-dark{background:var(--kw-cream);color:var(--kw-ink);border-color:var(--kw-cream)}
    .hero-section .btn-kw-dark:hover{background:var(--kw-accent);border-color:var(--kw-accent);color:var(--kw-white)}
}

/* ---------- Buttons ---------- */
.btn-kw-dark,.btn-kw-outline,.btn-kw-outline-light{position:relative;border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:1rem 2.4rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}

.btn-kw-dark{background:var(--kw-ink);color:var(--kw-cream);border:1px solid var(--kw-ink);box-shadow:var(--shadow-xs)}
.btn-kw-dark:hover{background:var(--kw-accent);border-color:var(--kw-accent);color:var(--kw-white);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn-kw-dark:active{transform:translateY(0);box-shadow:none}
.btn-kw-dark.is-added,.btn-kw-dark.is-added:hover{background:var(--kw-sage);border-color:var(--kw-sage);transform:none}

.btn-kw-outline{background:transparent;color:var(--kw-ink);border:1px solid var(--kw-ink)}
.btn-kw-outline:hover{background:var(--kw-ink);color:var(--kw-cream)}

.btn-kw-outline-light{background:transparent;color:var(--kw-white);border:1px solid rgba(255,253,249,.5);backdrop-filter:blur(4px)}
.btn-kw-outline-light:hover{background:var(--kw-white);color:var(--kw-ink);border-color:var(--kw-white)}

/* Understated text link with sliding arrow */
.link-quiet{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kw-ink);display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--kw-border);padding-bottom:.3rem;transition:color var(--transition),border-color var(--transition)}
.link-quiet i{transition:transform var(--transition);font-size:.8rem}
.link-quiet:hover{color:var(--kw-accent);border-color:var(--kw-accent)}
.link-quiet:hover i{transform:translateX(5px)}

/* ---------- Section headings ---------- */
.section-tag{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--kw-accent);font-weight:500;margin-bottom:.75rem;display:inline-flex;align-items:center;gap:.75rem}
.section-tag::before{content:'';width:28px;height:1px;background:var(--kw-accent);opacity:.6}
.text-center .section-tag::after{content:'';width:28px;height:1px;background:var(--kw-accent);opacity:.6}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,3.1rem);font-weight:450;letter-spacing:-.02em;color:var(--kw-ink);line-height:1.12}
.section-title em{font-style:italic;font-weight:350}
.section-sub{color:var(--kw-gray);font-size:.95rem;font-weight:300;max-width:520px}

/* ---------- Legal pages (sözleşme/politika metinleri) ---------- */
.legal-content{max-width:760px;font-size:.95rem;line-height:1.85;color:var(--kw-ink)}
.legal-content h2{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-top:2.5rem;margin-bottom:1rem}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-family:var(--font-display);font-size:1.15rem;font-weight:500;margin-top:1.75rem;margin-bottom:.75rem}
.legal-content p{margin-bottom:1.1rem;color:var(--kw-ink)}
.legal-content ul,.legal-content ol{margin-bottom:1.1rem;padding-left:1.4rem;color:var(--kw-ink)}
.legal-content li{margin-bottom:.4rem}
.legal-content a{color:var(--kw-accent);text-decoration:underline;text-underline-offset:2px}
.legal-content strong{font-weight:600}
.legal-content hr{border-color:var(--kw-hairline);margin:2rem 0}
.legal-content .legal-placeholder{color:var(--kw-gray);font-style:italic}

/* ---------- Product cards ---------- */
.product-card{position:relative;cursor:pointer}
.product-card-image{position:relative;overflow:hidden;background:var(--kw-light);aspect-ratio:3/4;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.product-card:hover .product-card-image{box-shadow:var(--shadow-md);transform:translateY(-5px)}
.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.product-card:hover .product-card-image img{transform:scale(1.05)}
.product-card-overlay{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;display:flex;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity var(--transition),transform var(--transition)}
.product-card:hover .product-card-overlay{opacity:1;transform:translateY(0)}
.product-card-overlay .btn-kw-dark,
.product-card-overlay span{background:rgba(250,247,241,.92)!important;backdrop-filter:blur(6px);color:var(--kw-ink)!important;border:none!important;box-shadow:var(--shadow-sm)!important;width:100%}
.product-badge{position:absolute;top:.85rem;left:.85rem;background:var(--kw-ink);color:var(--kw-cream);font-size:.6rem;font-weight:500;letter-spacing:.16em;padding:.35rem .8rem;text-transform:uppercase;border-radius:var(--radius-sm)}
.product-badge-sale{background:var(--kw-accent);color:var(--kw-white)}
.product-card-body{padding:1rem .1rem .25rem;text-align:left}
.product-name{font-family:var(--font-display);font-size:1.02rem;font-weight:450;color:var(--kw-ink);margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.product-category{font-size:.65rem;color:var(--kw-gray-2);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.35rem}
.product-price{font-size:.88rem;font-weight:500;color:var(--kw-ink);font-variant-numeric:tabular-nums}
.product-price-original{font-size:.8rem;color:var(--kw-gray-2);text-decoration:line-through;margin-right:.5rem}
.product-price-sale{color:var(--kw-accent)}

/* Touch devices: skip hover lift, keep everything visible/tappable */
@media (hover:none){
  .product-card:hover .product-card-image{transform:none}
  .product-card-overlay{display:none}
}

/* ---------- Collection (category) cards — gallery captions ---------- */
.collection-card{display:block}
.collection-card-media{position:relative;overflow:hidden;background:var(--kw-light);aspect-ratio:4/5;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.collection-card:hover .collection-card-media{box-shadow:var(--shadow-md);transform:translateY(-5px)}
.collection-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.collection-card:hover .collection-card-media img{transform:scale(1.06)}
.collection-card-caption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.1rem .15rem 0;border-bottom:1px solid transparent}
.collection-card-caption h3{font-size:1.35rem;font-weight:450;margin:0}
.collection-card-caption .collection-index{font-size:.68rem;letter-spacing:.2em;color:var(--kw-gray-2);font-family:var(--font-sans)}
.collection-card-caption i{font-size:.9rem;color:var(--kw-gray);transition:transform var(--transition),color var(--transition)}
.collection-card:hover .collection-card-caption i{transform:translateX(6px);color:var(--kw-accent)}

/* Legacy overlay-label category card (kept for safety) */
.category-card{position:relative;overflow:hidden;background:var(--kw-light);aspect-ratio:4/5;cursor:pointer;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.category-card:hover img{transform:scale(1.06)}
.category-card-label{position:absolute;bottom:0;left:0;right:0;padding:1.6rem;background:linear-gradient(transparent,rgba(15,12,9,.6));color:var(--kw-white)}
.category-card-label h3{font-size:1.4rem;font-weight:450;margin-bottom:.25rem}
.category-card-label small{font-size:.75rem;letter-spacing:.1em;opacity:.9;display:inline-flex;align-items:center;gap:.35rem;transition:gap var(--transition)}
.category-card:hover .category-card-label small{gap:.65rem}

/* ---------- Manifesto strip ---------- */
.manifesto{background:var(--kw-beige);position:relative}
.manifesto blockquote{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.4rem);font-weight:400;font-style:italic;line-height:1.4;letter-spacing:-.01em;color:var(--kw-ink);max-width:760px;margin:0 auto}
.manifesto .manifesto-source{font-family:var(--font-sans);font-style:normal;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--kw-gray);margin-top:1.75rem;display:block}

/* ---------- Product detail ---------- */
.product-gallery-main{aspect-ratio:3/4;background:var(--kw-light);overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}
.product-gallery-main img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease)}
.product-gallery-main img.is-swapping{opacity:0}
.product-thumb{width:72px;height:88px;object-fit:cover;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);opacity:.75;transition:border-color var(--transition),opacity var(--transition)}
.product-thumb.active,.product-thumb:hover{border-color:var(--kw-ink);opacity:1}
.product-detail-name{font-family:var(--font-display);font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:450;letter-spacing:-.015em;line-height:1.1}
.product-detail-price{font-size:1.35rem;font-weight:450;font-family:var(--font-display);font-variant-numeric:tabular-nums}
@media (min-width:992px){.product-info-sticky{position:sticky;top:110px}}

.variant-btn{border:1px solid var(--kw-border);background:transparent;color:var(--kw-ink);padding:.55rem 1.1rem;font-size:.8rem;font-weight:450;cursor:pointer;transition:all var(--transition);border-radius:var(--radius-sm);letter-spacing:.04em}
.variant-btn:hover,.variant-btn.active{background:var(--kw-ink);color:var(--kw-cream);border-color:var(--kw-ink)}
.variant-btn:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.color-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--kw-border);outline:2px solid transparent;outline-offset:2px;cursor:pointer;transition:outline-color var(--transition);padding:0}
.color-btn.active,.color-btn:hover{outline-color:var(--kw-ink);background-clip:padding-box}

/* Two-size selector (Alt Üst Takım — Beden Ölçüleri / Pantolon Beden Ölçüleri) */
.size-select-row{display:flex;gap:.75rem}
.size-select-toggle{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--kw-border);background:var(--kw-white);color:var(--kw-ink);padding:.85rem 1.1rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition)}
.size-select-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.size-select-toggle i{flex-shrink:0;font-size:.85rem;transition:transform var(--transition);color:var(--kw-gray)}
.size-select-toggle.open{border-color:var(--kw-ink)}
.size-select-toggle.open i{transform:rotate(180deg)}
.size-select-panel{margin-top:.6rem;border:1px solid var(--kw-border);border-radius:var(--radius-md);background:var(--kw-white);box-shadow:var(--shadow-sm);padding:1.1rem 1.25rem 1rem}
.size-select-panel-title{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.size-option-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--kw-hairline);cursor:pointer;font-size:.9rem;margin:0}
.size-option-row:last-of-type{border-bottom:none}
.size-option-circle{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--kw-border);flex-shrink:0;transition:background var(--transition),border-color var(--transition)}
.size-option-row input:checked + .size-option-circle{border-color:var(--kw-ink);background:var(--kw-ink);box-shadow:inset 0 0 0 3px var(--kw-white)}
.size-select-clear{display:block;margin-left:auto;margin-top:.5rem;background:none;border:none;color:var(--kw-gray);font-size:.78rem;cursor:pointer;padding:0}
.size-select-clear:hover{color:var(--kw-accent);text-decoration:underline}

/* Detail accordion — hairline, small-caps headers */
.accordion-kw .accordion-item{background:transparent;border:none;border-top:1px solid var(--kw-hairline)}
.accordion-kw .accordion-button{background:transparent;font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--kw-ink);padding:1.1rem 0;box-shadow:none}
.accordion-kw .accordion-button:not(.collapsed){color:var(--kw-accent)}
.accordion-kw .accordion-button:focus{box-shadow:none}
.accordion-kw .accordion-body{padding:.25rem 0 1.25rem;color:var(--kw-gray);font-size:.88rem;line-height:1.8}

/* ---------- Cart / forms ---------- */
.cart-item-image{width:90px;height:112px;object-fit:cover;background:var(--kw-light);flex-shrink:0;border-radius:var(--radius-sm)}
.qty-control{display:flex;align-items:center;border:1px solid var(--kw-border);width:fit-content;border-radius:var(--radius-sm);overflow:hidden;background:var(--kw-white)}
.qty-btn{border:none;background:none;padding:.4rem .9rem;font-size:1rem;cursor:pointer;color:var(--kw-ink);transition:background var(--transition)}
.qty-btn:hover{background:var(--kw-beige)}
.qty-value{padding:.4rem .85rem;min-width:42px;text-align:center;font-size:.88rem;font-weight:500;border-left:1px solid var(--kw-hairline);border-right:1px solid var(--kw-hairline);font-variant-numeric:tabular-nums}

.form-control-kw{border:1px solid var(--kw-border);border-radius:var(--radius-sm);padding:.8rem 1.1rem;font-size:.9rem;background:var(--kw-white);color:var(--kw-ink);transition:border-color var(--transition),box-shadow var(--transition)}
.form-control-kw:focus{border-color:var(--kw-ink);box-shadow:0 0 0 3px var(--kw-accent-soft);outline:none;background:var(--kw-white)}
.form-control-kw::placeholder{color:var(--kw-gray-2)}

/* Şifre alanı: sağdaki göz butonu type'ı password/text arasında değiştirir (site.js) */
.pw-field{position:relative}
.pw-field .form-control-kw{padding-right:2.9rem}
.pw-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--kw-gray);padding:.45rem .6rem;cursor:pointer;line-height:1;font-size:1rem;transition:color var(--transition)}
.pw-toggle:hover{color:var(--kw-ink)}

.order-summary-box{background:var(--kw-white);border:1px solid var(--kw-hairline);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}
.order-summary-box h5{font-weight:450}
.order-summary-box hr{border-color:var(--kw-hairline);opacity:1}

/* Free-shipping progress */
.ship-note{font-size:.83rem;color:var(--kw-gray);border:1px solid var(--kw-hairline);background:var(--kw-white);border-radius:var(--radius-md);padding:1rem 1.25rem}
.ship-note strong{color:var(--kw-ink)}
.ship-note.ship-note-earned{color:var(--kw-sage);border-color:transparent;background:var(--kw-sage-soft)}
.ship-progress{height:3px;background:var(--kw-beige-2);border-radius:var(--radius-pill);overflow:hidden;margin-top:.7rem}
.ship-progress-bar{height:100%;background:var(--kw-accent);border-radius:var(--radius-pill);transition:width .8s var(--ease)}

/* ---------- Alerts (TempData flashes) ---------- */
.alert{border-radius:var(--radius-md);font-size:.87rem;border:1px solid var(--kw-hairline)}
.alert-success{background:var(--kw-sage-soft);color:var(--kw-sage);border-color:transparent}
.alert-danger{background:var(--kw-accent-soft);color:var(--kw-accent-dark);border-color:transparent}

/* ---------- Toasts ---------- */
.kw-toast{background:var(--kw-ink)!important;color:var(--kw-cream);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.86rem;letter-spacing:.01em}
.kw-toast.kw-toast-error{background:var(--kw-accent-dark)!important;color:var(--kw-white)}
.kw-toast .toast-body{padding:.9rem 1.1rem;display:flex;align-items:center;gap:.6rem}
.kw-toast .btn-close{filter:invert(1);opacity:.6}

/* ---------- Admin ---------- */
/* Mobile-first: below lg the sidebar is a Bootstrap offcanvas drawer;
   at lg+ it renders inline and is pinned as a fixed column. The !important
   flags below counter Bootstrap's own !important resets on .offcanvas-lg
   at the lg breakpoint (width/background become auto/transparent there). */
.admin-sidebar{--bs-offcanvas-width:280px;--bs-offcanvas-bg:var(--kw-ink);background:var(--kw-ink)!important}
.admin-sidebar .offcanvas-header{border-bottom:1px solid rgba(255,253,249,.12);padding:1.1rem 1.25rem}
.admin-sidebar .offcanvas-body{padding:1rem}
.admin-sidebar .brand-text{color:var(--kw-white);font-size:1.2rem}
.admin-sidebar .nav-link{color:rgba(255,253,249,.7);font-size:.83rem;font-weight:500;letter-spacing:.04em;padding:.6rem 1.25rem;border-radius:var(--radius-sm);transition:all var(--transition)}
.admin-sidebar .nav-link:hover,.admin-sidebar .nav-link.active{color:var(--kw-white);background:rgba(255,253,249,.1)}
.admin-sidebar .nav-link i{margin-right:.6rem}

.admin-content{padding:1.25rem;background:#f6f3ed;min-height:100vh;min-width:0}

@media(min-width:992px){
  .admin-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1000;width:240px!important;overflow-y:auto}
  .admin-sidebar .offcanvas-body{display:block;padding:1rem;overflow-y:visible}
  .admin-content{margin-left:240px;padding:2rem}
}

/* Admin tables scroll sideways on small screens instead of crushing columns */
.admin-content .table-responsive>.table{white-space:nowrap}
.admin-content .table-responsive>.table td,
.admin-content .table-responsive>.table th{vertical-align:middle}

/* Variant editor rows keep their 12-col layout and scroll horizontally on phones */
@media(max-width:767px){
  .variant-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .variant-scroll>.row{flex-wrap:nowrap;min-width:640px;margin-right:0}
}

.status-badge{font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:.3rem .75rem;border-radius:var(--radius-pill);text-transform:uppercase}
.status-pending{background:#fff3cd;color:#856404}
.status-processing{background:#cfe2ff;color:#0a4c95}
.status-shipped{background:#d1ecf1;color:#0c5460}
.status-delivered{background:#d4edda;color:#155724}
.status-cancelled,.status-failed{background:#f8d7da;color:#721c24}

/* ---------- Trust strip ---------- */
.trust-badges{border-top:1px solid var(--kw-hairline);border-bottom:1px solid var(--kw-hairline);background:var(--kw-cream)}
.trust-badge{display:flex;align-items:center;gap:.9rem;justify-content:center}
.trust-badge-icon{width:42px;height:42px;border-radius:var(--radius-pill);border:1px solid var(--kw-border);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--kw-ink);font-size:1rem}
.trust-badge-title{font-size:.82rem;font-weight:500;color:var(--kw-ink);letter-spacing:.02em}
.trust-badge-sub{font-size:.74rem;color:var(--kw-gray)}

/* ---------- Stat counters ---------- */
.stat-counter{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.9rem);font-weight:450;color:var(--kw-ink);line-height:1;font-variant-numeric:tabular-nums}
.stat-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--kw-gray);margin-top:.6rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--kw-ink);color:rgba(255,253,249,.6)}
.footer-statement{font-family:var(--font-display);font-style:italic;font-size:1.05rem;font-weight:350;color:rgba(255,253,249,.85);line-height:1.6}
.footer-heading{font-size:.68rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--kw-white);margin-bottom:1.2rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.7rem}
.footer-links a{font-size:.85rem;color:rgba(255,253,249,.55);transition:color var(--transition),padding-left var(--transition)}
.footer-links a:hover{color:var(--kw-white);padding-left:4px}
.social-link{width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid rgba(255,253,249,.2);background:transparent;color:rgba(255,253,249,.75);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition),border-color var(--transition)}
.social-link:hover{background:var(--kw-accent);border-color:var(--kw-accent);color:var(--kw-white)}
.site-footer hr{border-color:rgba(255,253,249,.12)}
.site-footer .text-muted{color:rgba(255,253,249,.4)!important}

/* ---------- Pagination ---------- */
.pagination .page-link{color:var(--kw-ink);background:transparent;border-color:var(--kw-hairline);font-size:.85rem;border-radius:var(--radius-sm)!important;margin:0 .15rem;transition:background var(--transition)}
.pagination .page-link:hover{background:var(--kw-beige);color:var(--kw-ink)}
.pagination .page-item.active .page-link{background-color:var(--kw-ink);border-color:var(--kw-ink);color:var(--kw-cream)}

/* ---------- Filter sidebar (product list) ---------- */
.filter-block{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--kw-hairline)}
.filter-block:last-child{border-bottom:none}
.filter-link{font-size:.88rem;color:var(--kw-gray);transition:color var(--transition),padding-left var(--transition);display:block}
.filter-link:hover{color:var(--kw-ink);padding-left:4px}
.filter-link.active{color:var(--kw-ink);font-weight:500}
.filter-link.active::before{content:'—';margin-right:.5rem;color:var(--kw-accent)}

/* Breadcrumbs */
.breadcrumb{--bs-breadcrumb-divider:'/'}
.breadcrumb-item,.breadcrumb-item a{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kw-gray-2)}
.breadcrumb-item a:hover{color:var(--kw-ink)}
.breadcrumb-item.active{color:var(--kw-ink)}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.revealed{opacity:1;transform:translateY(0)}
.reveal-stagger.revealed > *{transition-delay:calc(var(--stagger-i,0) * 70ms)}

/* ---------- Reduced motion — settle everything immediately ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  main{animation:none}
  .hero-rise{opacity:1;transform:none;animation:none}
  .hero-bg-layer{animation:none;opacity:1;transform:none}
  .hero-bg-layer:not(:first-child){display:none}
  .scroll-indicator i{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .cart-badge.pop{animation:none}
}

@media(max-width:991px){
  .hero-section{min-height:82vh}
  .brand-logo{height:72px}
}

/* Doğrulama özeti: hata yokken tag helper yine de div'i basar (validation-summary-valid
   sınıfıyla) — boş kırmızı kutu görünmesin. jquery-validate de aynı sınıfları
   değiştirdiği için client-side doğrulamada da kutu doğru anda açılıp kapanır. */
.validation-summary-valid{display:none}
