*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Nunito', sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; }

        /* ========== KAMPANYALAR & KUPONLAR ========== */
        .home-offers-section { max-width: 1120px; margin: 1rem auto 1.15rem; padding: 0 1rem; }
        .home-offers-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
        .home-offers-head h2 { font-family: 'Playfair Display', serif; color: var(--title); font-size: 1.35rem; line-height: 1.2; }
        .home-offers-arrows { display: inline-flex; gap: .45rem; flex-shrink: 0; }
        .home-offer-arrow {
            width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border);
            background: var(--card); color: var(--title); display: inline-flex; align-items: center; justify-content: center;
            cursor: pointer; transition: border-color .2s, color .2s, opacity .2s, transform .15s;
        }
        .home-offer-arrow:hover { border-color: var(--btn); color: var(--btn); transform: translateY(-1px); }
        .home-offer-arrow:disabled { opacity: .35; cursor: default; transform: none; }
        .home-offers-viewport {
            display: flex; gap: .8rem; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none;
            padding: .25rem .05rem .45rem; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain;
        }
        .home-offers-viewport::-webkit-scrollbar { display: none; }
        .home-offer-card {
            position: relative; flex: 0 0 248px; min-height: 118px; display: flex; flex-direction: column;
            justify-content: center; gap: .22rem; border-radius: 8px; border: 1px solid var(--border);
            background: linear-gradient(135deg, color-mix(in srgb, var(--btn) 12%, var(--card)), var(--card) 68%);
            color: var(--title); box-shadow: 0 2px 12px var(--shadow); padding: 1.1rem 1rem 1.8rem;
            text-align: center; overflow: visible;
        }
        .home-offer-card.is-featured {
            border: 1.5px dashed var(--title);
            background: linear-gradient(135deg, color-mix(in srgb, var(--btn) 22%, #fff), var(--card) 72%);
        }
        .home-offer-badge {
            position: absolute; top: -12px; left: 50%; transform: translateX(-50%); width: 24px; height: 24px;
            border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
            background: var(--btn); color: var(--ticker-text, #fff); font-size: .72rem; box-shadow: 0 3px 10px rgba(0,0,0,.16);
        }
        .home-offer-card.is-featured .home-offer-title {
            display: inline-flex; align-self: center; padding: .28rem 1.05rem; border-radius: 4px;
            background: color-mix(in srgb, var(--btn) 14%, #fff); margin-top: -.2rem;
        }
        .home-offer-title { font-weight: 900; color: #111; font-size: .98rem; line-height: 1.15; }
        .home-offer-text { font-weight: 800; color: var(--title); font-size: .84rem; line-height: 1.2; }
        .home-offer-detail, .home-offer-meta { font-size: .72rem; color: var(--text); line-height: 1.25; }
        .home-offer-meta { opacity: .82; }
        .home-offer-details-btn {
            position: absolute;
            left: 0;
            right: 0;
            bottom: .45rem;
            width: 100%;
            border: 0;
            background: transparent;
            color: var(--text);
            font-family: 'Nunito', sans-serif;
            font-size: .72rem;
            font-weight: 800;
            cursor: pointer;
            padding: .2rem .5rem;
        }
        .home-offer-details-btn:hover { color: var(--btn); }
        .offer-modal {
            position: fixed;
            inset: 0;
            z-index: 1200;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            background: rgba(0,0,0,.55);
        }
        .offer-modal.open { display: flex; }
        .offer-modal-box {
            position: relative;
            width: min(530px, 100%);
            max-height: min(82vh, 560px);
            overflow-y: auto;
            border-radius: 10px;
            background: var(--card);
            color: var(--text);
            box-shadow: 0 18px 54px rgba(0,0,0,.28);
            padding: 1.35rem 1.45rem;
        }
        .offer-modal-close {
            position: absolute;
            top: .9rem;
            right: .9rem;
            width: 34px;
            height: 34px;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: var(--text);
            font-size: 1.05rem;
            cursor: pointer;
        }
        .offer-modal-close:hover { background: rgba(0,0,0,.06); color: var(--title); }
        .offer-modal-box h3 {
            font-family: 'Playfair Display', serif;
            color: var(--title);
            font-size: 1.35rem;
            margin: 0 2.25rem 1rem 0;
        }
        .offer-modal-content { display: flex; flex-direction: column; gap: 1.15rem; }
        .offer-modal-row { display: flex; gap: .85rem; align-items: flex-start; }
        .offer-modal-icon {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: var(--btn);
            color: var(--ticker-text, #fff);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: .7rem;
            flex: 0 0 auto;
            margin-top: .1rem;
        }
        .offer-modal-row h4 {
            color: var(--title);
            font-size: .98rem;
            margin: 0 0 .4rem;
            font-weight: 900;
        }
        .offer-modal-row p,
        .offer-modal-row li {
            font-size: .9rem;
            line-height: 1.35;
            margin: .28rem 0;
        }
        .offer-modal-row ul { padding-left: 1.1rem; margin: .35rem 0 0; }

        /* ========== HEADER ========== */
        .site-header {
            background: linear-gradient(160deg, var(--header-from) 0%, var(--header-mid) 60%, var(--header-to) 100%);
            padding: 2rem 1.25rem 3rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .site-header::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .header-logo {
            width: 100px; height: 100px; border-radius: 50%; object-fit: cover;
            border: 4px solid rgba(255,255,255,.4); background: #fff; padding: 4px;
            box-shadow: 0 6px 30px rgba(0,0,0,.3); position: relative;
        }
        .header-title {
            font-family: 'Playfair Display', serif; color: #fff; font-size: 1.7rem;
            margin-top: .75rem; text-shadow: 0 2px 8px rgba(0,0,0,.25); position: relative;
        }
        .header-subtitle {
            color: rgba(255,255,255,.7); font-size: .85rem; margin-top: .3rem;
            position: relative; letter-spacing: 1px; text-transform: uppercase;
        }

        /* ========== WAVE ========== */

        /* ========== KAMPANYA TICKER ========== */
        .ticker-wrap {
            background: linear-gradient(90deg, var(--ticker-from), var(--ticker-to));
            overflow: hidden;
            white-space: nowrap;
            padding: 0;
            height: 38px;
            display: flex;
            align-items: center;
            box-shadow: 0 2px 8px rgba(109,61,0,.2);
        }
        .ticker-track {
            display: inline-flex;
            align-items: center;
            animation: ticker-scroll 30s linear infinite;
            will-change: transform;
        }
        .ticker-wrap:hover .ticker-track { animation-play-state: paused; }
        .ticker-item {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            padding: 0 2.5rem;
            font-family: 'Nunito', sans-serif;
            font-size: .82rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: .3px;
            text-transform: uppercase;
        }
        .ticker-dot {
            width: 5px; height: 5px;
            background: rgba(255,255,255,.5);
            border-radius: 50%;
            display: inline-block;
            flex-shrink: 0;
        }
        @keyframes ticker-scroll {
            0%   { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* ========== KATEGORİ BAŞLIĞI ========== */
        .cat-heading {
            max-width: 700px;
            margin: 2rem auto 0.75rem;
            padding: 0 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }
        .cat-heading-line {
            flex: 1;
            height: 1px;
            background: var(--border);
        }
        .cat-heading-text {
            font-family: 'Playfair Display', serif;
            color: var(--title);
            font-size: 1.25rem;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: .4rem;
        }

        /* ========== HOME CATEGORIES ========== */
        .home-categories-section {
            max-width: 1120px;
            margin: 1rem auto 1.25rem;
            padding: 0 1rem;
        }
        .home-categories-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            margin-bottom: .85rem;
        }
        .home-categories-head h2 {
            font-family: 'Playfair Display', serif;
            color: var(--title);
            font-size: 1.35rem;
            line-height: 1.2;
        }
        .campaign-menu-badge,
        .campaign-product-note {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            border-radius: 999px;
            font-family: 'Nunito', sans-serif;
            font-weight: 900;
        }
        .campaign-category-section .cat-heading-text {
            color: #c0392b;
        }
        .campaign-menu-badge {
            margin-left: .55rem;
            padding: .18rem .58rem;
            font-size: .72rem;
            background: #ffe5e1;
            color: #c0392b;
            vertical-align: middle;
        }
        .campaign-product-note {
            margin-top: .25rem;
            padding: .12rem .45rem;
            font-size: .68rem;
            background: #fff0f0;
            color: #c0392b;
        }
        .product-card-price.has-discount,
        .bs-card-price.has-discount {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            gap: .05rem;
            line-height: 1.15;
        }
        .product-card-price .old-price,
        .bs-card-price .old-price {
            color: #9b8060;
            text-decoration: line-through;
            font-size: .8em;
            font-weight: 800;
        }
        .home-categories-arrows {
            display: inline-flex;
            gap: .45rem;
            flex-shrink: 0;
        }
        .home-cat-arrow {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 1px solid var(--border);
            background: var(--card);
            color: var(--title);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: border-color .2s, color .2s, opacity .2s, transform .15s;
        }
        .home-cat-arrow:hover {
            border-color: var(--btn);
            color: var(--btn);
            transform: translateY(-1px);
        }
        .home-cat-arrow:disabled {
            opacity: .35;
            cursor: default;
            transform: none;
        }
        .home-categories-viewport {
            display: flex;
            gap: .75rem;
            overflow-x: auto;
            scroll-behavior: smooth;
            scrollbar-width: none;
            padding: .1rem .05rem .35rem;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-inline: contain;
        }
        .home-categories-viewport::-webkit-scrollbar { display: none; }
        .home-category-card {
            position: relative;
            flex: 0 0 168px;
            min-height: 170px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border-radius: 16px;
            border: 2px solid transparent;
            background: var(--card);
            color: var(--title);
            text-decoration: none;
            box-shadow: 0 2px 10px var(--shadow);
            transition: border-color .2s, box-shadow .2s, transform .15s;
        }
        .home-category-card:hover,
        .home-category-card.is-active {
            border-color: var(--btn);
            box-shadow: 0 4px 18px rgba(109,61,0,.16);
        }
        .home-category-card:hover { transform: translateY(-2px); }
        .home-category-check {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: none;
            align-items: center;
            justify-content: center;
            background: var(--btn);
            color: #fff;
            font-size: .75rem;
            z-index: 2;
        }
        .home-category-card.is-active .home-category-check { display: flex; }
        .home-category-image {
            width: 100%;
            height: 94px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #f0e8d0, #e8d5a0);
            overflow: hidden;
        }
        .home-category-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .home-category-ph {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.2rem;
        }
        .home-category-name {
            display: block;
            padding: .62rem .72rem .15rem;
            font-size: .82rem;
            font-weight: 900;
            line-height: 1.18;
            text-transform: uppercase;
            min-height: 2.55rem;
        }
        .home-category-count {
            display: block;
            padding: 0 .72rem .72rem;
            font-size: .76rem;
            color: var(--text);
            opacity: .8;
        }

        /* ========== PRODUCT GRID ========== */
        .product-list {
            max-width: 700px;
            margin: 0 auto;
            padding: 0 1rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: .75rem;
        }

        .category-section {
            width: 100%;
            max-width: 700px;
            margin: 0 auto;
            box-sizing: border-box;
            scroll-margin-top: 1rem;
        }

        .product-card {
            background: var(--card);
            border: 1px solid var(--border);
            border-radius: 14px;
            overflow: hidden;
            box-shadow: 0 2px 10px var(--shadow);
            transition: box-shadow .2s, transform .15s;
            display: flex;
            flex-direction: column;
        }
        .product-card:hover { box-shadow: 0 4px 18px rgba(109,61,0,.15); transform: translateY(-2px); }
        .product-card.sold-out,
        .bs-card.sold-out {
            opacity: .72;
        }
        .sold-out-badge {
            display: inline-flex;
            align-items: center;
            gap: .25rem;
            padding: .32rem .55rem;
            border-radius: 999px;
            background: #c0392b;
            color: #fff;
            font-size: .75rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .product-card-img-wrap {
            display: block;
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            background: linear-gradient(135deg, #f0e8d0, #e8d5a0);
            text-decoration: none;
            flex-shrink: 0;
        }
        .product-card-img {
            width: 100%; height: 100%;
            object-fit: cover; display: block;
            transition: transform .3s;
        }
        .product-card-img-wrap:hover .product-card-img { transform: scale(1.04); }
        .product-card-img-ph {
            width: 100%; height: 100%;
            display: flex; align-items: center; justify-content: center;
            font-size: 2.5rem;
        }
        .product-card-body {
            padding: .6rem .7rem .75rem;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .product-card-name {
            font-weight: 700;
            color: var(--title);
            font-size: .88rem;
            line-height: 1.3;
            flex: 1;
            text-decoration: none;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: .45rem;
        }
        .product-card-name:hover { color: var(--btn); }
        .product-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .3rem;
            margin-top: auto;
        }
        .product-card-price {
            font-weight: 800;
            color: var(--btn);
            font-size: .93rem;
            white-space: nowrap;
        }

        /* ========== SEPET İKONU ========== */
        /* ---- FAB Grubu ---- */
        .fab-group {
            position: fixed;
            top: 14px;
            right: 16px;
            z-index: 999;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .cart-fab {
            background: var(--btn);
            color: #fff;
            border: none;
            border-radius: 50px;
            padding: .55rem .9rem;
            display: flex;
            align-items: center;
            gap: .4rem;
            font-family: 'Nunito', sans-serif;
            font-weight: 700;
            font-size: .9rem;
            cursor: pointer;
            box-shadow: 0 4px 16px rgba(109,61,0,.3);
            text-decoration: none;
            transition: background .2s, transform .15s;
            min-width: 52px;
            justify-content: center;
        }
        .cart-fab:hover { background: var(--btn-hover); transform: scale(1.05); }
        .cart-fab svg { flex-shrink: 0; }
        /* ---- Profil FAB ---- */
        .profile-fab {
            background: var(--btn);
            color: #fff;
            border: none;
            border-radius: 50%;
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 16px rgba(109,61,0,.3);
            transition: background .2s, transform .15s;
            position: relative;
            flex-shrink: 0;
        }
        .profile-fab:hover { background: var(--btn-hover); transform: scale(1.05); }
        .profile-order-badge {
            position: absolute;
            top: -3px;
            right: -3px;
            background: #c0392b;
            color: #fff;
            border-radius: 50%;
            width: 16px;
            height: 16px;
            font-size: .6rem;
            font-weight: 800;
            display: none;
            align-items: center;
            justify-content: center;
            line-height: 1;
            border: 1.5px solid #fff;
        }
        .profile-order-badge.visible { display: flex; }
        /* ---- Profil Dropdown ---- */
        .profile-dropdown {
            position: fixed;
            top: 66px;
            right: 16px;
            z-index: 998;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 12px;
            box-shadow: 0 6px 24px rgba(109,61,0,.18);
            min-width: 190px;
            display: none;
            overflow: hidden;
        }
        .profile-dropdown.open { display: block; }
        .profile-dropdown-item {
            display: flex;
            align-items: center;
            gap: .6rem;
            padding: .9rem 1rem;
            text-decoration: none;
            color: var(--title);
            font-family: 'Nunito', sans-serif;
            font-weight: 700;
            font-size: .9rem;
            transition: background .15s;
        }
        .profile-dropdown-item:hover { background: #faf5e8; }
        .profile-order-count {
            margin-left: auto;
            background: var(--btn);
            color: #fff;
            border-radius: 20px;
            padding: .1rem .45rem;
            font-size: .72rem;
            font-weight: 800;
            display: none;
        }
        .profile-order-count.visible { display: inline-block; }
        .cart-count {
            background: #fff;
            color: var(--btn);
            border-radius: 50%;
            width: 20px;
            height: 20px;
            display: none;
            align-items: center;
            justify-content: center;
            font-size: .72rem;
            font-weight: 800;
            line-height: 1;
        }
        .cart-count.visible { display: flex; }

        /* ========== ÖZEL MENÜ KONTROLLERI ========== */
        .cart-action-wrap { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-top: .85rem; }
        .qty-wrap { display: none; align-items: center; gap: 0; border: 1.5px solid var(--border); border-radius: 8px; overflow: hidden; background: #fff; }
        .qty-wrap.visible { display: flex; }
        .qty-btn { width: 34px; height: 34px; background: #f0e8d0; border: none; cursor: pointer; font-size: 1.1rem; font-weight: 700; color: var(--title); display: flex; align-items: center; justify-content: center; transition: background .15s; flex-shrink: 0; }
        .qty-btn:hover { background: var(--border); }
        .qty-input { width: 40px; height: 34px; border: none; border-left: 1px solid var(--border); border-right: 1px solid var(--border); text-align: center; font-family: 'Nunito', sans-serif; font-size: .95rem; font-weight: 700; color: var(--title); background: #fff; outline: none; -moz-appearance: textfield; }
        .qty-input::-webkit-inner-spin-button, .qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
        .add-to-cart-btn { display: inline-flex; align-items: center; gap: .35rem; padding: .55rem 1.1rem; background: var(--btn); color: #fff; border: none; border-radius: 8px; font-family: 'Nunito', sans-serif; font-size: .85rem; font-weight: 700; cursor: pointer; transition: background .2s; height: 34px; }
        .add-to-cart-btn:hover { background: var(--btn-hover); }
        .add-to-cart-btn.in-cart { background: #c0392b; }
        .add-to-cart-btn.in-cart:hover { background: #962d22; }
        .add-to-cart-btn:disabled,
        .card-add-btn:disabled,
        .bs-add-btn:disabled {
            background: #b8ad9a;
            cursor: not-allowed;
            transform: none;
        }

        /* ========== SEPETE EKLE BUTONU (KART) ========== */
        .card-add-btn {
            display: inline-flex;
            align-items: center;
            gap: .25rem;
            padding: .38rem .6rem;
            background: var(--btn);
            color: #fff;
            border: none;
            border-radius: 8px;
            font-family: 'Nunito', sans-serif;
            font-size: .78rem;
            font-weight: 700;
            cursor: pointer;
            transition: background .2s, transform .15s;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .card-add-btn:hover { background: var(--btn-hover); }
        .card-add-btn.in-cart { background: #27ae60; }
        .card-add-btn.in-cart:hover { background: #1e8449; }
        .last-orders-section{max-width:700px;margin:1.5rem auto 0;padding:0 1rem}
        .last-orders-header{display:flex;align-items:center;gap:.75rem;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
        .last-orders-header-line{flex:1;height:1px;background:var(--border)}
        .last-orders-header-text{font-family:'Playfair Display',serif;color:var(--title);font-size:1.25rem;white-space:nowrap;display:flex;align-items:center;gap:.4rem}
        .last-orders-arrow{color:var(--border);font-size:.85rem;transition:transform .3s;flex-shrink:0}
        .last-orders-section.open .last-orders-arrow{transform:rotate(180deg);color:var(--btn)}
        .last-orders-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
        .last-orders-section.open .last-orders-body{max-height:1500px}
        .order-history-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem 1rem;margin-top:.75rem;box-shadow:0 2px 8px var(--shadow);position:relative}
        .order-history-delete{position:absolute;top:.55rem;right:.6rem;background:none;border:none;cursor:pointer;color:#bba060;font-size:1rem;line-height:1;padding:.2rem .3rem;border-radius:4px;transition:color .2s,background .2s}
        .order-history-delete:hover{color:#c0392b;background:#fdecea}
        .order-history-date{font-size:.78rem;color:#9b8060;font-weight:700;margin-bottom:.6rem}
        .order-history-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px dashed var(--border)}
        .order-history-row:last-of-type{border-bottom:none}
        .order-history-thumb{width:40px;height:40px;object-fit:cover;border-radius:7px;border:1px solid var(--border);flex-shrink:0;background:#f0e8d0}
        .order-history-thumb-ph{width:40px;height:40px;border-radius:7px;border:1px solid var(--border);background:linear-gradient(135deg,#f0e8d0,#e8d5a0);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
        .order-history-name{flex:1;font-size:.88rem;font-weight:600;color:var(--title)}
        .order-history-qty{font-size:.8rem;color:#9b8060;white-space:nowrap}
        .order-history-price{font-size:.88rem;font-weight:700;color:var(--btn);white-space:nowrap}
        .order-history-total{display:flex;justify-content:space-between;align-items:center;margin-top:.65rem;flex-wrap:wrap;gap:.5rem}
        .order-history-total-text{font-size:.88rem;font-weight:700;color:var(--title)}
        .btn-reorder{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--btn);color:#fff;border:none;border-radius:8px;font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s}
        .btn-reorder:hover{background:var(--btn-hover)}
        .lightbox-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.6);align-items:center;justify-content:center;padding:1.5rem}
        .lightbox-overlay.visible{display:flex}
        .lightbox-box{background:var(--card);border-radius:16px;padding:2rem 1.75rem;max-width:380px;width:100%;text-align:center;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.3);animation:lbIn .3s ease}
        @keyframes lbIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
        .lightbox-close{position:absolute;top:.75rem;right:.85rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text);opacity:.6;line-height:1}
        .lightbox-close:hover{opacity:1}
        .lightbox-icon{font-size:2.8rem;margin-bottom:.75rem}
        .lightbox-title{font-family:'Playfair Display',serif;color:var(--title);font-size:1.2rem;margin-bottom:.75rem}
        .lightbox-text{font-size:.9rem;color:var(--text);line-height:1.6}
        /* Özel Menü */
        .special-menu-card {
            max-width: 700px; margin: 0 auto 1rem; padding: 0 1rem;
        }
        .special-menu-items {
            background: var(--card); border: 1px solid var(--border);
            border-radius: 12px; overflow: hidden;
            box-shadow: 0 2px 12px var(--shadow);
        }
        .special-menu-item-row {
            display: flex; align-items: center; gap: .85rem;
            padding: .75rem 1rem; border-bottom: 1px dashed var(--border);
        }
        .special-menu-item-row:last-child { border-bottom: none; }
        .special-menu-item-thumb {
            width: 52px; height: 52px; object-fit: cover;
            border-radius: 8px; border: 1px solid var(--border); flex-shrink: 0;
        }
        .special-menu-item-ph {
            width: 52px; height: 52px; border-radius: 8px;
            border: 1px solid var(--border); flex-shrink: 0;
            background: linear-gradient(135deg,#f0e8d0,#e8d5a0);
            display: flex; align-items: center; justify-content: center;
            font-size: 1.2rem;
        }
        .special-menu-item-name { font-weight: 600; font-size: .9rem; color: var(--title); }
        .special-menu-item-price { font-size: .82rem; color: #9b8060; margin-top: .1rem; }
        .special-menu-footer {
            padding: 1rem; border-top: 1px solid var(--border);
            display: flex; align-items: center; justify-content: space-between;
            flex-wrap: wrap; gap: .75rem; background: var(--card);
            border-radius: 0 0 12px 12px;
        }
        .special-menu-total { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
        .special-menu-total-label { font-size: .85rem; color: var(--text); }
        .special-menu-total-old { text-decoration: line-through; opacity: .5; font-size: .88rem; color: var(--text); }
        .special-menu-total-new { font-weight: 800; font-size: 1.05rem; color: var(--btn); }
        .special-menu-badge{display:inline-block;background:var(--btn);color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:20px;margin-left:.5rem;vertical-align:middle}
        .special-menu-info{margin:.6rem 0 .9rem;border:1px solid var(--border);border-radius:8px;padding:.6rem .85rem;font-size:.82rem;color:var(--title);background:rgba(0,0,0,.03)}
        .special-price-old{text-decoration:line-through;opacity:.5;font-size:.88rem}
        .special-price-new{font-weight:800;color:var(--btn);font-size:1rem}
        .special-qty-wrap{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}
        .special-qty-btn{width:32px;height:32px;background:var(--border);border:none;border-radius:7px;font-size:1rem;font-weight:700;cursor:pointer;color:var(--title);display:flex;align-items:center;justify-content:center}
        .special-add-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:var(--btn);color:#fff;border:none;border-radius:8px;font-family:'Nunito',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s}
        .special-add-btn:hover{background:var(--btn-hover)}

        /* ========== EN ÇOK SATANLAR CAROUSEL ========== */
        .bs-section { width: 100%; max-width: 700px; margin: 0 auto; }
        .bs-track-outer {
            overflow: hidden;
            padding: 0 1rem;
            /* Soluk fade efekti kenarlarda */
            mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
            -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
        }
        .bs-track {
            display: flex;
            gap: .65rem;
            width: max-content;
            will-change: transform;
            cursor: grab;
            user-select: none;
            -webkit-user-select: none;
        }
        .bs-track.dragging { cursor: grabbing; }
        .bs-card {
            flex: 0 0 138px;
            width: 138px;
            background: var(--card);
            border: 1px solid var(--border);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 2px 8px var(--shadow);
            display: flex;
            flex-direction: column;
            transition: box-shadow .2s, transform .15s;
        }
        .bs-card:hover { box-shadow: 0 4px 14px rgba(109,61,0,.15); transform: translateY(-2px); }
        .bs-card-img-wrap {
            display: block;
            width: 100%;
            height: 110px;
            overflow: hidden;
            background: linear-gradient(135deg, #f0e8d0, #e8d5a0);
            text-decoration: none;
            flex-shrink: 0;
        }
        .bs-card-img {
            width: 100%; height: 100%;
            object-fit: cover; display: block;
            transition: transform .3s;
        }
        .bs-card-img-wrap:hover .bs-card-img { transform: scale(1.05); }
        .bs-card-img-ph {
            width: 100%; height: 100%;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.8rem;
        }
        .bs-card-body {
            padding: .5rem .55rem .6rem;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .bs-card-name {
            font-size: .76rem;
            font-weight: 700;
            color: var(--title);
            line-height: 1.25;
            flex: 1;
            text-decoration: none;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: .35rem;
        }
        .bs-card-name:hover { color: var(--btn); }
        .bs-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .2rem;
            margin-top: auto;
        }
        .bs-card-price {
            font-size: .78rem;
            font-weight: 800;
            color: var(--btn);
            white-space: nowrap;
        }
        .bs-add-btn {
            display: inline-flex;
            align-items: center;
            gap: .12rem;
            padding: .28rem .48rem;
            background: var(--btn);
            color: #fff;
            border: none;
            border-radius: 7px;
            font-family: 'Nunito', sans-serif;
            font-size: .7rem;
            font-weight: 700;
            cursor: pointer;
            transition: background .2s;
            flex-shrink: 0;
            white-space: nowrap;
        }
        .bs-add-btn:hover { background: var(--btn-hover); }
        .bs-add-btn.in-cart { background: #27ae60; }
        .bs-add-btn.in-cart:hover { background: #1e8449; }

        @media (max-width: 520px) {
            .home-categories-section {
                margin-top: .85rem;
                padding: 0 .85rem;
            }
            .home-categories-head h2 {
                font-size: 1.18rem;
            }
            .home-categories-arrows {
                display: none;
            }
            .home-category-card {
                flex-basis: 145px;
                min-height: 158px;
                border-radius: 14px;
            }
            .home-category-image {
                height: 84px;
            }
            .home-category-name {
                font-size: .76rem;
            }
        }
