/* Masa QR oturum bandı + çalışma saatleri */
.table-session-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f0fdf4;
    color: #15803d;
    border-bottom: 1px solid #bbf7d0;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    line-height: 1.35;
}
.table-session-banner strong {
    font-weight: 700;
}
.tsb-icon {
    display: inline-flex;
    flex: 0 0 auto;
    opacity: 0.85;
}
.tsb-divider {
    opacity: 0.45;
}
.tsb-chevron {
    margin-left: 2px;
    font-size: 15px;
    line-height: 1;
    opacity: 0.75;
}
.table-session-banner--warn {
    background: #fff7ed;
    color: #9a3412;
    border-bottom-color: #fed7aa;
}
.table-session-banner--select {
    background: #eff6ff;
    color: #1d4ed8;
    border-bottom-color: #bfdbfe;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.15s ease;
}
.table-session-banner--select:hover,
.table-session-banner--select:focus {
    background: #dbeafe;
    outline: none;
}

.menu-hours-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    padding: 7px 14px;
    line-height: 1.35;
}
.menu-hours-banner.is-open {
    background: #f0fdf4;
    color: #166534;
    border-bottom: 1px solid #bbf7d0;
}
.menu-hours-banner.is-closed {
    background: #fef2f2;
    color: #991b1b;
    border-bottom: 1px solid #fecaca;
}
.mhb-icon {
    display: inline-flex;
    flex: 0 0 auto;
    opacity: 0.8;
}
.mhb-divider {
    opacity: 0.45;
}

