/* iOS WebKit (Safari/Chrome) ikon renkleri — public/assets/css/ios-webkit-icons.css */
@import url("../../../assets/css/ios-webkit-icons.css");

/* Tema - basget.html, login.html, pay.html, product.html, category.html, index.html */
:root {
    --bg-color: #ffffff;
    --text-color: #000000;
    --accent-color: #ff0000;
    --font-main: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --border-color: #f2f2f2;
    --text-secondary: #777777;
    --input-bg: #fcfcfc;
    /* input-radius, button-radius, card-media-radius, button-color, add-to-cart-color: header.php'den tema ayarları ile enjekte edilir */
    --input-radius: 8px;
    --button-radius: 8px;
    --card-media-radius: 8px;
    --button-color: #000000;
    --add-to-cart-color: #000000;
    --site-container-max-width: 1400px;
    --site-slider-contained-max-width: 1280px;
    /* Tüm vitrin sayfaları — mobil yatay kanal (header / main / footer ile aynı); safe-area ile */
    --site-inline-padding: 20px;
    --product-list-carousel-gap: 12px;
    /* --product-card-title-size: yalnızca head_tracking.php içindeki <style> ile :root’ta set edilir; burada tanımlanmaz (tema.css head’te bu bloktan sonra yüklendiği için burada tekrar yazmak admin seçimini ezerdi). */
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
    overflow-x: hidden;
    height: 100%;
}

/* Sticky footer: içerik az olsa bile footer viewport altında kalır */
body > script {
    display: none !important;
}
body > main,
body > .legal-page-shell,
body > .min-h-screen {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    box-sizing: border-box;
}
/* Kategori / ürün / arama: sarmalayıcı içinde main alanı büyür, footer alta yapışır */
body > .min-h-screen {
    display: flex;
    flex-direction: column;
}
body > .min-h-screen > main {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

body > .header-sticky-wrap {
    flex-shrink: 0;
}
.site-footer,
.site-footer-sub {
    flex-shrink: 0;
}

/* Touch targets: mobilde minimum 44x44px (Apple HIG) - CRO optimizasyonu */
@media (max-width: 768px) {
    button,
    .icon-btn,
    .size-btn,
    .color-item,
    .remove-btn,
    .add-to-cart,
    .wishlist-btn,
    .checkout-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
    .filter-sheet-option { min-height: 48px; padding: 12px 16px; display: flex; align-items: center; }
    .product-detail .minimal-accordion-component .acc-header { min-height: 48px; -webkit-tap-highlight-color: transparent; }
    .breadcrumb a { padding: 10px 8px; margin: -4px 0; min-height: 44px; display: inline-flex; align-items: center; }
    .pagination a { min-height: 44px; min-width: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; }
}

body {
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: var(--font-main);
    line-height: 1.6;
    overflow-x: hidden;
    min-height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Site container: main/footer içeriği; header menü genişliği data-header-nav (+ isteğe bağlı data-header-type) ile */
/* Header şeridi (.header-sticky-wrap) her zaman viewport genişliğinde; arka plan tam genişlik */
.header-sticky-wrap[data-header-nav="contained"] #mainHeader nav {
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
}
/* Menü «Her zaman tam genişlik»: tüm sayfalarda nav satırı viewport genişliğinde (diğer kurallar ezmesin) */
.header-sticky-wrap[data-header-nav="full_width"] #mainHeader {
    max-width: none;
    width: 100%;
    box-sizing: border-box;
}
.header-sticky-wrap[data-header-nav="full_width"] #mainHeader nav {
    max-width: none !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
body[data-site-container="contained"] .header-sticky-wrap[data-header-nav="inherit"] #mainHeader nav {
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
}
/* «Header genişliği: Full Width» + Menü «Site ile aynı»: menü satırı body container’a sıkıştırılmaz */
body[data-site-container="contained"] .header-sticky-wrap[data-header-nav="inherit"][data-header-type="full_width"] #mainHeader nav {
    max-width: none !important;
    width: 100%;
}
/* Ana sayfa: container_home yalnızca main/footer; inherit + contained site’te menü yine daralmasın (header_type ile de kapatılır) */
body[data-page-type="home"][data-site-container="contained"] .header-sticky-wrap[data-header-nav="inherit"] #mainHeader nav {
    max-width: none !important;
    margin-left: auto;
    margin-right: auto;
}
body[data-site-container="contained"] .site-footer .footer-inner {
    max-width: var(--site-container-max-width, 1400px);
}
body[data-site-container="contained"] main {
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
}
/* Kategori / arama: main’e ekstra padding + .category-header (16px) çift iç boşluk yapıyordu;
   header nav (16px) ile aynı hizada olsun diye yatay padding yalnızca iç bölümlerde (.category-header, toolbar). */
body[data-page-type="category"][data-site-container="contained"] main,
body[data-page-type="search"][data-site-container="contained"] main {
    padding-left: 0;
    padding-right: 0;
}
/* Mobil: contained kategori/arama — ürün detay (main) ile aynı yatay iç boşluk (--site-inline-padding, 20px) */
@media (max-width: 768px) {
    body[data-page-type="category"][data-site-container="contained"] main,
    body[data-page-type="search"][data-site-container="contained"] main {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right));
        box-sizing: border-box;
    }
}
/* Slider bölümü “Tam genişlik”: contained main padding’inden taşıp viewport kenarına kadar */
body[data-site-container="contained"] .slider-section:not(.slider-contained) {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}
body[data-site-container="contained"] .category-filter-bar-inner {
    max-width: var(--site-container-max-width, 1400px);
    margin: 0 auto;
}
body[data-site-container="contained"] .category-header {
    padding-left: 0;
    padding-right: 0;
}
body[data-site-container="contained"] .product-grid-contained {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Kategori / arama (full): yatay boşluk tek kez main’de; grid ile başlık hizası birebir */
body[data-page-type="category"][data-site-container="full"] main,
body[data-page-type="search"][data-site-container="full"] main {
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
}
body[data-page-type="category"][data-site-container="full"] .category-header,
body[data-page-type="search"][data-site-container="full"] .category-header {
    padding-left: 0;
    padding-right: 0;
}

/* Ana sayfa (full genişlik modu): main’de yatay boşluk yoktu; kategori «tam genişlik» ile aynı --site-inline-padding */
body[data-page-type="home"][data-site-container="full"] main {
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right));
    box-sizing: border-box;
}
/* Hero/slider «tam genişlik»: main padding’inden viewport kenarına taşır (contained ile aynı desen) */
body[data-page-type="home"][data-site-container="full"] .slider-section:not(.slider-contained) {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}

.header-sticky-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: #fff;
}

/* Header altı: sayfa başlığı şeridi */
.page-title-bar {
    width: 100%;
    background: #000;
    color: #fff;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.page-title-bar-inner {
    max-width: var(--site-container-max-width, 1400px);
    margin: 0 auto;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
}
body[data-site-container="contained"] .page-title-bar-inner {
    max-width: min(var(--site-container-max-width, 1400px), 100%);
}
.page-title-bar-heading {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    line-height: 1.35;
    color: #fff;
}
@media (max-width: 768px) {
    .page-title-bar-inner {
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    }
    .page-title-bar-heading {
        font-size: 10px;
        letter-spacing: 0.14em;
    }
}

/* Başlık şeride taşındığında içerikteki yinelenen başlıkları gizle */
body:has(.page-title-bar) .category-header .category-title {
    display: none !important;
}
body:has(.page-title-bar) .product-info-wrap .product-title-row {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
body:has(.page-title-bar) .cart-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
body:has(.page-title-bar) .page-404-title {
    display: none !important;
}

.announcement-wrapper { position: relative; width: 100%; }
.announcement-slider { overflow: hidden; }
.announcement-slider-track {
    display: flex;
    width: calc(100% * var(--slide-count, 1));
    transition: transform 0.45s ease;
}
.announcement-slider .announcement-slide-item {
    flex: 0 0 calc(100% / var(--slide-count, 1));
    min-width: 0;
}
.announcement-bar {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.announcement-bar-scroll {
    overflow: hidden;
    white-space: nowrap;
}
.announcement-marquee {
    display: inline-flex;
    direction: ltr;
    animation: announcement-scroll 30s linear infinite;
    will-change: transform;
}
.announcement-marquee-inner {
    padding-right: 2em;
    flex-shrink: 0;
}
/* Sağdan sola: metin sağdan girer, kesintisiz döngü (8 kopya = %12.5 adım) */
@keyframes announcement-scroll {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-12.5%, 0, 0); }
}

/* Tema bölümü / sections.php — kayan şerit */
.marquee-container {
    display: inline-flex;
    direction: ltr;
    width: max-content;
    min-width: 100%;
    box-sizing: border-box;
    will-change: transform;
    animation: theme-marquee-scroll-rtl var(--marquee-speed, 40s) linear infinite;
}
@keyframes theme-marquee-scroll-rtl {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

/* home_section_block içi .theme-marquee-track süresi inline; yön burada */
.theme-marquee {
    direction: ltr;
}
.theme-marquee .theme-marquee-track {
    direction: ltr;
    will-change: transform;
    animation-name: theme-marquee-scroll-rtl;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
.announcement-bar-image {
    padding: 0;
    min-height: 40px;
}
.announcement-bar-image .announcement-img {
    max-width: 100%;
    height: auto;
    max-height: 80px;
    object-fit: contain;
    display: block;
}
.announcement-bar-image .announcement-img-desktop {
    display: block;
}
.announcement-bar-image .announcement-img-mobile {
    display: none;
}
@media (max-width: 768px) {
    .announcement-bar {
        font-size: var(--bar-font-size-mobile, 10px) !important;
        padding: 8px 12px;
    }
    .announcement-bar-image .announcement-img-desktop {
        display: none;
    }
    .announcement-bar-image .announcement-img-mobile {
        display: block;
    }
}

/* Checkout / Login / Register - minimal header (pay.html style) */
.checkout-header {
    background: #fff;
    padding: 15px 4%;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.checkout-header-inner { width: 100%; max-width: var(--site-container-max-width, 1400px); display: flex; justify-content: center; }
.checkout-logo { display: flex; align-items: center; justify-content: center; text-decoration: none; color: inherit; }
.checkout-logo .header-logo-img { height: 24px; width: auto; object-fit: contain; }
.checkout-logo-text { font-size: 20px; font-weight: 300; text-transform: uppercase; }

.account-info-banner {
    background: color-mix(in srgb, var(--accent-color) 15%, white);
    border: 1px solid color-mix(in srgb, var(--accent-color) 45%, white);
    color: color-mix(in srgb, var(--accent-color) 75%, black);
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 24px;
}

/* Checkout page - pay.html grid layout */
.checkout-container {
    max-width: var(--site-container-max-width, 1400px);
    margin: 40px auto;
    padding: 0 4%;
    display: grid;
    grid-template-columns: 1fr 450px;
    gap: 60px;
    align-items: start;
}
.checkout-steps { display: flex; flex-direction: column; gap: 30px; }
.checkout-step-section {
    border: 1px solid var(--border-color);
    padding: 30px;
    transition: all 0.3s ease;
}
.checkout-step-section.active { border-color: #000; background: #f7f7f7; }
.checkout-step-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}
.checkout-step-number {
    width: 28px;
    height: 28px;
    background: #000;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
}
.checkout-step-title { font-size: 16px; font-weight: 600; text-transform: uppercase; }
.checkout-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.checkout-input-group { display: flex; flex-direction: column; gap: 8px; }
.checkout-input-group.full { grid-column: 1 / -1; }
.checkout-input-group label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.checkout-input-group input,
.checkout-input-group select,
.checkout-input-group textarea {
    padding: 16px 15px;
    border: 1px solid var(--border-color);
    border-radius: var(--input-radius);
    background: #fff;
    font-family: var(--font-main);
    font-size: 13px;
    outline: none;
}
.checkout-input-group input:focus,
.checkout-input-group select:focus,
.checkout-input-group textarea:focus { border-color: #000; }
.checkout-next-btn {
    margin-top: 25px;
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    padding: 15px 40px;
    border: none;
    border-radius: var(--button-radius);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}
.checkout-next-btn:hover { opacity: 0.9; }
.order-summary {
    background: #fcfcfc;
    padding: 30px;
    border: 1px solid var(--border-color);
    position: sticky;
    top: 100px;
}
.order-summary-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 15px;
}
.order-summary-product-list { display: flex; flex-direction: column; gap: 15px; margin-bottom: 25px; }
.order-summary-product {
    display: flex;
    gap: 15px;
    font-size: 12px;
}
.order-summary-product .mini-img {
    width: 50px;
    aspect-ratio: 2/3;
    background: #eee;
    object-fit: cover;
    flex-shrink: 0;
}
.order-summary-row { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 12px; }
.order-summary-row.total {
    border-top: 1px solid var(--border-color);
    padding-top: 20px;
    margin-top: 20px;
    font-size: 18px;
    font-weight: 600;
}
.complete-order-btn {
    width: 100%;
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border: none;
    border-radius: var(--button-radius);
    padding: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 25px;
    text-align: center;
}
.complete-order-btn:hover { opacity: 0.9; }
.checkout-trust-badges {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 20px;
    opacity: 0.5;
    font-size: 10px;
    text-transform: uppercase;
}
.checkout-form-wrap { display: contents; }
@media (max-width: 1024px) {
    .checkout-container { grid-template-columns: 1fr; }
    .order-summary { position: static; }
}
@media (max-width: 600px) {
    .checkout-form-grid { grid-template-columns: 1fr; }
}

/* Mobil: pay.html / checkout-container — masaüstü %4 korunur; dar ekranda site kanalı ile aynı */
@media (max-width: 768px) {
    .checkout-header {
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    }
    .checkout-container {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    }
    /* Ödeme akışı (Tailwind): üst sarmalayıcı px-6 → site kanalı */
    body:has(#checkout-form) .max-w-\[1240px\] > div[class*="px-6"] {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
    }
    body:has(#checkout-form) #mobile-summary-toggle {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    }
    /* İletişim / sipariş takip / CMS sayfası (Tailwind px-4 / px-6) */
    body[data-site-container] main.container.mx-auto.px-4,
    body[data-site-container] main.container.mx-auto.px-6 {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
    }
    body[data-site-container] .legal-page-shell.max-w-7xl.mx-auto.px-6 {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
    }
    body[data-site-container] main.max-w-3xl.mx-auto.px-6 {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
    }
    /* CMS sayfası (yasal şablon): p-6 yatay — mobilde site kanalı */
    body[data-site-container] main.max-w-3xl.w-full.mx-auto.border.border-gray-200 {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
    }
}

header {
    background: #fff;
    padding: 18px 0;
    border-bottom: 1px solid transparent;
    transition: all 0.3s ease;
    width: 100%;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

/* Desktop: header yerleşimi (Tema > Header Tipi) */
@media (min-width: 769px) {
    #mainHeader nav {
        display: grid;
        gap: 24px;
        align-items: center;
    }
    #mainHeader.header-layout--logo-left-nav-center nav {
        grid-template-columns: 1fr auto 1fr;
    }
    #mainHeader.header-layout--logo-left-nav-center .logo { grid-column: 1; justify-self: start; }
    #mainHeader.header-layout--logo-left-nav-center .nav-links { grid-column: 2; justify-self: center; flex: none; }
    #mainHeader.header-layout--logo-left-nav-center .user-actions { grid-column: 3; justify-self: end; flex: none; }

    #mainHeader.header-layout--logo-center-nav-left nav {
        grid-template-columns: 1fr auto 1fr;
    }
    #mainHeader.header-layout--logo-center-nav-left .nav-links { grid-column: 1; justify-self: start; flex: none; }
    #mainHeader.header-layout--logo-center-nav-left .logo { grid-column: 2; justify-self: center; }
    #mainHeader.header-layout--logo-center-nav-left .user-actions { grid-column: 3; justify-self: end; flex: none; }

    #mainHeader.header-layout--logo-left-nav-left nav {
        grid-template-columns: auto auto 1fr auto;
    }
    #mainHeader.header-layout--logo-left-nav-left .logo { grid-column: 1; justify-self: start; flex: none; }
    #mainHeader.header-layout--logo-left-nav-left .nav-links { grid-column: 2; justify-self: start; flex: none; }
    #mainHeader.header-layout--logo-left-nav-left .user-actions { grid-column: 4; justify-self: end; flex: none; }

    #mainHeader.header-layout--logo-right-nav-center nav {
        grid-template-columns: 1fr auto auto auto;
    }
    #mainHeader.header-layout--logo-right-nav-center .nav-links { grid-column: 2; justify-self: center; flex: none; }
    #mainHeader.header-layout--logo-right-nav-center .logo { grid-column: 3; justify-self: end; flex: none; }
    #mainHeader.header-layout--logo-right-nav-center .user-actions { grid-column: 4; justify-self: end; flex: none; }
}

#mainHeader[data-menu-align="left"] .nav-links { justify-content: flex-start; }
#mainHeader[data-menu-align="center"] .nav-links { justify-content: center; }
#mainHeader[data-menu-align="right"] .nav-links { justify-content: flex-end; }

/* Header: logo ile menü öğeleri aynı dikey hizada (özellikle logo ortada yerleşim) */
#mainHeader .nav-links {
    align-items: center;
    flex-wrap: nowrap;
}
#mainHeader .nav-links > a {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}
#mainHeader .nav-dropdown {
    align-items: center;
}
#mainHeader .logo h1 {
    line-height: 1.1;
}

/* Logo, menü ve sepet / hesap ikonları aynı satırda ve aynı dikey eksende */
@media (min-width: 769px) {
    #mainHeader nav > .logo,
    #mainHeader nav > .nav-links,
    #mainHeader nav > .user-actions {
        grid-row: 1;
        align-self: center;
    }
    #mainHeader .logo a {
        line-height: 0;
    }
    #mainHeader .user-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
}

