﻿:root {
    --primary-color: #007aff;
    --primary-hover: #005ce6;
    --primary-text: #1d1d1f;
    --secondary-text: #6e6e73;
    --background-color: #f5f5f7;
    --card-background: #ffffff;
    --border-color: #d2d2d7;
    --header-bg: var(--background-color);
    --search-bg: #eef0f2;
    --action-btn-bg: #e8e8ea;
    --action-btn-hover: #dcdce0;
    --fab-bg: var(--primary-text);
    --fab-text: #ffffff;
    --body-bg-image: none;
    --whatsapp-color: #25D366;
    --whatsapp-hover-color: #1DA851;
}

body.dark-theme {
    --primary-color: #8a8cff;
    --primary-hover: #a1a3ff;
    --primary-text: #ffffff;
    --secondary-text: #a1a1aa;
    --background-color: #18181b;
    --card-background: #27272a;
    --border-color: #3f3f46;
    --header-bg: rgba(24, 24, 27, 0.7);
    --search-bg: var(--card-background);
    --action-btn-bg: var(--card-background);
    --action-btn-hover: #3f3f46;
    --fab-bg: var(--primary-color);
    --fab-text: #18181b;
    --body-bg-image: linear-gradient(rgba(24, 24, 27, 0.9), rgba(24, 24, 27, 1)), url('https://images.unsplash.com/photo-1543353071-873f17a7a088?auto=format&fit=crop&w=1500&q=80');
}

body.sunset-theme {
    --primary-color: #ff6e40;
    --primary-hover: #ff8a65;
    --primary-text: #263238;
    --secondary-text: #546e7a;
    --background-color: #fff3e0;
    --card-background: #ffffff;
    --border-color: #ffd180;
    --header-bg: rgba(255, 243, 224, 0.8);
    --search-bg: #ffe0b2;
    --action-btn-bg: #ffcc80;
    --action-btn-hover: #ffb74d;
    --fab-bg: #4e342e;
    --fab-text: #ffffff;
    --body-bg-image: none;
}

body.midnight-mint-theme {
    --primary-color: #00c49a;
    --primary-hover: #00ab86;
    --primary-text: #e0e0e0;
    --secondary-text: #8899a6;
    --background-color: #1a202c;
    --card-background: #2d3748;
    --border-color: #4a5568;
    --header-bg: rgba(26, 32, 44, 0.8);
    --search-bg: #4a5568;
    --action-btn-bg: #4a5568;
    --action-btn-hover: #718096;
    --fab-bg: var(--primary-color);
    --fab-text: #1a202c;
    --body-bg-image: none;
}

body.rose-gold-theme {
    --primary-color: #e5a7a7;
    --primary-hover: #d58a8a;
    --primary-text: #4c4c4c;
    --secondary-text: #8c8c8c;
    --background-color: #fdfbfb;
    --card-background: #ffffff;
    --border-color: #f3e5e5;
    --header-bg: rgba(253, 251, 251, 0.8);
    --search-bg: #f3e5e5;
    --action-btn-bg: #f3e5e5;
    --action-btn-hover: #e5dada;
    --fab-bg: #b08d8d;
    --fab-text: #ffffff;
    --body-bg-image: none;
}

body.forest-green-theme {
    --primary-color: #4CAF50;
    --primary-hover: #45a049;
    --primary-text: #3E2723;
    --secondary-text: #795548;
    --background-color: #fdf8f0;
    --card-background: #ffffff;
    --border-color: #D7CCC8;
    --header-bg: rgba(253, 248, 240, 0.8);
    --search-bg: #ece6e1;
    --action-btn-bg: #ece6e1;
    --action-btn-hover: #D7CCC8;
    --fab-bg: #3E2723;
    --fab-text: #ffffff;
}

body.cherry-blossom-theme {
    --primary-color: #E91E63;
    --primary-hover: #C2185B;
    --primary-text: #424242;
    --secondary-text: #888888;
    --background-color: #fce4ec;
    --card-background: #ffffff;
    --border-color: #f8bbd0;
    --header-bg: rgba(252, 228, 236, 0.8);
    --search-bg: #f8bbd0;
    --action-btn-bg: #f8bbd0;
    --action-btn-hover: #f4a1c1;
    --fab-bg: #E91E63;
    --fab-text: #ffffff;
}

body.ocean-deep-theme {
    --primary-color: #FFC107;
    --primary-hover: #FFA000;
    --primary-text: #E0E1DD;
    --secondary-text: #778DA9;
    --background-color: #0D1B2A;
    --card-background: #1B263B;
    --border-color: #415A77;
    --header-bg: rgba(13, 27, 42, 0.8);
    --search-bg: var(--card-background);
    --action-btn-bg: var(--card-background);
    --action-btn-hover: #415A77;
    --fab-bg: var(--primary-color);
    --fab-text: #0D1B2A;
}

/* 1. ROYAL LUXURY (High-End, Steakhouse, Fine Dining) 
   Concept: Matte Black background with Gold accents. */
body.royal-luxury-theme {
    --primary-color: #D4AF37; /* Metallic Gold */
    --primary-hover: #B4941F;
    --primary-text: #F5F5F5; /* Off-White text */
    --secondary-text: #B0B0B0;
    --background-color: #121212; /* Very Dark Grey */
    --card-background: #1E1E1E; /* Slightly lighter card */
    --border-color: #333333;
    --header-bg: rgba(18, 18, 18, 0.95);
    --search-bg: #2C2C2C;
    --action-btn-bg: #2C2C2C;
    --action-btn-hover: #3D3D3D;
    --fab-bg: var(--primary-color);
    --fab-text: #000000; /* Black text on Gold button */
    --body-bg-image: none;
}

/* 2. ARCTIC BREEZE (Seafood, Frozen Yogurt, Clean/Corporate)
   Concept: Very clean whites with icy blue accents. */
body.arctic-breeze-theme {
    --primary-color: #0EA5E9; /* Sky Blue */
    --primary-hover: #0284C7;
    --primary-text: #0F172A; /* Dark Slate */
    --secondary-text: #64748B;
    --background-color: #F0F9FF; /* Alice Blue tint */
    --card-background: #FFFFFF;
    --border-color: #E0F2FE;
    --header-bg: rgba(240, 249, 255, 0.9);
    --search-bg: #E0F2FE;
    --action-btn-bg: #E0F2FE;
    --action-btn-hover: #BAE6FD;
    --fab-bg: var(--primary-color);
    --fab-text: #FFFFFF;
    --body-bg-image: none;
}

/* 3. CLASSIC RUBY (Burgers, Pizza, Fast Food)
   Concept: Red stimulates appetite. Classic "Diner" feel. */