.menu-filter-bar {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 2px 12px;
    margin-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.menu-filter-chip {
    flex: 0 0 auto;
    border: 1px solid var(--theme-border, #e2e8f0);
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #334155);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.menu-filter-chip.is-active {
    background: var(--theme-primary, #0f766e);
    border-color: var(--theme-primary, #0f766e);
    color: var(--theme-button-text, #fff);
}
.menu-filter-empty {
    text-align: center;
    color: var(--theme-text-muted, #94a3b8);
    font-size: 14px;
    padding: 24px 8px;
}

body.dark-mode .menu-filter-chip {
    background: var(--theme-surface, #1e293b);
    border-color: var(--theme-border, #334155);
    color: var(--theme-text, #e2e8f0);
}
body.dark-mode .menu-filter-chip.is-active {
    background: var(--theme-primary, #0f766e);
    border-color: var(--theme-primary, #0f766e);
    color: var(--theme-button-text, #fff);
}
.header-ops-cluster {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Alt menü — örnek bottom navigation */
.ops-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 950;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    gap: 4px;
    min-height: 64px;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
    background: var(--theme-surface, #fff);
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    box-shadow: var(--shadow-soft, 0 -6px 24px rgba(0, 0, 0, 0.1));
    border-top: 1px solid var(--theme-border, #eef2f7);
}
.ops-bottom-nav__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    border: none;
    background: transparent;
    color: var(--theme-text, #334155);
    cursor: pointer;
    padding: 6px 4px;
    border-radius: 12px;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.12s ease, color 0.12s ease;
}
.ops-bottom-nav__item:active {
    background: rgba(0, 0, 0, 0.05);
}
.ops-bottom-nav__icon {
    position: relative;
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    color: var(--theme-text, #0f172a);
}
.ops-bottom-nav__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.1;
    color: var(--theme-text-muted, #64748b);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.ops-bottom-nav__badge {
    position: absolute;
    top: -7px;
    right: -10px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: var(--theme-primary, #0f766e);
    color: var(--theme-button-text, #fff);
    font-size: 10px;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
}
body.has-ops-bottom-nav {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}
body.dark-mode .ops-bottom-nav {
    background: var(--theme-surface, #0f172a);
    border-top-color: var(--theme-border, #1e293b);
    box-shadow: var(--shadow-soft, 0 -6px 24px rgba(0, 0, 0, 0.35));
}
body.dark-mode .ops-bottom-nav__icon { color: var(--theme-text, #e2e8f0); }
body.dark-mode .ops-bottom-nav__label { color: var(--theme-text-muted, #94a3b8); }
body.dark-mode .ops-bottom-nav__item:active { background: rgba(255, 255, 255, 0.06); }


/* ===== Her panel rengi menüde görünür olmalı ===== */
body {
    background: var(--theme-bg, #F8F9FA) !important;
    color: var(--theme-text, #2D3436) !important;
}
.header {
    background: var(--theme-header-bg, #FFFFFF) !important;
    border-bottom: 1px solid var(--theme-border, #EFEFEF) !important;
    color: var(--theme-text, #2D3436) !important;
}
.restaurant-logo {
    color: var(--theme-text, #2D3436) !important;
}
.header .lang-btn,
.header .favorites-header-btn,
.header .wifi-header-btn,
.header .dark-mode-header-btn,
.desktop-header-btns .lang-btn,
.desktop-header-btns .favorites-header-btn,
.desktop-header-btns .wifi-header-btn,
.desktop-header-btns .dark-mode-header-btn {
    background: var(--theme-bg, #F8F9FA) !important;
    border-color: var(--theme-border, #EFEFEF) !important;
    color: var(--theme-text, #2D3436) !important;
}
.header .favorites-header-btn svg,
.header .wifi-header-btn svg,
.header .dark-mode-header-btn svg,
.desktop-header-btns .favorites-header-btn svg,
.desktop-header-btns .wifi-header-btn svg,
.desktop-header-btns .dark-mode-header-btn svg {
    stroke: var(--theme-text, #2D3436) !important;
}

/* Header icon buttons — replaces inline styles in view.php */
.header-icon-btn {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: var(--theme-bg, #F8F9FA);
    border: 1px solid var(--theme-border, #EFEFEF);
    color: var(--theme-text, #2D3436);
}

.header-icon-btn svg {
    stroke: currentColor;
}

.header-btn-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--theme-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.section-title,
.popular-card-name,
.product-list-name,
.daily-menu-info h3,
.modal-info h2,
.modal-info-v2 h2,
.category-title,
.favorites-modal-header h3,
.mobile-menu-header h3,
.search-input {
    color: var(--theme-text, #2D3436) !important;
}
.product-list-name,
.popular-card-name,
.daily-menu-info h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}
.product-list-desc,
.product-list-description,
.daily-menu-desc,
.modal-description,
.popular-card-body span,
footer,
.theme-text-muted {
    color: var(--theme-text-muted, #636E72) !important;
}
.product-list-desc,
.product-list-description,
.daily-menu-desc {
    font-size: 13px;
    line-height: 1.35;
    margin: 5px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* Hero metinleri her zaman açık renk (custom override ezmesin) */
.category-hero,
.category-hero .category-hero-title,
.category-hero .category-hero-desc,
.category-hero .category-hero-count,
.category-hero .category-hero-back {
    color: #fff !important;
}
.category-hero .category-hero-desc {
    color: rgba(255, 255, 255, 0.9) !important;
}
.popular-card,
.daily-menu-card,
.product-list-item,
.modal-content,
.product-modal-content-v2,
.favorites-modal-content,
.search-modal-content,
.mobile-menu,
.category-sheet .container {
    background: var(--theme-surface, #FFFFFF) !important;
}
.products-list-section.category-sheet {
    background: var(--theme-surface, #FFFFFF) !important;
}
.popular-card,
.daily-menu-card,
.product-list-item,
.modal-content,
.product-modal-content-v2,
.favorites-item,
.search-input-wrap,
.lang-dropdown-menu {
    border-color: var(--theme-border, #EFEFEF) !important;
}
.category-sheet .product-list-item {
    border-bottom-color: var(--theme-border, #EFEFEF) !important;
}
footer {
    background: var(--theme-surface, #FFFFFF) !important;
    border-top-color: var(--theme-border, #EFEFEF) !important;
}
footer a {
    color: var(--theme-primary, #0f766e) !important;
}

/* Stok durumu: tüm kartlarda okunaklı, görselin içinde kalan ortak rozet */
.oos-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 24px;
    padding: 4px 10px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    background: linear-gradient(135deg, var(--theme-out-of-stock, #ef4444), #be123c) !important;
    box-shadow: 0 4px 12px rgba(159, 18, 57, 0.28);
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    white-space: nowrap;
    pointer-events: none;
}

.oos-badge::before {
    content: '';
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.9;
}

/* Ürün detayındaki stok rozeti (arka planı olmazsa beyaz zeminde kayboluyor). */
.modal-tag--oos {
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--theme-out-of-stock, #ef4444), #be123c) !important;
    box-shadow: 0 3px 10px rgba(159, 18, 57, 0.25) !important;
    color: #ffffff !important;
}

.modal-tag--oos::before {
    content: '';
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: currentColor;
}

/* Mobilde Et: Kuzu gibi etiket/değer çiftlerinin iki satıra ayrılmasını önle. */
.modal-meta-row {
    max-width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.modal-meta-row::-webkit-scrollbar {
    display: none;
}

.modal-meta-item {
    min-width: max-content;
    flex: 0 0 auto;
    white-space: nowrap;
}

.modal-meta-item > span:last-child {
    display: block;
    white-space: nowrap;
}

.modal-meta-icon {
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .modal-meta-row {
        gap: 10px;
        padding: 10px 0;
    }

    .modal-meta-item {
        gap: 5px;
        font-size: 12px;
    }

    .modal-meta-icon {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
        font-size: 10px;
    }
}

.product-list-image > .oos-badge {
    top: 6px;
    left: 6px;
    min-height: 21px;
    padding: 3px 7px;
    gap: 4px;
    font-size: 10px;
}

section.popular-section .popular-card-body > .popular-oos-badge {
    position: static;
    min-height: 21px;
    padding: 3px 8px;
    gap: 4px;
    margin: 5px auto 0;
    font-size: 10px;
    color: #ffffff !important;
    transform: none;
}

html[dir="rtl"] .daily-menu-card > .oos-badge,
html[dir="rtl"] .product-list-image > .oos-badge {
    right: 10px;
    left: auto;
}

html[dir="rtl"] .product-list-image > .oos-badge {
    right: 6px;
}
.pl-badge--popular,
.popular-discount-badge,
.modal-tag--popular {
    background: var(--theme-tag-popular, #0f766e) !important;
    color: #ffffff !important;
}
.modal-tag--new {
    background: var(--theme-tag-new, #4ab14e) !important;
    color: #ffffff !important;
}
.modal-tag--chef {
    background: var(--theme-tag-chef, #2F5D50) !important;
    color: #ffffff !important;
}
a, .lang-option.active {
    color: var(--theme-primary, #0f766e);
}
.lang-option.active {
    background: color-mix(in srgb, var(--theme-primary, #0f766e) 12%, var(--theme-surface, #fff)) !important;
    color: var(--theme-primary, #0f766e) !important;
}
body.dark-mode .lang-option.active {
    background: color-mix(in srgb, var(--theme-primary, #0f766e) 22%, var(--theme-surface, #1e293b)) !important;
}

/* accent = kategori boş alan, günlük menü, etiket */
.category-bg-default { background: var(--theme-accent, var(--theme-primary)) !important; }
.daily-menu-card { border-color: var(--theme-accent, var(--theme-primary)) !important; }
.daily-menu-badge { background: var(--theme-accent, var(--theme-primary)) !important; }
.modal-category { color: var(--theme-accent, var(--theme-primary)) !important; }

/* price */
.popular-price,
.product-list-price,
.modal-price,
.daily-menu-price,
.new-price {
    color: var(--theme-price, var(--theme-primary)) !important;
}

/* buttons */
.back-btn,
.btn-primary,
button[type="submit"],
.modal-add-btn,
.announcement-btn {
    background: var(--theme-button-bg, var(--theme-primary)) !important;
    color: var(--theme-button-text, #fff) !important;
}
.back-btn span,
.back-btn svg,
.modal-add-btn,
.announcement-btn {
    color: var(--theme-button-text, #fff) !important;
}
.back-btn svg { stroke: var(--theme-button-text, #fff) !important; }
.back-btn:hover,
.btn-primary:hover,
button[type="submit"]:hover,
.modal-add-btn:hover,
.announcement-btn:hover {
    background: var(--theme-button-hover, var(--theme-secondary)) !important;
}

/* Duyuru modalı — tam overlay */
.announcement-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
}
.announcement-modal.is-open,
.announcement-modal[style*="flex"],
.announcement-modal[style*="block"] {
    display: flex !important;
}
.announcement-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
}
.announcement-modal-content {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    max-height: min(90dvh, 640px);
    overflow: auto;
    background: var(--theme-surface, #fff);
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
}
.announcement-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--theme-surface, rgba(255, 255, 255, 0.95));
    color: var(--theme-text, #334155);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    box-shadow: var(--shadow-soft, 0 2px 10px rgba(0, 0, 0, 0.12));
}
.announcement-image img {
    display: block;
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    border-radius: 16px 16px 0 0;
}
.announcement-body {
    padding: 20px 18px 22px;
}
.announcement-title {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    color: var(--theme-text, #1a1a2e);
}
.announcement-content {
    font-size: 14px;
    line-height: 1.5;
    color: var(--theme-text-muted, #64748b);
    margin-bottom: 16px;
}
body.dark-mode .announcement-modal-content {
    background: var(--theme-surface, #1e293b);
    color: var(--theme-text, #e2e8f0);
}
body.dark-mode .announcement-title { color: var(--theme-text, #f8fafc); }
body.dark-mode .announcement-content { color: var(--theme-text-muted, #94a3b8); }
body.dark-mode .announcement-close {
    background: var(--theme-surface, #334155);
    color: var(--theme-text, #e2e8f0);
}

.header-ops-btn {
    color: var(--theme-text, #2D3436);
}

body:has(.cart-drawer.is-open) .ops-bottom-nav {
    pointer-events: none;
    opacity: 0.35;
}

        .header { background: var(--theme-header-bg, #FFFFFF) !important; border-bottom: 1px solid var(--theme-border, #EFEFEF); }
        .back-btn { background: var(--theme-button-bg, var(--theme-primary)) !important; color: var(--theme-button-text, #fff) !important; }
        .back-btn span, .back-btn svg { color: var(--theme-button-text, #fff) !important; stroke: var(--theme-button-text, #fff) !important; }
        .back-btn:hover { background: var(--theme-button-hover, var(--theme-secondary)) !important; }
        .popular-price, .product-list-price, .modal-price { color: var(--theme-price, var(--theme-primary)) !important; }
        .modal-category { color: var(--theme-accent, var(--theme-primary)) !important; }
        .category-bg-default { background: var(--theme-accent, var(--theme-primary)) !important; }
        .allergen-icons { font-size: 14px; margin-top: 5px; }

        .daily-menu-card { border-color: var(--theme-accent, var(--theme-primary)) !important; }
        .daily-menu-badge { background: var(--theme-accent, var(--theme-primary)) !important; }
        .daily-menu-price { color: var(--theme-price, var(--theme-primary)) !important; }

        .btn-primary, button[type="submit"], .modal-add-btn {
            background: var(--theme-button-bg, var(--theme-primary)) !important;
            color: var(--theme-button-text, #fff) !important;
        }
        .btn-primary:hover, button[type="submit"]:hover, .modal-add-btn:hover {
            background: var(--theme-button-hover, var(--theme-secondary)) !important;
        }

        body {
            background: var(--theme-bg, var(--bg-primary, #F8F9FA)) !important;
            color: var(--theme-text, var(--text-primary, #2D3436)) !important;
        }
        .product-card, .popular-card, .category-card, .modal-content {
            background: var(--theme-surface, var(--bg-card, #fff));
        }
        
        .mobile-menu-item-icon.lang-icon,
        .mobile-menu-item-icon.hours-icon,
        .mobile-menu-item-icon.search-icon,
        .mobile-menu-item-icon.wifi-icon,
        .mobile-menu-accordion .mobile-menu-item-icon {
            background: var(--theme-bg, #F0F0F0) !important;
            box-shadow: none !important;
        }
        
        .mobile-menu-item-icon.lang-icon svg,
        .mobile-menu-item-icon.hours-icon svg,
        .mobile-menu-item-icon.search-icon svg,
        .mobile-menu-item-icon.wifi-icon svg,
        .mobile-menu-accordion .mobile-menu-item-icon svg {
            stroke: var(--theme-text, #2D3436) !important;
        }
        
        .mobile-menu-item-icon.call-icon {
            background: var(--theme-bg, #F0F0F0) !important;
            box-shadow: none !important;
        }
        
        .mobile-menu-item-icon.call-icon svg {
            stroke: var(--theme-primary, #3498db) !important;
            fill: none !important;
        }
        
        .mobile-menu-item-icon.whatsapp-icon {
            background: var(--theme-bg, #F0F0F0) !important;
            box-shadow: none !important;
        }
        
        .mobile-menu-item-icon.whatsapp-icon svg {
            fill: var(--theme-whatsapp, #25D366) !important;
        }
        
        body.dark-mode .mobile-menu-item-icon.lang-icon,
        body.dark-mode .mobile-menu-item-icon.hours-icon,
        body.dark-mode .mobile-menu-item-icon.search-icon,
        body.dark-mode .mobile-menu-item-icon.wifi-icon,
        body.dark-mode .mobile-menu-accordion .mobile-menu-item-icon,
        body.dark-mode .mobile-menu-item-icon.call-icon,
        body.dark-mode .mobile-menu-item-icon.whatsapp-icon {
            background: var(--theme-surface, #1e293b) !important;
        }
        
        .mobile-hours-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
            padding: 12px;
            background: var(--theme-bg, #f8f8f8);
            border-radius: var(--radius-md);
            margin-top: 8px;
        }
        .mobile-hours-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 14px;
            background: var(--theme-surface, #fff);
            border-radius: var(--radius-sm);
            font-size: 14px;
        }
        .mobile-hours-item.today {
            background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary)) !important;
            color: var(--theme-button-text, #fff);
        }
        .mobile-hours-item.today .day-name small {
            opacity: 0.8;
        }
        .mobile-hours-item .day-name {
            font-weight: 600;
            color: var(--theme-text, #2D3436);
        }
        .mobile-hours-item .hours-time {
            color: var(--theme-success-text, #28a745);
            font-weight: 500;
        }
        .mobile-hours-item.today .hours-time {
            color: var(--theme-button-text, #fff);
        }
        .mobile-hours-item .hours-closed {
            color: var(--theme-danger-text, #dc3545);
            font-weight: 500;
        }
        .mobile-hours-item.today .hours-closed {
            color: rgba(255, 255, 255, 0.85);
        }
        
        .mobile-wifi-content {
            padding: 12px;
            background: var(--theme-bg, #f8f8f8);
            border-radius: var(--radius-md);
            margin-top: 8px;
        }
        .wifi-info-box {
            background: var(--theme-surface, #fff);
            border-radius: var(--radius-md);
            overflow: hidden;
        }
        .wifi-info-row {
            display: flex;
            align-items: center;
            padding: 14px 16px;
            border-bottom: 1px solid var(--theme-border, #f0f0f0);
        }
        .wifi-info-row:last-child {
            border-bottom: none;
        }
        .wifi-label {
            font-size: 13px;
            color: var(--theme-text-muted, #666);
            min-width: 70px;
        }
        .wifi-value {
            flex: 1;
            font-size: 15px;
            font-weight: 600;
            color: var(--theme-text, #2D3436);
            word-break: break-all;
        }
        .wifi-password {
            font-family: monospace;
            letter-spacing: 1px;
        }
        .wifi-copy-btn {
            background: var(--theme-primary);
            border: none;
            width: 36px;
            height: 36px;
            border-radius: var(--radius-sm);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-left: 10px;
            transition: all 0.2s ease;
        }
        .wifi-copy-btn svg {
            stroke: var(--theme-button-text, #fff);
        }
        .wifi-copy-btn:hover {
            background: var(--theme-secondary);
            transform: scale(1.05);
        }
        .wifi-copy-btn.copied {
            background: var(--theme-success-text, #27ae60);
        }
        .wifi-copy-btn.copied svg {
            stroke: var(--theme-button-text, #fff);
        }
        
        .search-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.6);
            z-index: 2000;
            align-items: flex-start;
            justify-content: center;
            padding-top: calc(80px + env(safe-area-inset-top, 0px));
        }
        .search-modal.show {
            display: flex;
        }
        .search-modal-content {
            background: var(--theme-surface, #fff);
            color: var(--theme-text, #333);
            width: 90%;
            max-width: 500px;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-hover, 0 20px 60px rgba(0,0,0,0.3));
        }
        .search-input-wrap {
            display: flex;
            align-items: center;
            padding: 16px;
            border-bottom: 1px solid var(--theme-border, #eee);
            gap: 12px;
        }
        .search-input-wrap input {
            flex: 1;
            border: none;
            font-size: 16px;
            outline: none;
            background: transparent;
            color: var(--theme-text, #333);
        }
        .search-input-wrap input::placeholder {
            color: var(--theme-text-muted, #999);
        }
        .search-input-wrap svg {
            color: var(--theme-text-muted, #999);
        }
        .search-close-btn {
            background: none;
            border: none;
            font-size: 14px;
            color: var(--theme-primary) !important;
            cursor: pointer;
            font-weight: 600;
        }
        .search-results {
            max-height: 400px;
            overflow-y: auto;
        }
        .search-result-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 16px;
            border-bottom: 1px solid var(--theme-border, #f0f0f0);
            cursor: pointer;
            transition: background 0.2s;
        }
        .search-result-item:hover {
            background: var(--theme-bg, #f8f9fa);
        }
        .search-result-item img {
            width: 50px;
            height: 50px;
            border-radius: var(--radius-sm);
            object-fit: cover;
        }
        .search-result-item .no-img {
            width: 50px;
            height: 50px;
            border-radius: var(--radius-sm);
            background: var(--theme-bg, #f0f0f0);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--theme-text-muted, #999);
        }
        .search-result-info {
            flex: 1;
        }
        .search-result-info h4 {
            margin: 0 0 4px 0;
            font-size: 14px;
            color: var(--theme-text, #333);
        }
        .search-result-info span {
            font-size: 12px;
            color: var(--theme-text-muted, #999);
        }
        .search-result-price {
            font-weight: 600;
            color: var(--theme-primary) !important;
        }
        .search-no-results {
            padding: 40px 20px;
            text-align: center;
            color: var(--theme-text-muted, #999);
        }
        
        .discount-badge {
            position: absolute;
            top: 10px;
            left: 10px;
            background: var(--theme-discount, #e74c3c);
            color: white;
            padding: 5px 10px;
            border-radius: var(--radius-lg);
            font-size: 12px;
            font-weight: bold;
            z-index: 10;
            box-shadow: 0 2px 8px rgba(231,76,60,0.4);
        }
        .discount-badge-small {
            position: absolute;
            top: 5px;
            left: 5px;
            background: var(--theme-discount, #e74c3c);
            color: white;
            padding: 3px 8px;
            border-radius: var(--radius-md);
            font-size: 11px;
            font-weight: bold;
            z-index: 10;
        }
        .old-price {
            text-decoration: line-through;
            color: #999;
            font-size: 14px;
            margin-right: 8px;
        }
        .new-price {
            color: var(--theme-discount, #e74c3c);
            font-weight: bold;
        }
        
        .product-tags {
            position: absolute;
            top: 10px;
            right: 10px;
            display: flex;
            gap: 5px;
            z-index: 10;
        }
        .product-tag {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }
        .product-tags-inline {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
            margin-bottom: 8px;
        }
        .tag-badge {
            display: inline-block;
            padding: 3px 10px;
            border-radius: var(--radius-lg);
            font-size: 11px;
            font-weight: 500;
            color: var(--theme-button-text, #fff);
        }
        .popular-card, .product-list-image {
            position: relative;
        }
        .popular-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            margin-bottom: 6px;
            justify-content: center;
        }
        .popular-tag-badge {
            display: inline-block;
            padding: 2px 8px;
            border-radius: var(--radius-md);
            font-size: 10px;
            font-weight: 600;
            color: var(--theme-button-text, #fff);
        }
        .modal-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 15px;
            justify-content: center;
        }
        .modal-tag {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 6px 14px;
            border-radius: var(--radius-lg);
            font-size: 12px;
            font-weight: 600;
            color: var(--theme-button-text, #fff);
            box-shadow: var(--shadow-soft, 0 2px 8px rgba(0,0,0,0.12));
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .modal-tag:hover {
            transform: translateY(-2px);
            box-shadow: var(--shadow-hover, 0 4px 12px rgba(0,0,0,0.18));
        }
        .modal-tag svg {
            width: 14px;
            height: 14px;
        }
        .modal-tag.discount-tag {
            background: var(--theme-discount, #e74c3c);
            animation: none;
        }
        .modal-prep-time {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: var(--theme-success-bg, #e8f5e9);
            color: var(--theme-success-text, #2e7d32);
            padding: 4px 10px;
            border-radius: var(--radius-sm);
            font-size: 13px;
            font-weight: 500;
            margin-bottom: 10px;
        }
        .language-selector { z-index: 1000; position: relative; }
        .lang-dropdown { position: relative; z-index: 1000; }
        .header-actions {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .lang-btn {
            background: var(--theme-bg, #F8F9FA) !important;
            border: 1px solid var(--theme-border, #EFEFEF) !important;
            padding: 8px 12px;
            border-radius: var(--radius-md) !important;
            cursor: pointer;
            font-size: 20px;
            display: flex;
            align-items: center;
            gap: 5px;
            color: var(--theme-text, #2D3436) !important;
            transition: all 0.3s ease;
        }
        .lang-btn:hover { background: var(--theme-border, #EFEFEF) !important; }
        .lang-btn__flag { font-size: 18px; }
        .lang-arrow { font-size: 10px; color: var(--theme-text-muted, #636E72) !important; }
        .lang-menu {
            display: none;
            position: absolute;
            top: 100%;
            right: 0;
            margin-top: 8px;
            background: var(--theme-surface, #FFFFFF);
            border-radius: var(--radius-md) !important;
            box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
            min-width: 150px;
            overflow: hidden;
            border: 1px solid var(--theme-border, #EFEFEF);
            z-index: 9999;
        }
        .lang-menu.show { display: block; }
        .lang-option {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 15px;
            color: var(--theme-text, #2D3436) !important;
            text-decoration: none;
            font-size: 14px;
            transition: all 0.3s ease;
        }
        .lang-option:hover { background: var(--theme-bg, #F8F9FA) !important; }
        .lang-option.active { background: color-mix(in srgb, var(--theme-primary) 12%, white) !important; font-weight: 600; color: var(--theme-primary) !important; }
        .social-icon-link:hover { transform: scale(1.1); }
        .favorites-modal-close {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: #f5f5f5;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s;
        }
        .favorites-modal-close:hover { background: #eee; }
        
        @media (max-width: 768px) {
            .header-content {
                display: flex !important;
                flex-direction: row !important;
                align-items: center !important;
                justify-content: center !important;
                position: relative !important;
                padding: 0 15px !important;
            }
            .header-content > a {
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                flex: 1 !important;
                max-width: calc(100% - 110px) !important;
            }
            .header-content img {
                display: block !important;
                max-width: 100% !important;
                max-height: 45px !important;
                height: auto !important;
                width: auto !important;
                object-fit: contain !important;
            }
            .header-content .restaurant-logo {
                display: block !important;
                max-width: 100% !important;
                font-size: 20px !important;
                text-align: center !important;
            }
        }
        
        @media (max-width: 480px) {
            .header-content {
                flex-direction: row !important;
                justify-content: center !important;
                padding: 0 10px !important;
            }
            .header-content > a {
                max-width: calc(100% - 55px) !important;
            }
            .header-content img {
                max-height: 40px !important;
            }
            .header-content .restaurant-logo {
                font-size: 18px !important;
            }
            .language-selector {
                position: relative !important;
                top: auto !important;
                right: auto !important;
                transform: none !important;
                flex-shrink: 0;
            }
            .lang-btn {
                padding: 6px 10px;
                font-size: 18px;
            }
        }
        
        .modal-image-slider {
            position: relative;
            width: 100%;
            height: 100%;
        }
        .slider-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40px;
            height: 40px;
            background: rgba(255,255,255,0.9);
            border: none;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            transition: all 0.2s;
        }
        .slider-arrow:hover {
            background: white;
            transform: translateY(-50%) scale(1.1);
        }
        .slider-prev { left: 10px; }
        .slider-next { right: 10px; }
        .slider-dots {
            position: absolute;
            bottom: 15px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 8px;
            z-index: 10;
        }
        .slider-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: rgba(255,255,255,0.5);
            cursor: pointer;
            transition: all 0.2s;
            border: 2px solid rgba(255,255,255,0.8);
        }
        .slider-dot.active {
            background: white;
            transform: scale(1.2);
        }
        .slider-dot:hover {
            background: rgba(255,255,255,0.8);
        }

        .product-list-desc {
            margin: 4px 0 8px;
            font-size: 13px;
            color: var(--theme-text-muted, #666);
            line-height: 1.35;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .product-list-meta {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 10px;
            flex-wrap: wrap;
        }
        .product-list-time {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 11px;
            color: var(--theme-text-muted, #888);
            background: var(--theme-bg, #f5f5f5);
            padding: 3px 8px;
            border-radius: var(--radius-md);
            margin-right: auto;
        }
        .product-list-time i {
            font-size: 10px;
            color: #10b981;
        }
        .product-list-meta .product-list-price {
            margin: 0;
        }

/* —— Table order / cart —— */
.table-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-primary) 14%, #fff);
    color: var(--theme-primary);
    font-size: 13px;
    font-weight: 700;
}
.mobile-menu-table {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-primary, #0f766e) 14%, #fff);
    color: var(--theme-primary, #0f766e);
    max-width: calc(100% - 56px);
}
.mobile-menu-table__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.85;
}
.mobile-menu-table__name {
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.dark-mode .mobile-menu-table {
    background: color-mix(in srgb, var(--theme-primary, #0f766e) 22%, #0f172a);
}
.header-ops-btn .ops-badge,
.header-btn-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--theme-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}
.cart-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 960;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.cart-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}
.cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(400px, 100%);
    height: 100%;
    height: 100dvh;
    background: var(--theme-surface, #fff);
    z-index: 970;
    transform: translateX(100%);
    transition: transform .25s ease;
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 30px rgba(0,0,0,.12);
}
.cart-drawer.is-open { transform: translateX(0); }
.cart-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    padding-top: calc(16px + env(safe-area-inset-top, 0px));
    border-bottom: 1px solid var(--theme-border, #eee);
}
.cart-drawer-body {
    flex: 1;
    overflow: auto;
    padding: 12px 16px;
}
.cart-drawer-footer {
    border-top: 1px solid var(--theme-border, #eee);
    padding: 14px 16px calc(18px + env(safe-area-inset-bottom, 0px));
}
.cart-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--theme-border, #eee);
    align-items: flex-start;
}
.cart-line-main { flex: 1; min-width: 0; }
.cart-line-info { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--theme-text, #0f172a); }
.cart-line-name { color: var(--theme-text, #0f172a); }
.cart-line-price { color: var(--theme-text, #0f172a); }
.cart-line-mod { color: var(--theme-text-muted, #64748b); }
.cart-line-note {
    width: 100%;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid var(--theme-border, #e5e7eb);
    border-radius: 8px;
    font-size: 12px;
    background: var(--theme-bg, #f8fafc);
    color: var(--theme-text, #0f172a);
}
.cart-line-note:focus {
    outline: none;
    border-color: var(--theme-primary, #0f766e);
    background: var(--theme-surface, #fff);
}
.cart-line-qty {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.cart-line-qty button {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid var(--theme-border, #e5e7eb);
    background: var(--theme-bg, #f8fafc);
    color: var(--theme-text, #0f172a);
    cursor: pointer;
    font-size: 16px;
}
.cart-empty { text-align: center; color: var(--theme-text-muted, #64748b); padding: 40px 10px; }
.cart-total-row {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--theme-text, #0f172a);
}
.cart-submit {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 14px 16px;
    background: var(--theme-button-bg, var(--theme-primary));
    color: var(--theme-button-text, #fff);
    font-weight: 700;
    cursor: pointer;
}
.cart-drawer-close {
    border: none;
    background: transparent;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    color: var(--theme-text, #0f172a);
}
.cart-note {
    width: 100%;
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--theme-border, #e5e7eb);
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #0f172a);
    resize: vertical;
    min-height: 64px;
    font: inherit;
}
.cart-note::placeholder {
    color: var(--theme-text-muted, #94a3b8);
}
.modal-add-cart-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    background: var(--theme-button-bg, var(--theme-primary));
    color: var(--theme-button-text, #fff);
    font-weight: 700;
    cursor: pointer;
}

/* Paket / gel-al formu */
.pkg-input {
    margin-bottom: 8px;
}
.pkg-input--phone {
    margin-bottom: 4px;
}
.pkg-help-text {
    display: block;
    margin: 0 2px 8px;
    color: var(--theme-text-muted, #64748b);
    font-size: 12px;
}
.pkg-type-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.pkg-type-label {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px;
    border: 1px solid var(--theme-border, #e2e8f0);
    border-radius: 10px;
    font-size: 13px;
    cursor: pointer;
    color: var(--theme-text, #0f172a);
    background: var(--theme-surface, #fff);
}
.pkg-type-label input {
    accent-color: var(--theme-primary, #0f172a);
}
.pkg-address {
    margin-bottom: 8px;
    display: none;
}
body.dark-mode .pkg-type-label {
    background: var(--theme-surface, #1e293b);
    border-color: var(--theme-border, #334155);
    color: var(--theme-text, #e2e8f0);
}

/* Product modifiers (extras / removals) */
.modal-modifiers {
    margin: 14px 0 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.modal-mod-group {
    border: 1px solid var(--theme-border, #eef0f3);
    border-radius: 12px;
    padding: 10px 12px;
    background: transparent !important;
}
.modal-mod-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--theme-text-muted, #64748b);
    margin-bottom: 8px;
}
.modal-mod-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.modal-mod-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 6px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.3;
    user-select: none;
    color: var(--theme-text, #0f172a);
}
.modal-mod-item:hover {
    background: rgba(128, 128, 128, 0.08);
}
.modal-mod-item input {
    width: 18px;
    height: 18px;
    accent-color: var(--theme-primary, #0f172a);
    flex-shrink: 0;
}
.modal-mod-name {
    flex: 1;
    min-width: 0;
    color: var(--theme-text, #0f172a);
}
.modal-mod-price {
    font-size: 12px;
    font-weight: 600;
    color: var(--theme-price, #0f766e);
    white-space: nowrap;
}
body.dark-mode .modal-mod-item:hover {
    background: rgba(255, 255, 255, 0.06);
}
.cart-line-mods {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 2px 0 4px;
}
.cart-line-mod {
    font-size: 11px;
    line-height: 1.35;
    color: #64748b;
}
.cart-line-mod--extra { color: #0f766e; }
.cart-line-mod--removal { color: #b45309; }
body.dark-mode .modal-mod-group {
    background: transparent !important;
    border-color: transparent;
}
body.dark-mode .modal-mod-title,
body.dark-mode .cart-line-mod { color: #94a3b8; }
body.dark-mode .modal-mod-name { color: #e2e8f0; }
body.dark-mode .modal-mod-item:hover { background: rgba(148, 163, 184, 0.08); }
body.dark-mode .cart-drawer {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

/* ===== RTL (Arapça vb.) temel destek — ince görsel ayrıntılar hariç ana yapı ===== */
html[dir="rtl"] body {
    text-align: right;
}
html[dir="rtl"] .product-list-item,
html[dir="rtl"] .popular-card-body,
html[dir="rtl"] .daily-menu-card {
    flex-direction: row-reverse;
}
html[dir="rtl"] .product-list-info,
html[dir="rtl"] .daily-menu-info {
    text-align: right;
}
html[dir="rtl"] .modal-detail-head {
    flex-direction: row-reverse;
}
html[dir="rtl"] .modal-breadcrumb,
html[dir="rtl"] .modal-name-v2,
html[dir="rtl"] .modal-description-v2,
html[dir="rtl"] .modal-mod-name {
    text-align: right;
}
html[dir="rtl"] .modal-mod-item {
    flex-direction: row-reverse;
}
html[dir="rtl"] .cart-drawer {
    right: auto;
    left: 0;
    transform: translateX(-100%);
}
html[dir="rtl"] .cart-drawer.is-open {
    transform: translateX(0);
}
html[dir="rtl"] .cart-line-main,
html[dir="rtl"] .cart-line-info {
    text-align: right;
}
html[dir="rtl"] .cart-line-qty {
    flex-direction: row-reverse;
}
html[dir="rtl"] .mobile-menu {
    right: auto;
    left: -300px;
}
html[dir="rtl"] .mobile-menu.show {
    left: 0;
}
html[dir="rtl"] .mobile-menu-item,
html[dir="rtl"] .mobile-lang-item {
    flex-direction: row-reverse;
    text-align: right;
}
html[dir="rtl"] .mobile-menu-item-badge {
    margin-left: 0;
    margin-right: auto;
}
html[dir="rtl"] .lang-check {
    margin-left: 0;
    margin-right: auto;
}
html[dir="rtl"] .category-nav-list,
html[dir="rtl"] .categories-nav-list,
html[dir="rtl"] .menu-filter-bar {
    direction: rtl;
}
html[dir="rtl"] .back-btn {
    flex-direction: row-reverse;
}
html[dir="rtl"] .search-input-wrap {
    flex-direction: row-reverse;
}

/* QR menü ürün etkileşimleri ve masaüstü detay penceresi. */
[data-menu-product-card]:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--theme-primary, #0f766e) 65%, white);
    outline-offset: 3px;
}
section.popular-section .popular-card .popular-price {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 4px;
    color: var(--theme-price, var(--theme-primary, #0f766e)) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}
section.popular-section .popular-card .popular-price .old-price { font-size: 9px !important; }
section.popular-section .popular-card .popular-price .new-price { font-size: 11px !important; }

@media (min-width: 769px) {
    .product-modal-v2 { padding: 24px; }
    .product-modal-content-v2 {
        width: min(960px, calc(100vw - 48px));
        max-width: 960px;
        height: auto;
        max-height: 90vh;
        border-radius: 22px;
        overflow: auto;
        box-shadow: 0 24px 80px rgba(15, 23, 42, 0.35);
    }
    .product-modal-content-v2 .modal-body {
        display: grid;
        grid-template-columns: minmax(320px, 42%) minmax(0, 1fr);
        min-height: 540px;
    }
    .product-modal-content-v2.has-no-image .modal-body {
        display: block;
        min-height: 0;
    }
    .product-modal-content-v2 .modal-image-wrapper-v2 {
        height: 100%;
        min-height: 540px;
        max-height: none;
    }
    .product-modal-content-v2 .modal-info-v2 { padding: 38px 34px 28px; }
    .product-modal-content-v2 .modal-close-v2 {
        position: absolute;
        top: 16px;
        left: 16px;
    }
    .product-modal-content-v2 .modal-footer-v2 {
        position: static;
        padding: 16px 0 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }
}

/* Manuel masa seçim modalı */
.table-session-banner--select {
    background: #eff6ff;
    color: #1e40af;
    border-bottom-color: #bfdbfe;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.15s ease;
}
.table-session-banner--select:hover,
.table-session-banner--select:focus {
    background: #dbeafe;
    outline: none;
}

.table-select-overlay {
    position: fixed;
    inset: 0;
    z-index: 2100;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}
.table-select-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.table-select-modal {
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #1f2937);
    border-radius: 16px;
    width: 100%;
    max-width: 420px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    transform: translateY(12px);
    transition: transform 0.2s ease;
}
.table-select-overlay.is-open .table-select-modal {
    transform: translateY(0);
}
.table-select-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid var(--theme-border, #e5e7eb);
}
.table-select-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}
.table-select-close {
    background: transparent;
    border: none;
    font-size: 22px;
    line-height: 1;
    color: var(--theme-muted, #6b7280);
    cursor: pointer;
    padding: 4px;
    border-radius: 8px;
}
.table-select-close:hover,
.table-select-close:focus {
    background: rgba(0, 0, 0, 0.06);
    color: var(--theme-text, #1f2937);
    outline: none;
}
.table-select-body {
    overflow-y: auto;
    padding: 12px;
    -webkit-overflow-scrolling: touch;
}
.table-select-loading,
.table-select-empty {
    text-align: center;
    padding: 28px 16px;
    color: var(--theme-muted, #6b7280);
    font-size: 14px;
}
.table-select-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.table-select-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    padding: 14px 16px;
    border: 1px solid var(--theme-border, #e5e7eb);
    border-radius: 12px;
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #1f2937);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, transform 0.08s ease;
}
.table-select-item:hover,
.table-select-item:focus {
    background: var(--theme-highlight, #f3f4f6);
    border-color: var(--theme-primary, #2563eb);
    outline: none;
}
.table-select-item:active {
    transform: scale(0.99);
}
.table-select-item-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.table-select-item-zone {
    font-size: 12px;
    font-weight: 500;
    color: var(--theme-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.table-select-item-arrow {
    color: var(--theme-muted, #6b7280);
    font-size: 18px;
}
.table-select-item:hover .table-select-item-arrow,
.table-select-item:focus .table-select-item-arrow {
    color: var(--theme-primary, #2563eb);
}
body.dark-mode .table-select-modal {
    background: var(--theme-surface, #1f2937);
    color: var(--theme-text, #f9fafb);
}
body.dark-mode .table-select-header {
    border-bottom-color: var(--theme-border, #374151);
}
body.dark-mode .table-select-close {
    color: var(--theme-muted, #9ca3af);
}
body.dark-mode .table-select-close:hover,
body.dark-mode .table-select-close:focus {
    background: rgba(255, 255, 255, 0.08);
    color: var(--theme-text, #f9fafb);
}
body.dark-mode .table-select-item {
    background: var(--theme-surface, #1f2937);
    border-color: var(--theme-border, #374151);
    color: var(--theme-text, #f9fafb);
}
body.dark-mode .table-select-item:hover,
body.dark-mode .table-select-item:focus {
    background: var(--theme-highlight, #374151);
    border-color: var(--theme-primary, #60a5fa);
}
body.dark-mode .table-select-item-zone {
    color: var(--theme-muted, #9ca3af);
}
body.dark-mode .table-select-loading,
body.dark-mode .table-select-empty {
    color: var(--theme-muted, #9ca3af);
}

@media (max-width: 480px) {
    .table-select-overlay {
        align-items: flex-end;
        padding: 0;
    }
    .table-select-modal {
        max-width: none;
        max-height: 85vh;
        border-radius: 16px 16px 0 0;
    }
}

/* Paket / gel-al banner */
.package-mode-banner-section {
    padding: 16px 16px 0;
}
.package-mode-banner {
    background: linear-gradient(135deg, var(--theme-primary, #0f172a), var(--theme-secondary, #1e3a5f));
    color: var(--theme-button-text, #fff);
    border-radius: 14px;
    padding: 16px 18px;
}
.package-mode-banner__title {
    display: block;
    font-size: 16px;
    font-weight: 700;
}
.package-mode-banner__desc {
    margin: 6px 0 0;
    font-size: 13px;
    opacity: 0.9;
}

/* Kampanya slider */
.campaign-slider-section {
    padding: 16px 0 0;
}
.campaign-slider {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}
.campaign-slide {
    min-width: min(86%, 340px);
    scroll-snap-align: start;
    background: var(--theme-surface, #fff);
    border: 1px solid var(--theme-border, #e2e8f0);
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
}
.campaign-slide__image {
    width: 100%;
    height: 140px;
    object-fit: cover;
    display: block;
}
.campaign-slide__body {
    padding: 12px 14px;
}
.campaign-slide__title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--theme-text, #1a1a2e);
}
.campaign-slide__desc {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--theme-text-muted, #64748b);
}
.campaign-slide__link {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--theme-primary, #0f766e);
}
body.dark-mode .campaign-slide {
    background: var(--theme-surface, #1e293b);
    border-color: var(--theme-border, #334155);
}
body.dark-mode .campaign-slide__title {
    color: var(--theme-text, #f8fafc);
}
body.dark-mode .campaign-slide__desc {
    color: var(--theme-text-muted, #94a3b8);
}

/* Feedback modal */
.feedback-modal {
    display: none;
}
.feedback-modal-content {
    max-width: 420px;
    margin: 10vh auto;
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #333);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-hover, 0 20px 50px rgba(0,0,0,0.2));
}
.feedback-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    border-bottom: 1px solid var(--theme-border, #e2e8f0);
    font-weight: 700;
}
.feedback-modal-close {
    border: none;
    background: transparent;
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    color: var(--theme-text, #333);
}
.feedback-form {
    padding: 18px;
    display: grid;
    gap: 10px;
}
.feedback-input,
.feedback-select,
.feedback-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--theme-border, #e2e8f0);
    border-radius: 10px;
    background: var(--theme-surface, #fff);
    color: var(--theme-text, #333);
    font-family: inherit;
    font-size: 14px;
}
.feedback-input::placeholder,
.feedback-textarea::placeholder {
    color: var(--theme-text-muted, #94a3b8);
}
.feedback-select {
    margin-top: 4px;
}
.feedback-label {
    font-size: 13px;
    color: var(--theme-text-muted, #64748b);
}
.feedback-textarea {
    resize: vertical;
}
.feedback-submit {
    border: none;
    border-radius: 10px;
    padding: 12px;
    font-weight: 700;
    cursor: pointer;
    background: var(--theme-button-bg, var(--theme-primary, #0f766e));
    color: var(--theme-button-text, #fff);
}
.feedback-status {
    margin: 0;
    font-size: 12px;
    color: var(--theme-text-muted, #64748b);
    min-height: 18px;
}
body.dark-mode .feedback-modal-content {
    background: var(--theme-surface, #1e293b);
    color: var(--theme-text, #e2e8f0);
}
body.dark-mode .feedback-modal-header {
    border-bottom-color: var(--theme-border, #334155);
}
body.dark-mode .feedback-modal-close {
    color: var(--theme-text, #e2e8f0);
}
body.dark-mode .feedback-input,
body.dark-mode .feedback-select,
body.dark-mode .feedback-textarea {
    background: var(--theme-surface, #1e293b);
    border-color: var(--theme-border, #334155);
    color: var(--theme-text, #e2e8f0);
}

/* WiFi modal */
.wifi-modal {
    display: none;
}
.wifi-modal-content {
    background: var(--theme-surface, #fff);
    border-radius: 20px;
    width: 90%;
    max-width: 380px;
    overflow: hidden;
    box-shadow: var(--shadow-hover, 0 25px 80px rgba(0,0,0,0.3));
    animation: modalSlideIn 0.3s ease;
}
.wifi-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--theme-primary), var(--theme-secondary));
    color: var(--theme-button-text, #fff);
}
.wifi-modal-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
}
.wifi-modal-title svg {
    stroke: currentColor;
}
.wifi-modal-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-button-text, #fff);
}
.wifi-modal-close svg {
    stroke: currentColor;
}
.wifi-modal-body {
    padding: 24px;
}
.wifi-info-list {
    background: var(--theme-bg, #f8f9fa);
    border-radius: 14px;
    overflow: hidden;
}
.wifi-info-row {
    display: flex;
    align-items: center;
    padding: 16px 18px;
    border-bottom: 1px solid var(--theme-border, #eee);
}
.wifi-info-row:last-child {
    border-bottom: none;
}
.wifi-info-label {
    font-size: 13px;
    color: var(--theme-text-muted, #666);
    min-width: 80px;
}
.wifi-info-value {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: var(--theme-text, #2D3436);
    word-break: break-all;
}
.wifi-info-value.wifi-password {
    font-family: monospace;
    letter-spacing: 1px;
}
.wifi-info-btn {
    background: var(--theme-primary);
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-button-text, #fff);
    margin-left: 10px;
    transition: all 0.2s ease;
}
.wifi-info-btn svg {
    stroke: currentColor;
}
.wifi-info-btn:hover {
    background: var(--theme-secondary);
    transform: scale(1.05);
}
.wifi-info-btn.copied {
    background: var(--theme-success-text, #27ae60);
}
.wifi-modal-hint {
    margin: 16px 0 0;
    text-align: center;
    color: var(--theme-text-muted, #999);
    font-size: 12px;
}
.wifi-modal-hint svg {
    vertical-align: middle;
    margin-right: 4px;
}
body.dark-mode .wifi-modal-content {
    background: var(--theme-surface, #1e293b);
}
body.dark-mode .wifi-info-list {
    background: var(--theme-bg, #0f172a);
}
body.dark-mode .wifi-info-row {
    border-bottom-color: var(--theme-border, #334155);
}
body.dark-mode .wifi-info-label {
    color: var(--theme-text-muted, #94a3b8);
}
body.dark-mode .wifi-info-value {
    color: var(--theme-text, #e2e8f0);
}
body.dark-mode .wifi-modal-hint {
    color: var(--theme-text-muted, #94a3b8);
}

/* Mobile menu section titles & social icons */
.mobile-menu-section-title {
    padding: 16px 0;
    font-size: 12px;
    color: var(--theme-text-muted, #888);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}
.social-icons-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding-bottom: 10px;
}
.social-icon-link {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: transform 0.2s ease;
}
.social-icon-link:hover,
.social-icon-link:focus {
    transform: scale(1.08);
}
.social-icon-link svg {
    fill: currentColor;
}
.social-icon-link--instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}
.social-icon-link--facebook {
    background: #1877F2;
}
.social-icon-link--twitter {
    background: #000000;
}
body.dark-mode .social-icon-link--twitter {
    background: #e2e8f0;
    color: #0f172a;
}