.nav-links { display: flex; gap: 24px; flex: 1; justify-content: center; }
.nav-links a {
    text-decoration: none;
    color: var(--text-color);
    font-size: var(--header-nav-font-size, 11px);
    font-weight: 500;
    text-transform: uppercase;
    transition: opacity 0.2s;
}
.nav-links a:hover { opacity: 0.5; }
.nav-links a.sale { color: var(--accent-color); }

.nav-dropdown { position: relative; display: inline-flex; }
.nav-dropdown-trigger { display: inline-flex; align-items: center; gap: 4px; }
.nav-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 8px;
    min-width: 160px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    z-index: 50;
}
.nav-dropdown:hover .nav-dropdown-menu { opacity: 1; visibility: visible; }
.nav-dropdown-menu a {
    display: block;
    padding: 8px 16px;
    font-size: var(--header-nav-font-size, 11px);
    text-transform: uppercase;
    color: var(--text-color);
    text-decoration: none;
    white-space: nowrap;
}
.nav-dropdown-menu a:hover { background: #f9fafb; opacity: 1; }

/* Mega menu - arka plan %100 genişlik, header ile örtüşerek boşluksuz geçiş */
.nav-mega .nav-mega-menu {
    position: fixed;
    top: calc(var(--mega-menu-top, 90px) - 50px);
    left: 0;
    right: 0;
    width: 100%;
    margin-top: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s, visibility 0.2s;
    z-index: 999;
}
.nav-mega .nav-mega-container {
    margin-top: 50px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.nav-mega:hover .nav-mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.nav-mega-container {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 32px 40px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(var(--mega-cols, 3), 1fr);
    gap: 40px 48px;
}
.nav-mega-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.nav-mega-heading {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 4px;
}
.nav-mega-column a {
    font-size: var(--header-nav-font-size, 11px);
    font-weight: 500;
    text-transform: uppercase;
    color: #000000;
    text-decoration: none;
    transition: opacity 0.2s;
}
.nav-mega-column a:hover { opacity: 0.5; }
.nav-mega-image {
    display: block;
    width: 100%;
    margin-top: 4px;
}
.nav-mega-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px;
}

/* Mobil: mega menü görselsiz, normal dropdown gibi tek sütun */
@media (max-width: 1024px) {
    .nav-mega .nav-mega-image { display: none !important; }
    .nav-mega .nav-mega-menu { width: 100vw; }
    .nav-mega-container {
        max-width: 100%;
        padding: 12px 16px;
        grid-template-columns: 1fr;
        gap: 0;
    }
    .nav-mega-column {
        flex-direction: column;
        gap: 0;
        padding: 0;
        border: none;
    }
    .nav-mega-column .nav-mega-heading {
        padding: 8px 16px;
        font-size: 15px;
        font-weight: 700;
        color: #000000;
        margin-bottom: 0;
    }
    .nav-mega-column a {
        padding: 8px 16px;
        display: block;
        font-size: var(--header-nav-font-size, 11px);
        color: #000000;
    }
}

.logo { text-align: left; display: flex; align-items: center; }
.logo a { display: flex; align-items: center; text-decoration: none; color: #1a1a1a; cursor: pointer; }
.logo h1, .logo a { font-size: 22px; font-weight: 500; text-transform: uppercase; text-decoration: none; color: inherit; }
.header-logo-img {
    height: 24px;
    width: auto;
    object-fit: contain;
    display: block;
}

.user-actions { display: flex; justify-content: flex-end; gap: 2px; flex: 1; align-items: center; }
.user-actions .header-action-wishlist { margin-right: 0; }
.user-actions .icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    transition: transform 0.2s;
}
.user-actions .icon-btn:hover { transform: none; }
#mainHeader .user-actions .icon-btn { min-width: 36px; min-height: 36px; padding: 6px; }
.icon-btn { background: none; border: none; cursor: pointer; display: flex; align-items: center; padding: 0; }
.icon-btn svg { width: 20px; height: 20px; stroke-width: 1.5; }
/* Safari/iOS: <a class="icon-btn"> mavi link rengi — ikonlar siyah kalmalı */
#mainHeader .user-actions a.icon-btn,
#mainHeader .user-actions a.icon-btn:visited,
#mainHeader .user-actions a.icon-btn:hover,
#mainHeader .user-actions a.icon-btn:active {
    color: #000 !important;
    -webkit-text-fill-color: #000;
    text-decoration: none !important;
}
#mainHeader .user-actions a.icon-btn svg,
#mainHeader .user-actions a.icon-btn svg path,
#mainHeader .user-actions a.icon-btn svg circle,
#mainHeader .user-actions a.icon-btn svg line,
#mainHeader .user-actions button.icon-btn svg,
#mainHeader .user-actions button.icon-btn svg path,
#mainHeader .user-actions button.icon-btn svg circle,
#mainHeader .user-actions button.icon-btn svg line {
    stroke: #000 !important;
}
#mainHeader .user-actions .icon-btn {
    -webkit-tap-highlight-color: transparent;
}
.cart-count-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: #000;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 10px;
    font-weight: 600;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Home - index.html */
main {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
/* Rowlar arası boşluk (sadece sunucuda): img/picture inline gap - font yükleme farkı */
main img,
main picture {
    display: block;
    vertical-align: bottom;
}

/* Hero/slider - tam genişlik, header ile arasında boşluk yok */
.hero-media-wrap {
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 6px;
}
.hero-media-wrap.hero-media-wrap-contained {
    max-width: var(--site-slider-contained-max-width, 1280px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--site-inline-padding, 20px);
    padding-right: var(--site-inline-padding, 20px);
}
.hero-media-wrap .hero,
.hero-media-wrap .hero-slider {
    width: 100%;
    max-width: 100%;
}
.hero-media-wrap + * {
    margin-top: -2px;
}

/* Kayan yazı: contained main içinde arka planı viewport genişliğine yay */
.theme-marquee-outer--full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    box-sizing: border-box;
}
/* Banner, slider — yatay iç padding yok (main/container hizası) */
.section-media-wrap {
    padding: 3px 0;
    box-sizing: border-box;
}
/* Ana sayfa tek görsel banner (section-media-wrap): köşe = tema Köşe yuvarlaklığı */
.section-media-wrap > a,
.section-media-wrap > div {
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
}
/* Sayfa şablonu / vitrin dışı tam yükseklik banner (sections.php theme-radius-banner) */
.theme-radius-banner {
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
}

.hero {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: hidden;
    background-color: #f9f9f9;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}
.hero a[href] {
    display: block;
    line-height: 0;
}
.hero .hero-img-mobile {
    display: none !important;
}
@media (max-width: 1024px) {
    .hero .hero-img-desktop {
        display: none !important;
    }
    .hero .hero-img-mobile {
        display: block !important;
    }
}
.hero picture {
    display: block;
}
.hero picture img,
.hero img,
.hero .hero-img {
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
    object-fit: contain;
    object-position: center;
}

/* Hero Slider - çoklu slayt, height auto, sündürme yok */
.hero-slider {
    position: relative;
    z-index: 0;
    height: auto;
    min-height: 0;
    width: 100%;
    overflow: hidden;
    background-color: #f9f9f9;
    border-radius: var(--slider-slide-radius, var(--card-media-radius, var(--input-radius, 8px)));
}
/* Track genişliği = dom × görünür alan; böylece translateX(%) tüm slayt genişliğinde kayar (width:100% tek slayt genişliğinde kalıp %’yi bozuyordu) */
.hero-slider-track {
    display: flex;
    width: calc(var(--hero-dom-count, 1) * 100%);
    height: auto;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}
.hero-slider-slide {
    flex: 0 0 calc(100% / var(--hero-dom-count, 1));
    min-width: 0;
    height: auto;
    position: relative;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}
@media (prefers-reduced-motion: reduce) {
    .hero-slider-track {
        transition-duration: 0.01ms;
    }
}
.hero-slider-slide .hero-img-mobile {
    display: none !important;
}
@media (max-width: 1024px) {
    .hero-slider-slide .hero-img-desktop {
        display: none !important;
    }
    .hero-slider-slide .hero-img-mobile {
        display: block !important;
    }
}
.hero-slider-slide .hero-slider-img,
.hero-slider-slide picture,
.hero-slider-slide img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    object-fit: contain;
    object-position: center;
}
.hero-slider-slide picture img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}
/* Tıklama katmanı: şeffaf button + JS ile yönlendirme; img üstte yakalamaz */
.hero-slide-hit,
button.hero-slide-hit {
    position: absolute;
    inset: 0;
    z-index: 25;
    cursor: pointer;
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    font: inherit;
    color: inherit;
    text-decoration: none;
    pointer-events: auto;
}
.hero-slide-has-link .hero-slider-img,
.hero-slide-has-link .hero-img,
.hero-slide-has-link > img,
.hero-slide-has-link .slider-img,
.hero-slide-has-link picture img {
    pointer-events: none !important;
}
.hero-slide-has-link {
    cursor: pointer;
}
.hero-media-wrap .hero-slide-hit {
    z-index: 25;
}
.hero-slider-prev,
.hero-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--hero-slider-arrow-size, 40px);
    height: var(--hero-slider-arrow-size, 40px);
    border: none;
    background: var(--hero-slider-arrow-bg, rgba(255,255,255,0.8));
    border-radius: var(--hero-slider-arrow-radius, 8px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
    z-index: 35;
    pointer-events: auto;
    font-size: calc(var(--hero-slider-arrow-size, 40px) * 0.45);
    line-height: 1;
    padding: 0;
    color: var(--hero-slider-arrow-icon, #000000);
}
.hero-slider-prev:hover,
.hero-slider-next:hover {
    background: var(--hero-slider-arrow-bg-hover, rgba(255,255,255,0.95));
}
.hero-slider-prev { left: 16px; }
.hero-slider-next { right: 16px; }
.hero-slider-prev svg,
.hero-slider-next svg {
    width: 55%;
    height: 55%;
    flex-shrink: 0;
    color: inherit;
    stroke: currentColor;
}
@media (max-width: 1024px) {
    .hero-slider-prev,
    .hero-slider-next {
        width: var(--hero-slider-arrow-size-mobile, var(--hero-slider-arrow-size, 40px));
        height: var(--hero-slider-arrow-size-mobile, var(--hero-slider-arrow-size, 40px));
        font-size: calc(var(--hero-slider-arrow-size-mobile, var(--hero-slider-arrow-size, 40px)) * 0.45);
    }
}
.hero-slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 5;
}
.hero-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    transition: background 0.2s;
}
.hero-slider-dot:hover,
.hero-slider-dot.active {
    background: rgba(255,255,255,0.95);
}

/* Slider section (sections.php) - height auto, sündürme yok */
.slider-section .slider-slide-wrap {
    height: auto;
    min-height: 0;
    border-radius: var(--slider-slide-radius, var(--card-media-radius, var(--input-radius, 8px)));
    overflow: hidden;
}
.slider-section .slider-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center;
}

.grid-section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    padding: 4px;
    position: relative;
    z-index: 1;
}
.grid-item {
    position: relative;
    height: 80vh;
    overflow: hidden;
    background-color: #f4f4f4;
    cursor: pointer;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}
.grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* İLGİNİZİ ÇEKEBİLİR — ürün detayda: .product-detail-container > .product-related-section--pdp-main (main içinde) ile ürün bilgisi sütunu aynı yatay hizaya oturur */
.product-related-section {
    padding: 48px 24px 56px;
    background: #fff;
    width: 100%;
    max-width: var(--site-container-max-width, 1400px);
    margin: 0 auto;
    box-sizing: border-box;
}
body[data-page-type="product"] .product-related-section:not(.product-related-section--pdp-main) {
    max-width: none;
    padding-left: 24px;
    padding-right: 24px;
}
/* contained: eski konum (main dışı) için */
body[data-page-type="product"][data-site-container="contained"] .product-related-section:not(.product-related-section--pdp-main) {
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}
/* PDP: main içindeki ilgili ürünler — yatay padding yok; main’in padding’i geçerli */
.product-detail-container > .product-related-section.product-related-section--pdp-main {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 40px;
    padding-bottom: 48px;
}
/* İLGİNİZİ ÇEKEBİLİR carousel: 4 ürün görünür, kenarlara kadar */
body[data-page-type="product"] .product-related-carousel {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
}
body[data-page-type="product"] .product-related-carousel .product-list-carousel-track {
    box-sizing: border-box;
}
body[data-page-type="product"] .product-related-carousel .product-list-carousel-slide {
    flex: 0 0 25%;
    min-width: 0;
    padding: 0 8px;
    box-sizing: border-box;
}
.product-related-section .product-related-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 28px;
    color: #000;
}

/* Ürün listesi bölümü - tam genişlik, başlık üstte */
/* Bölüm başlığı: içerikten ayrı üst satır (home.php theme-vitrin-section-wrap) */
.theme-vitrin-section-wrap {
    width: 100%;
    box-sizing: border-box;
}
.theme-section-title-row {
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    padding: 14px 0 14px;
    width: 100%;
    box-sizing: border-box;
}
.theme-section-title-row .theme-section-title-text {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.theme-vitrin-section-wrap--has-title .product-list-section {
    padding-top: 8px;
}

.product-list-section {
    display: flex;
    flex-direction: column;
    padding: 32px 0;
    width: 100%;
    max-width: 100vw;
    position: relative;
    z-index: 1;
}
.product-list-section .product-list-title {
    padding-left: 0;
    padding-right: 0;
}
.product-list-section .product-list-grid {
    padding-left: 0;
    padding-right: 0;
}
.product-list-section .product-list-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    padding-bottom: 20px;
    margin-bottom: 0;
    text-align: center;
}
.product-list-grid {
    display: grid;
    gap: 20px;
}
/* minmax(0,1fr): içerik (uzun başlık vb.) sütun genişliğini şişirip kart görsellerini farklı ölçeklemesin */
.product-list-grid.product-list-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-list-grid.product-list-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-list-grid.product-list-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-list-grid.product-list-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.product-list-grid.product-list-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.product-list-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}
.product-list-card .product-list-card-img {
    position: relative;
    aspect-ratio: var(--product-card-media-aspect, 2 / 3);
    overflow: hidden;
    background: #f4f4f4;
    cursor: pointer;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}
/* Tek oran kaynağı: dış kutu; içteki .product-image-inner üst üste aspect-ratio oluşturmasın */
.product-list-card .product-list-card-img .product-image-inner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: unset;
    min-height: 0;
}
.product-list-card .product-list-card-img img,
.product-list-card .product-list-card-img video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: translateZ(0);
    backface-visibility: hidden;
}
.product-list-card .product-list-card-info {
    padding: 10px 0 0;
}
.product-card .product-info {
    padding: 10px 0 0;
}
.product-list-card .product-list-card-name {
    font-size: var(--product-card-title-size, 13px);
    margin-bottom: 4px;
}
.product-list-card .product-list-card-price {
    font-weight: 600;
}
/* Vitrin ürün listesi: aynı satırdaki kartlar eşit yükseklik; başlık en fazla 3 satır (yükseklik metne göre, zorunlu 3 satır boşluğu yok) */
.product-list-section .product-list-carousel-track {
    align-items: stretch;
}
.product-list-section .product-list-carousel-slide {
    display: flex;
    align-self: stretch;
}
.product-list-section .product-list-carousel-slide > .product-list-card {
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
}
.product-list-section .product-list-card-img {
    flex-shrink: 0;
}
.product-list-section .product-list-grid > .product-list-card {
    height: 100%;
    min-height: 0;
    min-width: 0;
}
.product-list-section .product-list-card-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.product-list-section .product-list-card-name {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}
/* Vitrin: hızlı sepet (hover bar + kart üstü varyant paneli) */
.product-list-section .product-list-carousel-slide > .product-list-card-wrap {
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
}
/* Hızlı sepet açık kart: iç panel taşmasın diye flex zincirinde küçülebilsin */
.product-list-section .product-list-carousel-slide > .product-list-card-wrap[data-product-card-quick="1"] {
    min-height: 0;
    max-height: 100%;
}
.product-list-section .product-list-grid > .product-list-card-wrap {
    height: 100%;
    min-height: 0;
    min-width: 0;
}
.product-list-card-wrap {
    position: relative;
}
.product-list-card-wrap[data-product-card-quick="1"] {
    overflow: hidden;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}