body.classic-ruby-theme {
    --primary-color: #E11D48; /* Vibrant Red */
    --primary-hover: #BE123C;
    --primary-text: #1C1917;
    --secondary-text: #57534E;
    --background-color: #FFF1F2; /* Very faint red tint */
    --card-background: #FFFFFF;
    --border-color: #FECDD3;
    --header-bg: rgba(255, 241, 242, 0.9);
    --search-bg: #FFE4E6;
    --action-btn-bg: #FFE4E6;
    --action-btn-hover: #FDA4AF;
    --fab-bg: var(--primary-color);
    --fab-text: #FFFFFF;
    --body-bg-image: none;
}

/* 4. COFFEE BEAN (Coffee Shops, Bakeries)
   Concept: Warm, earthy browns and creams. */
body.coffee-bean-theme {
    --primary-color: #78350F; /* Rich Espresso Brown */
    --primary-hover: #451A03;
    --primary-text: #292524;
    --secondary-text: #78716C;
    --background-color: #FAF5EF; /* Cream / Eggshell */
    --card-background: #FFFFFF;
    --border-color: #E7E5E4;
    --header-bg: rgba(250, 245, 239, 0.9);
    --search-bg: #F5F5F4;
    --action-btn-bg: #E7E5E4;
    --action-btn-hover: #D6D3D1;
    --fab-bg: var(--primary-color);
    --fab-text: #FFFBEB;
    --body-bg-image: none;
}

/* 5. ELECTRIC VIOLET (Smoothie Bars, Desserts, Trendy)
   Concept: Playful, high energy purple. */
body.electric-violet-theme {
    --primary-color: #8B5CF6; /* Bright Violet */
    --primary-hover: #7C3AED;
    --primary-text: #111827;
    --secondary-text: #6B7280;
    --background-color: #F5F3FF;
    --card-background: #FFFFFF;
    --border-color: #DDD6FE;
    --header-bg: rgba(245, 243, 255, 0.9);
    --search-bg: #EDE9FE;
    --action-btn-bg: #EDE9FE;
    --action-btn-hover: #C4B5FD;
    --fab-bg: var(--primary-color);
    --fab-text: #FFFFFF;
    --body-bg-image: none;
}

body.popup-open {
    overflow: hidden;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--background-color);
    color: var(--primary-text);
    /* Increased padding-bottom to account for new footer toolbar and FAB */
    padding-bottom: 200px;
}

.page-header-container {
    background-color: color-mix(in srgb, var(--background-color) 85%, transparent);
    padding: 1rem 1rem 0 1rem;
    position: sticky; /* Make top header sticky */
    top: 0;
    z-index: 1001; /* Keep it above the category bar */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.header-content {
    max-width: 1200px;
    margin: 0 auto;
}


.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: var(--primary-text);
}

.header-logo {
    height: 75px;
    width: 75px;
    object-fit: cover;
    border-radius: 12px;
}

.header-brand h1 {
    font-size: 2rem;
    font-weight: 900;
}

.search-and-actions {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    padding: 1rem 0;
}

.search-container {
    flex-grow: 1;
    position: relative;
}

.search-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--secondary-text);
}

[dir='ltr'] .search-icon {
    left: 1rem;
}

[dir='rtl'] .search-icon {
    right: 1rem;
}

#searchInput {
    width: 100%;
    padding: 0.8rem 1rem;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background-color: var(--search-bg);
    font-size: 1rem;
    color: var(--primary-text);
    transition: all 0.2s ease;
}

[dir='ltr'] #searchInput {
    padding-left: 2.5rem;
}

[dir='rtl'] #searchInput {
    padding-right: 2.5rem;
}

#searchInput::placeholder {
    color: var(--secondary-text);
}

#searchInput:focus {
    outline: none;
    background-color: var(--card-background);
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color) 30%, transparent);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.action-btn {
    font-size: 1rem;
    color: var(--primary-text);
    background-color: var(--action-btn-bg);
    border: 1px solid var(--border-color);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all .2s;
    flex-shrink: 0;
}

.category-bar-sticky-wrapper {
    position: sticky;
    top: 75px; /* Sticks right below the top header */
    z-index: 1000;
    background-color: color-mix(in srgb, var(--header-bg) 90%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 2px 5px color-mix(in srgb, var(--primary-text) 5%, transparent);
    padding: 0 1rem; /* Padding remains on the main wrapper */
}

.category-bar {
    max-width: 1200px;
    margin: 0 auto;
    /* Remove bottom padding, it will go on the sub-nav */
    padding-bottom: 0;
}

/* --- Sub-Category Navigation (This whole block is NEW/REVISED) --- */
.sub-category-nav {
    max-width: 1200px; /* Match parent container width */
    margin: 0 auto; /* Center it */
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.75rem 0; /* Vertical padding */
    scrollbar-width: none;
}

    .sub-category-nav::-webkit-scrollbar {
        display: none;
    }


.category-buttons {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding: .5rem 0;
    scrollbar-width: none;
}

    .category-buttons::-webkit-scrollbar {
        display: none;
    }

    .category-buttons button {
        flex: 0 0 120px;
        border: 2px solid transparent;
        background-color: var(--card-background);
        border-radius: 16px;
        cursor: pointer;
        transition: all .2s ease-in-out;
        padding: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

        .category-buttons button:hover {
            transform: translateY(-4px);
        }

        .category-buttons button.active {
            border-color: var(--primary-color);
            box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-color) 20%, transparent);
        }

.category-image-wrapper {
    width: 100%;
    height: 90px;
    flex-shrink: 0;
}

    .category-image-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.category-buttons span {
    padding: 0.75rem 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    color: var(--primary-text);
    flex-grow: 1;
    display: grid;
    place-items: center;
}

.main-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 1rem;
}

.category-anchor {
    scroll-margin-top: 150px;
}

.category-title {
    font-size: 1.8rem;
    font-weight: 900;
    margin-top: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}

    .category-title:first-child {
        margin-top: 0;
    }

