/* ============================================
   RestoQR - QR Menu Customer Interface CSS
   Mobile-first, Modern, Fast
   ============================================ */

:root {
    --qr-primary: #d4af37;
    --qr-primary-light: rgba(212,175,55,0.10);
    --qr-primary-glow: rgba(212,175,55,0.35);
    --qr-gold-soft: #c9a55c;
    --qr-gold-deep: #8b6914;
    --qr-gold-bright: #f4d03f;
    --qr-radius: 1rem;
    --qr-radius-sm: 0.75rem;
    --qr-radius-xs: 0.5rem;
    --qr-shadow: 0 2px 12px rgba(0,0,0,0.45);
    --qr-shadow-lg: 0 12px 40px rgba(0,0,0,0.65);
    --qr-shadow-gold: 0 4px 24px rgba(212,175,55,0.18);
    --qr-transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
    --qr-topbar-h: 52px;
    --qr-bottombar-h: 60px;
    --qr-gradient-gold: linear-gradient(135deg, #f4d03f 0%, #d4af37 45%, #b8860b 100%);
    --qr-gradient-dark: linear-gradient(180deg, #0a0a0a 0%, #141414 100%);
}

/* Premium Black + Gold palette - tek tema */
[data-bs-theme="light"],
[data-bs-theme="dark"],
:root {
    --qr-bg: #0a0a0a;
    --qr-card-bg: #141414;
    --qr-card-bg-elevated: #1a1a1a;
    --qr-text: #f4e9c1;
    --qr-text-muted: #8a7e5e;
    --qr-border: rgba(212,175,55,0.18);
    --qr-border-strong: rgba(212,175,55,0.32);
    --qr-topbar-bg: rgba(10,10,10,0.92);
    --qr-search-bg: #1a1a1a;
}

body { background: var(--qr-bg) !important; color: var(--qr-text) !important; }

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--qr-bg);
    color: var(--qr-text);
    margin: 0;
    padding-top: var(--qr-topbar-h);
    padding-bottom: calc(var(--qr-bottombar-h) + 10px);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

/* ============================================
   SIDEBAR
   ============================================ */
.qr-sidebar-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}
.qr-sidebar-overlay.open { opacity: 1; visibility: visible; }

.qr-sidebar {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 280px; max-width: 85vw;
    background: var(--qr-card-bg);
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
    display: flex; flex-direction: column;
    box-shadow: 4px 0 24px rgba(0,0,0,0.15);
}
.qr-sidebar.open { transform: translateX(0); }

.qr-sidebar-header {
    display: flex; align-items: center; gap: 0.6rem;
    padding: 1rem;
    border-bottom: 1px solid var(--qr-border);
}
.qr-sidebar-logo { width: 32px; height: 32px; border-radius: 0.5rem; object-fit: cover; }
.qr-sidebar-brand { font-weight: 700; font-size: 1rem; color: var(--qr-text); flex: 1; }
.qr-sidebar-close {
    width: 32px; height: 32px; border: none; background: none;
    color: var(--qr-text-muted); font-size: 1.1rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    border-radius: 0.5rem; transition: var(--qr-transition);
}
.qr-sidebar-close:hover { background: var(--qr-search-bg); color: var(--qr-text); }

.qr-sidebar-nav {
    list-style: none; margin: 0; padding: 0.5rem 0;
    flex: 1; overflow-y: auto;
}
.qr-sidebar-nav li a {
    display: flex; align-items: center; gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    color: var(--qr-text);
    text-decoration: none;
    font-size: 0.9rem; font-weight: 500;
    transition: var(--qr-transition);
}
.qr-sidebar-nav li a:hover {
    background: var(--qr-primary-light); color: var(--qr-primary);
}
.qr-sidebar-nav li a i { font-size: 1.1rem; width: 20px; text-align: center; color: var(--qr-text-muted); }
.qr-sidebar-nav li a:hover i { color: var(--qr-primary); }

.qr-sidebar-footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--qr-border);
    background: var(--qr-search-bg);
}
.qr-sidebar-footer-title { font-size: 0.75rem; font-weight: 700; color: var(--qr-text); margin-bottom: 0.5rem; }
.qr-sidebar-contact {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.78rem; color: var(--qr-text-muted); text-decoration: none;
    padding: 0.2rem 0;
}
.qr-sidebar-contact:hover { color: var(--qr-primary); }
.qr-sidebar-socials { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.75rem; }

.qr-social-btn {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.35rem 0.7rem;
    border: 1.5px solid var(--qr-border);
    border-radius: 2rem;
    font-size: 0.72rem; font-weight: 600;
    color: var(--qr-text);
    text-decoration: none;
    background: var(--qr-card-bg);
    transition: var(--qr-transition);
}
.qr-social-btn:hover { border-color: var(--qr-primary); color: var(--qr-primary); }

.qr-sidebar-copy { font-size: 0.65rem; color: var(--qr-text-muted); margin-top: 0.75rem; }

/* ============================================
   TOP BAR
   ============================================ */
.qr-topbar {
    position: fixed; top: 0; left: 0; right: 0;
    height: var(--qr-topbar-h);
    background: var(--qr-topbar-bg);
    border-bottom: 1px solid var(--qr-border);
    display: flex; align-items: center;
    padding: 0 0.75rem;
    z-index: 500;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.qr-topbar-menu {
    width: 36px; height: 36px; border: none; background: none;
    color: var(--qr-text); font-size: 1.3rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    border-radius: 0.5rem; transition: var(--qr-transition);
}
.qr-topbar-menu:hover { background: var(--qr-search-bg); }

.qr-topbar-center {
    flex: 1; display: flex; align-items: center; gap: 0.5rem;
    justify-content: center;
}
.qr-topbar-logo { width: 28px; height: 28px; border-radius: 0.4rem; object-fit: cover; }
.qr-topbar-title { font-size: 0.95rem; font-weight: 700; color: var(--qr-text); }

.qr-topbar-right { display: flex; align-items: center; gap: 0.5rem; }
.qr-topbar-table {
    font-size: 0.68rem; font-weight: 600; color: var(--qr-primary);
    background: var(--qr-primary-light); padding: 0.2rem 0.5rem;
    border-radius: 1rem; white-space: nowrap;
}

.qr-lang-bar { display: flex; align-items: center; gap: 0.2rem; }

.qr-lang-btn {
    width: 26px; height: 26px; border-radius: 50%;
    border: 2px solid transparent; padding: 0; background: none;
    cursor: pointer; transition: var(--qr-transition);
    display: flex; align-items: center; justify-content: center;
    opacity: 0.5; font-size: 0.8rem; overflow: hidden;
    color: var(--qr-text);
}
.qr-lang-btn:hover { opacity: 0.8; }
.qr-lang-btn.active { border-color: var(--qr-primary); opacity: 1; }
.qr-lang-btn .fi { font-size: 0.85rem; border-radius: 50%; }

/* ============================================
   HERO BANNER
   ============================================ */
.qr-hero {
    position: relative;
    min-height: 200px;
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #a855f7 100%);
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.qr-hero-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 1;
}
.qr-hero-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(79,70,229,0.75) 100%);
    z-index: 2;
}
.qr-hero-content {
    position: relative; z-index: 3;
    text-align: center; color: white;
    padding: 1.25rem 1rem 1rem;
}
.qr-hero-logo {
    width: 90px; height: 90px;
    border-radius: 1.5rem; object-fit: cover;
    border: 3px solid rgba(255,255,255,0.35);
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
    margin-bottom: 0.5rem;
    background: rgba(255,255,255,0.1);
}
.qr-hero-logo-fallback {
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.5rem;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,0.25));
}
.qr-hero-name {
    font-size: 1.5rem; font-weight: 800; margin: 0;
    text-shadow: 0 2px 12px rgba(0,0,0,0.3);
    letter-spacing: -0.02em;
}
.qr-hero-slogan {
    font-size: 0.88rem; opacity: 0.9; margin: 0.35rem 0 0;
    font-weight: 400; letter-spacing: 0.01em;
}
.qr-hero-welcome {
    display: inline-flex; align-items: center; gap: 0.5rem;
    margin-top: 0.6rem; padding: 0.35rem 1rem;
    background: rgba(255,255,255,0.15); backdrop-filter: blur(8px);
    border-radius: 2rem; font-size: 0.78rem; font-weight: 500;
    color: rgba(255,255,255,0.95); letter-spacing: 0.02em;
    border: 1px solid rgba(255,255,255,0.2);
}
.qr-hero-dot { opacity: 0.5; font-size: 0.6rem; }