/* Tema «kart kenarlığı» hem görsel hem bilgi <a>’sına uygulanıyor; ortada çift çizgi olmasın */
.product-list-card-wrap[data-product-card-quick="1"] .product-list-card-img-link.product-list-card {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.product-list-card-wrap[data-product-card-quick="1"] .product-list-card-info-link.product-list-card {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
/* Çerçevesiz: görsel ile başlık arası boşluk; kenarlık açıkken head_tracking ile padding-top:0 */
.product-list-card-wrap[data-product-card-quick="1"] .product-list-card-info {
    padding-top: 10px;
}
.product-list-card-wrap[data-product-card-quick="1"] .product-list-card-info-link:has(> .product-cart-campaign-strip--below-image-flow) .product-list-card-info {
    padding-top: 0;
    margin-top: 0;
}
/* Hızlı sepet: varyant paneli yalnızca görsel kutusu üzerinde (başlık/fiyat dışında) */
.product-list-card-media {
    position: relative;
    width: 100%;
    flex-shrink: 0;
    min-height: 0;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
}
.product-list-quick-hover {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    z-index: 6;
    padding: 0 10px 12px;
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}
/* Kampanya şeridi görsel altında: buton altı şeridin üstünden 4px; kutu bottom’u padding-bottom (12px) kadar aşağı alınır */
@media (min-width: 769px) {
    .product-list-quick-hover--strip-image-bottom {
        bottom: calc(7px + 7px + 12px * 1.2 + 4px - 12px);
    }
}
.product-list-card-wrap:hover .product-list-quick-hover,
.product-list-card-wrap:focus-within .product-list-quick-hover {
    transform: translateY(0);
}
.product-list-quick-btn {
    pointer-events: auto;
    width: 100%;
    border: none;
    border-radius: var(--button-radius, 8px);
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    cursor: pointer;
    background: var(--add-to-cart-color, #000);
    color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.product-list-quick-btn:hover:not(:disabled) {
    opacity: 0.92;
}
.product-list-quick-btn:disabled {
    opacity: 0.88;
    cursor: wait;
}
.product-list-quick-btn.is-added {
    background: #15803d;
    color: #fff;
    box-shadow: 0 8px 24px rgba(21, 128, 61, 0.35);
}
.product-list-quick-btn.is-added:hover:not(:disabled) {
    opacity: 0.95;
}
/* Mobilde hızlı sepet çubuğu yok — dokunuş doğrudan ürün linkine gitsin */
@media (max-width: 768px) {
    .product-list-quick-hover {
        display: none !important;
    }
}
/* Vitrin hızlı sepet: tam ekran popup (body’e teleport) */
.product-list-quick-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    box-sizing: border-box;
    background: rgba(15, 15, 15, 0.45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.product-list-quick-modal-dialog {
    width: 100%;
    max-width: min(420px, 100%);
    max-height: min(90vh, 900px);
    margin: auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.product-list-quick-panel-inner {
    position: relative;
    width: 100%;
    max-height: min(90vh, 900px);
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 12px 10px 14px;
    box-sizing: border-box;
}
/* Yükleme / hata: panel içinde ortala */
.product-list-quick-panel-inner > .product-list-quick-loading,
.product-list-quick-panel-inner > .product-list-quick-error {
    margin: auto;
    flex: 0 0 auto;
}
/* Form: kart yüksekliğini aşmasın; kaydırılabilir gövde + altta sabit Sepete Ekle */
.product-list-quick-panel-inner > .product-list-quick-form {
    margin-top: 0;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.product-list-quick-form-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.product-list-quick-close {
    position: absolute;
    top: 4px;
    right: 6px;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    z-index: 2;
}
.product-list-quick-loading,
.product-list-quick-error {
    padding: 24px 8px;
    text-align: center;
    font-size: 14px;
    color: #444;
}
.product-list-quick-pdp-link {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--button-color, #000);
    text-decoration: underline;
}
.product-list-quick-preview {
    width: 100%;
    margin: 0 0 12px;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
    background: #f4f4f4;
    aspect-ratio: 2 / 3;
    max-height: min(42vh, 320px);
    flex-shrink: 1;
    min-height: 0;
}
.product-list-section .product-list-carousel-slide .product-list-quick-preview {
    max-height: min(30vh, 180px);
}
.product-list-quick-preview-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-list-quick-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 12px;
    padding-right: 28px;
    line-height: 1.35;
    color: #111;
}
.product-list-quick-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #666;
    margin-bottom: 8px;
}
.product-list-quick-thumb-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.product-list-quick-thumb {
    width: 52px;
    height: 52px;
    padding: 0;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    background: #f4f4f4;
    flex-shrink: 0;
}
.product-list-quick-thumb.is-active {
    border-color: var(--button-color, #000);
    box-shadow: 0 0 0 1px var(--button-color, #000);
}
.product-list-quick-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-list-quick-size-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}
.product-list-quick-size {
    min-width: 40px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    cursor: pointer;
}
.product-list-quick-size.is-active {
    border-color: var(--button-color, #111);
    background: #111;
    color: #fff;
}
.product-list-quick-size.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.product-list-quick-confirm {
    width: 100%;
    flex-shrink: 0;
    margin-top: 10px;
    padding: 12px 14px;
    border: none;
    border-radius: var(--button-radius, 8px);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    cursor: pointer;
    background: var(--add-to-cart-color, #000);
    color: #fff;
}
.product-list-quick-confirm:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.exripe-toast-host {
    position: fixed;
    bottom: 1.25rem;
    right: 1.25rem;
    z-index: 10060;
    pointer-events: none;
    max-width: min(360px, calc(100vw - 2rem));
}
.exripe-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 12px;
    background: #111;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}
.exripe-toast-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background: #22c55e;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}
.exripe-toast-text {
    line-height: 1.35;
}
/* Ürün listesi carousel - 4'ten fazla ürün varsa */
.product-list-carousel {
    position: relative;
    overflow: hidden;
    padding: 0 48px;
}
.product-list-carousel-track {
    display: flex;
    transition: transform 0.5s ease;
    will-change: transform;
    touch-action: pan-y;
}
.product-list-carousel-slide {
    padding: 0 10px;
    box-sizing: border-box;
    min-width: 0;
}
.product-list-carousel.product-list-cols-2 .product-list-carousel-slide { flex: 0 0 50%; }
.product-list-carousel.product-list-cols-3 .product-list-carousel-slide { flex: 0 0 33.333%; }
.product-list-carousel.product-list-cols-4 .product-list-carousel-slide { flex: 0 0 25%; }
.product-list-carousel.product-list-cols-5 .product-list-carousel-slide { flex: 0 0 20%; }
.product-list-carousel.product-list-cols-6 .product-list-carousel-slide { flex: 0 0 16.666%; }
.product-list-carousel-prev,
.product-list-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    box-sizing: border-box;
    border: none;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 2;
    -webkit-appearance: none;
    appearance: none;
}
.product-list-carousel-prev { left: 0; }
.product-list-carousel-next { right: 0; }

/* Kaydırma yalnızca viewport’ta; oklar scroll dışında kalır (mobil) */
.product-list-carousel-viewport {
    width: 100%;
    min-width: 0;
    position: relative;
    z-index: 1;
}

/* Vitrin / PDP: oklar tüm ürün kartı (slayt) yüksekliğinin dikey ortasında, koyu kare */
.product-list-section .product-list-carousel,
body[data-page-type="product"] .product-list-carousel.product-related-carousel {
    padding-left: 0;
    padding-right: 0;
}
.product-list-section .product-list-carousel-viewport,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport {
    container-type: inline-size;
    container-name: product-list-carousel;
}
.product-list-section .product-list-carousel {
    --pl-cols: 4;
}
.product-list-section .product-list-carousel.product-list-cols-2 { --pl-cols: 2; }
.product-list-section .product-list-carousel.product-list-cols-3 { --pl-cols: 3; }
.product-list-section .product-list-carousel.product-list-cols-4 { --pl-cols: 4; }
.product-list-section .product-list-carousel.product-list-cols-5 { --pl-cols: 5; }
.product-list-section .product-list-carousel.product-list-cols-6 { --pl-cols: 6; }
body[data-page-type="product"] .product-list-carousel.product-related-carousel {
    --pl-cols: 4;
}
body[data-page-type="product"] .product-list-carousel.product-related-carousel.product-list-cols-2 { --pl-cols: 2; }
body[data-page-type="product"] .product-list-carousel.product-related-carousel.product-list-cols-3 { --pl-cols: 3; }
body[data-page-type="product"] .product-list-carousel.product-related-carousel.product-list-cols-4 { --pl-cols: 4; }
body[data-page-type="product"] .product-list-carousel.product-related-carousel.product-list-cols-5 { --pl-cols: 5; }
body[data-page-type="product"] .product-list-carousel.product-related-carousel.product-list-cols-6 { --pl-cols: 6; }
.product-list-section .product-list-carousel-prev,
.product-list-section .product-list-carousel-next,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-prev,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-next {
    top: 50%;
    transform: translateY(-50%);
    left: auto;
    right: auto;
    width: var(--product-list-carousel-arrow-size-desktop, 40px);
    height: var(--product-list-carousel-arrow-size-desktop, 40px);
    padding: 0;
    box-sizing: border-box;
    border: none;
    border-radius: var(--product-list-carousel-arrow-radius, 8px);
    background: var(--product-list-carousel-arrow-bg, #000000);
    color: var(--product-list-carousel-arrow-icon, #ffffff);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    z-index: 10;
    font-size: calc(var(--product-list-carousel-arrow-size-desktop, 40px) * var(--product-list-carousel-arrow-icon-ratio, 0.46));
    font-weight: 600;
    line-height: 1;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
}
.product-list-section .product-list-carousel-prev:hover,
.product-list-section .product-list-carousel-next:hover,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-prev:hover,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-next:hover {
    background: var(--product-list-carousel-arrow-bg-hover, var(--product-list-carousel-arrow-bg, #000000));
}
.product-list-section .product-list-carousel-prev,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-prev {
    left: 8px;
}
.product-list-section .product-list-carousel-next,
body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-next {
    right: 8px;
}

/* Masaüstü: yatay snap-scroll + oklar yalnızca carousel üzerinde hover’da */
@media (min-width: 769px) {
    .product-list-section .product-list-carousel-viewport,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
    }
    .product-list-section .product-list-carousel-viewport::-webkit-scrollbar,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport::-webkit-scrollbar {
        display: none;
    }
    .product-list-section .product-list-carousel-viewport .product-list-carousel-track,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport .product-list-carousel-track {
        transform: none !important;
        transition: none !important;
        width: max-content;
        min-width: 100%;
        gap: var(--product-list-carousel-gap, 12px);
        touch-action: pan-x;
    }
    .product-list-section .product-list-carousel-viewport .product-list-carousel-slide,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport .product-list-carousel-slide {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
        flex-shrink: 0;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
    .product-list-section .product-list-carousel-viewport .product-list-carousel-slide,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-viewport .product-list-carousel-slide {
        flex: 0 0 calc((100cqi - (var(--pl-cols, 4) - 1) * var(--product-list-carousel-gap, 12px)) / var(--pl-cols, 4));
        min-width: calc((100cqi - (var(--pl-cols, 4) - 1) * var(--product-list-carousel-gap, 12px)) / var(--pl-cols, 4));
        max-width: calc((100cqi - (var(--pl-cols, 4) - 1) * var(--product-list-carousel-gap, 12px)) / var(--pl-cols, 4));
    }
    .product-list-section .product-list-carousel-prev,
    .product-list-section .product-list-carousel-next,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-prev,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-next {
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.22s ease;
    }
    .product-list-section .product-list-carousel:hover .product-list-carousel-prev,
    .product-list-section .product-list-carousel:hover .product-list-carousel-next,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel:hover .product-list-carousel-prev,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel:hover .product-list-carousel-next {
        opacity: 1;
        pointer-events: auto;
    }
}

.product-list-carousel-dots {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    padding: 2px 0 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    min-height: 0;
}
.product-list-carousel-dots::-webkit-scrollbar {
    display: none;
}
.product-list-carousel-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
    border-radius: 9999px;
    padding: 0;
    border: none;
    background: #cbd5e1;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: background 0.2s ease, transform 0.2s ease;
}
.product-list-carousel-dot:focus-visible {
    outline: 2px solid #6D28D9;
    outline-offset: 1px;
}
.product-list-carousel-dot.is-active {
    background: #6D28D9;
    transform: scale(1.12);
}

@media (max-width: 768px) {
    .product-list-carousel-dots {
        gap: 4px;
        margin-top: 4px;
    }
    .product-list-carousel-dot {
        width: 8px;
        height: 8px;
        min-width: 8px;
        min-height: 8px;
    }
}

@media (max-width: 1100px) {
    .product-list-grid.product-list-cols-4,
    .product-list-grid.product-list-cols-5,
    .product-list-grid.product-list-cols-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .product-list-carousel.product-list-cols-4 .product-list-carousel-slide,
    .product-list-carousel.product-list-cols-5 .product-list-carousel-slide,
    .product-list-carousel.product-list-cols-6 .product-list-carousel-slide { flex: 0 0 33.333%; }
    .product-list-section .product-list-carousel.product-list-cols-4,
    .product-list-section .product-list-carousel.product-list-cols-5,
    .product-list-section .product-list-carousel.product-list-cols-6 {
        --pl-cols: 3;
    }
}
@media (max-width: 768px) {
    /* Contained ana sayfa: vitrin/banner viewport genişliğinde; içerik --site-inline-padding ile hizalı */
    body[data-site-container="contained"] .theme-vitrin-section-wrap,
    body[data-site-container="contained"] .section-media-wrap {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: var(--site-inline-padding, 20px);
        padding-right: var(--site-inline-padding, 20px);
        box-sizing: border-box;
    }
    .product-list-section .product-list-grid[data-pl-mobile-cols="1"] { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; gap: 12px; }
    .product-list-section .product-list-grid[data-pl-mobile-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
    .product-list-section .product-list-grid[data-pl-mobile-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px; }
    .product-list-section .product-list-grid[data-pl-mobile-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px; }
    /* Vitrin carousel (mobil): kaydırma viewport’ta; oklar gizli; peek + noktalar */
    .product-list-section .product-list-carousel {
        overflow: visible;
        --pl-mobile-peek: 36px;
    }
    .product-list-section .product-list-carousel-viewport {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
        scrollbar-width: none;
    }
    .product-list-section .product-list-carousel-viewport::-webkit-scrollbar {
        display: none;
    }
    .product-list-section .product-list-carousel-viewport .product-list-carousel-track {
        gap: var(--product-list-carousel-gap, 12px);
        transform: none !important;
        transition: none !important;
        width: max-content;
        min-width: 100%;
        touch-action: pan-x;
        scrollbar-width: none;
    }
    .product-list-section .product-list-carousel-viewport .product-list-carousel-slide {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
        flex-shrink: 0;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
    /* 100cqi = scrollport; gap + peek ile sonraki ürünün ucu görünür */
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-1 .product-list-carousel-viewport .product-list-carousel-slide {
        flex: 0 0 calc(100cqi - var(--pl-mobile-peek, 36px));
        min-width: calc(100cqi - var(--pl-mobile-peek, 36px));
        max-width: calc(100cqi - var(--pl-mobile-peek, 36px));
    }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-2 .product-list-carousel-viewport .product-list-carousel-slide {
        flex: 0 0 calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2);
        min-width: calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2);
        max-width: calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2);
    }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-3 .product-list-carousel-viewport .product-list-carousel-slide {
        flex: 0 0 calc((100cqi - 2 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 3);
        min-width: calc((100cqi - 2 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 3);
        max-width: calc((100cqi - 2 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 3);
    }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-4 .product-list-carousel-viewport .product-list-carousel-slide {
        flex: 0 0 calc((100cqi - 3 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 4);
        min-width: calc((100cqi - 3 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 4);
        max-width: calc((100cqi - 3 * var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 4);
    }
    .product-list-section .product-list-carousel {
        padding-left: 0 !important;
        padding-right: 0 !important;
        --product-list-carousel-arrow-icon-ratio: 0.54;
    }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-1 { --pl-cols: 1; }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-2 { --pl-cols: 2; }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-3 { --pl-cols: 3; }
    .product-list-section .product-list-carousel.product-list-carousel-mobile-cols-4 { --pl-cols: 4; }
    .product-list-section .product-list-carousel-prev,
    .product-list-section .product-list-carousel-next {
        display: none !important;
    }
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-prev,
    body[data-page-type="product"] .product-list-carousel.product-related-carousel .product-list-carousel-next {
        display: none !important;
    }
}

.vitrin-multi {
    display: block;
    width: 100%;
    position: relative;
    z-index: 2;
}
/* Full width: cihaz genişliğine göre kenarlara kadar */
.vitrin-full-width {
    width: 100%;
    max-width: 100vw;
    padding: 0;
    box-sizing: border-box;
}
.vitrin-full-width + .vitrin-full-width {
    margin-top: 4px;
}
.vitrin-full-width .vitrin-multi-grid {
    width: 100%;
}
.vitrin-multi-grid {
    width: 100%;
    gap: 8px;
    row-gap: 8px;
    column-gap: 8px;
}
@media (max-width: 768px) {
    .vitrin-multi-grid {
        grid-template-columns: repeat(var(--vitrin-cols-mobile, 1), 1fr) !important;
    }
}
.vitrin-multi .grid-item {
    height: auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
    overflow: hidden;
}
.vitrin-multi .grid-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.description-box {
    padding: 100px 10%;
    text-align: center;
    background: #fff;
}
.description-box h4 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 25px;
    text-transform: uppercase;
}
.description-box p {
    font-size: 14px;
    color: #555;
    max-width: 750px;
    margin: 0 auto 40px;
    line-height: 2;
    font-weight: 300;
}

.footer-banner {
    background-color: #000;
    color: white;
    padding: 50px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 25px;
    margin: 40px 0;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
}
.footer-banner .title {
    font-weight: 300;
    font-size: 22px;
    text-transform: uppercase;
}
.app-btn {
    font-size: 11px;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 12px 30px;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s;
    background: transparent;
    color: #fff;
    border-radius: 6px;
}
.app-btn:hover { background: #fff; color: #000; }

/* Site Footer - 4 kolon, siyah zemin */
.site-footer {
    background: #000;
    color: rgba(255,255,255,0.9);
    margin-top: 40px;
    padding: 50px 16px 30px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.footer-logo {
    text-align: center;
    margin-bottom: 40px;
}
.footer-logo-text {
    font-size: 24px;
    font-weight: 300;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
}
.footer-logo-img {
    width: auto;
    height: auto;
    max-width: var(--footer-logo-max-w-desktop, 200px);
    object-fit: contain;
    display: block;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .footer-logo-img {
        max-width: var(--footer-logo-max-w-mobile, 160px);
    }
}
.footer-columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}
.footer-col {
    text-align: left;
    padding-left: 0;
}
.footer-col-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 16px;
    color: #fff;
}
.footer-contact, .footer-nav {
    font-size: 12px;
    line-height: 1.8;
}
.footer-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding-left: 0;
}
.footer-link {
    display: block;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    margin-bottom: 6px;
    transition: color 0.2s;
}
.footer-link:hover {
    color: #fff;
}
.footer-col-image {
    margin-top: 16px;
    max-width: 100%;
}
.footer-col-image img {
    max-width: 100%;
    height: auto;
    display: block;
}
.footer-bottom {
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.15);
}
.footer-social {
    display: flex;
    gap: 16px;
    justify-content: center;
}
.footer-social-icon {
    color: rgba(255,255,255,0.8);
    transition: color 0.2s;
}
.footer-social-icon:hover {
    color: #fff;
}

/* Alt şerit — telif + exripe wordmark (Lottie), footer ile aynı max-width */
.site-footer-sub {
    background: #0a0a0a;
    color: rgba(255, 255, 255, 0.55);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    padding: 14px 16px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.footer-sub-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.footer-sub-line {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.25rem 0.35rem;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}
.footer-sub-text {
    color: rgba(255, 255, 255, 0.55);
}
.footer-sub-lottie-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 1.25em;
    flex: 0 0 auto;
    vertical-align: middle;
}
.footer-sub-lottie-wrap svg {
    height: 100% !important;
    width: auto !important;
    display: block;
}
.footer-sub-main {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem 0.35rem;
    flex-wrap: wrap;
}
.footer-sub-line--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: center;
    flex-wrap: unset;
}
.footer-sub-line--split .footer-sub-main {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    justify-content: flex-start;
    text-align: left;
}
.footer-sub-line--split .footer-sub-agency {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    justify-content: flex-end;
    text-align: right;
}
.footer-sub-agency {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    min-width: 0;
}
.footer-sub-agency-logo {
    width: auto;
    max-height: 18px;
    display: block;
    object-fit: contain;
}
@media (max-width: 768px) {
    .footer-columns { grid-template-columns: 1fr; gap: 24px; }
    .footer-sub-line--split {
        grid-template-columns: 1fr;
        gap: 0.5rem 0.75rem;
    }
    .footer-sub-line--split .footer-sub-main,
    .footer-sub-line--split .footer-sub-agency {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .site-footer { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)); padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)); box-sizing: border-box; }
    .site-footer-sub {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
        box-sizing: border-box;
    }
}

/* Cart - basget.html */
.cart-container {
    max-width: var(--site-container-max-width, 1400px);
    margin: 40px auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 50px;
    align-items: start;
    box-sizing: border-box;
    width: 100%;
}

/* Header nav ile aynı yatay hizalama: contained main zaten 16px verir; full genişlikte nav ile eşle */
body[data-site-container="full"] main.cart-container {
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
}

/* İletişim sayfası */
.contact-page {
    max-width: var(--site-container-max-width, 1400px);
    margin: 40px auto;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}
body[data-site-container="full"] main.contact-page {
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
}
.contact-page-title {
    font-size: 24px;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 20px;
}
.contact-page-inner {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.15fr);
    gap: 48px;
    align-items: start;
}
@media (max-width: 900px) {
    .contact-page-inner { grid-template-columns: 1fr; gap: 32px; }
}
.contact-section-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 16px;
    letter-spacing: 0.04em;
}
.contact-address-text { font-size: 14px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 20px; }
.contact-meta-list { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.contact-meta-list li { margin-bottom: 10px; }
.contact-meta-label { display: inline-block; min-width: 72px; color: var(--text-secondary); font-weight: 500; }
.contact-meta-list a { color: var(--text-color); text-decoration: underline; }
.contact-optional { font-weight: 400; color: var(--text-secondary); font-size: 11px; text-transform: none; }
.contact-form-submit { width: 100%; margin-top: 8px; }
.contact-flash--ok { border: 1px solid #bbf7d0; background: #f0fdf4; color: #166534; }
.contact-flash--err { border: 1px solid #fecaca; background: #fef2f2; color: #b91c1c; }

.cart-empty-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 48px 0 64px;
    gap: 20px;
}

.cart-empty-icon {
    width: 72px;
    height: 72px;
    color: var(--text-secondary);
    opacity: 0.9;
}

.cart-empty-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.cart-empty-text {
    margin: 0;
    font-size: 15px;
    color: var(--text-secondary);
}

/* Ürün detay Sepete Ekle ile aynı: .add-to-cart + cart-empty-shop-btn */
a.add-to-cart.cart-empty-shop-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
    min-width: 200px;
    padding: 16px 28px;
    border-radius: 6px;
}

.cart-title {
    grid-column: 1 / -1;
    font-size: 24px;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 20px;
}

/* Sepet özeti: tema ayarı «ücretsiz kargo bildirimi» — accent (header :root) + eşik mağaza/kargo */
.cart-summary .cart-free-shipping-notice {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: var(--input-radius, 8px);
    border: 1px solid color-mix(in srgb, var(--accent-color) 45%, white);
    background: color-mix(in srgb, var(--accent-color) 15%, white);
    box-sizing: border-box;
}
/* Mini sepet: soluk yeşil (kargo / tamamlandı hissi; accent’ten bağımsız) */
.mini-cart-footer .cart-free-shipping-notice {
    margin-top: 0;
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: var(--input-radius, 8px);
    border: 1px solid #bbf7d0;
    background: #ecfdf5;
    box-sizing: border-box;
}
.mini-cart-footer .cart-free-shipping-notice .cart-free-shipping-notice__progress {
    background: #d1fae5;
}
.mini-cart-footer .cart-free-shipping-notice .cart-free-shipping-notice__fill {
    background: linear-gradient(90deg, #6ee7b7, #34d399);
}
.mini-cart-footer .cart-free-shipping-notice .cart-free-shipping-notice__text {
    color: #166534;
}
.cart-free-shipping-notice__progress {
    height: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent-color) 22%, white);
    overflow: hidden;
    margin-bottom: 10px;
}
.cart-free-shipping-notice__fill {
    height: 100%;
    min-width: 0;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        var(--accent-color),
        color-mix(in srgb, var(--accent-color) 65%, black)
    );
    transition: width 0.25s ease;
}
.cart-free-shipping-notice__text {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: color-mix(in srgb, var(--accent-color) 75%, black);
}

.cart-items { display: flex; flex-direction: column; }

.cart-item {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 20px;
    padding: 25px 0;
    border-bottom: 1px solid var(--border-color);
}
.cart-item--issue {
    background: #fef2f2;
    border-radius: 12px;
    padding: 20px 16px;
    margin: 0 0 8px 0;
    border-bottom: none;
    border-left: 3px solid #dc2626;
}

.item-image { position: relative; width: 120px; aspect-ratio: 2/3; background-color: #f9f9f9; overflow: hidden; }
.item-image img { width: 100%; height: 100%; object-fit: cover; }

.item-details { display: flex; flex-direction: column; justify-content: space-between; }
.item-name { font-size: 14px; font-weight: 500; text-transform: uppercase; margin-bottom: 5px; }
.item-meta { font-size: 12px; color: var(--text-secondary); margin-bottom: 15px; }

.quantity-selector {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid var(--border-color);
    width: fit-content;
    padding: 5px 15px;
}

.quantity-btn { background: none; border: none; cursor: pointer; font-size: 16px; text-align: center; min-width: 44px; min-height: 44px; }
.quantity-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #9ca3af;
}
.quantity-val { font-size: 13px; font-weight: 500; }

.item-price-remove { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; }
.item-price { font-size: 16px; font-weight: 600; }
.remove-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-secondary);
    font-size: 11px;
    text-decoration: underline;
    text-transform: uppercase;
}

.cart-summary {
    background-color: #fcfcfc;
    padding: 30px;
    border: 1px solid var(--border-color);
    position: sticky;
    top: 120px;
}

.summary-title { font-size: 16px; font-weight: 600; text-transform: uppercase; margin-bottom: 25px; }
.summary-row { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 15px; }
.summary-row.total { border-top: 1px solid var(--border-color); padding-top: 20px; margin-top: 20px; font-size: 18px; font-weight: 600; }

.cart-line-discount-pill {
    position: absolute;
    top: 6px;
    left: 6px;
    z-index: 2;
    padding: 3px 7px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    background: var(--accent-color, #8662f6);
    color: #fff;
    line-height: 1.2;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}

.checkout-btn {
    width: 100%;
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border: none;
    padding: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 25px;
    transition: opacity 0.3s;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

.checkout-btn:hover { opacity: 0.9; }

.cart-continue-btn {
    width: 100%;
    display: inline-block;
    text-align: center;
    padding: 14px 16px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--text-primary, #111);
    border: 1px solid var(--border-color);
    background: #fff;
    margin-top: 12px;
    transition: background 0.2s, border-color 0.2s;
}
.cart-continue-btn:hover { background: #fafafa; }

.cart-coupon-block { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border-color); }
.cart-coupon-label { font-size: 11px; font-weight: 600; text-transform: uppercase; margin-bottom: 10px; color: var(--text-secondary); }
.cart-coupon-row { display: flex; gap: 8px; align-items: stretch; }
.cart-coupon-row input[type="text"] {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--border-color);
    border-radius: var(--input-radius);
    font-size: 13px;
    font-family: var(--font-main);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.cart-coupon-row button {
    padding: 12px 16px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid var(--border-color);
    background: var(--text-primary, #111);
    color: #fff;
    white-space: nowrap;
}
.cart-coupon-row button:disabled { opacity: 0.6; cursor: not-allowed; }
.cart-coupon-msg { font-size: 12px; margin-top: 8px; min-height: 1.2em; }
.cart-coupon-msg.error { color: #b91c1c; }
.cart-coupon-msg.ok { color: #15803d; }
.cart-coupon-applied { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; font-size: 12px; }
.cart-coupon-remove { background: none; border: none; text-decoration: underline; cursor: pointer; font-size: 11px; color: var(--text-secondary); text-transform: uppercase; }

.shipping-info {
    margin-top: 20px;
    font-size: 11px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Login - login.html */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 150px);
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
}

.login-box { width: 100%; max-width: 400px; display: flex; flex-direction: column; gap: 30px; }
.login-header { text-align: center; }
.login-header h2 { font-size: 22px; font-weight: 300; text-transform: uppercase; margin-bottom: 10px; }
.login-header p { font-size: 12px; color: var(--text-secondary); }

.login-form { display: flex; flex-direction: column; gap: 20px; }
.input-group { display: flex; flex-direction: column; gap: 8px; }
.input-group label { font-size: 11px; font-weight: 600; text-transform: uppercase; }
.input-group input {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: var(--input-radius);
    background: var(--input-bg);
    font-family: var(--font-main);
    font-size: 13px;
    outline: none;
    transition: border-color 0.3s;
}
.input-group input:focus { border-color: #000; }

.input-group textarea {
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: var(--input-radius);
    background: var(--input-bg);
    font-family: var(--font-main);
    font-size: 13px;
    line-height: 1.5;
    outline: none;
    transition: border-color 0.3s;
    resize: vertical;
    min-height: 120px;
}
.input-group textarea:focus { border-color: #000; }
.input-group textarea::placeholder { color: var(--text-secondary, #888); }

.password-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.password-input-wrap input {
    flex: 1;
    padding-right: 48px;
}
.password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
}
.password-toggle:hover { color: #000; }

.login-btn {
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border: none;
    border-radius: var(--button-radius);
    padding: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 10px;
    transition: opacity 0.3s;
    text-align: center;
}
.login-btn:hover { opacity: 0.9; }

.register-prompt { text-align: center; font-size: 12px; margin-top: 20px; }
.register-prompt a { color: #000; font-weight: 600; text-decoration: underline; }

.whatsapp-float {
    position: fixed;
    bottom: 20px;
    background-color: #25d366;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.whatsapp-float-left { left: 20px; right: auto; }
.whatsapp-float-right { right: 20px; left: auto; }
@media (min-width: 769px) {
    .whatsapp-mobile-only { display: none !important; }
}

/* Mini Cart - sağdan açılan panel */
.mini-cart-overlay {
    position: fixed !important;
    inset: 0;
    z-index: 9998;
    overflow: hidden;
}
.mini-cart-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.mini-cart-panel {
    position: fixed !important;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    max-width: 400px;
    background: #fff;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    z-index: 9999;
}
.mini-cart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    border-bottom: 1px solid #e5e7eb;
    background: #fafafa;
}
.mini-cart-title {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
}
.mini-cart-close {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    font-size: 13px;
    color: #6b7280;
    -webkit-text-fill-color: #6b7280;
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.mini-cart-close:hover {
    color: #374151;
    background: #f3f4f6;
}
.mini-cart-close-icon {
    font-size: 20px;
    line-height: 1;
}
.mini-cart-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}
.mini-cart-empty {
    text-align: center;
    color: #6b7280;
    padding: 48px 16px;
}
.mini-cart-item {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #f3f4f6;
}
.mini-cart-item:last-child {
    border-bottom: none;
}
.mini-cart-item-image-wrap {
    position: relative;
    width: 64px;
    height: 80px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px;
    background: #f3f4f6;
}
.mini-cart-item-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mini-cart-item-info {
    flex: 1;
    min-width: 0;
}
.mini-cart-item-name {
    font-weight: 500;
    font-size: 14px;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mini-cart-item-meta {
    font-size: 12px;
    color: #6b7280;
    margin-top: 4px;
}
.mini-cart-qty-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.mini-cart-qty-btns {
    display: flex;
    align-items: center;
    gap: 4px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
}
.mini-cart-qty-btn {
    /* Mobil touch kuralı (button { min-height: 44px }) bu alanı şişirmesin */
    min-width: 0;
    min-height: 0;
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    color: #111827;
    background: #f9fafb;
    border: none;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
}
.mini-cart-qty-btn:hover:not(:disabled) {
    background: #e5e7eb;
}
.mini-cart-qty-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #9ca3af;
}
.mini-cart-qty-val {
    min-width: 24px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
}
.mini-cart-stock-error {
    font-size: 12px;
    color: #b91c1c;
    margin-top: 6px;
}
.mini-cart-item--issue {
    background: #fef2f2;
    border-radius: 10px;
    padding: 12px;
    margin-left: -8px;
    margin-right: -8px;
    border-left: 3px solid #dc2626;
}
.mini-cart-item-price-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 0;
    flex-shrink: 0;
    min-width: 0;
    text-align: right;
}
.mini-cart-item-price {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    line-height: 1.3;
    word-break: break-word;
}
.mini-cart-item-unit-price {
    font-size: 11px;
    color: #6b7280;
    margin-top: 2px;
    line-height: 1.3;
}
.mini-cart-item-remove {
    align-self: flex-start;
    padding: 6px;
    color: #9ca3af;
    background: transparent;
    border: none;
    border-radius: var(--button-radius);
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
}
.mini-cart-item-remove:hover {
    color: #ef4444;
    background: #fef2f2;
}
.mini-cart-item-remove svg {
    width: 20px;
    height: 20px;
    display: block;
}
.mini-cart-footer {
    padding: 24px;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
}
.mini-cart-campaign-row {
    color: #15803d;
    font-weight: 600;
}
.mini-cart-campaign-row .mini-cart-subtotal-label,
.mini-cart-campaign-row .mini-cart-subtotal-value {
    color: inherit;
}
.mini-cart-grand-row {
    font-weight: 600;
    border-top: 1px solid #e5e7eb;
    padding-top: 8px;
    margin-top: 8px;
}
.mini-cart-subtotal {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin-bottom: 16px;
}
.mini-cart-subtotal-label {
    color: #6b7280;
}
.mini-cart-subtotal-value {
    font-weight: 600;
    color: #111827;
}
.mini-cart-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mini-cart-btn {
    display: block;
    width: 100%;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    text-align: center;
    text-decoration: none;
    border-radius: var(--button-radius);
    transition: background 0.2s, color 0.2s;
}
.mini-cart-btn-secondary {
    border: none;
    color: #374151;
    background: #fff;
}
.mini-cart-btn-secondary:hover {
    background: #f9fafb;
}
.mini-cart-btn-primary {
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border: none;
}
.mini-cart-btn-primary:hover {
    background: #333;
}
.mini-cart-btn-continue {
    cursor: pointer;
    font-family: inherit;
    border: 1px solid #e5e7eb;
    color: #374151;
    background: #fff;
}
.mini-cart-btn-continue:hover {
    background: #f9fafb;
}

/* Mini sepet: dar ekranda satır taşması / üst üste sayılar */
@media (max-width: 520px) {
    .mini-cart-panel {
        max-width: 100%;
        width: 100%;
    }
    .mini-cart-header {
        padding: 14px 16px;
    }
    .mini-cart-body {
        padding: 12px 14px;
    }
    .mini-cart-footer {
        padding: 16px;
    }
    .mini-cart-item {
        gap: 12px;
        padding: 14px 0;
    }
    .mini-cart-item-image-wrap {
        width: 56px;
        height: 70px;
    }
    .mini-cart-item-name {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.35;
    }
    .mini-cart-qty-row {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 10px;
    }
    .mini-cart-qty-btns {
        align-self: flex-start;
        gap: 2px;
        border-radius: 4px;
    }
    .mini-cart-qty-btn {
        width: 22px;
        height: 22px;
        font-size: 13px;
    }
    .mini-cart-qty-val {
        min-width: 18px;
        font-size: 12px;
        padding: 0 2px;
    }
    .mini-cart-item-price-wrap {
        align-items: flex-end;
        width: 100%;
        padding-top: 2px;
        border-top: 1px solid #f3f4f6;
    }
    .mini-cart-item--issue {
        margin-left: 0;
        margin-right: 0;
        padding: 12px 10px;
    }
}

/* Alpine x-transition için (Tailwind yok) */
.translate-x-full { transform: translateX(100%); }
.translate-x-0 { transform: translateX(0); }

/* Product Detail - Lightbox (viewport ortalanmış) */
.product-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    margin: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    touch-action: manipulation;
}
.product-lightbox.product-lightbox--zoomed {
    touch-action: none;
}
.product-lightbox-stage {
    position: relative;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 56px 12px 72px;
    box-sizing: border-box;
    z-index: 2;
}
.product-lightbox-img {
    max-width: min(90vw, 100%);
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    cursor: zoom-in;
    user-select: none;
    -webkit-user-drag: none;
}
/* Zoom hep transform: scale() ile; max boyut kalsın — aksi halde ilk adımda
   max kalkınca görsel tam çözünürlükte patlıyor. */
.product-lightbox--zoomed .product-lightbox-img {
    cursor: grab;
}
.product-lightbox-img.product-lightbox-img--grabbing {
    cursor: grabbing;
}
.product-lightbox-zoombar {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 9999px;
    background: rgba(30, 30, 30, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}
.product-lightbox-zoombtn {
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s;
}
.product-lightbox-zoombtn:hover {
    background: rgba(255, 255, 255, 0.22);
}
.product-lightbox-zoombtn-reset {
    font-size: 13px;
    font-weight: 500;
    min-width: auto;
}
.product-lightbox-zoompct {
    min-width: 52px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: 0.02em;
}
.product-lightbox-close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s;
}
.product-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.2);
}
.product-lightbox-nav {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40%;
    cursor: pointer;
    z-index: 5;
}
.product-lightbox-nav:hover::after {
    opacity: 1;
}
.product-lightbox-nav::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border: solid #fff;
    border-width: 2px 0 0 2px;
    opacity: 0;
    transition: opacity 0.2s;
}
.product-lightbox-nav-prev {
    left: 0;
}
.product-lightbox-nav-prev::after {
    left: 16px;
    transform: rotate(-45deg);
}
.product-lightbox-nav-next {
    right: 0;
}
.product-lightbox-nav-next::after {
    right: 16px;
    left: auto;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

/* Product Detail - mobil (<768px): tek sütun; tablet/masaüstü (≥768px): Layout Manager (pdp-layout--*) */
.product-detail-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 30px 24px;
    margin: 0 auto;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
body[data-page-type="product"][data-site-container="full"] .product-detail-container {
    max-width: none;
    width: 100%;
}
body[data-page-type="product"][data-site-container="contained"] .product-detail-container {
    max-width: var(--site-container-max-width, 1400px);
    width: 100%;
}

.image-collage-wrap {
    position: relative;
}
.image-collage,
.image-collage-wrap .image-collage-slider {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

/* ===== Ürün Görseli Yüklenirken - Logo + Arka Plan ===== */
.product-img-loading-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #f0f6fc;
    overflow: hidden;
    transition: background 0.3s ease;
}
.product-img-loading-wrap.loaded {
    background: transparent;
}
.product-img-loading-wrap.loaded .product-img-loading-logo {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.product-img-loading-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 40%;
    max-height: 40%;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0.35;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.product-img-loading-wrap .product-img-fade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.4s ease;
}
.product-detail-gallery-thumb .product-img-loading-wrap {
    position: absolute;
    inset: 0;
}
.collage-item .product-img-loading-wrap {
    position: absolute;
    inset: 0;
}
.product-image-inner .product-img-loading-wrap {
    position: absolute;
    inset: 0;
}

.collage-item {
    width: 100%;
    aspect-ratio: var(--product-card-media-aspect, 2 / 3);
    background-color: #f9f9f9;
    overflow: hidden;
    position: relative;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}

.collage-item .img-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.collage-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Mobil: Ürün görselleri header'a yapışık, full width slide, ok ikonları */
@media (max-width: 768px) {
    /* PDP: yatay kanal main.product-detail-container üzerinde (20px + safe-area); .product-info-wrap ekstra yatay px kullanmaz */
    body[data-page-type="product"] .min-h-screen,
    body[data-page-type="product"] main { overflow-x: hidden; max-width: 100vw; width: 100%; }
    .product-detail-container {
        padding-top: 0;
        gap: 0;
        padding-left: max(20px, env(safe-area-inset-left, 0px));
        padding-right: max(20px, env(safe-area-inset-right, 0px));
        overflow-x: hidden;
        max-width: 100%;
        width: 100%;
    }
    .product-detail-container .product-info-wrap {
        margin-top: 10px;
        padding-left: 0;
        padding-right: 0;
        min-width: 0;
        overflow-wrap: break-word;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }
    .image-collage-wrap {
        position: relative;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        align-self: start;
        overflow: hidden;
    }
    .product-detail-container .image-collage-slider {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        align-content: flex-start;
        gap: 0;
        height: fit-content;
        min-height: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-snap-stop: always;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .product-detail-container .image-collage-slider::-webkit-scrollbar { display: none; }
    .product-detail-container .image-collage-slider .collage-item {
        flex: 0 0 100%;
        min-width: 100%;
        max-width: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        min-height: 0;
        /* Tema: Ürün kartı en-boy oranı (admin product_card_image_aspect) — mobilde de aynı */
        aspect-ratio: var(--product-card-media-aspect, 2 / 3) !important;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        line-height: 0;
        position: relative;
        overflow: hidden;
    }
    .product-detail-container .image-collage-slider .collage-item img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
    }
    .image-slider-arrows {
        display: flex;
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%);
        pointer-events: none;
        justify-content: space-between;
        padding: 0 6px;
        z-index: 10;
    }
    .image-slider-arrow {
        pointer-events: auto;
        width: 24px;
        height: 24px;
        min-width: 24px;
        min-height: 24px;
        padding: 2px;
        border-radius: 6px;
        background: rgba(255,255,255,0.9);
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        color: #374151;
        -webkit-tap-highlight-color: transparent;
    }
    .image-slider-arrow svg { width: 12px; height: 12px; }
    .image-slider-arrow:active { opacity: 0.8; }
    .image-slider-arrow-disabled {
        opacity: 0.4;
        pointer-events: none;
    }
    .product-detail .product-title { word-break: break-word; overflow-wrap: break-word; max-width: 100%; }
    .product-detail .color-swatches,
    .product-detail .size-options { flex-wrap: wrap; max-width: 100%; }
    .product-detail .product-tabs-wrap,
    .product-detail .product-tab-content,
    .product-detail .product-description-text,
    .product-detail .acc-content-area,
    .product-detail .acc-inner-text { max-width: 100%; overflow-x: hidden; word-wrap: break-word; }
    .product-detail .product-tab-content img,
    .product-detail .acc-inner-text img { max-width: 100%; height: auto; }
    .product-detail .action-row { flex-wrap: wrap; max-width: 100%; }
    body[data-page-type="product"] .product-related-section:not(.product-related-section--pdp-main) {
        overflow-x: hidden;
        max-width: 100%;
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    }
    body[data-page-type="product"] .product-related-section--pdp-main {
        overflow-x: hidden;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    /* PDP ilgili ürünler carousel: kaydırma viewport’ta — oklar sabit */
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel.product-related-carousel {
        overflow: visible;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        --pl-mobile-peek: 36px;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel.product-related-carousel .product-list-carousel-viewport {
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        touch-action: pan-x;
        scrollbar-width: none;
        width: 100%;
        min-width: 0;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel.product-related-carousel .product-list-carousel-viewport::-webkit-scrollbar {
        display: none;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-related-carousel .product-list-carousel-track {
        gap: var(--product-list-carousel-gap, 12px);
        transform: none !important;
        transition: none !important;
        width: max-content;
        min-width: 100%;
        touch-action: pan-x;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-related-carousel .product-list-carousel-slide {
        flex: 0 0 calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2) !important;
        min-width: calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2) !important;
        max-width: calc((100cqi - var(--product-list-carousel-gap, 12px) - var(--pl-mobile-peek, 36px)) / 2) !important;
        padding: 0 !important;
        box-sizing: border-box;
        flex-shrink: 0;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel.product-related-carousel {
        --pl-cols: 2;
    }
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel-prev,
    body[data-page-type="product"] .product-related-section--pdp-main .product-list-carousel-next {
        display: none !important;
    }
}
@media (min-width: 769px) {
    .image-slider-arrows { display: none !important; }
    .image-collage-wrap .image-collage-slider {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        overflow: visible;
        scroll-snap-type: none;
    }
    .image-collage-wrap .image-collage-slider .collage-item {
        flex: none;
        min-width: unset;
        scroll-snap-align: none;
    }
}

/* Gallery layout: üstte ana görsel, altta thumbnails */
.product-detail-gallery {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.product-detail-gallery-thumbnails-wrap {
    position: relative;
    width: 100%;
}
.product-detail-gallery-thumbnails {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
@media (max-width: 768px) {
    .product-detail-gallery { min-width: 0; max-width: 100%; overflow: hidden; }
    .product-detail-gallery-thumb-arrow { display: none !important; }
}
.product-detail-gallery-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 96px;
    padding: 0;
    border: 2px solid transparent;
    position: relative;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
    overflow: hidden;
    background: #f5f5f5;
    cursor: pointer;
    transition: border-color 0.2s;
}
.product-detail-gallery-thumb:hover,
.product-detail-gallery-thumb.active {
    border-color: #000;
}
.product-detail-gallery-thumb .img-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.product-detail-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.product-detail-gallery-main {
    position: relative;
    width: 100%;
    background: #f9f9f9;
    overflow: hidden;
    border-radius: var(--card-media-radius, var(--input-radius, 8px));
}
/* Galeri — ana görsel alanı: tema «Ürün kartı» en-boy oranı (--product-card-media-aspect).
   Eski max-height: min(92vw, 720px) geniş sütunda 2:3 için gerekli yüksekliği kesip kutuyu kareye yaklaştırıyordu. */
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main {
    aspect-ratio: var(--product-card-media-aspect, 2 / 3);
}
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item .collage-item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: unset;
    line-height: 0;
}
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item .collage-item img,
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item .collage-item video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item .collage-item > div {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
}
.product-detail-col-images.product-detail-gallery-layout .product-detail-gallery-main-item iframe {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    display: block;
}
/* Geriye dönük: galeri dışı kullanım yoksa güvenli varsayılan */
.product-detail-gallery-main-item {
    position: relative;
    width: 100%;
}
.product-detail-gallery-main-item .collage-item {
    width: 100%;
    height: auto;
    aspect-ratio: unset;
    line-height: 0;
}
.product-detail-gallery-main-item .collage-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: top center;
}
.product-detail-gallery-main .product-detail-badges-wrap {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;
}
.product-detail-gallery-main .product-detail-badges-wrap.badge-pos-top_left { top: 12px; left: 12px; right: auto; bottom: auto; }
.product-detail-gallery-main .product-detail-badges-wrap.badge-pos-top_right { top: 12px; right: 12px; left: auto; bottom: auto; }
.product-detail-gallery-main .product-detail-badges-wrap.badge-pos-bottom_left { bottom: 12px; left: 12px; top: auto; right: auto; }
.product-detail-gallery-main .product-detail-badges-wrap.badge-pos-bottom_right { bottom: 12px; right: 12px; top: auto; left: auto; }
@media (min-width: 769px) {
    .product-detail-gallery {
        flex-direction: column;
        gap: 16px;
    }
    .product-detail-gallery-thumbnails-wrap {
        position: relative;
        width: 100%;
    }
    .product-detail-gallery-thumb-arrow {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.95);
        border: 1px solid #e5e5e5;
        border-radius: 50%;
        cursor: pointer;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        z-index: 5;
        transition: background 0.2s, box-shadow 0.2s;
    }
    .product-detail-gallery-thumb-arrow:hover {
        background: #fff;
        box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    }
    .product-detail-gallery-thumb {
        flex: 0 0 72px;
        width: 72px;
        height: 96px;
    }
    .product-detail-gallery-main {
        width: 100%;
    }
}

.product-info-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
/* Ürün detay sağ panel: üst/alt blok aralığı biraz daha sıkı */
.product-detail .product-info-wrap {
    gap: 16px;
}
/* Ek bilgi + taksit akordeonları: flex gap 24px yerine tek sütunda sıkı aralık */
.product-detail .product-detail-accordion-stack {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    min-width: 0;
}
.product-detail .product-detail-accordion-stack .minimal-accordion-component {
    margin: 0;
}
/* ≥768px: Layout Manager — görsel / içerik sütun oranı; <768px tek sütun (aşağı + 1024 blok dışı) */
@media (min-width: 768px) {
    /* minmax(0,1fr): gap ile birlikte %50+%50 taşmasını önler; sütunlar main içinde kalır */
    .product-detail-container.product-detail-grid {
        align-items: start;
    }
    .product-detail-container.product-detail-grid.pdp-layout--narrow {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: 32px;
    }
    .product-detail-container.product-detail-grid.pdp-layout--balanced {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 40px;
    }
    .product-detail-container.product-detail-grid.pdp-layout--wide {
        grid-template-columns: minmax(0, 13fr) minmax(0, 7fr);
        gap: 40px;
    }
    .product-detail-container.product-detail-grid .product-detail-col-images {
        min-width: 0;
        max-width: 100%;
    }
    .product-detail-container.product-detail-grid .product-info-wrap.product-detail-col-panel {
        padding-left: 0;
        align-self: start;
        min-width: 0;
        max-width: 100%;
        position: -webkit-sticky;
        position: sticky;
        top: 80px;
        z-index: 10;
        background: #fff;
    }
}

@media (max-width: 767px) {
    .product-detail-container.product-detail-grid {
        grid-template-columns: 1fr !important;
    }
    .product-detail-container.product-detail-grid .product-info-wrap.product-detail-col-panel {
        position: static;
    }
}

.product-detail .breadcrumb {
    font-size: 10px;
    color: var(--text-secondary);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px;
    text-transform: uppercase;
    line-height: 1.5;
    max-width: 100%;
    overflow-wrap: break-word;
}
.product-detail .breadcrumb a {
    color: #000;
    text-decoration: none;
}
.product-detail .breadcrumb a:hover {
    text-decoration: underline;
}

/* PDP: başlık + indirim rozeti aynı satırda; rozet sağda */
.product-detail .product-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-bottom: 8px;
}
.product-detail .product-title-row .product-title {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}
.product-detail .product-title-row .discount-tag {
    flex-shrink: 0;
    align-self: flex-start;
}

.product-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 5px;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.product-price {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 5px;
}

.discount-info {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    margin-bottom: 10px;
}

.old-price {
    text-decoration: line-through;
    color: #999;
}

.discount-tag {
    background: #e53935;
    color: #fff;
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 2px;
    flex-shrink: 0;
}

.sku-info {
    font-size: 11px;
    color: #999;
    line-height: 1.8;
}

.stock-out-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    background-color: #c71313;
    padding: 6px 10px;
    color: white;
    border-radius: 6px;
    text-transform: uppercase;
    font-size: 12px;
    margin-top: 10px;
}

.option-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px;
}

.option-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 4px;
}

.color-swatches {
    display: flex;
    gap: 8px;
}

.color-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 65px;
    padding: 0;
    border: none;
    background: none;
    text-align: center;
    cursor: pointer;
    gap: 4px;
}

.color-label {
    display: block;
    width: 100%;
    margin-top: 4px;
    font-size: 9px;
    font-weight: 500;
    color: #374151;
    line-height: 1.2;
    text-align: center;
    word-break: break-word;
}

.color-item.active .color-label {
    font-weight: 600;
    color: #111827;
}

.color-img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
    border: 1px solid #d1d5db;
}

.color-item.active .color-img {
    outline: 1px solid #dcdcdc;
    outline-offset: 2px;
}

.color-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 2/3;
    background: #e5e7eb;
    font-size: 11px;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 4px;
    text-align: center;
    line-height: 1.2;
}

.color-item.active .color-img-placeholder {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.size-options {
    display: flex;
    gap: 10px;
}

.size-btn {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: var(--button-radius, 8px);
    background: #fff;
    color: #333;
    font-size: 11px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}

.size-btn:hover { border-color: #000; }
.size-btn.selected { border-color: var(--button-color, #000); background: var(--button-bg, var(--button-color, #000)); color: #fff; }
.size-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ADET miktar seçici - ekteki gibi 3 ayrı segment */
.option-section .quantity-selector {
    display: flex;
    align-items: stretch;
    gap: 6px;
    border: none;
    padding: 0;
    width: fit-content;
}
.option-section .quantity-selector .qty-btn,
.option-section .quantity-selector .qty-input {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #e4e4e7;
    border-radius: var(--input-radius, 8px);
    background: #fff;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
}
.option-section .quantity-selector .qty-btn {
    transition: background 0.2s, color 0.2s;
}
.option-section .quantity-selector .qty-btn:first-of-type {
    color: #71717a;
}
.option-section .quantity-selector .qty-btn:last-of-type {
    color: #000;
}
.option-section .quantity-selector .qty-btn:hover {
    background: #f4f4f5;
}
.option-section .quantity-selector .qty-input {
    width: 36px;
    text-align: center;
    cursor: default;
    -moz-appearance: textfield;
}
.option-section .quantity-selector .qty-input::-webkit-inner-spin-button,
.option-section .quantity-selector .qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
@media (max-width: 768px) {
    .option-section .quantity-selector .qty-btn,
    .option-section .quantity-selector .qty-input {
        width: 44px;
        height: 44px;
    }
}

.action-row {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.product-detail-whatsapp-wrap {
    width: 100%;
    margin-top: 2px;
    margin-bottom: 8px;
}
.product-detail-whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    /* Sepete Ekle (.add-to-cart) ile aynı kutu yüksekliği */
    padding: 16px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: none;
    border-radius: var(--button-radius, 8px);
    /* background: tema (inline); köşe = tema Köşe yuvarlaklığı (--button-radius) */
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s ease, filter 0.2s ease;
    box-sizing: border-box;
}
.product-detail-whatsapp-btn span {
    line-height: 1.25;
}
.product-detail-whatsapp-btn:hover {
    opacity: 0.95;
    filter: brightness(1.05);
}
.product-detail-whatsapp-btn svg {
    flex-shrink: 0;
}

.add-to-cart {
    flex: 1;
    background: var(--add-to-cart-bg, var(--add-to-cart-color, #000));
    color: #fff;
    border: none;
    border-radius: var(--button-radius, 8px);
    padding: 16px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
}

.add-to-cart:hover { opacity: 0.9; }
.add-to-cart:disabled { opacity: 0.5; cursor: not-allowed; }

.wishlist-btn {
    width: 50px;
    border: 1px solid #ddd;
    border-radius: var(--button-radius, 8px);
    background: #fff;
    color: #dc2626;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.wishlist-btn svg {
    width: 18px;
    height: 18px;
}

.edit-product-btn {
    width: 50px;
    border: 1px solid #ddd;
    border-radius: var(--button-radius, 8px);
    background: #fff;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}
.edit-product-btn:hover {
    color: #475569;
    border-color: #cbd5e1;
    background-color: #f8fafc;
}
.edit-product-btn svg {
    width: 18px;
    height: 18px;
}

/* Tabs: AÇIKLAMA / YORUMLAR (masaüstü ekteki gibi) */
.product-tabs-wrap {
    margin-top: 20px;
}
.product-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 16px;
}
.product-tab {
    padding: 12px 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #6b7280;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
}
.product-tab:hover { color: #1f2937; }
.product-tab.active {
    color: #000;
    border-bottom-color: #000;
}
.product-tab-content {
    font-size: 12px !important;
    color: #444 !important;
    line-height: 1.8 !important;
    font-family: var(--font-main) !important;
}
/* İçerik nasıl gelirse gelsin (inline style, kopyala-yapıştır) tema fontunu zorla uygula */
.product-tab-content *,
.product-tab-content *::before,
.product-tab-content *::after {
    font-family: var(--font-main) !important;
    color: inherit !important;
    line-height: inherit !important;
}
.product-tab-content p { margin: 0 0 0.5em; font-size: 12px !important; }
.product-tab-content p:last-child { margin-bottom: 0; }
.product-tab-content span,
.product-tab-content div,
.product-tab-content li { font-size: 12px !important; }
.product-tab-content strong,
.product-tab-content b { font-size: 14px !important; font-weight: 700 !important; }
.product-tab-content h1, .product-tab-content h2, .product-tab-content h3,
.product-tab-content h4, .product-tab-content h5, .product-tab-content h6 {
    font-size: 14px !important; font-weight: 700 !important; margin: 0.8em 0 0.4em;
}
/* Masaüstü sekme açıklaması: madde işaretleri taşmayı kesmesin diye inside; * reset padding sonrası liste görünür */
.product-tab-content ul,
.product-tab-content ol {
    margin: 0.65em 0;
    padding-left: 0;
    list-style-position: inside;
}
.product-tab-content ul {
    list-style-type: disc;
}
.product-tab-content ol {
    list-style-type: decimal;
}
.product-tab-content li {
    display: list-item;
    margin: 0.35em 0;
    padding-left: 0;
    line-height: 1.65;
}

/* Mobilde tabs gizli, accordion göster */
@media (max-width: 768px) {
    .product-tabs-desktop { display: none !important; }
}
@media (min-width: 769px) {
    .product-description-mobile { display: none !important; }
}

/* Ürün açıklaması: kopyala-yapıştır stillerini sıfırla, standart font boyutları */
.product-description-text,
.product-description-desktop,
.product-description-accordion .acc-inner-text,
.product-tab-content {
    font-size: 12px !important;
    color: #444;
    line-height: 1.8;
}
.product-description-text { margin-top: 10px; }
.product-description-text p,
.product-description-desktop p,
.product-description-accordion .acc-inner-text p { margin: 0 0 0.5em; font-size: 12px !important; }
.product-description-text p:last-child,
.product-description-desktop p:last-child,
.product-description-accordion .acc-inner-text p:last-child { margin-bottom: 0; }
.product-description-text ul, .product-description-text ol,
.product-description-desktop ul, .product-description-desktop ol,
.product-description-accordion .acc-inner-text ul,
.product-description-accordion .acc-inner-text ol {
    margin: 0.65em 0;
    padding-left: 0;
    list-style-position: inside;
    font-size: 12px !important;
}
.product-description-text ul,
.product-description-desktop ul,
.product-description-accordion .acc-inner-text ul {
    list-style-type: disc;
}
.product-description-text ol,
.product-description-desktop ol,
.product-description-accordion .acc-inner-text ol {
    list-style-type: decimal;
}
.product-description-text li,
.product-description-desktop li,
.product-description-accordion .acc-inner-text li {
    display: list-item;
    margin: 0.35em 0;
    font-size: 12px !important;
    line-height: 1.65;
}
/* Başlıklar: bold, normalden 2px büyük */
.product-description-text h1, .product-description-text h2, .product-description-text h3,
.product-description-text h4, .product-description-text h5, .product-description-text h6,
.product-description-desktop h1, .product-description-desktop h2, .product-description-desktop h3,
.product-description-desktop h4, .product-description-desktop h5, .product-description-desktop h6,
.product-description-accordion .acc-inner-text h1,
.product-description-accordion .acc-inner-text h2,
.product-description-accordion .acc-inner-text h3,
.product-description-accordion .acc-inner-text h4,
.product-description-accordion .acc-inner-text h5,
.product-description-accordion .acc-inner-text h6 {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 0.8em 0 0.4em;
}
.product-description-text strong, .product-description-text b,
.product-description-desktop strong, .product-description-desktop b,
.product-description-accordion .acc-inner-text strong,
.product-description-accordion .acc-inner-text b {
    font-size: 14px !important;
    font-weight: 700 !important;
}
.product-description-text span, .product-description-desktop span,
.product-description-accordion .acc-inner-text span,
.product-tab-content span {
    font-size: inherit !important;
    border: none !important;
}
.product-description-text a, .product-description-desktop a,
.product-description-accordion .acc-inner-text a {
    color: inherit;
    text-decoration: underline;
    font-size: inherit !important;
}
.product-description-text div, .product-description-desktop div,
.product-description-accordion .acc-inner-text div {
    font-size: 12px !important;
}
.product-description-text table, .product-description-desktop table,
.product-description-accordion .acc-inner-text table {
    font-size: 12px !important;
}
.product-description-text td, .product-description-text th,
.product-description-desktop td, .product-description-desktop th,
.product-description-accordion .acc-inner-text td,
.product-description-accordion .acc-inner-text th {
    font-size: 12px !important;
}

/* Ürün açıklaması: Word/HTML arka plan ve tablo taşmasını kır */
.product-tab-content,
.product-description-text,
.product-description-desktop,
.product-description-accordion .acc-inner-text {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}
.product-tab-content table,
.product-description-text table,
.product-description-desktop table,
.product-description-accordion .acc-inner-text table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0.75em 0;
}
.product-tab-content td,
.product-tab-content th,
.product-description-text td,
.product-description-text th,
.product-description-desktop td,
.product-description-desktop th,
.product-description-accordion .acc-inner-text td,
.product-description-accordion .acc-inner-text th {
    word-break: break-word;
    overflow-wrap: anywhere;
}
.product-tab-content *:not(img):not(video):not(iframe):not(svg),
.product-description-text *:not(img):not(video):not(iframe):not(svg),
.product-description-desktop *:not(img):not(video):not(iframe):not(svg),
.product-description-accordion .acc-inner-text *:not(img):not(video):not(iframe):not(svg) {
    background-image: none !important;
}
.product-tab-content p,
.product-tab-content span,
.product-tab-content div,
.product-tab-content li,
.product-tab-content td,
.product-tab-content th,
.product-description-text p,
.product-description-text span,
.product-description-text div,
.product-description-desktop p,
.product-description-desktop span,
.product-description-desktop div,
.product-description-accordion .acc-inner-text p,
.product-description-accordion .acc-inner-text span,
.product-description-accordion .acc-inner-text div {
    background-color: transparent !important;
}

/* PDP: Minimal akordeon (tam çerçeve, chevron, içerik animasyonu) */
.product-detail .minimal-accordion-component {
    --pd-acc-text-main: #111827;
    --pd-acc-text-detail: #000000;
    --pd-acc-border: #e5e7eb;
    --pd-acc-accent: #000000;
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-family: inherit;
}
.product-detail .minimal-accordion-component .acc-item {
    border: 1px solid var(--pd-acc-border);
    border-radius: 6px;
    background: #ffffff;
    margin-bottom: 4px;
    overflow: hidden;
    transition: border-color 0.3s ease;
}
.product-detail .minimal-accordion-component .acc-item:last-child {
    margin-bottom: 0;
}
.product-detail .minimal-accordion-component .acc-item.active {
    border-color: #d1d5db;
}
.product-detail .minimal-accordion-component .acc-header {
    width: 100%;
    padding: 12px 20px;
    margin: 0;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    transition: opacity 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}
.product-detail .minimal-accordion-component .acc-header:hover {
    opacity: 0.7;
}
.product-detail .minimal-accordion-component .acc-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--pd-acc-text-main);
    letter-spacing: -0.01em;
    text-transform: none;
}
.product-detail .minimal-accordion-component .acc-content-area {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.3s ease,
        transform 0.4s ease;
    padding: 0 20px;
    box-sizing: border-box;
}
.product-detail .minimal-accordion-component .acc-item.active .acc-content-area {
    max-height: 2000px;
    opacity: 1;
    transform: translateY(0);
    padding-bottom: 16px;
}
.product-detail .minimal-accordion-component .acc-inner-text {
    color: var(--pd-acc-text-detail);
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 400;
}
/* Ürün açıklaması HTML’indeki 12px !important kurallarını bu blokta eşle */
.product-detail .minimal-accordion-component .acc-inner-text p,
.product-detail .minimal-accordion-component .acc-inner-text li,
.product-detail .minimal-accordion-component .acc-inner-text div,
.product-detail .minimal-accordion-component .acc-inner-text td,
.product-detail .minimal-accordion-component .acc-inner-text th {
    font-size: 15px !important;
}
.product-detail .minimal-accordion-component .acc-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #9ca3af;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s;
}
.product-detail .minimal-accordion-component .acc-item.active .acc-icon {
    transform: rotate(180deg);
    color: var(--pd-acc-accent);
}
.product-detail .minimal-accordion-component .acc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.product-detail .minimal-accordion-component .acc-list li {
    margin-bottom: 10px;
    display: flex;
    position: relative;
    padding-left: 18px;
}
.product-detail .minimal-accordion-component .acc-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 4px;
    height: 4px;
    background-color: var(--pd-acc-accent);
    border-radius: 50%;
}
.product-detail .product-detail-installment-accordion .installment-accordion-body {
    padding-top: 0;
}
.product-detail .installment-fallback-note {
    font-size: 12px !important;
    color: #6b7280;
    margin-top: 8px;
}

/* Ürün detay — tema ayarından gelen sabit ek bilgi akordiyonları (içerik 12px) */
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text,
.product-detail .minimal-accordion-component.product-detail-extra-block .product-detail-extra-block__content {
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text p,
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text li,
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text div,
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text td,
.product-detail .minimal-accordion-component.product-detail-extra-block .acc-inner-text th {
    font-size: 12px !important;
}
.product-detail-extra-block .product-detail-extra-block__content {
    font-size: 12px;
    line-height: 1.5;
    color: var(--pd-acc-text-detail, #000000);
}
.product-detail-extra-block .product-detail-extra-block__content p {
    margin: 0 0 0.75em;
}
.product-detail-extra-block .product-detail-extra-block__content p:last-child {
    margin-bottom: 0;
}
.product-detail-extra-block .product-detail-extra-block__content ul,
.product-detail-extra-block .product-detail-extra-block__content ol {
    margin: 0.5em 0 0.75em 1.25em;
    padding: 0;
}

/* Taksit — Technical Flat kart */
.installment-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}
.installment-card-technical {
    width: 100%;
    max-width: 100%;
    margin: 0;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    padding: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    overflow: visible;
}
.installment-grid-header {
    display: flex;
    padding: 10px 12px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #eee;
}
.installment-row-item {
    display: flex;
    padding: 14px 12px;
    align-items: center;
    font-size: 13px;
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
    position: relative;
}
.installment-card-technical > .installment-row-item:nth-last-child(2) {
    border-bottom: none;
}
.installment-row-item:hover {
    background-color: #f1f5f9;
}
.installment-col-label {
    width: 30%;
    font-weight: 700;
    color: #334155;
    min-width: 0;
}
.installment-row-label--cash {
    color: #0f172a;
}
.installment-col-rate {
    width: 15%;
    text-align: center;
    color: #64748b;
    font-weight: 600;
    min-width: 0;
}
.installment-rate--active {
    color: #0f172a;
}
.installment-rate--dash {
    color: #94a3b8;
}
.installment-col-monthly {
    width: 25%;
    text-align: right;
    font-weight: 700;
    color: #1e293b;
    min-width: 0;
}
.installment-col-total {
    width: 30%;
    text-align: right;
    font-weight: 800;
    color: #1e293b;
    min-width: 0;
}
.installment-total--cash {
    font-weight: 800;
    color: #0f172a;
}
.installment-row-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-5px);
    background: #0f172a;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 50;
}
.installment-row-item:hover .installment-row-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(-10px);
}
.installment-card-footnote {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}
.installment-card-footnote p {
    font-size: 10px;
    color: #94a3b8;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 480px) {
    .installment-card-technical {
        padding: 16px;
    }
    .installment-grid-header {
        display: none;
    }
    .installment-row-item {
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 14px 10px;
    }
    .installment-col-label {
        width: 100%;
        font-size: 12px;
    }
    .installment-col-rate::before {
        content: 'Oran';
        display: block;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        letter-spacing: 0.05em;
        margin-bottom: 4px;
    }
    .installment-col-monthly::before {
        content: 'Aylık';
        display: block;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        letter-spacing: 0.05em;
        margin-bottom: 4px;
    }
    .installment-col-total::before {
        content: 'Toplam';
        display: block;
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        letter-spacing: 0.05em;
        margin-bottom: 4px;
    }
    .installment-col-rate,
    .installment-col-monthly,
    .installment-col-total {
        width: auto;
        flex: 1 1 28%;
        text-align: left;
    }
    .installment-col-monthly,
    .installment-col-total {
        text-align: right;
    }
}

/* Mobil: PDP minimal akordeon — dokunma dostu */
@media (max-width: 768px) {
    .product-detail .minimal-accordion-component .acc-header {
        padding: 14px 16px;
        font-size: 14px;
    }
    .product-detail .minimal-accordion-component .acc-title {
        font-size: 14px;
    }
    .product-description-accordion .minimal-accordion-component .acc-item {
        border-radius: 6px;
    }
}

/* Category - category.html */
.category-header {
    padding-top: 40px;
    padding-bottom: 20px;
    padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px));
    width: 100%;
    margin: 0 auto;
}
/* Tam genişlik: yatay boşluk zaten main’de */
body[data-page-type="category"][data-site-container="full"] .category-header,
body[data-page-type="search"][data-site-container="full"] .category-header {
    padding-left: 0;
    padding-right: 0;
}
/* Contained + mobil: main zaten --site-inline-padding veriyor */
@media (max-width: 768px) {
    body[data-page-type="category"][data-site-container="contained"] main .category-header,
    body[data-page-type="search"][data-site-container="contained"] main .category-header {
        padding-left: 0;
        padding-right: 0;
    }
}