.menu-items-container {
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.menu-item {
    background: var(--card-background);
    border: 1px solid var(--border-color);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .menu-item:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 16px color-mix(in srgb, var(--primary-text) 10%, transparent);
    }

.menu-item-content {
    cursor: pointer;
}

.menu-item-name {
    font-weight: 600;
    font-size: 1.1rem;
}

.item-description {
    font-size: 0.9rem;
    color: var(--secondary-text);
    line-height: 1.5;
    margin-top: 0.25rem;
}

/*.grid-view, .two-column-view {
    display: grid;
    gap: 1.5rem;
}

.grid-view {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.two-column-view {
    grid-template-columns: 1fr 1fr;
}

@@media (max-width: 300px) {
    .two-column-view {
        grid-template-columns: 1fr;
    }
}

.list-view, .list-compact-view, .detailed-view, .list-view-noimage {
    display: flex;
    flex-direction: column;
}

    .grid-view .menu-item, .two-column-view .menu-item, .detailed-view .menu-item {
        border-radius: 16px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .grid-view .menu-item-content, .detailed-view .menu-item-content {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }*/

.grid-view, .two-column-view, .three-column-view, .four-column-view {
    display: grid;
    gap: 1.5rem;
}

.grid-view {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.two-column-view {
    grid-template-columns: 1fr 1fr;
}

.three-column-view {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem; /* Tighter gap for mobile */
}

.four-column-view {
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem; /* Even tighter gap to fit 4 items */
}

@media (max-width: 320px) {
    /* Safe fallbacks for extremely tiny screens like old iPhone SE */
    .two-column-view {
        grid-template-columns: 1fr;
    }

    .three-column-view {
        grid-template-columns: repeat(2, 1fr);
    }

    .four-column-view {
        grid-template-columns: repeat(2, 1fr);
    }
}

.list-view, .list-compact-view, .detailed-view, .list-view-noimage {
    display: flex;
    flex-direction: column;
}

    .grid-view .menu-item, .two-column-view .menu-item, .three-column-view .menu-item, .four-column-view .menu-item, .detailed-view .menu-item {
        border-radius: 16px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .grid-view .menu-item-content, .three-column-view .menu-item-content, .four-column-view .menu-item-content, .detailed-view .menu-item-content {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

/* ========================================= */
/* --- THREE COLUMN VIEW SPECIFICS --- */
/* ========================================= */
.three-column-view .item-image-container {
    order: 1;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.three-column-view .item-details {
    order: 2;
    padding: 0.5rem;
    text-align: center;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.three-column-view .menu-item-name {
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.three-column-view .item-description {
    display: none;
}

.three-column-view .item-footer {
    order: 3;
    margin-top: auto;
    padding: 0 0.5rem 0.75rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.three-column-view .menu-item-price {
    font-size: 0.85rem;
    font-weight: 700;
}

.three-column-view .add-item-btn,
.three-column-view .quantity-btn {
    width: 30px;
    height: 30px;
    font-size: 0.9rem;
}

.three-column-view .quantity-display {
    font-size: 0.9rem;
    min-width: 20px;
}

.three-column-view .wishlist-btn {
    width: 26px;
    height: 26px;
    top: 4px;
    left: 4px;
}

    .three-column-view .wishlist-btn i {
        font-size: 0.8rem;
    }

/* ========================================= */
/* --- FOUR COLUMN VIEW SPECIFICS --- */
/* ========================================= */
.four-column-view .item-image-container {
    order: 1;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.four-column-view .item-details {
    order: 2;
    padding: 0.4rem;
    text-align: center;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.four-column-view .menu-item-name {
    font-size: 0.75rem; /* Scaled down for 4 items */
    font-weight: 600;
    margin: 0;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.four-column-view .item-description {
    display: none;
}

.four-column-view .item-footer {
    order: 3;
    margin-top: auto;
    padding: 0 0.4rem 0.5rem 0.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.four-column-view .menu-item-price {
    font-size: 0.75rem;
    font-weight: 700;
}

.four-column-view .add-item-btn,
.four-column-view .quantity-btn {
    width: 26px;
    height: 26px;
    font-size: 0.8rem;
}

.four-column-view .quantity-display {
    font-size: 0.85rem;
    min-width: 16px;
}

.four-column-view .wishlist-btn {
    width: 22px;
    height: 22px;
    top: 3px;
    left: 3px;
}

    .four-column-view .wishlist-btn i {
        font-size: 0.7rem;
        margin-top: 1px;
    }

.grid-view .item-image-container {
    position: relative;
    width: 100%;
    height: 180px;
}

.grid-view .item-details {
    padding: 1rem;
    flex-grow: 1;
}

.grid-view .item-footer {
    margin-top: auto;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.two-column-view .menu-item-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.two-column-view .item-details {
    order: 1;
    padding: 1rem;
}

.two-column-view .item-image-container {
    order: 2;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
}

.two-column-view .item-footer {
    order: 3;
    margin-top: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.list-view .menu-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    border-radius: 12px;
    padding: 0.75rem;
    gap: 1rem;
}

.list-view .item-image-container {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 8px;
    position: relative;
}

.list-view .menu-item-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-grow: 1;
}

.list-view .item-details {
    padding: 0;
}

.list-view .item-footer {
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0;
    margin-left: auto;
}

.list-compact-view .menu-item {
    display: flex;
    align-items: center;
    border-radius: 10px;
    padding: 0.5rem;
    gap: 1rem;
}

.list-compact-view .item-image-container {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 8px;
    position: relative;
}

.list-compact-view .menu-item-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-grow: 1;
}

.list-compact-view .item-details {
    padding: 0;
}

.list-compact-view .menu-item-name {
    font-size: 1rem;
    font-weight: 500;
}

.list-compact-view .item-footer {
    margin-left: auto;
    padding: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
}

.list-compact-view .menu-item-price {
    font-size: 1rem;
}

.list-compact-view .add-item-btn, .list-compact-view .quantity-btn {
    width: 36px;
    height: 36px;
    font-size: 1rem;
}

.list-compact-view .quantity-display {
    font-size: 1rem;
}

.detailed-view .item-image-container {
    height: 150px;
    border-radius: 12px 12px 0 0;
    position: relative;
}

.detailed-view .item-details {
    padding: 1rem;
    flex-grow: 1;
}

.detailed-view .menu-item-name {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

.detailed-view .item-footer {
    padding: 0 1rem 1rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.list-view-noimage .menu-item {
    display: flex;
    align-items: center;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    gap: 1rem;
}

.list-view-noimage .item-image-container {
    display: none;
}

.list-view-noimage .menu-item-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-grow: 1;
}

.list-view-noimage .item-details {
    padding: 0;
}

.list-view-noimage .menu-item-name {
    font-size: 1rem;
    font-weight: 500;
}

.list-view-noimage .item-footer {
    margin-left: auto;
    padding: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
}

.list-view-noimage .menu-item-price {
    font-size: 1rem;
}

.list-view-noimage .add-item-btn, .list-view-noimage .quantity-btn {
    width: 36px;
    height: 36px;
    font-size: 1rem;
}

.list-view-noimage .quantity-display {
    font-size: 1rem;
}

.item-image-container {
    background-color: var(--search-bg);
    background-repeat: no-repeat;
    background-position: center;
}

.slides-wrapper {
    width: 100%;
    height: 100%;
}

    .slides-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity .6s ease-in-out;
        z-index: 0;
    }

        .slides-wrapper img.active {
            opacity: 1;
            z-index: 1;
        }

.slide-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    gap: 8px;
    padding: 5px;
    background-color: rgba(0,0,0,.3);
    border-radius: 10px;
}

.dot {
    width: 8px;
    height: 8px;
    background-color: rgba(255,255,255,.6);
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .3s;
}

    .dot.active {
        background-color: #fff;
    }

.item-quantity-control {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.add-item-btn, .quantity-btn {
    background-color: var(--primary-color);
    color: var(--background-color);
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background-color .2s;
}

    .add-item-btn:hover, .quantity-btn:hover {
        background-color: var(--primary-hover);
    }

.quantity-display {
    font-size: 1.2rem;
    font-weight: 600;
    min-width: 25px;
    text-align: center;
}

#cart-fab {
    position: fixed;
    /* Adjusted position to sit above the new footer */
    bottom: calc(70px + 1.5rem);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 1rem;
    background-color: var(--fab-bg);
    color: var(--fab-text);
    padding: 1rem 1.5rem;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) scale(0.9);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
    cursor: pointer;
}

[dir='ltr'] #cart-fab {
    left: 50%;
}

[dir='rtl'] #cart-fab {
    right: 50%;
    transform: translateX(50%) scale(0.9);
}

#cart-fab.visible {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) scale(1);
}

[dir='rtl'] #cart-fab.visible {
    transform: translateX(50%) scale(1);
}

.fab-item-count {
    background-color: var(--primary-color);
    color: var(--fab-text);
    border-radius: 50px;
    padding: 0.2rem 0.6rem;
    font-size: 0.9rem;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1001;
}

.popup {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--card-background);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    z-index: 1002;
    padding: 1.5rem;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(100%);
    transition: transform .3s ease;
}

    .popup.dragging {
        transition: none;
    }

@@media (min-width: 640px) {
    .popup {
        top: 50%;
        left: 50%;
        bottom: auto;
        width: 90%;
        max-width: 550px;
        border-radius: 12px;
        transform: translate(-50%, -50%) scale(0.95);
        opacity: 0;
        transition: transform .3s ease, opacity .3s ease;
    }
}

.overlay.active, .popup.active {
    display: block;
}

.popup.active {
    transform: translateY(0);
}

@@media (min-width: 640px) {
    .popup.active {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

.popup h2 {
    text-align: center;
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

#item-detail-popup .popup-image-container {
    width: 100%;
    height: 250px;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 1.5rem;
    background-color: var(--border-color);
    position: relative;
}

#popup-item-name {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

#popup-item-description {
    color: var(--secondary-text);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

#item-detail-popup .popup-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
}

#popup-item-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
}

.popup-recommendations-container {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
    direction: ltr;
}

.recommendation-item {
    flex: 1;
    background-color: var(--background-color);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.75rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: var(--primary-text);
}

    .recommendation-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 4px 12px color-mix(in srgb, var(--primary-text) 8%, transparent);
        border-color: var(--primary-color);
    }

.recommendation-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--secondary-text);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.recommendation-image {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    object-fit: cover;
    margin-bottom: 0.75rem;
    background-color: var(--card-background);
}

.recommendation-name {
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recommendation-price {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--primary-color);
}

.language-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

    .language-list a {
        display: block;
        padding: 1rem;
        text-align: center;
        background: var(--action-btn-bg);
        border: 1px solid var(--border-color);
        color: var(--primary-text);
        text-decoration: none;
        border-radius: 8px;
        font-weight: 500;
        transition: all .2s;
        width: 100%;
        cursor: pointer;
        font-size: 1rem;
    }

        .language-list a.current, .language-list a:hover {
            background: var(--primary-color);
            color: #fff;
            border-color: var(--primary-color);
        }

#basketItems {
    list-style: none;
    padding: 0;
}

.basket-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem 0;
    border-bottom: 1px solid var(--border-color);
    gap: 0.75rem;
}