/* ============================================
   SEARCH
   ============================================ */
.qr-search-wrap { padding: 0.75rem; }
.qr-search {
    display: flex; align-items: center; gap: 0.5rem;
    background: var(--qr-card-bg);
    border-radius: 2rem; padding: 0.6rem 1rem;
    border: 1.5px solid var(--qr-border);
    transition: var(--qr-transition);
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.qr-search:focus-within { border-color: var(--qr-primary); box-shadow: 0 0 0 3px rgba(99,102,241,0.12); }
.qr-search i { color: var(--qr-text-muted); font-size: 0.9rem; }
.qr-search input {
    border: none; background: transparent; outline: none;
    width: 100%; font-size: 0.85rem; color: var(--qr-text);
}
.qr-search input::placeholder { color: var(--qr-text-muted); }

/* ============================================
   SECTIONS
   ============================================ */
.qr-section { padding: 0 0 0.5rem; }
.qr-section-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.75rem 1rem 0.5rem;
}
.qr-section-title {
    font-size: 1.05rem; font-weight: 700; color: var(--qr-text); margin: 0;
    display: flex; align-items: center;
}
.qr-section-title i { color: var(--qr-primary); }

/* ============================================
   CAMPAIGNS
   ============================================ */
.qr-campaigns-scroll {
    display: flex; gap: 0.6rem; overflow-x: auto;
    padding: 0 1rem 0.5rem; scroll-snap-type: x mandatory;
}
.qr-campaign-card {
    flex-shrink: 0; width: 260px; scroll-snap-align: start;
    background: linear-gradient(135deg, var(--qr-primary), #8b5cf6);
    color: white; padding: 1rem; border-radius: var(--qr-radius);
    display: flex; align-items: center; gap: 0.75rem;
    box-shadow: 0 4px 15px rgba(99,102,241,0.3);
}
.campaign-badge {
    background: rgba(255,255,255,0.2); padding: 0.35rem 0.65rem;
    border-radius: 0.5rem; font-weight: 800; font-size: 0.85rem;
    white-space: nowrap; backdrop-filter: blur(4px);
}
.campaign-text { flex: 1; min-width: 0; }
.campaign-name { font-weight: 700; font-size: 0.85rem; margin-bottom: 0.15rem; }
.campaign-desc { font-size: 0.72rem; opacity: 0.85; line-height: 1.3; }

/* ============================================
   CATEGORIES GRID
   ============================================ */
.qr-categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0 1rem 0.5rem;
}
.qr-cat-card {
    background: var(--qr-card-bg);
    border: 1.5px solid var(--qr-border);
    border-radius: var(--qr-radius-sm);
    padding: 0.75rem 0.5rem;
    text-align: center;
    cursor: pointer;
    transition: var(--qr-transition);
    display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
}
.qr-cat-card:hover { border-color: var(--qr-primary); transform: translateY(-2px); box-shadow: var(--qr-shadow); }
.qr-cat-card.active {
    background: var(--qr-primary); border-color: var(--qr-primary); color: white;
    box-shadow: 0 4px 15px rgba(99,102,241,0.35);
}
.qr-cat-card.active .qr-cat-name,
.qr-cat-card.active .qr-cat-count { color: white; }

.qr-cat-icon {
    font-size: 1.5rem; line-height: 1;
    font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji', sans-serif;
}
.qr-cat-name { font-size: 0.72rem; font-weight: 700; color: var(--qr-text); line-height: 1.2; }
.qr-cat-count { font-size: 0.6rem; color: var(--qr-text-muted); }

/* ============================================
   Product Cards
   ============================================ */
.qr-product-card {
    background: var(--qr-card-bg);
    border-radius: var(--qr-radius-sm);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    transition: var(--qr-transition);
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--qr-border);
}

.qr-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-color: rgba(99,102,241,0.3);
}
.qr-product-card:active { transform: scale(0.98); }
.qr-product-card.out-of-stock { opacity: 0.5; pointer-events: none; }

/* <picture> sarmalayıcı yerleşimi hiç etkilemez: kutusu şeffaf olur, içindeki <img> aynen eskisi gibi konumlanır */
.product-image-wrap picture, .qr-hero picture, .qr-pop picture { display: contents; }
.product-image-wrap {
    position: relative; width: 100%; padding-top: 70%;
    overflow: hidden; background: var(--qr-search-bg);
}
.product-image {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover; transition: transform 0.4s ease;
}
.qr-product-card:hover .product-image { transform: scale(1.05); }
.product-image-placeholder {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
    color: var(--qr-text-muted); font-size: 2.2rem;
}
[data-bs-theme="dark"] .product-image-placeholder {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
}