.category-header .breadcrumb {
    font-size: 11px;
    color: var(--text-secondary);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.category-header .breadcrumb a {
    text-decoration: none;
    color: inherit;
}

.category-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.category-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.category-title {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
}

/* Kategori / arama: eski grid toggle (stroke) — search sayfası */
.grid-toggles {
    display: flex;
    gap: 12px;
}

.grid-toggle-btn {
    padding: 6px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.grid-toggle-btn svg {
    width: 18px;
    height: 18px;
    stroke: #ccc;
    transition: stroke 0.2s;
}

.grid-toggle-btn:hover svg,
.grid-toggle-btn.active svg {
    stroke: #000;
}

.filter-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
}

/* Kategori: filtre + görünüm şeridi (ince border-y, Filtrele etiketi, dolgu ikonlar) */
.category-toolbar {
    width: 100%;
    margin: 0 0 4px;
    padding: 0;
    box-sizing: border-box;
}

.category-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    padding: 16px 0;
    box-sizing: border-box;
}

body[data-site-container="contained"] .category-toolbar-inner {
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
}

.category-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
}

.category-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}

.category-filter-pill-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e7eb;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.category-filter-pill:hover .category-filter-pill-icon,
.category-filter-pill:focus-visible .category-filter-pill-icon {
    border-color: #000;
}