.basket-item-main {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.basket-item:last-child {
    border-bottom: none;
}

.basket-item-image {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.basket-item-details {
    flex-grow: 1;
}

.basket-item-note-input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background-color: var(--search-bg);
    font-size: 0.9rem;
    color: var(--primary-text);
}

    .basket-item-note-input::placeholder {
        color: var(--secondary-text);
    }

    .basket-item-note-input:focus {
        outline: none;
        border-color: var(--primary-color);
        background-color: var(--card-background);
    }


.basket-item .quantity-controls {
    display: flex;
    align-items: center;
    gap: .75rem;
}

    .basket-item .quantity-controls button {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 1px solid var(--border-color);
        background-color: var(--background-color);
        font-size: .8rem;
        cursor: pointer;
        color: var(--primary-text);
    }

.total {
    font-weight: 700;
    font-size: 1.2em;
    display: flex;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
}

.whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
    background-color: var(--whatsapp-color);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease;
    margin-top: 1rem;
}

    .whatsapp-btn:hover {
        background-color: var(--whatsapp-hover-color);
    }

.empty-basket-message, .loading-placeholder {
    padding: 3rem 1rem;
    text-align: center;
    color: var(--secondary-text);
}

    .loading-placeholder .spinner {
        width: 30px;
        height: 30px;
        border: 3px solid var(--border-color);
        border-top-color: var(--primary-color);
        border-radius: 50%;
        animation: spin 1s linear infinite;
        margin: 0 auto 1rem;
    }

/* --- Footer Social Toolbar Styles --- */
.footer-social-toolbar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--header-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--border-color);
    z-index: 998;
    padding: 0.75rem 0;
}

.social-buttons-container {
    display: flex;
    align-items: center;
    gap: 1rem;
    overflow-x: auto;
    padding: 0 1rem;
    scrollbar-width: none;
    justify-content: center;
}

    .social-buttons-container::-webkit-scrollbar {
        display: none;
    }

.social-link {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background-color: var(--action-btn-bg);
    border: 1px solid var(--border-color);
    transition: all 0.2s ease;
    text-decoration: none;
}

    .social-link:hover {
        transform: translateY(-3px);
        background-color: var(--action-btn-hover);
    }

    .social-link i {
        font-size: 1.25rem;
        color: var(--primary-text);
    }

        .social-link i[style] {
            color: unset;
        }

@@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


.sub-category-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--secondary-text);
    text-align: center;
    margin-top: 3rem;
    margin-bottom: -0.5rem; /* Pull the item grid a bit closer */
    padding-bottom: 0.5rem;
}


/* Add this to your main <style> block */

.toast-notification {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 150%); /* Start hidden below the screen */
    padding: 1rem 1.5rem;
    border-radius: 12px;
    color: #fff;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.21, 1.05, 0.58, 1), opacity 0.4s ease, visibility 0.4s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

    .toast-notification.show {
        transform: translate(-50%, 0); /* Move into view */
        opacity: 1;
        visibility: visible;
    }

    .toast-notification.success {
        background-color: #28a745; /* Green for success */
    }

    .toast-notification.error {
        background-color: #dc3545; /* Red for error */
    }

.toast-icon {
    font-size: 1.2rem;
}

/* Add these styles to your main CSS */