.product-badges {
    position: absolute; top: 0.4rem; left: 0.4rem;
    display: flex; flex-direction: column; gap: 0.2rem;
}
.pbadge {
    display: inline-block; padding: 0.12rem 0.4rem;
    border-radius: 0.3rem; font-size: 0.62rem; font-weight: 700; line-height: 1.3;
}
.pbadge-new { background: #10b981; color: white; }
.pbadge-popular { background: rgba(0,0,0,0.5); color: white; backdrop-filter: blur(4px); }
.pbadge-discount { background: #ef4444; color: white; }

.product-info {
    padding: 0.5rem 0.65rem 0.6rem;
    display: flex; flex-direction: column; flex-grow: 1;
}
.product-cat-label {
    font-size: 0.6rem; color: var(--qr-primary); font-weight: 600;
    margin-bottom: 0.15rem; text-transform: uppercase; letter-spacing: 0.03em;
}
.product-name {
    font-size: 0.82rem; font-weight: 700; margin: 0 0 0.15rem;
    line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2;
    line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    color: var(--qr-text);
}
.product-desc {
    font-size: 0.68rem; color: var(--qr-text-muted); margin: 0 0 0.3rem;
    line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2;
    line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.product-footer {
    display: flex; align-items: center; justify-content: space-between; margin-top: auto;
}
.product-price { display: flex; flex-direction: column; }
.price-old {
    font-size: 0.6rem; color: var(--qr-text-muted);
    text-decoration: line-through; line-height: 1;
}
.price-current {
    font-size: 0.9rem; font-weight: 800; color: var(--qr-primary); line-height: 1.2;
}

.btn-add-cart {
    width: 28px; height: 28px; border-radius: 0.5rem;
    border: none; background: var(--qr-primary); color: white;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; cursor: pointer; transition: var(--qr-transition); flex-shrink: 0;
}
.btn-add-cart:hover { transform: scale(1.1); box-shadow: 0 4px 12px rgba(99,102,241,0.4); }
.btn-add-cart:active { transform: scale(0.95); }

/* ============================================
   BOTTOM NAVIGATION BAR
   ============================================ */
.qr-bottombar {
    position: fixed; bottom: 0; left: 0; right: 0;
    height: var(--qr-bottombar-h);
    background: var(--qr-card-bg);
    border-top: 1px solid var(--qr-border);
    display: flex; align-items: center; justify-content: space-around;
    z-index: 500;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.06);
    padding: 0 0.25rem;
}
.qr-bottombar-item {
    display: flex; flex-direction: column; align-items: center;
    gap: 0.15rem; text-decoration: none; color: var(--qr-text-muted);
    font-size: 0.6rem; font-weight: 500; padding: 0.3rem 0.5rem;
    border-radius: 0.5rem; transition: var(--qr-transition);
    position: relative; min-width: 48px;
}
.qr-bottombar-item i { font-size: 1.15rem; }
.qr-bottombar-item:hover,
.qr-bottombar-item.active { color: var(--qr-primary); }
.qr-bottombar-item.active i { font-weight: 700; }

.qr-bottom-badge {
    position: absolute; top: 0; right: 0.15rem;
    background: #ef4444; color: white;
    font-size: 0.55rem; font-weight: 700;
    min-width: 16px; height: 16px; line-height: 16px;
    text-align: center; border-radius: 50%;
}

/* ============================================
   Cart Offcanvas
   ============================================ */
.qr-cart-offcanvas {
    border-radius: var(--qr-radius) var(--qr-radius) 0 0 !important;
    background: var(--qr-bg) !important;
    max-height: 55vh !important; height: auto !important;
}
.qr-cart-header {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--qr-border);
    background: var(--qr-card-bg);
}
.qr-cart-body { padding: 0.5rem 0.75rem !important; overflow-y: auto; }

.qr-cart-item {
    display: flex; align-items: center; justify-content: space-between;
    gap: 0.5rem; padding: 0.6rem 0;
    border-bottom: 1px solid var(--qr-border);
}
.qr-cart-item:last-child { border-bottom: none; }
.qr-cart-item-info { flex: 1; min-width: 0; }
.qr-cart-item-name {
    font-size: 0.82rem; font-weight: 600; color: var(--qr-text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.qr-cart-item-price { font-size: 0.7rem; color: var(--qr-text-muted); }
.qr-cart-item-actions { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }

.qr-cart-qty {
    display: inline-flex; align-items: center;
    border: 1.5px solid var(--qr-border); border-radius: 2rem;
    overflow: hidden; background: var(--qr-card-bg);
}
.qr-cart-qty button {
    width: 28px; height: 28px; border: none; background: none;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: var(--qr-text); font-size: 0.8rem;
    transition: var(--qr-transition);
}
.qr-cart-qty button:hover { background: var(--qr-primary-light); color: var(--qr-primary); }
.qr-cart-qty span { min-width: 24px; text-align: center; font-size: 0.8rem; font-weight: 700; color: var(--qr-text); }

.qr-cart-item-total { font-size: 0.82rem; font-weight: 700; color: var(--qr-primary); min-width: 55px; text-align: right; }
.qr-cart-remove {
    width: 24px; height: 24px; border: none; background: none;
    color: var(--qr-text-muted); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%; transition: var(--qr-transition); font-size: 0.85rem; flex-shrink: 0;
}
.qr-cart-remove:hover { background: #fef2f2; color: #ef4444; }
[data-bs-theme="dark"] .qr-cart-remove:hover { background: #451a1a; }

.qr-cart-footer { padding: 0.75rem 1rem; border-top: 1px solid var(--qr-border); background: var(--qr-card-bg); }
.qr-cart-notes {
    font-size: 0.78rem; border-radius: var(--qr-radius-xs);
    border: 1px solid var(--qr-border); background: var(--qr-search-bg);
    padding: 0.4rem 0.65rem; resize: none;
}
.qr-cart-order-btn {
    border-radius: 2rem !important; padding: 0.55rem 1.5rem !important;
    font-size: 0.85rem !important; font-weight: 600 !important;
    white-space: nowrap; box-shadow: 0 4px 12px rgba(99,102,241,0.3);
}

/* ============================================
   Product Detail Modal
   ============================================ */
.product-detail-img {
    width: 100%; max-height: 280px; object-fit: cover; display: block;
}
.product-detail-close {
    position: absolute; top: 0.75rem; right: 0.75rem;
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(0,0,0,0.5); border: none; color: white;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: var(--qr-transition);
    backdrop-filter: blur(4px); z-index: 10;
}
.product-detail-close:hover { background: rgba(0,0,0,0.7); }

.detail-meta-badge {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.3rem 0.65rem; border-radius: 2rem;
    font-size: 0.75rem; font-weight: 500;
    background: var(--qr-search-bg); color: var(--qr-text-muted);
    border: 1px solid var(--qr-border);
}
.detail-section { margin-bottom: 1rem; padding: 0.75rem; border-radius: var(--qr-radius-sm); background: var(--qr-search-bg); }
.detail-section-title {
    font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.04em; color: var(--qr-text-muted); margin-bottom: 0.5rem;
}
.detail-allergen {
    display: inline-flex; align-items: center; gap: 0.25rem;
    padding: 0.2rem 0.5rem; border-radius: 2rem; font-size: 0.72rem; font-weight: 500;
    background: rgba(245,158,11,0.1); color: #d97706; border: 1px solid rgba(245,158,11,0.2);
}
.detail-variation-btn {
    display: inline-flex; align-items: center;
    padding: 0.4rem 0.85rem; border-radius: 2rem;
    border: 1.5px solid var(--qr-border); background: var(--qr-card-bg);
    color: var(--qr-text); font-size: 0.8rem; font-weight: 500;
    cursor: pointer; transition: var(--qr-transition);
}
.detail-variation-btn.active { background: var(--qr-primary); color: white; border-color: var(--qr-primary); }

.detail-qty-control {
    display: inline-flex; align-items: center;
    border: 1.5px solid var(--qr-border); border-radius: 2rem;
    overflow: hidden; background: var(--qr-card-bg);
}
.detail-qty-control button {
    width: 36px; height: 36px; border: none; background: none;
    color: var(--qr-text); font-size: 1.1rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: var(--qr-transition);
}
.detail-qty-control button:hover { background: var(--qr-search-bg); }
.detail-qty-control span { min-width: 30px; text-align: center; font-weight: 700; font-size: 0.95rem; }

.detail-add-btn {
    flex-grow: 1; padding: 0.65rem 1rem; border: none; border-radius: 2rem;
    background: var(--qr-primary); color: white; font-weight: 600; font-size: 0.9rem;
    cursor: pointer; transition: var(--qr-transition);
    display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.detail-add-btn:hover { box-shadow: 0 4px 15px rgba(99,102,241,0.4); }
.detail-add-btn:active { transform: scale(0.98); }

.suggestion-card { flex-shrink: 0; width: 90px; text-align: center; cursor: pointer; transition: var(--qr-transition); }
.suggestion-card:hover { transform: translateY(-2px); }
.suggestion-card img {
    width: 60px; height: 60px; border-radius: 50%;
    object-fit: cover; border: 2px solid var(--qr-border); margin-bottom: 0.3rem;
}
.suggestion-card .sug-name {
    font-size: 0.65rem; font-weight: 600; line-height: 1.2;
    color: var(--qr-text); margin-bottom: 0.1rem;
    display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.suggestion-card .sug-price { font-size: 0.68rem; font-weight: 700; color: var(--qr-primary); }

/* ============================================
   QUICK ACTIONS SECTION
   ============================================ */
.qr-quick-section { padding: 0.75rem 1rem; }
.qr-quick-actions-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 0.5rem;
}
.qr-quick-action-btn {
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    padding: 0.75rem 0.5rem; border: 1.5px solid var(--qr-border);
    border-radius: var(--qr-radius-sm); background: var(--qr-card-bg);
    color: var(--qr-text); cursor: pointer; transition: var(--qr-transition);
    font-size: 0; /* hide default text */
}
.qr-quick-action-btn i { font-size: 1.3rem; color: var(--qr-primary); }
.qr-quick-action-btn span { font-size: 0.68rem; font-weight: 600; text-align: center; line-height: 1.2; }
.qr-quick-action-btn:hover {
    border-color: var(--qr-primary); background: var(--qr-primary-light);
    transform: translateY(-2px); box-shadow: var(--qr-shadow);
}
.qr-quick-action-btn:active { transform: scale(0.97); }

/* ============================================
   INFO BANNER (Working Hours + Location + Phone)
   ============================================ */
.qr-info-banner { padding: 0.5rem 1rem 0.25rem; }
.qr-info-cards { display: flex; flex-direction: column; gap: 0.5rem; }
.qr-info-card {
    display: flex; align-items: center; gap: 0.75rem;
    padding: 0.85rem 1rem; background: var(--qr-card-bg);
    border: 1.5px solid var(--qr-border); border-radius: var(--qr-radius-sm);
    transition: var(--qr-transition);
}
.qr-info-card:hover { border-color: var(--qr-primary); transform: translateY(-1px); box-shadow: var(--qr-shadow); }
.qr-info-card-icon {
    width: 40px; height: 40px; border-radius: 0.75rem;
    background: var(--qr-primary-light); color: var(--qr-primary);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem; flex-shrink: 0;
}
.qr-info-card-body { flex: 1; min-width: 0; }
.qr-info-card-title { font-size: 0.68rem; font-weight: 700; color: var(--qr-text-muted); text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 0.1rem; }
.qr-info-card-text { font-size: 0.82rem; font-weight: 600; color: var(--qr-text); line-height: 1.3; }
.qr-info-card-arrow { font-size: 0.85rem; color: var(--qr-text-muted); flex-shrink: 0; }

/* Location Modal */
.location-modal-popup { border-radius: var(--qr-radius) !important; }
.location-modal-popup .swal2-title { font-size: 1.1rem !important; }

/* ============================================
   SOCIAL MEDIA SECTION
   ============================================ */
.qr-social-section { padding: 0 1rem 0.75rem; }
.qr-social-title {
    font-size: 0.8rem; font-weight: 700; color: var(--qr-text);
    margin-bottom: 0.5rem; display: flex; align-items: center;
}
.qr-social-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 0.5rem; }
.qr-social-card {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.65rem 0.85rem; border-radius: var(--qr-radius-sm);
    text-decoration: none; color: white; font-size: 0.78rem; font-weight: 600;
    transition: var(--qr-transition);
}
.qr-social-card i { font-size: 1.15rem; }
.qr-social-card:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.2); color: white; }
.qr-social-whatsapp { background: linear-gradient(135deg, #25d366, #128c7e); }
.qr-social-instagram { background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.qr-social-tiktok { background: linear-gradient(135deg, #010101, #333); }
.qr-social-maps { background: linear-gradient(135deg, #4285f4, #34a853); }

/* ============================================
   FOOTER
   ============================================ */
.qr-footer {
    background: var(--qr-card-bg);
    border-top: 1px solid var(--qr-border);
    margin-top: 0.5rem;
}
.qr-footer-inner { padding: 1.25rem 1rem 1.5rem; }
.qr-footer-title { font-size: 0.8rem; font-weight: 700; color: var(--qr-text); margin-bottom: 0.6rem; }
.qr-footer-link {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.78rem; color: var(--qr-text-muted); text-decoration: none;
    padding: 0.25rem 0;
}
.qr-footer-link:hover { color: var(--qr-primary); }
.qr-footer-socials { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.75rem; }
.qr-footer-copy {
    font-size: 0.65rem; color: var(--qr-text-muted);
    text-align: center; margin-top: 1rem; padding-top: 0.75rem;
    border-top: 1px solid var(--qr-border);
}

/* ============================================
   Cookie Consent
   ============================================ */
.cookie-consent {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
    background: var(--qr-card-bg); border-top: 1px solid var(--qr-border);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
}
.cookie-content { padding: 1rem; max-width: 600px; margin: 0 auto; }

/* ============================================
   Utility
   ============================================ */
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.user-select-all { user-select: all; -webkit-user-select: all; }
.btn-icon { width: 30px; height: 30px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 0.375rem; }
.btn-ghost { background: none; border: none; color: var(--qr-text-muted); padding: 0.4rem; border-radius: 0.5rem; }

.product-image[src=""], .product-image:not([src]) { display: none; }

/* ============================================
   Animations
   ============================================ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.qr-hero { animation: fadeIn 0.6s ease; }
.qr-section { animation: fadeInUp 0.4s ease both; }
.product-card-col { animation: fadeInUp 0.35s ease both; }
.product-card-col:nth-child(1) { animation-delay: 0.03s; }
.product-card-col:nth-child(2) { animation-delay: 0.06s; }
.product-card-col:nth-child(3) { animation-delay: 0.09s; }
.product-card-col:nth-child(4) { animation-delay: 0.12s; }

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 374px) {
    .qr-hero-logo { width: 80px; height: 80px; border-radius: 1.25rem; }
    .qr-hero-name { font-size: 1.4rem; }
    .qr-social-grid { grid-template-columns: repeat(2, 1fr); }
    .qr-quick-actions-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
    .product-card-col { flex: 0 0 33.333%; max-width: 33.333%; }
    .qr-categories-grid { grid-template-columns: repeat(4, 1fr); }
    .qr-hero { min-height: 280px; }
    .qr-hero-logo { width: 120px; height: 120px; }
    .qr-hero-name { font-size: 2rem; }
    .qr-social-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 992px) {
    .product-card-col { flex: 0 0 25%; max-width: 25%; }
    .qr-categories-grid { grid-template-columns: repeat(5, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

@media print {
    .qr-topbar, .qr-bottombar, .qr-sidebar, .qr-sidebar-overlay,
    .cookie-consent, .btn-add-cart { display: none !important; }
    body { padding: 0; background: white; }
}

:focus-visible { outline: 2px solid var(--qr-primary); outline-offset: 2px; }

/* ============================================
   BahaLabs Signature Footer
   ============================================ */
.bahalabs-signature {
    text-align: center;
    padding: 24px 16px 20px;
    margin-top: 0;
    border-top: 1px solid rgba(99, 102, 241, 0.12);
    background: linear-gradient(180deg, transparent 0%, rgba(99, 102, 241, 0.04) 100%);
}

.bahalabs-signature a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    color: var(--qr-text-muted, #6b7280);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 7px 16px;
    border-radius: 50px;
    background: rgba(99, 102, 241, 0.06);
    border: 1px solid rgba(99, 102, 241, 0.1);
}

.bahalabs-signature a:hover,
.bahalabs-signature a:active {
    color: #6366f1;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.25);
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.15);
}

.bahalabs-signature .sig-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border-radius: 4px;
    flex-shrink: 0;
}

.bahalabs-signature .sig-icon svg {
    width: 11px;
    height: 11px;
}

.bahalabs-signature .sig-domain {
    font-weight: 700;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ============================================
   PREMIUM BLACK + GOLD OVERRIDES
   View-only menu — sepet/garson/hesap kaldirildi
   ============================================ */

.qr-topbar {
    background: var(--qr-topbar-bg) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--qr-border) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.6);
}
.qr-topbar-menu { color: var(--qr-gold-soft) !important; }
.qr-topbar-table {
    background: var(--qr-gradient-gold) !important;
    color: #0a0a0a !important;
    font-weight: 700 !important;
    box-shadow: var(--qr-shadow-gold);
    border: none !important;
}

.qr-hero {
    background: radial-gradient(ellipse at top, #1f1a0d 0%, #0a0a0a 70%) !important;
    border-bottom: 1px solid var(--qr-border-strong);
    min-height: 360px !important;
}
/* Kapak görseli ön planda, net görünür */
.qr-hero-bg { opacity: 1 !important; filter: brightness(0.95) saturate(1.05) contrast(1.03) !important; z-index: 1 !important; }
.qr-hero-overlay {
    background: linear-gradient(180deg, rgba(10,10,10,0.10) 0%, rgba(10,10,10,0.30) 55%, rgba(10,10,10,0.70) 100%) !important;
    z-index: 1 !important;
}
.qr-hero-name {
    background: var(--qr-gradient-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 40px rgba(212,175,55,0.25);
    font-weight: 800 !important;
    letter-spacing: 1px;
}
.qr-hero-slogan { color: var(--qr-gold-soft) !important; opacity: 0.85; }
.qr-hero-welcome { color: var(--qr-text-muted) !important; }
.qr-hero-welcome i { color: var(--qr-primary) !important; }
.qr-hero-logo {
    border: 2px solid var(--qr-primary);
    box-shadow: 0 0 30px var(--qr-primary-glow), 0 0 60px rgba(212,175,55,0.15);
}

.qr-search {
    background: var(--qr-search-bg) !important;
    border: 1px solid var(--qr-border) !important;
    box-shadow: var(--qr-shadow);
}
.qr-search:focus-within { border-color: var(--qr-primary) !important; box-shadow: 0 0 0 3px var(--qr-primary-light); }
.qr-search input { color: var(--qr-text) !important; }
.qr-search input::placeholder { color: var(--qr-text-muted) !important; }
.qr-search i { color: var(--qr-primary) !important; }

.qr-section-title { color: var(--qr-text) !important; font-weight: 700 !important; }
.qr-section-title i { color: var(--qr-primary) !important; }

.qr-cat-card {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
    transition: var(--qr-transition);
}
.qr-cat-card:hover, .qr-cat-card.active {
    background: linear-gradient(135deg, #1a1408 0%, #0a0a0a 100%) !important;
    border-color: var(--qr-primary) !important;
    transform: translateY(-2px);
    box-shadow: var(--qr-shadow-gold);
}
.qr-cat-card.active .qr-cat-name { color: var(--qr-primary) !important; }
.qr-cat-name { color: var(--qr-text) !important; }
.qr-cat-count { color: var(--qr-text-muted) !important; }

.qr-product-card {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border) !important;
    box-shadow: var(--qr-shadow);
    transition: var(--qr-transition);
    overflow: hidden;
    position: relative;
}
.qr-product-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(212,175,55,0) 0%, rgba(212,175,55,0.06) 100%);
    pointer-events: none;
    opacity: 0;
    transition: var(--qr-transition);
}
.qr-product-card:hover {
    border-color: var(--qr-primary) !important;
    transform: translateY(-3px);
    box-shadow: var(--qr-shadow-gold), 0 10px 30px rgba(0,0,0,0.5);
}
.qr-product-card:hover::before { opacity: 1; }
.product-image-placeholder {
    background: linear-gradient(135deg, #1a1408 0%, #0a0a0a 100%) !important;
    color: var(--qr-gold-deep) !important;
}
.product-name { color: var(--qr-text) !important; font-weight: 700 !important; }
.product-desc { color: var(--qr-text-muted) !important; }
.product-cat-label {
    background: rgba(212,175,55,0.10) !important;
    color: var(--qr-gold-soft) !important;
    border: 1px solid var(--qr-border);
}
.price-current {
    background: var(--qr-gradient-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800 !important;
}
.price-old { color: var(--qr-text-muted) !important; opacity: 0.6; }

.pbadge-new { background: var(--qr-gradient-gold) !important; color: #0a0a0a !important; font-weight: 700; }
.pbadge-popular { background: rgba(255,69,0,0.85) !important; }
.pbadge-discount { background: #dc2626 !important; color: #fff !important; }

.qr-product-card.out-of-stock { opacity: 0.4; filter: grayscale(0.5); }

.qr-info-card {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.qr-info-card:hover {
    border-color: var(--qr-primary) !important;
    background: var(--qr-card-bg-elevated) !important;
}
.qr-info-card-icon {
    background: var(--qr-gradient-gold) !important;
    color: #0a0a0a !important;
    box-shadow: var(--qr-shadow-gold);
}
.qr-info-card-title { color: var(--qr-primary) !important; font-weight: 700 !important; }
.qr-info-card-text { color: var(--qr-text-muted) !important; }
.qr-info-card-arrow { color: var(--qr-gold-soft) !important; }

.qr-quick-action-btn {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.qr-quick-action-btn:hover {
    background: linear-gradient(135deg, #1a1408 0%, #0a0a0a 100%) !important;
    border-color: var(--qr-primary) !important;
    color: var(--qr-primary) !important;
    box-shadow: var(--qr-shadow-gold);
    transform: translateY(-2px);
}
.qr-quick-action-btn i { color: var(--qr-primary) !important; font-size: 1.4rem; }

.qr-social-title { color: var(--qr-primary) !important; }
.qr-social-card {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.qr-social-card:hover {
    border-color: var(--qr-primary) !important;
    transform: translateY(-2px);
    box-shadow: var(--qr-shadow-gold);
}

.qr-footer {
    background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%) !important;
    border-top: 1px solid var(--qr-border-strong) !important;
    color: var(--qr-text-muted) !important;
}
.qr-footer-title { color: var(--qr-primary) !important; }
.qr-footer-link { color: var(--qr-text-muted) !important; }
.qr-footer-link i { color: var(--qr-primary) !important; }
.qr-footer-link:hover { color: var(--qr-primary) !important; }
.qr-footer-copy { color: var(--qr-gold-deep) !important; opacity: 0.7; }

.qr-sidebar {
    background: var(--qr-card-bg) !important;
    border-right: 1px solid var(--qr-border-strong) !important;
}
.qr-sidebar-header { border-bottom: 1px solid var(--qr-border) !important; }
.qr-sidebar-brand { color: var(--qr-primary) !important; }
.qr-sidebar-nav li a { color: var(--qr-text) !important; }
.qr-sidebar-nav li a:hover {
    background: var(--qr-primary-light) !important;
    color: var(--qr-primary) !important;
}
.qr-sidebar-nav li a i { color: var(--qr-gold-soft) !important; }
.qr-sidebar-nav li a:hover i { color: var(--qr-primary) !important; }
.qr-sidebar-footer {
    background: var(--qr-card-bg-elevated) !important;
    border-top: 1px solid var(--qr-border) !important;
}
.qr-sidebar-footer-title { color: var(--qr-primary) !important; }
.qr-sidebar-contact { color: var(--qr-text-muted) !important; }
.qr-social-btn {
    background: rgba(212,175,55,0.08) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.qr-social-btn:hover { border-color: var(--qr-primary) !important; color: var(--qr-primary) !important; }
.qr-sidebar-copy { color: var(--qr-gold-deep) !important; }

.qr-bottombar {
    background: rgba(10,10,10,0.95) !important;
    backdrop-filter: blur(8px);
    border-top: 1px solid var(--qr-border-strong) !important;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.6);
}
.qr-bottombar-item { color: var(--qr-text-muted) !important; }
.qr-bottombar-item.active, .qr-bottombar-item:hover { color: var(--qr-primary) !important; }
.qr-bottombar-item.active i { filter: drop-shadow(0 0 6px var(--qr-primary-glow)); }

.qr-campaign-card {
    background: linear-gradient(135deg, #1f1a0d 0%, #0a0a0a 100%) !important;
    border: 1px solid var(--qr-primary) !important;
    color: var(--qr-text) !important;
    box-shadow: var(--qr-shadow-gold);
}
.campaign-badge {
    background: var(--qr-gradient-gold) !important;
    color: #0a0a0a !important;
    font-weight: 800 !important;
}
.campaign-name { color: var(--qr-primary) !important; }
.campaign-desc { color: var(--qr-text-muted) !important; }

.modal-content {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border-strong) !important;
    color: var(--qr-text) !important;
}
.detail-meta-badge {
    background: var(--qr-search-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.detail-section-title { color: var(--qr-primary) !important; font-weight: 700 !important; }
.detail-allergen {
    background: rgba(212,175,55,0.08) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.detail-variation-btn {
    background: var(--qr-search-bg) !important;
    border: 1px solid var(--qr-border) !important;
    color: var(--qr-text) !important;
}
.detail-variation-btn.active {
    background: var(--qr-gradient-gold) !important;
    color: #0a0a0a !important;
    border-color: var(--qr-primary) !important;
    font-weight: 700;
}
.product-detail-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px; height: 36px;
    background: rgba(10,10,10,0.75);
    color: var(--qr-primary);
    border: 1px solid var(--qr-border);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(8px);
}

.cookie-consent {
    background: var(--qr-card-bg) !important;
    border: 1px solid var(--qr-border-strong) !important;
    color: var(--qr-text) !important;
    box-shadow: var(--qr-shadow-lg);
}

.swal2-popup {
    background: var(--qr-card-bg) !important;
    color: var(--qr-text) !important;
    border: 1px solid var(--qr-border-strong);
}
.swal2-title { color: var(--qr-primary) !important; }
.swal2-html-container { color: var(--qr-text-muted) !important; }
.swal2-confirm {
    background: var(--qr-gradient-gold) !important;
    color: #0a0a0a !important;
    font-weight: 700 !important;
}

.qr-lang-btn {
    background: transparent !important;
    color: var(--qr-text-muted) !important;
    border: 1px solid transparent;
}
.qr-lang-btn.active, .qr-lang-btn:hover {
    background: var(--qr-primary-light) !important;
    color: var(--qr-primary) !important;
    border-color: var(--qr-border);
}

.bahalabs-signature { color: var(--qr-gold-deep) !important; }
.bahalabs-signature a { color: var(--qr-gold-soft) !important; }
.sig-domain { color: var(--qr-primary) !important; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb { background: var(--qr-gold-deep); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--qr-primary); }
::selection { background: var(--qr-primary); color: #0a0a0a; }

.btn-add-cart,
.qr-cart-offcanvas { display: none !important; }

/* ============================================
   PREMIUM EXTRAS — Sanayi 1973 Lokantası
   ============================================ */

/* Hero altın ayraç + EST. 1973 */
.qr-hero-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 10px auto 14px;
    max-width: 280px;
}
.qr-hero-divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--qr-primary) 50%, transparent 100%);
    opacity: 0.7;
}
.qr-hero-est {
    color: var(--qr-primary);
    font-size: 0.72rem;
    letter-spacing: 6px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    text-transform: uppercase;
    white-space: nowrap;
    text-shadow: 0 0 12px rgba(212,175,55,0.4);
}

/* Hero animasyonlu altın parıltı (shimmer) */
.qr-hero {
    position: relative;
    overflow: hidden;
}
.qr-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        110deg,
        transparent 30%,
        rgba(244, 208, 63, 0.05) 45%,
        rgba(212, 175, 55, 0.18) 50%,
        rgba(244, 208, 63, 0.05) 55%,
        transparent 70%
    );
    transform: skewX(-20deg);
    animation: heroShimmer 7s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
@keyframes heroShimmer {
    0%   { left: -50%; }
    50%  { left: 100%; }
    100% { left: 100%; }
}
.qr-hero-content { position: relative; z-index: 2; }

/* Hero başlığa ekstra altın glow animasyonu + Türkçe büyük harf */
.qr-hero-name {
    animation: nameGlow 4s ease-in-out infinite;
    text-transform: uppercase;
    letter-spacing: 3px !important;
}
html[lang="tr"] .qr-hero-name { /* Türkçe locale: i → İ, ı → I doğru çevrilir */ }
@keyframes nameGlow {
    0%, 100% { text-shadow: 0 0 30px rgba(212,175,55,0.20); }
    50%      { text-shadow: 0 0 50px rgba(212,175,55,0.45), 0 0 80px rgba(244,208,63,0.18); }
}

/* "Şefin Önerisi" premium altın rozet */
.pbadge-chef {
    background: linear-gradient(135deg, #1a1408 0%, #0a0a0a 100%) !important;
    color: var(--qr-primary) !important;
    border: 1px solid var(--qr-primary) !important;
    padding: 3px 9px !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
    box-shadow: 0 2px 12px rgba(212,175,55,0.35), inset 0 1px 0 rgba(244,208,63,0.3);
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    border-radius: 0.4rem !important;
    position: relative;
    animation: chefBadgePulse 3s ease-in-out infinite;
}
.pbadge-chef i {
    color: var(--qr-gold-bright) !important;
    font-size: 0.7rem !important;
    filter: drop-shadow(0 0 4px var(--qr-primary-glow));
}
@keyframes chefBadgePulse {
    0%, 100% { box-shadow: 0 2px 12px rgba(212,175,55,0.35), inset 0 1px 0 rgba(244,208,63,0.3); }
    50%      { box-shadow: 0 4px 22px rgba(212,175,55,0.6), inset 0 1px 0 rgba(244,208,63,0.5); }
}

/* Kategori ikonları biraz daha büyük + altın glow */
.qr-cat-icon {
    font-size: 1.8rem !important;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
    transition: var(--qr-transition);
}
.qr-cat-card:hover .qr-cat-icon,
.qr-cat-card.active .qr-cat-icon {
    transform: scale(1.15);
    filter: drop-shadow(0 0 8px var(--qr-primary-glow));
}

/* Footer kurumsal imza — siyah/altın, ortalanmış, çizgi sorunu çözüldü */
.bahalabs-signature {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 16px 20px !important;
    margin: 12px 0 0 !important;
    border-top: 1px solid var(--qr-border) !important;
    border-bottom: none !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
    color: var(--qr-text-muted) !important;
    background: rgba(0,0,0,0.35) !important;
    text-align: center !important;
    width: 100% !important;
}
.bahalabs-signature a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--qr-text-muted) !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.bahalabs-signature .sig-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    color: var(--qr-primary) !important;
    flex-shrink: 0 !important;
}
.bahalabs-signature .sig-icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
.bahalabs-signature .sig-domain {
    color: var(--qr-primary) !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
}

/* Kütahya OSB ana site butonu */
.qr-osb-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 18px auto 4px;
    padding: 10px 22px;
    background: linear-gradient(135deg, #1a1408 0%, #0a0a0a 100%);
    color: var(--qr-primary) !important;
    border: 1.5px solid var(--qr-primary);
    border-radius: 2rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(212,175,55,0.18), inset 0 1px 0 rgba(244,208,63,0.2);
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    cursor: pointer;
}
.qr-osb-link:hover {
    background: var(--qr-gradient-gold);
    color: #0a0a0a !important;
    border-color: var(--qr-gold-bright);
    box-shadow: 0 6px 24px rgba(212,175,55,0.45);
    transform: translateY(-2px);
}
.qr-osb-link i { font-size: 1rem; }
.qr-osb-wrap {
    display: flex;
    justify-content: center;
    padding: 8px 16px 4px;
}

/* ============================================
   Kütahya OSB footer butonu + kredi (dikkat çekici)
   ============================================ */
.kosb-footer{
    display:flex;flex-direction:column;align-items:center;gap:9px;
    padding:18px 16px 22px;margin-top:10px;
    border-top:1px solid rgba(201,162,75,0.22);
    text-align:center;width:100%;
}
.kosb-btn{
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 13px;border-radius:999px;
    border:1px solid rgba(201,162,75,0.5);color:#E6D2A0;
    font-family:'Inter',sans-serif;font-weight:600;font-size:0.62rem;
    letter-spacing:0.05em;text-transform:uppercase;text-decoration:none;
    background:rgba(201,162,75,0.05);transition:all .3s ease;
}
.kosb-btn svg{width:12px;height:12px;flex-shrink:0;}
.kosb-btn:hover{background:#C9A24B;color:#0a0a0a;border-color:#C9A24B;}
.kosb-credit{
    font-family:'Inter',sans-serif;font-size:0.66rem;
    letter-spacing:0.03em;line-height:1.6;color:#8a8578;
}
.kosb-credit span{color:#C9A24B;font-weight:600;}

/* ============================================
   KAPAK GÖRSELİ — tam, kesilmeden, ön planda
   (banner kendi başına; üst yazı/karartma kapalı)
   ============================================ */
.qr-hero{ min-height:0 !important; height:auto !important; background:#0a0a0a !important; }
.qr-hero-bg{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    opacity:1 !important;
    filter:none !important;
    display:block !important;
    z-index:1 !important;
}
.qr-hero-overlay{ display:none !important; }
.qr-hero-content{ display:none !important; }
.qr-hero::after{ display:none !important; }

/* ============================================
   Kurumsal kategori ikonları (altın SVG)
   ============================================ */
.qr-cat-icon { display:flex; align-items:center; justify-content:center; font-size:0 !important; }
.qr-cat-icon svg {
    width: 2rem; height: 2rem; display:block;
    color: var(--qr-primary); stroke: var(--qr-primary);
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.30));
    transition: var(--qr-transition);
}
.qr-cat-card.active .qr-cat-icon svg,
.qr-cat-card:hover .qr-cat-icon svg {
    color: var(--qr-primary); stroke: var(--qr-primary);
    filter: drop-shadow(0 0 4px var(--qr-primary-glow));
}

/* ============================================
   Alt kategori şeritleri (hiyerarşik menü)
   ============================================ */
.qr-subcats{display:flex;gap:8px;flex-wrap:wrap;padding:6px 2px 2px;margin-top:4px;animation:qrSubIn .25s ease;}
@keyframes qrSubIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.qr-subcat-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:999px;border:1px solid var(--qr-primary);background:transparent;color:var(--qr-primary);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--qr-transition);}
.qr-subcat-chip:hover{background:var(--qr-primary-light);}
.qr-subcat-chip.active{background:var(--qr-primary);color:#0a0a0a;}
.qr-subcat-count{font-size:.7rem;opacity:.7;}
.qr-subcat-chip.active .qr-subcat-count{opacity:.9;}
.qr-cat-caret{font-size:.7em;opacity:.85;}

/* ============================================
   Fotoğrafsız ürünler — şık liste satırı
   ============================================ */
.qr-product-card.no-image{padding:13px 16px;min-height:0;height:auto;}
.qr-product-card.no-image .product-info{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;row-gap:2px;padding:0;}
.qr-product-card.no-image .product-badges-inline{grid-column:1 / -1;display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px;}
.qr-product-card.no-image .product-name{grid-column:1;grid-row:2;margin:0;font-size:.96rem;}
.qr-product-card.no-image .product-desc{grid-column:1;grid-row:3;margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.qr-product-card.no-image .product-footer{grid-column:2;grid-row:2 / span 2;align-self:center;margin:0;}
.qr-product-card.no-image .product-price{justify-content:flex-end;text-align:right;white-space:nowrap;}

/* ============================================
   Alt kategori pop-up (bottom sheet) + Geri çubuğu
   ============================================ */
.qr-subtpl{display:none;}
.qr-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);z-index:1200;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;}
.qr-sheet-overlay.open{opacity:1;visibility:visible;}
.qr-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1201;background:var(--qr-card-bg);border-top:1px solid var(--qr-border-strong);border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.6);transform:translateY(110%);transition:transform .32s cubic-bezier(.4,0,.2,1);max-height:80vh;display:flex;flex-direction:column;padding-bottom:max(14px,env(safe-area-inset-bottom));}
.qr-sheet.open{transform:translateY(0);}
.qr-sheet-grip{width:42px;height:4px;border-radius:4px;background:var(--qr-border-strong);margin:10px auto 4px;}
.qr-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 12px;border-bottom:1px solid var(--qr-border);}
.qr-sheet-title{font-size:1.05rem;font-weight:800;color:var(--qr-text);letter-spacing:.01em;}
.qr-sheet-close{width:34px;height:34px;border:none;border-radius:50%;background:var(--qr-search-bg);color:var(--qr-text);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.qr-sheet-body{overflow-y:auto;padding:12px 14px 6px;display:flex;flex-direction:column;gap:8px;}
.qr-subcat-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid var(--qr-border);border-radius:14px;background:var(--qr-card-bg-elevated);color:var(--qr-text);font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;transition:var(--qr-transition);}
.qr-subcat-item:hover,.qr-subcat-item:active{border-color:var(--qr-primary);background:var(--qr-primary-light);}
.qr-subcat-ic{flex:0 0 auto;display:flex;}
.qr-subcat-ic svg{width:26px;height:26px;color:var(--qr-primary);}
.qr-subcat-tx{flex:1;min-width:0;}
.qr-subcat-ct{flex:0 0 auto;font-size:.78rem;font-weight:700;color:var(--qr-primary);background:var(--qr-primary-light);padding:2px 9px;border-radius:999px;}
.qr-subcat-ch{color:var(--qr-text-muted);font-size:.85rem;}
.qr-crumb{display:flex;align-items:center;gap:12px;margin:0 14px 10px;padding:9px 12px;background:var(--qr-card-bg);border:1px solid var(--qr-border);border-radius:12px;}
.qr-crumb-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--qr-primary);background:transparent;color:var(--qr-primary);font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;}
.qr-crumb-back:hover{background:var(--qr-primary);color:#0a0a0a;}
.qr-crumb-path{display:flex;align-items:center;gap:7px;font-size:.85rem;min-width:0;overflow:hidden;}
.qr-crumb-parent{border:none;background:none;color:var(--qr-text-muted);font-weight:600;cursor:pointer;padding:0;font-size:.85rem;white-space:nowrap;}
.qr-crumb-parent:hover{color:var(--qr-primary);}
.qr-crumb-sep{color:var(--qr-text-muted);font-size:.7rem;}
.qr-crumb-cur{color:var(--qr-primary);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ============================================
   Instagram hesap seçici (header + footer)
   ============================================ */
.qr-ig-wrap{position:relative;display:inline-flex;}
.qr-ig-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--qr-primary);font-size:1.25rem;padding:4px;line-height:1;transition:var(--qr-transition);}
.qr-ig-btn:hover{color:var(--qr-gold-bright);transform:translateY(-1px);}
.qr-ig-pop{position:absolute;z-index:600;min-width:204px;background:var(--qr-card-bg-elevated);border:1px solid var(--qr-border-strong);border-radius:12px;padding:8px;box-shadow:var(--qr-shadow-lg);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .22s,transform .22s,visibility .22s;right:0;}
.qr-ig-pop.open{opacity:1;visibility:visible;transform:none;}
.qr-ig-wrap--header .qr-ig-pop{top:calc(100% + 10px);right:0;}
.qr-ig-wrap--footer .qr-ig-pop{bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);}
.qr-ig-wrap--footer .qr-ig-pop.open{transform:translate(-50%,0);}
.qr-ig-pop-title{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--qr-text-muted);padding:5px 10px 8px;}
.qr-ig-pop-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;color:var(--qr-text);font-weight:600;font-size:.92rem;text-decoration:none;}
.qr-ig-pop-item i{color:var(--qr-primary);font-size:1.1rem;}
.qr-ig-pop-item:hover{background:var(--qr-primary-light);color:var(--qr-primary);}
.qr-footer-ig{text-align:center;margin:12px 0 4px;}
.qr-footer-ig .qr-ig-btn--footer{font-size:1.7rem;}

/* ============================================
   Menü duyuru bandı (kategoriler ile menü arası)
   ============================================ */
.qr-announce{display:flex;align-items:center;gap:14px;margin:2px 14px 18px;padding:15px 18px;border:1px solid var(--qr-border-strong);border-left:3px solid var(--qr-primary);border-radius:14px;background:linear-gradient(135deg,rgba(212,175,55,0.12),rgba(212,175,55,0.03));box-shadow:var(--qr-shadow);}
.qr-announce-ic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--qr-primary-light);color:var(--qr-primary);font-size:1.3rem;}
.qr-announce-tx{flex:1;color:var(--qr-text);font-size:.9rem;font-weight:600;line-height:1.45;}