.category-filter-sliders-icon {
    width: 11px;
    height: 11px;
    display: block;
    opacity: 0.9;
}

.category-filter-pill-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #111827;
    transition: color 0.2s ease;
}

.category-filter-pill:hover .category-filter-pill-label {
    color: #6b7280;
}

/* Kategori PLP: mobilde filtre ikonu başlık satırında (toolbar’daki pill gizlenir) */
.category-title-mobile-actions {
    display: none;
    align-items: center;
    flex-shrink: 0;
    gap: 4px;
}
.category-filter-pill--inline-mobile {
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
    color: var(--text-color, #000000);
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
}
.category-filter-pill--inline-mobile .category-filter-pill-icon {
    margin: 0;
}

.category-grid-toggles {
    display: none;
    align-items: center;
    gap: 4px;
    padding-left: 24px;
    border-left: 1px solid #f3f4f6;
}

.category-grid-toggle-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d1d5db;
    transition: color 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.category-grid-toggle-btn:hover {
    color: #000;
}

.category-grid-toggle-btn.is-active {
    color: #000;
}

.category-toolbar-sort {
    display: flex;
    align-items: center;
    margin: 0;
}

.category-toolbar-sort-select.filter-sort-select {
    min-width: 160px;
    height: 32px;
    min-height: 32px;
    padding: 0 28px 0 10px;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: 0;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    font-size: 12px;
    font-family: inherit;
    color: #111827;
    line-height: 30px;
    cursor: pointer;
    vertical-align: middle;
    -webkit-appearance: none;
    appearance: none;
    -moz-appearance: none;
}

.category-toolbar-sort-select.filter-sort-select:hover,
.category-toolbar-sort-select.filter-sort-select:focus {
    border-color: #000;
    outline: none;
}

.category-product-count {
    margin: 16px 0 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #9ca3af;
    text-align: left;
}

@media (min-width: 769px) {
    .category-grid-toggles.filter-desktop-only {
        display: flex;
    }
}

.filter-btn .filter-sort-select {
    min-width: 140px;
    padding: 6px 8px;
    border-radius: 4px;
    border: 1px solid var(--border-color, #e5e5e5);
    background: #fff;
    cursor: pointer;
    font-size: 12px;
    font: inherit;
    color: inherit;
}

.filter-btn .filter-sort-select:hover,
.filter-btn .filter-sort-select:focus {
    border-color: #999;
    outline: none;
}

/* Mobile-First: 2 col mobil, masaüstünde grid toggles ile 2/3/4 */
.product-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 100%;
    margin: 0 auto;
}
@media (min-width: 769px) {
    .product-grid { gap: 10px; }
    .product-grid:not(.product-grid-cols-dynamic) { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
    .product-grid:not(.product-grid-cols-dynamic) { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .product-grid.product-grid-cols-dynamic { grid-template-columns: repeat(2, 1fr) !important; }
}
.product-grid-full-width {
    padding: 0 0 60px;
    max-width: 100%;
    box-sizing: border-box;
}
.product-grid-contained {
    padding: 0 0 60px;
    max-width: var(--site-container-max-width, 1400px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.product-grid > .product-list-card-wrap {
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Kategori ürün listesi: görsel altı çizgi/gölge hissi + başlık boşluğu (çerçeve kapalı / hızlı sepet açık) */
#category-product-grid .product-list-card-img {
    background: #fff;
    box-shadow: none;
}
#category-product-grid .product-image-inner .img-wrapper {
    background: #fff;
}
#category-product-grid .img-wrapper.loaded {
    background: transparent;
}
#category-product-grid .img-wrapper.loaded::before {
    opacity: 0 !important;
    visibility: hidden;
    animation: none;
}
#category-product-grid .product-list-card-wrap {
    gap: 10px;
}
#category-product-grid .product-list-card .product-list-card-info {
    padding-top: 10px;
}
#category-product-grid .product-list-card-wrap[data-product-card-quick="1"] .product-list-card-info {
    padding-top: 10px;
}
#category-product-grid .product-list-card:has(> .product-cart-campaign-strip--below-image-flow) .product-list-card-info {
    padding-top: 0;
    margin-top: 0;
}
#category-product-grid .product-cart-campaign-strip--below-image-flow {
    margin-top: -10px;
}