.basket-extra-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
}

.info-input-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

    .info-input-group label {
        font-weight: 500;
        font-size: 0.9rem;
        color: var(--secondary-text);
    }

    .info-input-group input,
    .info-input-group textarea {
        width: 100%;
        padding: 0.75rem;
        border-radius: 8px;
        border: 1px solid var(--border-color);
        background-color: var(--search-bg);
        font-size: 1rem;
        font-family: inherit;
        color: var(--primary-text);
        resize: vertical;
    }

        .info-input-group input:focus,
        .info-input-group textarea:focus {
            outline: none;
            border-color: var(--primary-color);
            background-color: var(--card-background);
        }

/* Add or replace these styles in your main <style> block */

.popup-actions {
    display: flex;
    gap: 1rem; /* Creates space between the buttons */
    justify-content: center; /* Centers the buttons within the container */
    margin-top: 1.5rem; /* Adds space above the buttons */
}

    /* Base styles for ALL buttons inside the popup */
    .popup-actions button {
        border: none;
        padding: 0.8rem 1.75rem; /* Generous padding for a good touch target */
        border-radius: 12px;
        font-size: 1rem;
        font-weight: 600; /* Bolder text */
        font-family: inherit; /* Ensures it uses the 'Inter' font */
        cursor: pointer;
        transition: all 0.2s ease-in-out; /* Smooth transition for hover effects */
        -webkit-appearance: none; /* Removes default OS styling on iOS */
    }

        .popup-actions button:hover {
            transform: translateY(-2px); /* Slight lift on hover */
            box-shadow: 0 4px 15px color-mix(in srgb, var(--primary-color) 20%, transparent);
        }

        .popup-actions button:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            transform: translateY(0);
            box-shadow: none;
        }

    /* Specific styles for the PRIMARY (Confirm) button */
    .popup-actions .button-primary {
        background-color: var(--primary-color);
        color: #ffffff; /* Typically white or a very light color */
    }

        .popup-actions .button-primary:hover {
            background-color: var(--primary-hover);
        }

    /* Specific styles for the SECONDARY (Cancel) button */
    .popup-actions .button-secondary {
        background-color: var(--action-btn-bg); /* Use the subtle action button background */
        color: var(--primary-text);
        border: 1px solid var(--border-color); /* Add a subtle border to make it distinct */
    }

        .popup-actions .button-secondary:hover {
            background-color: var(--action-btn-hover);
            border-color: color-mix(in srgb, var(--border-color) 80%, var(--primary-text));
        }




/* ================================== */
/* STYLES FOR THE NEW "INSTALL APP" FAB */
/* ================================== */
#install-pwa-fab {
    /* --- Positioning --- */
    position: fixed;
    bottom: 85px; /* Above the 70px social footer + some padding */
    z-index: 1000; /* Below popups (1001) but above other content */
    /* --- FAB Appearance --- */
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--primary-color);
    color: #ffffff; /* Text color that contrasts with primary color */
    padding: 1rem 1.5rem;
    border: none;
    border-radius: 50px; /* Pill shape */
    font-family: inherit;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    -webkit-tap-highlight-color: transparent; /* Better mobile tap feedback */
    /* --- Animation --- */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.9);
    transition: transform 0.3s cubic-bezier(0.21, 1.05, 0.58, 1), opacity 0.3s ease, visibility 0.3s;
}

/* --- Positioning for Left-to-Right vs. Right-to-Left --- */
[dir='ltr'] #install-pwa-fab {
    right: 1.5rem; /* 24px from the right edge */
}

[dir='rtl'] #install-pwa-fab {
    left: 1.5rem; /* 24px from the left edge */
}


/* --- Hover and Active States --- */
#install-pwa-fab:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px) scale(1.02); /* Slight lift and grow */
}

/* --- Visibility Class added by ng-class --- */
#install-pwa-fab.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}



/* ================================== */
/* STYLES FOR THE iOS INSTALL BUTTON & POPUP */
/* ================================== */
#install-ios-fab {
    /* Most styles are inherited from #install-pwa-fab, but we are explicit */
    position: fixed;
    bottom: 85px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--primary-color);
    color: #ffffff;
    padding: 1rem 1.5rem;
    border: none;
    border-radius: 50px;
    font-family: inherit;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    /* Simple fade-in transition for ng-if */
    transition: opacity 0.3s ease;
}

    #install-ios-fab.ng-enter {
        opacity: 0;
    }

    #install-ios-fab.ng-enter-active {
        opacity: 1;
    }

    #install-ios-fab.ng-leave {
        opacity: 1;
    }

    #install-ios-fab.ng-leave-active {
        opacity: 0;
    }

/* Positioning for LTR vs. RTL */
[dir='ltr'] #install-ios-fab {
    right: 1.5rem;
}

[dir='rtl'] #install-ios-fab {
    left: 1.5rem;
}

/* Styles for the instruction popup */
.ios-instructions {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.instruction-step {
    text-align: center;
    font-size: 1.1rem;
}

    .instruction-step span {
        display: block;
        margin-bottom: 1rem;
        color: var(--primary-text);
    }

    .instruction-step img {
        max-width: 80%;
        height: auto;
        border-radius: 8px;
        border: 1px solid var(--border-color);
    }



/* In ~/Static/css/ShopSlideshow.css */

/* Keyframes for the Ken Burns zoom-in effect */
@keyframes kenburns-zoom-in {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.15);
    }
}

.slideshow-container {
    position: relative;
    max-width: 800px; /* <--- THIS IS THE KEY CHANGE. Adjust this value to your liking. */
    width: 100%; /* Ensures it's still responsive on smaller screens */
    margin-left: auto; /* These two lines center the container */
    margin-right: auto;
    margin-bottom: 1.5rem;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1), inset 0 0 10px rgba(0, 0, 0, 0.2);
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}

.slideshow-slides {
    position: relative;
    aspect-ratio: 16 / 9;
    background-color: #333;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease-in-out;
}

    .slide.slide-active {
        opacity: 1;
        visibility: visible;
        z-index: 10;
    }

        .slide.slide-active img {
            animation: kenburns-zoom-in 8s ease-out forwards;
        }

    .slide img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .slide::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50%;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 100%);
        z-index: 1;
    }

.slide-caption {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 2;
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    text-align: left;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.6s ease-out 0.4s, opacity 0.6s ease-out 0.4s;
}

[dir='rtl'] .slide-caption {
    text-align: right;
}

.slide.slide-active .slide-caption {
    transform: translateY(0);
    opacity: 1;
}

/* --- Navigation --- */
.slideshow-container .slideshow-dots {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
    display: flex;
    gap: 8px;
}