/* ============================================
   Sosyal medya takip bandı (kapak görseli altında)
   ============================================ */
.qr-follow{margin:0 14px 14px;padding:16px 18px;border:1px solid var(--qr-border);border-radius:16px;background:var(--qr-card-bg);text-align:center;}
.qr-follow-title{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--qr-text);font-size:.9rem;font-weight:700;margin-bottom:12px;}
.qr-follow-title i{color:var(--qr-primary);font-size:1.15rem;}
.qr-follow-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.qr-follow-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--qr-primary);background:transparent;color:var(--qr-primary);font-size:.85rem;font-weight:700;text-decoration:none;transition:var(--qr-transition);}
.qr-follow-btn i{font-size:1.05rem;}
.qr-follow-btn:hover{background:var(--qr-primary);color:#0a0a0a;}

/* ============================================
   Duyuru Pop-up (görselli, admin'den aç/kapa)
   ============================================ */
.qr-pop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.qr-pop-overlay.open{opacity:1;visibility:visible;}
.qr-pop{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);z-index:2001;width:min(90vw,360px);max-height:88vh;overflow-y:auto;background:var(--qr-card-bg);border:1px solid var(--qr-border-strong);border-radius:20px;box-shadow:var(--qr-shadow-lg);opacity:0;visibility:hidden;transition:opacity .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1),visibility .32s;}
.qr-pop.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}
.qr-pop-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--qr-transition);}
.qr-pop-close:hover{background:var(--qr-primary);color:#0a0a0a;}
.qr-pop-img{width:100%;aspect-ratio:4/5;max-height:78vh;object-fit:cover;background:#0a0a0a;display:block;border-radius:20px 20px 0 0;}
.qr-pop-body{padding:18px 20px 18px;text-align:center;}
.qr-pop-title{color:var(--qr-primary);font-size:1.15rem;font-weight:800;margin:0 0 8px;line-height:1.3;}
.qr-pop-text{color:var(--qr-text);font-size:.92rem;line-height:1.55;margin:0 0 14px;}
.qr-pop-btn{display:block;width:100%;padding:12px 18px;border-radius:999px;background:var(--qr-gradient-gold);color:#0a0a0a;font-weight:800;font-size:.9rem;text-decoration:none;margin-bottom:6px;}
.qr-pop-dismiss{display:block;width:100%;padding:10px;border:none;background:none;color:var(--qr-text-muted);font-size:.85rem;font-weight:600;cursor:pointer;}
.qr-pop-dismiss:hover{color:var(--qr-primary);}

/* ============================================
   Performans: uzun ürün listesi ilk çizim maliyeti (kilitlenme fix)
   ============================================ */
.product-card-col{content-visibility:auto;contain-intrinsic-size:auto 300px;}