.category-load-more-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 8px 0 48px;
    width: 100%;
    box-sizing: border-box;
}
.category-load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.category-load-more-btn:hover:not(:disabled) {
    border-color: #cbd5e1;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
.category-load-more-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}
.category-load-more-loading {
    margin: 0;
    font-size: 14px;
    color: var(--text-secondary, #64748b);
}

.product-card {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.product-image-container,
.product-list-card-img {
    position: relative;
    overflow: hidden;
    background-color: #f9f9f9;
    cursor: pointer;
}
.product-image-container { margin-bottom: 0; }
.product-list-card-img { background: #f4f4f4; }

.product-image-inner {
    position: relative;
    aspect-ratio: var(--product-card-media-aspect, 2 / 3);
    width: 100%;
    overflow: hidden;
}

.product-stock-strip {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #e53935;
    color: #fff;
    padding: 8px 12px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    z-index: 5;
}

/* Stoksuz ürün kartı — görsel siyah-beyaz (kart + vitrin wrap) */
.product-card:has(.product-stock-strip) .product-image-inner img,
.product-card:has(.product-stock-strip) .product-image-inner video,
.product-list-card:has(.product-stock-strip) .product-image-inner img,
.product-list-card:has(.product-stock-strip) .product-image-inner video,
.product-list-card-wrap:has(.product-stock-strip) .product-image-inner img,
.product-list-card-wrap:has(.product-stock-strip) .product-image-inner video {
    filter: grayscale(1);
    -webkit-filter: grayscale(1);
}

/* .product-cart-campaign-strip - Renkler öncelikle kampanya ayarlarından (inline); yoksa yeşil varsayılan */
/* --pcc-min-h / --pcc-fs: masaüstü; --pcc-min-h-m / --pcc-fs-m: mobil (≤768px), yoksa masaüstü değişkenine düşer */
.product-cart-campaign-strip {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    background-color: #16a34a;
    color: #ffffff;
    padding: 7px 10px;
    text-align: center;
    font-size: var(--pcc-fs, 12px);
    font-weight: 600;
    line-height: 1.2;
    z-index: 4;
    min-height: var(--pcc-min-h, auto);
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .product-cart-campaign-strip {
        min-height: var(--pcc-min-h-m, var(--pcc-min-h, auto));
        font-size: var(--pcc-fs-m, var(--pcc-fs, 12px));
    }
}
/* «Sepete ekle hemen üstünde»: masaüstünde yalnızca hover içindeki şerit; görseldeki kopya yalnız mobil (Tailwind md:hidden yerine — çift şerit önlenir) */
@media (min-width: 769px) {
    .product-cart-campaign-strip--above-cart-mobile-fallback {
        display: none !important;
    }
}
/* Hızlı sepet çubuğunda: şerit, Sepete Ekle’nin 4px üstünde (gap ile) */
.product-list-quick-hover-strip-wrap {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    pointer-events: none;
}
@media (min-width: 769px) {
    .product-list-quick-hover-strip-wrap {
        display: flex;
    }
}
.product-cart-campaign-strip--above-cart {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    flex-shrink: 0;
    z-index: 1;
}
/* Görselin alt kenarı (image_bottom): şerit akışta, başlığın hemen üstü — görsel üzerine binmez */
.product-cart-campaign-strip--below-image-flow {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: 2;
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.35;
    padding: 0 10px;
}
.product-list-card:has(> .product-cart-campaign-strip--below-image-flow) .product-list-card-info,
.product-list-card-info-link:has(> .product-cart-campaign-strip--below-image-flow) .product-list-card-info {
    padding-top: 0;
    margin-top: 0;
}
.product-card-link:has(> .product-cart-campaign-strip--below-image-flow) .product-info,
.product-cart-campaign-strip--below-image-flow + .product-info {
    padding-top: 0;
    margin-top: 0;
}
.product-list-quick-hover--with-strip {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 0;
}
@media (min-width: 769px) {
    .product-list-quick-hover--with-strip {
        gap: 4px;
    }
}

.product-image-container img,
.product-list-card-img img,
.product-list-card-img video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Overlay ikonları - görselin sağ altında (ekteki gibi) */
.product-card-overlay {
    position: absolute;
    bottom: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 2;
}
.product-card-overlay-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: rgba(255,255,255,0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #1a1a1a;
    transition: opacity 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.product-card-overlay-btn:hover { opacity: 0.9; }
.product-card-overlay-btn svg {
    width: 18px;
    height: 18px;
}
.product-card-wishlist-active { color: #dc2626; }
.product-card-wishlist-active svg { fill: currentColor; }

.image-nav-arrows {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.product-card:hover .image-nav-arrows {
    opacity: 1;
}

.nav-arrow {
    background: rgba(255,255,255,0.8);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    pointer-events: auto;
}

.pagination-dots {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
}

.pagination-dots .dot {
    width: 4px;
    height: 4px;
    background: rgba(0,0,0,0.2);
    border-radius: 50%;
}

.pagination-dots .dot.active {
    background: #000;
}

.product-info {
    font-size: 12px;
    padding: 0 4px;
}
@media (max-width: 768px) {
    .product-info { font-size: 11px; padding: 0 2px; }
}

.product-name {
    font-weight: 400;
    margin-bottom: 4px;
    color: #333;
    line-height: 1.3;
    font-size: var(--product-card-title-size, 13px);
}
@media (max-width: 768px) {
    .product-name { margin-bottom: 2px; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
}

.product-price-wrap {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.product-price-wrap .discount-tag,
.product-price-wrap .product-old-price,
.product-price-wrap .product-price {
    align-self: baseline;
}

/* Tıklamanın ana linke iletilmesi için (indirim rozeti vb. engellemesin) */
.product-card .product-price-wrap *,
.product-list-card .product-price-wrap *,
a.group .product-price-wrap * {
    pointer-events: none;
}

.product-info-wrap .product-price-wrap .product-price {
    font-size: 24px;
    font-weight: 600;
}

.product-old-price {
    text-decoration: line-through;
    color: #999;
    font-size: 12px;
    font-weight: 400;
}

.product-price-wrap .product-price {
    font-weight: 700;
    color: #111;
}
@media (max-width: 768px) {
    .product-old-price { font-size: 11px; }
}

.product-price {
    font-weight: 600;
    font-size: 13px;
}
@media (max-width: 768px) {
    .product-price { font-size: 12px; }
}


@media (max-width: 1024px) {
    .nav-links { display: none !important; }
    .grid-item { height: 60vh; }
    .hero-slider-prev, .hero-slider-next { width: 32px; height: 32px; }
    .hero-slider-prev { left: 8px; }
    .hero-slider-next { right: 8px; }
    .cart-container { grid-template-columns: 1fr; }
    .image-collage { grid-template-columns: 1fr; }
    .cart-summary { position: static; }
}

@media (max-width: 768px) {
    #mainHeader nav { display: flex !important; justify-content: space-between; }
    main { gap: 2px; }
    .hero-media-wrap { padding-top: 0; padding-bottom: 0; }
    .section-media-wrap,
    .product-list-section { padding: 24px 0; }
    .section-media-wrap { padding: 2px 0; }
    .vitrin-full-width { padding: 0; }
    .theme-section-title-row {
        padding: 14px 0 12px;
    }
    .product-list-section .product-list-title,
    .product-list-section .product-list-grid { padding-left: 0; padding-right: 0; }
    .nav-links { display: none !important; }
    .logo { text-align: center; justify-content: center; flex: 1; }
    .logo h1 { font-size: 18px; }
    .grid-section { grid-template-columns: 1fr; }
    .grid-item { height: 70vh; }
    .footer-banner .title { font-size: 18px; }
    .category-title-row { flex-direction: row; align-items: center; gap: 12px; }
    .product-info { font-size: 11px; }
    .cart-item { grid-template-columns: 100px 1fr; }
    .item-price-remove {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        border-top: 1px solid var(--border-color);
        padding-top: 15px;
        margin-top: 10px;
    }
}

/* Mobile: Header daha kompakt + sabit (sticky bazı cihazlarda kayar; fixed + --site-header-offset ile iç boşluğu header.php ayarlar) */
@media (max-width: 768px) {
    .header-sticky-wrap {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        z-index: 1000;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    body:has(.header-sticky-wrap) main {
        padding-top: var(--site-header-offset, 96px);
        box-sizing: border-box;
    }
    #mainHeader { padding: 10px 0 !important; width: 100%; max-width: 100%; box-sizing: border-box; }
    .announcement-bar { width: 100%; max-width: 100%; }
    #mainHeader .header-logo-img { height: 20px !important; }
    #mainHeader .header-menu-btn { padding: 6px; min-width: 40px; min-height: 40px; color: #000 !important; }
    #mainHeader .header-menu-btn svg { width: 20px; height: 20px; color: #000 !important; }
    #mainHeader .user-actions .icon-btn svg { width: 18px; height: 18px; }
}

/* Mobile: Header menu button (kategoriler) - sadece mobilde görünür */
.header-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}
.header-menu-btn svg { width: 24px; height: 24px; }
@media (max-width: 768px) {
    .header-menu-btn { display: flex; }
    .user-actions { flex: 0 0 auto; }
    .user-actions .icon-btn:hover { transform: none; }
}
@media (min-width: 769px) {
    .header-menu-btn { display: none !important; }
}

/* Sticky Bottom Navigation - mobile only, App-like Tab Bar */
.bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    border-top: 1px solid var(--border-color);
    padding: 0;
    padding-bottom: max(0, env(safe-area-inset-bottom));
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
@media (max-width: 768px) {
    .bottom-nav { display: block; }
}
.bottom-nav-inner {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    padding: 8px 0 12px;
    max-width: 100%;
}
@media (min-width: 769px) {
    .bottom-nav { display: none !important; }
}
.bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
    -webkit-text-fill-color: #000;
    font-size: 10px;
    font-weight: 500;
    min-width: 44px;
    min-height: 56px;
    padding: 6px 12px;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    flex: 1;
    -webkit-tap-highlight-color: transparent;
}
.bottom-nav a.bottom-nav-item:visited,
.bottom-nav a.bottom-nav-item:active {
    color: #000 !important;
    -webkit-text-fill-color: #000;
}
.bottom-nav-icon svg,
.bottom-nav-icon svg path,
.bottom-nav-icon svg circle,
.bottom-nav-icon svg line,
.bottom-nav-icon svg rect {
    stroke: #000 !important;
}
.bottom-nav-item:active { opacity: 0.7; }
.bottom-nav-item:focus-visible { outline: 2px solid var(--accent-color); outline-offset: 2px; }
.bottom-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bottom-nav-icon svg { width: 24px; height: 24px; }
.bottom-nav-label { line-height: 1.2; }
.bottom-nav-cart-wrap { position: relative; display: flex; align-items: center; justify-content: center; }
.bottom-nav-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--accent-bg, var(--accent-color));
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}


/* Full-screen Category Overlay - Thumb-zone friendly, App-like */
.category-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(0,0,0,0.5);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.category-overlay-inner {
    min-height: 100%;
    background: #fff;
    padding: 20px 16px 40px;
    padding-bottom: max(40px, env(safe-area-inset-bottom));
}
.category-overlay-fullscreen .category-overlay-inner {
    min-height: 100vh;
    min-height: 100dvh;
    padding: 20px 16px 48px;
    padding-bottom: max(48px, env(safe-area-inset-bottom));
}

/* AYSEN birebir - Full Screen Depth Menu Overlay */
.overlay-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 2000;
    transform: translateX(-100%);
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
    pointer-events: none;
}
.overlay-menu.open {
    transform: translateX(0);
    pointer-events: auto;
}
.overlay-menu-header {
    height: 64px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    border-bottom: 1px solid #f9fafb;
    position: relative;
}
.menu-header-main,
.menu-header-sub {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 24px;
}
.menu-header-main {
    width: 100%;
    justify-content: space-between;
}
.menu-header-main.hidden,
.menu-header-sub.hidden {
    display: none !important;
}
.menu-header-sub {
    width: 100%;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
}
.menu-header-sub .menu-header-subtitle {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
    padding: 0 8px;
}
.menu-header-sub .menu-header-back {
    flex-shrink: 0;
}
.menu-header-sub .menu-header-close {
    flex-shrink: 0;
}
.menu-header-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #111;
}
.menu-header-close {
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    color: #374151;
    -webkit-text-fill-color: #374151;
    -webkit-tap-highlight-color: transparent;
}
.menu-header-close svg,
.menu-header-close svg path {
    stroke: #374151 !important;
}
.menu-header-close:active { opacity: 0.5; }
.menu-header-back {
    padding: 4px;
    margin-left: -4px;
    background: none;
    border: none;
    cursor: pointer;
    color: #374151;
    -webkit-tap-highlight-color: transparent;
}
.menu-header-back:active { opacity: 0.5; }
.menu-header-subtitle {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #111;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.menu-slider {
    display: flex;
    width: 200%;
    height: 100%;
    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
    flex: 1;
    min-height: 0;
}
.menu-slider.view-sub {
    transform: translateX(-50%);
}
.menu-slider-single {
    width: 100%;
}
.menu-slider-single .menu-panel {
    width: 100%;
}
.menu-panel {
    width: 50%;
    height: 100%;
    overflow-y: auto;
    padding: 16px 24px 80px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
}
.menu-panel-sub {
    background: rgba(249, 250, 251, 0.5);
}
.menu-panel-inner {
    display: flex;
    flex-direction: column;
}
.menu-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #f9fafb;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    text-align: left;
    text-decoration: none;
    color: #1f2937;
    -webkit-text-fill-color: #1f2937;
    font-size: 16px;
    cursor: pointer;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
}
.overlay-menu a.menu-item:visited,
.overlay-menu a.menu-item:active {
    color: #1f2937 !important;
    -webkit-text-fill-color: #1f2937;
}
.menu-item:active { opacity: 0.5; }
.menu-item-text {
    font-weight: 500;
}
.menu-item-root {
    font-weight: 600;
}
.menu-item-sub-text {
    font-weight: 400;
    color: #4b5563;
}
.menu-item-sub {
    border-bottom-color: #f3f4f6;
}
.menu-item-wrap {
    border-bottom: 1px solid #f9fafb;
}
.menu-item-wrap .menu-item { border-bottom: none; }
.menu-mega-dropdown {
    background: rgba(249, 250, 251, 0.8);
    padding-left: 16px;
    border-left: 3px solid #e5e7eb;
}
.menu-item-mega-link {
    padding: 14px 0 !important;
    font-size: 14px !important;
}
.menu-item-chevron {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.menu-item-chevron.rotated {
    transform: rotate(-90deg);
}
.overlay-menu .menu-item .menu-item-chevron {
    transform: none;
}
/* Alt menü açan satır: ok metinle aynı koyu ton (soluk gri değil) */
.overlay-menu button.menu-item .menu-item-chevron {
    color: #1f2937;
}
.menu-item-arrow {
    flex-shrink: 0;
    color: #d1d5db;
}
.category-overlay-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
    padding-top: env(safe-area-inset-top);
}
.category-overlay-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    min-width: 0;
}
.category-overlay-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}
.category-overlay-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #f5f5f5;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    color: #000;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
.category-overlay-action-btn:hover,
.category-overlay-action-btn:active { background: #e8e8e8; }
.category-overlay-action-btn svg { width: 22px; height: 22px; stroke-width: 1.5; }
.category-overlay-title {
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
}
.category-overlay-close {
    min-width: 48px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.category-overlay-close:hover { background: #e8e8e8; }
.category-overlay-close svg { width: 24px; height: 24px; }
.category-overlay-tree {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* Thumb-zone: büyük dokunma alanları */
.category-overlay-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    min-height: 56px;
    text-decoration: none;
    color: var(--text-color);
    font-size: 16px;
    font-weight: 500;
    background: #f9f9f9;
    border-radius: 6px;
    transition: background 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.category-overlay-item:hover,
.category-overlay-item:active { background: #e8e8e8; }
.category-overlay-item-root {
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border-radius: 6px;
    font-size: 17px;
    padding: 20px 24px;
    min-height: 60px;
}
.category-overlay-item-root:hover,
.category-overlay-item-root:active { background: #333; }
.category-overlay-chevron { width: 22px; height: 22px; flex-shrink: 0; }
.category-overlay-children {
    padding-left: 24px;
    margin-top: 8px;
}
.category-overlay-item-wrap { margin-bottom: 8px; }

/* Filtre Sidebar (sağdan açılır) */
.filter-sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 1500;
    background: rgba(0,0,0,0.4);
    -webkit-tap-highlight-color: transparent;
}

.filter-sidebar {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 320px;
    background: #fff;
    box-shadow: -4px 0 24px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.filter-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid var(--border-color, #e5e5e5);
}

.filter-sidebar-header h3 {
    font-size: 18px;
    font-weight: 600;
}

.filter-sidebar-header button {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
}

.filter-sidebar-form {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.filter-sidebar-sections {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.filter-section {
    border: 1px solid var(--border-color, #e5e5e5);
    border-radius: 8px;
    overflow: hidden;
}

.filter-section-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: #f9f9f9;
    border: none;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
}

.filter-section-chevron {
    transition: transform 0.2s;
}

.filter-section-chevron.rotated {
    transform: rotate(180deg);
}

.filter-section-content {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
}

.filter-checkbox input { margin: 0; }

.filter-price-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.filter-price-inputs input {
    flex: 1;
    min-width: 0;
    width: 0;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #e5e5e5);
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

.filter-price-hint {
    font-size: 12px;
    color: var(--text-secondary, #666);
    margin: 4px 0 0;
}

.filter-sidebar-save {
    margin-top: auto;
    padding: 14px 20px;
    background: var(--button-bg, var(--button-color, #000));
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.filter-sidebar-save:hover {
    background: #333;
}

@media (max-width: 480px) {
    .filter-sidebar { max-width: 100%; }
}

/* PLP: Filter bottom sheet (mobile) */
.filter-mobile-btn {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    min-height: 44px;
    min-width: 44px;
    background: none;
    border: none;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    /* iOS Safari/Chrome: buton+SVG’yi sistem/link mavisi boyamasın; gövde metin rengiyle aynı */
    color: var(--text-color, #000000);
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
    text-decoration: none;
}
.filter-mobile-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    stroke: currentColor;
    color: inherit;
    -webkit-text-fill-color: currentColor;
}
.filter-mobile-btn:hover { opacity: 0.7; }
@media (max-width: 768px) {
    .category-toolbar .filter-desktop-only { display: none !important; }
    body[data-page-type="category"] .category-toolbar {
        display: none;
    }
    .category-title-mobile-actions {
        display: flex;
    }
    .category-title-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: 1;
        min-width: 0;
        gap: 12px;
    }
    .category-title-wrap .category-title {
        flex: 1;
        min-width: 0;
    }
    .filter-mobile-btn { display: flex; flex-shrink: 0; padding: 10px; }
    .filter-mobile-btn .filter-mobile-btn-text { display: none; }
    .filter-desktop-only { display: none !important; }
}
@media (min-width: 769px) {
    .filter-mobile-btn { display: none !important; }
}

/* PLP: Slide-up Filter Bottom Sheet - aşağıdan yukarı açılır */
.filter-bottom-sheet {
    position: fixed;
    inset: 0;
    z-index: 1500;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
}
.filter-bottom-sheet-inner {
    background: #fff;
    width: 100%;
    max-height: 70vh;
    border-radius: 20px 20px 0 0;
    padding: 20px 16px;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    box-shadow: 0 -4px 24px rgba(0,0,0,0.15);
}
.filter-bottom-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.filter-bottom-sheet-header h3 { font-size: 16px; font-weight: 600; }
.filter-bottom-sheet-header button {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
}
.filter-bottom-sheet-options { display: flex; flex-direction: column; gap: 8px; }
.filter-sheet-option {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    min-height: 44px;
    background: #f9f9f9;
    border-radius: 6px;
    cursor: pointer;
}
.filter-sheet-option input { margin-right: 12px; }
.filter-sheet-option span { font-size: 14px; }

/* PDP: Ürün detay ilk görsel sol üst rozetler (alt alta, sola yaslı) */
.product-detail-badges-wrap {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: calc(100% - 16px);
    pointer-events: none;
}
.product-detail-badges-wrap.badge-pos-top_left { top: 8px; left: 8px; right: auto; bottom: auto; align-items: flex-start; }
.product-detail-badges-wrap.badge-pos-top_right { top: 8px; right: 8px; left: auto; bottom: auto; align-items: flex-end; }
.product-detail-badges-wrap.badge-pos-bottom_left { bottom: 8px; left: 8px; top: auto; right: auto; align-items: flex-start; }
.product-detail-badges-wrap.badge-pos-bottom_right { bottom: 8px; right: 8px; top: auto; left: auto; align-items: flex-end; }
.product-detail-badges-wrap > span { display: block; }

/* PLP: Product card image swiper - mobilde swipe, hover devre dışı */
.product-card-images { position: relative; overflow: hidden; }
.product-card-badges-wrap {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: calc(100% - 16px);
    pointer-events: none;
}
.product-card-badges-wrap.badge-pos-top_left { top: 8px; left: 8px; right: auto; bottom: auto; align-items: flex-start; }
.product-card-badges-wrap.badge-pos-top_right { top: 8px; right: 8px; left: auto; bottom: auto; align-items: flex-end; }
.product-card-badges-wrap.badge-pos-bottom_left { bottom: 8px; left: 8px; top: auto; right: auto; align-items: flex-start; }
.product-card-badges-wrap.badge-pos-bottom_right { bottom: 8px; right: 8px; top: auto; left: auto; align-items: flex-end; }

/* Liste / vitrin kartı: sol üstte rozetler + altında indirim yüzdesi (sol kenar görselle hizalı) */
.product-list-card-tl-stack {
    position: absolute;
    top: 8px;
    left: 0;
    right: auto;
    bottom: auto;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    max-width: calc(100% - 8px);
    pointer-events: none;
}
.product-list-card-tl-stack .product-card-badges-wrap--in-tl-stack {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    max-width: none;
}

.product-badge-img {
    width: auto;
    height: auto;
    max-width: 48px;
    max-height: 96px;
    min-width: 24px;
    object-fit: contain;
    object-position: left top;
    display: block;
    vertical-align: top;
}
/* Rozet boyutu: her rozet kendi boyutuna sahip (small/medium/large) */
.product-card-badges-wrap > span { display: block; }
.badge-size-small .product-badge-img { max-width: 48px; max-height: 96px; }
.badge-size-medium .product-badge-img { max-width: 64px; max-height: 128px; }
.badge-size-large .product-badge-img { max-width: 80px; max-height: 160px; }
.badge-size-xlarge .product-badge-img { max-width: 96px; max-height: 192px; }
.product-badge-text { display: inline-block; line-height: 1.25; }
.badge-size-small .product-badge-text { max-width: 80px; padding: 5px 10px; }
.badge-size-medium .product-badge-text { max-width: 105px; padding: 7px 12px; }
.badge-size-large .product-badge-text { max-width: 135px; padding: 9px 14px; }
.badge-size-xlarge .product-badge-text { max-width: 170px; padding: 11px 18px; }
/* Mobil rozet boyutu: size_mobile ayarlıysa mobilde bu boyut kullanılır */
@media (max-width: 768px) {
    .badge-size-mobile-small .product-badge-img { max-width: 48px; max-height: 96px; }
    .badge-size-mobile-medium .product-badge-img { max-width: 64px; max-height: 128px; }
    .badge-size-mobile-large .product-badge-img { max-width: 80px; max-height: 160px; }
    .badge-size-mobile-xlarge .product-badge-img { max-width: 96px; max-height: 192px; }
    .badge-size-mobile-small .product-badge-text { max-width: 80px; padding: 5px 10px; }
    .badge-size-mobile-medium .product-badge-text { max-width: 105px; padding: 7px 12px; }
    .badge-size-mobile-large .product-badge-text { max-width: 135px; padding: 9px 14px; }
    .badge-size-mobile-xlarge .product-badge-text { max-width: 170px; padding: 11px 18px; }
}
.product-stock-badge {
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 2px;
    flex-shrink: 0;
}
.product-stock-badge-out {
    background: #e53935;
    color: #fff;
}
.product-card-img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 0; }

/* PLP: birden fazla renk seçeneği (gradient çift daire + adet) */
.product-card-color-badge {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px 5px 6px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
    font-family: inherit;
    pointer-events: none;
}
.product-card-color-badge__swatches {
    position: relative;
    width: 26px;
    height: 16px;
    flex-shrink: 0;
}
.product-card-color-badge__circle {
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.product-card-color-badge__circle--a {
    left: 0;
    top: 0;
    z-index: 2;
    background: linear-gradient(90deg, #3b82f6, #84cc16);
}
.product-card-color-badge__circle--b {
    left: 9px;
    top: 0;
    z-index: 1;
    background: linear-gradient(90deg, #ec4899, #f59e0b);
}
.product-card-color-badge__count {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #475569;
    letter-spacing: -0.02em;
}
/* Altta sepet kampanyası şeridi varken renk rozetini bantın 2px üstüne */
.product-image-inner:has(.product-cart-campaign-strip) .product-card-color-badge {
    bottom: 30px; /* ~28px şerit + 2px */
}
@media (max-width: 768px) {
    .product-card .product-image-container:hover img { transform: none; }
}
/* Swipe dots - çoklu görselde gösterge */
.product-card-swiper-dots {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px;
    z-index: 2;
}
.product-card-swiper-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    transition: background 0.2s;
}
.product-card-swiper-dot.active {
    background: #000;
    width: 6px;
    height: 6px;
}

/* PLP: Sabit filtre barı (mobil, bottom nav üstünde) */
.category-filter-bar {
    display: none;
    position: fixed;
    bottom: calc(76px + env(safe-area-inset-bottom));
    left: 0;
    right: 0;
    z-index: 998;
    padding: 8px 16px;
}
@media (max-width: 768px) {
    .category-filter-bar { display: none !important; }
}
@media (min-width: 769px) {
    .category-filter-bar { display: none !important; }
}
.category-filter-bar-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    min-height: 44px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
}
.category-filter-bar-btn svg { width: 20px; height: 20px; }

/* Kategori sayfası: filtre barı + bottom nav için alt boşluk */
@media (max-width: 768px) {
    body[data-page-type="category"] { padding-bottom: calc(140px + env(safe-area-inset-bottom)); }
}

/* PDP: Ürün açıklaması - masaüstünde normal, mobilde accordion */
.product-description-desktop { display: block; }
.product-description-accordion { display: none; }
@media (max-width: 768px) {
    .product-description-desktop { display: none !important; }
    .product-description-accordion { display: block !important; }
}

/* PDP: Sticky Add-to-Cart Bar (mobil, bottom nav üstünde) */
.pdp-sticky-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 997;
    background: #fff;
    border-top: 1px solid var(--border-color);
    padding: 12px 16px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    box-shadow: 0 -2px 12px rgba(0,0,0,0.1);
}
@media (max-width: 768px) {
    .pdp-sticky-bar { display: block; }
    body[data-page-type="product"] { padding-bottom: calc(140px + env(safe-area-inset-bottom)); }
}
@media (min-width: 769px) {
    .pdp-sticky-bar { display: none !important; }
}
.pdp-sticky-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 600px;
    margin: 0 auto;
}
.pdp-sticky-price {
    font-size: 18px;
    font-weight: 600;
}
.pdp-sticky-price.product-price-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pdp-sticky-price .discount-tag { font-size: 11px; padding: 2px 6px; }
.pdp-sticky-price .product-old-price { font-size: 14px; }
.pdp-sticky-price .product-price { font-size: 18px; font-weight: 700; }
.pdp-sticky-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex: 1;
    min-width: 0;
}
.pdp-sticky-wa-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    border: none;
    border-radius: var(--button-radius, 8px);
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s ease, filter 0.2s ease;
    /* background, color: tema (inline) */
}
.pdp-sticky-wa-btn:hover {
    opacity: 0.95;
    filter: brightness(1.05);
}
.pdp-sticky-wa-btn svg {
    display: block;
}
.pdp-sticky-add-btn {
    flex: 1;
    max-width: 200px;
    min-height: 44px;
    padding: 12px 24px;
    background: var(--add-to-cart-bg, var(--add-to-cart-color, #000));
    color: #fff;
    border: none;
    border-radius: var(--button-radius, 8px);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}
.pdp-sticky-add-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ===== Ürün Görselleri - img-wrapper Skeleton Shimmer ===== */
.img-wrapper {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background: #e5e7eb;
    line-height: 0;
}
/* product-image-inner içinde tam doldur - yarım kesilme sorununu önler */
.product-image-inner .img-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.img-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: top;
    opacity: 0;
    transition: opacity 0.4s ease-out;
}
.img-wrapper.loaded img {
    opacity: 1;
}
.img-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #e5e7eb 0%,
        #f3f4f6 20%,
        #e5e7eb 40%,
        #e5e7eb 100%
    );
    background-size: 200% 100%;
    animation: img-skeleton-shimmer 1.5s ease-in-out infinite;
    z-index: 1;
    pointer-events: none;
}
.img-wrapper.loaded::before {
    opacity: 0;
    transition: opacity 0.4s ease-out;
}
/* ===== Ürün Detay - product-img-shimmer (sadece CSS + onload, JS yok) ===== */
.product-img-shimmer {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #e5e7eb;
    line-height: 0;
}
.product-img-shimmer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #e5e7eb 0%,
        #f3f4f6 20%,
        #e5e7eb 40%,
        #e5e7eb 100%
    );
    background-size: 200% 100%;
    animation: img-skeleton-shimmer 1.5s ease-in-out infinite;
    z-index: 1;
    pointer-events: none;
}
.product-img-shimmer img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: top;
    opacity: 0;
    transition: opacity 0.4s ease-out;
    position: relative;
    z-index: 2;
}
.product-img-shimmer.loaded::before {
    opacity: 0;
    transition: opacity 0.4s ease-out;
}
.collage-item .product-img-shimmer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.product-detail-gallery-thumb .product-img-shimmer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.product-image-inner .product-img-shimmer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

@keyframes img-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* PDP live price skeleton (hybrid cache + realtime fetch) */
.product-live-skeleton {
    display: inline-block;
    width: 120px;
    height: 24px;
    border-radius: 6px;
    background: linear-gradient(90deg, #eceff3 25%, #f7f8fa 50%, #eceff3 75%);
    background-size: 200% 100%;
    animation: img-skeleton-shimmer 1.2s ease-in-out infinite;
}

/* Arama sonuç sayfası — kategori grid ile hizalı */
.search-page .search-page-grid-controls {
    margin-left: auto;
}
.search-page-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    margin-top: 0.75rem;
    width: 100%;
    max-width: min(760px, 100%);
}
.search-page-q-input {
    flex: 1;
    min-width: 160px;
    padding: 12px 16px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    font-size: 14px;
    background: var(--input-bg, #fcfcfc);
    outline: none;
}
.search-page-q-input:focus {
    border-color: #000;
}
.search-page-q-btn {
    padding: 12px 24px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border: none;
    cursor: pointer;
    background: var(--button-color, #000);
    color: #fff;
    border-radius: var(--button-radius, 8px);
}
.search-page-q-btn:hover {
    opacity: 0.92;
}
.search-page-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1.25rem;
    color: var(--text-secondary, #777);
    font-size: 15px;
    line-height: 1.6;
}
.search-page-empty p {
    margin: 0;
}
.search-page-back-link {
    display: inline-block;
    margin-top: 1rem;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-color, #000);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.search-page-back-link:hover {
    opacity: 0.85;
}
.search-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 2rem auto 3.5rem;
    padding: 0 1rem;
}
.search-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-color, #111);
    background: #f3f4f6;
    transition: background 0.15s ease;
}
.search-pagination a:hover {
    background: #e5e7eb;
}
.search-pagination a.active {
    background: var(--text-color, #111);
    color: #fff;
}

/* Ana sayfa — Metin Alanı: devamını oku */
.theme-text-block-readmore-body--clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--tb-lines, 5);
    overflow: hidden;
}
.theme-text-block-readmore--expanded .theme-text-block-readmore-body {
    animation: exripe-theme-text-block-expand 0.45s ease-out;
}
@keyframes exripe-theme-text-block-expand {
    from {
        opacity: 0.72;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.theme-text-block-readmore-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-size: var(--tb-btn-fs, 0.9375rem);
    font-weight: 600;
    color: var(--tb-btn-color, #000000);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.theme-text-block-readmore-btn:hover {
    filter: brightness(0.85);
}
.theme-text-block-readmore-actions-row--fullwidth {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: var(--site-inline-padding, 20px);
    padding-right: var(--site-inline-padding, 20px);
    box-sizing: border-box;
}
.theme-text-block-readmore-actions-row--contained {
    border-radius: 0.375rem;
}

/* Mobil: tüm vitrin sayfalarında main içi yatay boşluk = --site-inline-padding (20px) + safe-area.
   PDP: ürün detay main (.product-detail-container) yatay 20px + safe-area; galeri bu kanal içinde kalır. */
@media (max-width: 768px) {
    body[data-site-container="full"] main,
    body[data-site-container="contained"] main {
        padding-left: max(var(--site-inline-padding, 20px), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--site-inline-padding, 20px), env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box;
    }
    body[data-page-type="product"] main.product-detail-container {
        padding-left: max(20px, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(20px, env(safe-area-inset-right, 0px)) !important;
    }
}