.slideshow-container .dot {
    cursor: pointer;
    height: 10px;
    width: 10px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    transition: all 0.3s ease;
}

    .slideshow-container .dot:hover {
        background-color: rgba(255, 255, 255, 0.8);
    }

    .slideshow-container .dot.active-dot {
        background-color: #ffffff;
        width: 24px;
        border-radius: 5px;
    }

.slideshow-container .slide-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 15;
    background-color: rgba(0, 0, 0, 0.25);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1.25rem;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.2s ease;
    opacity: 0;
}

.slideshow-container:hover .slide-nav {
    opacity: 1;
}

.slideshow-container .slide-nav:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

.slideshow-container .slide-prev {
    left: 1rem;
}

.slideshow-container .slide-next {
    right: 1rem;
}




/* In ~/Static/css/ShopCatalog.css */

/* --- NEW: Sub-Category Navigation --- */
.sub-category-nav {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.5rem 0 1.5rem 0;
    /* Hide scrollbar for a cleaner look */
    scrollbar-width: none; /* Firefox */
}

    .sub-category-nav::-webkit-scrollbar {
        display: none; /* Safari and Chrome */
    }

.sub-category-link {
    flex-shrink: 0;
    padding: 0.6rem 1.25rem;
    border: 1px solid var(--border-color);
    background-color: var(--card-background);
    color: var(--secondary-text);
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .sub-category-link:hover {
        background-color: var(--action-btn-hover);
        color: var(--primary-text);
    }

    .sub-category-link.active,
    .sub-category-link:focus { /* Also highlight on focus for accessibility */
        background-color: var(--primary-color);
        color: #fff;
        border-color: var(--primary-color);
        outline: none;
    }

/* New anchor for smooth scrolling to sub-categories */
.sub-category-anchor {
    scroll-margin-top: 150px; /* Adjust based on your sticky header heights */
}

/* Add to your Static/css/ShopCatalog.css file */

.totals-breakdown {
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
}

    .total-row span:first-child {
        color: var(--secondary-text);
    }

    .total-row.grand-total {
        font-size: 1.2rem;
        font-weight: 700;
        margin-top: 0.5rem;
    }

        .total-row.grand-total span:first-child {
            color: var(--primary-text);
        }

.delivery-message {
    font-size: 0.9em;
    text-align: center;
    color: #007bff;
    background-color: #e7f3ff;
    padding: 0.75rem;
    border-radius: 8px;
    margin-top: 1rem;
    font-weight: 500;
}


/* Add to your Static/css/ShopCatalog.css */
.delivery-address-form {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

    .delivery-address-form > label {
        display: block;
        margin-bottom: 0.75rem;
        font-weight: 500;
    }

.address-type-selector {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

    .address-type-selector button {
        flex-grow: 1;
        padding: 0.75rem;
        border: 1px solid var(--border-color);
        background-color: #fff;
        border-radius: 8px;
        cursor: pointer;
        font-weight: 500;
    }

        .address-type-selector button.active {
            background-color: var(--primary-color);
            color: #fff;
            border-color: var(--primary-color);
        }

.address-fields {
    display: grid;
    gap: 0.75rem;
}

    .address-fields input, .address-fields select {
        width: 100%;
        padding: 0.75rem;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 1rem;
        background-color: var(--bg-color);
    }


/* --- Styles for a Better Textarea in the Address Form --- */

/* 
  Target the textarea specifically within the delivery address form.
  This ensures we don't accidentally style other textareas on the page.
*/
.delivery-address-form .address-fields textarea {
    /* --- Core Styling to Match Other Inputs --- */
    width: 100%; /* Take up the full width */
    padding: 0.75rem; /* Consistent padding */
    border: 1px solid #ddd; /* Same border as other inputs */
    border-radius: 8px; /* Same rounded corners */
    font-size: 1rem; /* Same font size */
    font-family: inherit; /* Use the same font as the rest of the body */
    line-height: 1.5; /* Improve readability for multi-line text */
    background-color: var(--bg-color); /* Match the background of other inputs */
    color: var(--primary-text); /* Match the text color */
    /* --- Textarea-Specific Improvements --- */
    resize: vertical; /* Allow users to resize vertically, but not horizontally */
    min-height: 100px; /* Ensure it has a decent minimum height */
    /* --- Transition for a smooth focus effect --- */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

    /* 
  Add a focus style to give the user visual feedback when they are typing.
  This matches the behavior of modern web inputs.
*/
    .delivery-address-form .address-fields textarea:focus {
        outline: none; /* Remove the default browser outline */
        border-color: var(--primary-color); /* Highlight the border with your primary theme color */
        box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); /* Add a soft outer glow (using a generic blue, adjust to your theme) */
    }





/* --- Feedback Popup Specific Styles --- */

.rating-block {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background-color: var(--background-color);
    text-align: center;
    transition: all 0.2s ease;
}

    /* Validation Error State */
    .rating-block.error {
        border-color: #ef4444; /* Red */
        background-color: #fef2f2;
    }

.rating-label {
    display: block;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--primary-text);
}

/* Flex Container for Stars */
.stars-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    direction: ltr; /* Force LTR so star order 1..5 is visual */
}

.star {
    font-size: 2rem;
    color: #e2e8f0; /* Gray-200 */
    cursor: pointer;
    transition: color 0.15s ease, transform 0.1s;
}

    .star.active {
        color: #f59e0b; /* Gold */
    }

    .star:active {
        transform: scale(0.9);
    }

/* NPS (Yes/No) Buttons */
.nps-grid {
    display: flex;
    gap: 15px;
}

.nps-btn {
    flex: 1;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background-color: var(--card-background);
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
}

    .nps-btn.active.yes {
        background-color: #dcfce7;
        border-color: #10b981;
        color: #065f46;
    }

    .nps-btn.active.no {
        background-color: #fee2e2;
        border-color: #ef4444;
        color: #991b1b;
    }

/* Success Animation */
.success-circle {
    width: 80px;
    height: 80px;
    background-color: #10b981; /* Green */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: white;
    margin: 0 auto;
    animation: popIn 0.5s ease;
}

@keyframes popIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}




/* 1. Force body transparency when custom bg is active */
body.has-custom-bg {
    background-color: transparent !important;
    background-image: none !important;
}

    /* 2. Make the main content area transparent so the background shows through */
    body.has-custom-bg .main-content,
    body.has-custom-bg .page-header-container,
    body.has-custom-bg .category-bar-sticky-wrapper {
        background-color: transparent !important;
    }

    /* 3. Make the sticky header glass-like so it stays readable but shows the bg */
    body.has-custom-bg .category-bar-sticky-wrapper {
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        background-color: rgba(255, 255, 255, 0.1) !important; /* Adjust based on theme */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

/* 4. Fix for the background container sizing */
.custom-catalog-bg-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    z-index: -10;
    overflow: hidden;
    pointer-events: none; /* Ensure it doesn't block clicks */
}

.custom-bg-asset {
    width: 100%;
    height: 100%;
    object-fit: cover;
}




/* When images are hidden, change the button shape and size */
.category-buttons.text-only-categories {
    padding: 1rem 0;
}

    .category-buttons.text-only-categories button {
        flex: 0 0 auto; /* Allow width to fit text */
        height: auto;
        padding: 0.6rem 1.2rem;
        border-radius: 50px; /* Pill shape */
        background-color: var(--action-btn-bg);
        border: 1px solid var(--border-color);
        margin-bottom: 5px;
    }

        .category-buttons.text-only-categories button span {
            padding: 0;
            font-size: 0.95rem;
            white-space: nowrap;
        }

        .category-buttons.text-only-categories button.active {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }

            .category-buttons.text-only-categories button.active span {
                color: #fff; /* Ensure text is white on primary color */
            }



/* Container for the zoomable image */
.zoom-container {
    overflow: hidden; /* Important: keeps the image inside the popup */
    position: relative;
    touch-action: none; /* Prevents the page from scrolling while zooming */
    cursor: zoom-in;
}

.zoom-image-element {
    transition: transform 0.1s ease-out; /* Smooth movement */
    will-change: transform;
    transform-origin: center center;
}

/* Optional: Add a small indicator that the image is zoomable */
.zoom-hint {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    pointer-events: none;
    z-index: 10;
}

.zoom-container {
    overflow: hidden;
    position: relative;
}

.zoom-image-element {
    transition: transform 0.1s ease-out;
    will-change: transform;
}

.zoom-hint {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0,0,0,0.5);
    color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    z-index: 5;
    pointer-events: none;
}

/* Ensure the wrapper for images has a height */
.slides-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

    /* Ensure images fill the container */
    .slides-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain; /* Or 'cover' depending on your preference */
        opacity: 0;
        transition: opacity 0.4s ease-in-out;
    }

        .slides-wrapper img.active {
            opacity: 1;
        }

/* The zoom transition */
.zoom-image-element {
    transition: transform 0.1s ease-out;
    will-change: transform;
    transform-origin: center center;
}

/* Crucial: prevents height collapse */
.popup-image-container {
    position: relative;
    height: 280px;
    width: 100%;
    overflow: hidden;
    background: #f0f0f0;
    border-radius: 12px;
}

.slides-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

    .slides-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        opacity: 0;
        transition: opacity 0.4s ease-in-out;
    }

        .slides-wrapper img.active {
            opacity: 1;
        }

.zoom-image-element {
    transition: transform 0.1s ease-out;
    will-change: transform;
    transform-origin: center center;
}


.zoom-container {
    overflow: hidden;
    position: relative;
    /* Allows the user to scroll the page vertically even if their finger is on the image */
    touch-action: pan-y;
}

.zoom-image-element {
    transition: transform 0.1s ease-out;
    will-change: transform;
    transform-origin: center center;
    /* Important for mobile performance */
    -webkit-user-drag: none;
}


/* --- REPLACE ALL .wishlist-btn CSS WITH THIS --- */
.wishlist-btn {
    position: absolute;
    top: 38px;
    left: 10px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    padding: 0; /* Important for perfect circle */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: all 0.2s ease;
    -webkit-appearance: none; /* CRITICAL: Stops mobile phones from stretching the button */
    -webkit-tap-highlight-color: transparent;
}

    .wishlist-btn i {
        font-size: 1.1rem;
        color: #888;
        margin-top: 2px; /* Perfectly centers the FontAwesome heart */
    }

    .wishlist-btn.active i {
        color: #e74c3c;
    }

/* Make it slightly larger on Desktop */
@media (min-width: 768px) {
    .wishlist-btn {
        width: 40px;
        height: 40px;
        top: 10px;
        right: 10px;
    }

        .wishlist-btn i {
            font-size: 1.25rem;
        }
}


/* New wrapper that acts as the positioning parent */
.item-image-wrapper-relative {
    position: relative;
    width: 100%;
    flex-shrink: 0;
}

/* The wishlist button — anchored to the image wrapper */
.wishlist-btn {
    position: absolute;
    top: 38px;
    left: 10px;
    z-index: 10;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    flex: none;
    align-self: auto;
    box-sizing: border-box;
    border-radius: 50%;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: all 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

    .wishlist-btn i {
        font-size: 1.1rem;
        color: #888;
        line-height: 1;
        pointer-events: none;
    }

    .wishlist-btn.active i {
        color: #e74c3c;
    }

@media (min-width: 768px) {
    .wishlist-btn {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
        top: 10px;
        right: 10px;
    }

        .wishlist-btn i {
            font-size: 1.25rem;
        }
}

/* Add position: relative to the existing .menu-item rule */
.menu-item {
    background: var(--card-background);
    border: 1px solid var(--border-color);
    transition: transform .2s ease, box-shadow .2s ease;
    position: relative; /* ← ADD THIS ONE LINE */
}

/* Wishlist button anchored to .menu-item */
.wishlist-btn {
    position: absolute;
    top: 38px;
    left: 10px;
    z-index: 10;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    flex: none;
    align-self: auto;
    box-sizing: border-box;
    border-radius: 50%;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: all 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

    .wishlist-btn i {
        font-size: 1.1rem;
        color: #888;
        line-height: 1;
        pointer-events: none;
    }

    .wishlist-btn.active i {
        color: #e74c3c;
    }

@media (min-width: 768px) {
    .wishlist-btn {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
        top: 38px;
        left: 10px;
    }

        .wishlist-btn i {
            font-size: 1.25rem;
        }
}


/* Removes unneeded visual gaps from the overall items to maintain structural flex */
.item-image-container {
    position: relative;
    overflow: hidden;
}

/* Base Top-Left anchor for main sizes */
.wishlist-btn {
    position: absolute;
    top: 6px; /* Pins toward top rim */
    left: 6px; /* Pins specifically left aligned now */
    z-index: 20;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
}

    .wishlist-btn i {
        font-size: 1.15rem;
        color: #999;
        pointer-events: none; /* Let icon clicks map properly backward to HTML handler! */
    }

    /* Standard state colorations*/
    .wishlist-btn:hover {
        transform: scale(1.05);
    }

    .wishlist-btn:active {
        transform: scale(0.9);
    }

    .wishlist-btn.active i {
        color: #e74c3c;
    }


/* Safegaurd resizing down on compacted visual designs (List / Compact lists view overrides!) */
.list-view .wishlist-btn {
    width: 28px;
    height: 28px;
    top: 4px;
    left: 4px;
}

    .list-view .wishlist-btn i {
        font-size: 0.9rem;
    }

.list-compact-view .wishlist-btn {
    width: 22px;
    height: 22px;
    top: 2px;
    left: 2px;
}

    .list-compact-view .wishlist-btn i {
        font-size: 0.75rem;
    }


/* --- SHARED IMAGE CONTAINER --- */
.item-image-container, .popup-image-container {
    position: relative;
    overflow: hidden;
    background-color: #f0f0f0;
}

/* --- ZOOM LOGIC (Only for Popup) --- */
.zoom-image-element {
    transition: transform 0.1s ease-out;
    will-change: transform;
    transform-origin: center center;
    -webkit-user-drag: none;
}

.zoom-hint {
    pointer-events: none;
    user-select: none;
}

/* --- WISHLIST BUTTON (Mobile & Desktop Optimized) --- */
.wishlist-btn {
    position: absolute;
    top: 8px;
    left: 8px; /* Standardized Left side per your request */
    z-index: 30;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
}

    .wishlist-btn i {
        font-size: 1.2rem;
        color: #999;
    }

    .wishlist-btn.active i {
        color: #e74c3c;
    }

/* Compact views resizing */
.list-view .wishlist-btn {
    width: 30px;
    height: 30px;
    top: 5px;
    left: 5px;
}

.list-compact-view .wishlist-btn {
    width: 24px;
    height: 24px;
    top: 3px;
    left: 3px;
}

    .list-compact-view .wishlist-btn i {
        font-size: 0.8rem;
    }



/* SaaS Search Component Styles */
.admin-search-wrapper {
    background: #ffffff;
    border: 2px solid #eef2ff;
    border-radius: 16px;
    padding: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .admin-search-wrapper.is-focused {
        border-color: #6a11cb;
        box-shadow: 0 10px 25px rgba(106, 17, 203, 0.1);
    }

.search-input-inner {
    display: flex;
    align-items: center;
    padding: 4px 12px;
}

.search-results-list {
    margin-top: 10px;
    border-top: 1px solid #f1f5f9;
    max-height: 250px;
    overflow-y: auto;
}

.account-result-item {
    padding: 12px;
    border-radius: 12px;
    margin-top: 4px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}

    .account-result-item:hover {
        background: #f8fafc;
    }

/* Selected Client Card */
.selected-client-card {
    background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
    border-radius: 16px;
    padding: 1.25rem;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 8px 20px rgba(106, 17, 203, 0.2);
    animation: slideInDown 0.3s ease;
}

.client-info h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: white;
}

.client-info p {
    margin: 0;
    font-size: 0.8rem;
    opacity: 0.9;
    color: white;
}

.btn-change-client {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* B2B Sales Rep Module Styling */
.admin-sales-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 1.25rem;
    margin-top: 1rem;
}

/* Toggle Switch for Find vs New */
.admin-mode-switch {
    display: flex;
    background: #e2e8f0;
    padding: 4px;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

    .admin-mode-switch button {
        flex: 1;
        border: none;
        padding: 8px;
        border-radius: 10px;
        font-size: 0.85rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s;
        background: transparent;
        color: #64748b;
    }

        .admin-mode-switch button.active {
            background: #ffffff;
            color: #4f46e5;
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
        }

/* Search Results Area */
.admin-search-results {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 5px;
}

.admin-acc-item {
    padding: 10px 15px;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}

    .admin-acc-item:last-child {
        border: none;
    }

    .admin-acc-item:hover {
        background: #eef2ff;
    }

/* Selection Card */
.admin-selected-card {
    background: #4f46e5;
    color: white;
    padding: 15px;
    border-radius: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.2);
}

/* GPS & Input Rows */
.admin-input-row {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

    .admin-input-row input {
        flex: 1;
        padding: 10px 12px;
        border-radius: 10px;
        border: 1px solid #cbd5e1;
        font-size: 0.95rem;
    }

/* Ensure the Leaflet marker is not hidden by other UI elements */
.leaflet-marker-icon {
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.3));
}

/* Fix for grey tiles when the popup opens */
.map-wrapper {
    background-color: #e5e3df; /* Leaflet default background */
}

/* Styling for the Staff Logout button */
.action-btn[title="Exit Staff Mode"]:hover {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
    transform: scale(1.1);
}

/* --- MODIFIER POPUP STYLING --- */
.modifier-group-card {
    background: #fff;
    margin-bottom: 1.2rem;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
}

.mod-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.mod-group-name {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--primary-text);
}

.mod-badge {
    font-size: 0.7rem;
    padding: 4px 8px;
    border-radius: 6px;
    text-transform: uppercase;
}

/* Option Cards (Radio & Checkbox) */
.mod-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    margin-bottom: 0.5rem;
    border-radius: 10px;
    border: 2px solid #f1f5f9;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .mod-option:hover {
        background: #f8fafc;
        border-color: #cbd5e1;
    }

    .mod-option.selected {
        border-color: var(--primary-color);
        background: color-mix(in srgb, var(--primary-color) 5%, white);
    }

.mod-option-text {
    font-weight: 600;
    color: var(--primary-text);
}

.mod-option-price {
    font-weight: 700;
    color: var(--primary-color);
}

/* Basket Item Detail Styling */
.basket-item-modifier-text {
    font-size: 0.85rem;
    color: var(--secondary-text);
    background: var(--background-color);
    padding: 4px 8px;
    border-radius: 6px;
    margin-top: 5px;
    display: inline-block;
}

/* --- PREMIUM ITEM DETAIL POPUP STYLES --- */
.popup-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 90vh; /* Keeps it responsive */
}

/* Scrollable Content Area */
.popup-scroll-container {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

/* Sticky Footer */
.popup-footer-sticky {
    padding: 15px 20px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.05);
}

/* Modifier Group Cards */
.mod-group-container {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.mod-option-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-radius: 10px;
    border: 1px solid #f1f5f9;
    margin-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.2s;
}

    .mod-option-row.selected {
        background-color: color-mix(in srgb, var(--primary-color) 10%, white);
        border-color: var(--primary-color);
    }

.mod-price {
    font-weight: 700;
    color: var(--primary-color);
}

/* The Add Button */
.btn-add-to-basket {
    background: var(--primary-color);
    color: #fff;
    border: none;
    padding: 1rem;
    width: 100%;
    border-radius: 12px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: transform 0.2s, background 0.2s;
}

    .btn-add-to-basket:disabled {
        background: #cbd5e1;
        cursor: not-allowed;
    }

/* --- Special Request Container --- */
.note-container {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 1rem;
    margin-top: 1.5rem;
    transition: all 0.3s ease;
}

    .note-container:focus-within {
        border-color: var(--primary-color);
        box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.1);
    }

.note-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.75rem;
    color: var(--secondary-text);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

    .note-header i {
        font-size: 0.9rem;
    }

.note-textarea {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
    padding: 0;
    color: var(--primary-text);
    resize: none;
    outline: none;
}

    .note-textarea::placeholder {
        color: var(--secondary-text);
        opacity: 0.6;
    }

