/* ============================================================
   Casa Verde – Global Stylesheet  (Artcaffé-exact replica)
   ============================================================ */

/* Custom Font: Crustaceans Signature */
@font-face{
    font-family:'Crustaceans Signature';
    src:url('fonts/Crustaceans-SignatureDEMO-Regular.otf') format('opentype');
    font-weight:normal;
    font-style:normal;
    font-display:swap;
}

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

/* ===== ACCESSIBILITY & UX POLISH ===== */
::selection{background:rgba(45,122,79,.2);color:var(--text)}
::-moz-selection{background:rgba(45,122,79,.2);color:var(--text)}

:focus-visible{
    outline:2px solid var(--secondary);
    outline-offset:2px;
    border-radius:2px;
}
:focus:not(:focus-visible){outline:none}

/* Development Notice Banner */
.dev-notice-banner{
    background:#ff9800;color:#fff;padding:10px 0;
    text-align:center;position:sticky;top:0;z-index:10000;
    box-shadow:0 2px 4px rgba(0,0,0,.1);
    transition:transform .5s ease,opacity .5s ease;
}
.dev-notice-banner.hide{
    transform:translateY(-100%);opacity:0;pointer-events:none;
    height:0;padding:0;overflow:hidden;
}
.dev-notice-content{
    display:flex;align-items:center;justify-content:center;
    gap:8px;font-size:13px;padding:0 15px;
}
.dev-notice-content i{font-size:16px}
.dev-notice-content strong{font-weight:700}
@media(max-width:768px){
    .dev-notice-content{font-size:12px;gap:6px}
    .dev-notice-content i{font-size:14px}
}

/* Page Loading Overlay */
.page-loading-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(255,255,255,.98);
    display:flex;align-items:center;justify-content:center;
    z-index:99999;
    opacity:1;
    transition:opacity .5s ease,visibility .5s ease;
}
.page-loading-overlay.fade-out{
    opacity:0;
    visibility:hidden;
}
.page-loading-spinner{
    width:60px;height:60px;
    border:4px solid rgba(45,122,79,.1);
    border-top-color:#2D7A4F;
    border-radius:50%;
    animation:spin 1s linear infinite;
}
.page-loading-text{
    position:absolute;
    margin-top:100px;
    font-size:14px;
    color:#2D7A4F;
    font-weight:500;
    letter-spacing:1px;
}
@keyframes spin{
    0%{transform:rotate(0deg)}
    100%{transform:rotate(360deg)}
}

/* Skip-to-content (accessibility) */
.skip-to-content{
    position:absolute;top:-100%;left:50%;transform:translateX(-50%);
    background:var(--primary);color:var(--white);padding:12px 24px;
    border-radius:0 0 8px 8px;font-size:14px;font-weight:700;
    z-index:9999;transition:top .2s;
    text-decoration:none;
}
.skip-to-content:focus{top:0}

/* Reduced motion preference */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Image reveal on load */
.reveal-img{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal-img.revealed{opacity:1;transform:translateY(0)}

/* Back to top button */
.back-to-top{
    position:fixed;bottom:30px;left:30px;
    width:44px;height:44px;border-radius:50%;
    background:var(--primary);color:var(--white);
    border:none;cursor:pointer;font-size:18px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 3px 12px rgba(0,0,0,.2);
    opacity:0;visibility:hidden;transform:translateY(10px);
    transition:all .3s ease;z-index:998;
}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--primary-dark);transform:translateY(-2px)}

/* Toast notification */
.toast{
    position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);
    background:#333;color:#fff;padding:14px 28px;
    border-radius:8px;font-family:'Montserrat',sans-serif;font-size:13px;
    font-weight:600;z-index:9999;opacity:0;pointer-events:none;
    transition:all .35s ease;box-shadow:0 6px 20px rgba(0,0,0,.2);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{background:#2e7d32}
.toast.error{background:#c62828}

/* Navbar shrink on scroll */
.navbar{transition:padding .3s ease,box-shadow .3s ease}
.navbar.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.2)}
.navbar.scrolled .nav-container{min-height:56px}

:root{
    --primary:#2D7A4F;
    --primary-dark:#1f5738;
    --secondary:#C62828;
    --orange:#e25b2d;
    --gold:#f3c22f;
    --text:#1a1a1a;
    --text-light:#666;
    --border:#e0e0e0;
    --bg-light:#f5f5f5;
    --white:#fff;
    --black:#000;
    --nav-bg:#fff;
    --nav-text:#1a1a1a;
    --footer-bg:#fff;
    --footer-text:#1a1a1a;
    --card-bg:#fff;
    --body-bg:#fff;
}

/* ===== DARK MODE ===== */
[data-theme="dark"]{
    --text:#e8e8e8;
    --text-light:#aaa;
    --border:#333;
    --bg-light:#1a1a1a;
    --white:#121212;
    --black:#fff;
    --nav-bg:#1a1a1a;
    --nav-text:#e8e8e8;
    --footer-bg:#111;
    --footer-text:#ccc;
    --card-bg:#1e1e1e;
    --body-bg:#121212;
}
[data-theme="dark"] body{background:var(--body-bg);color:var(--text)}
[data-theme="dark"] .navbar{background:var(--nav-bg);border-bottom:1px solid #333}
[data-theme="dark"] .top-bar{background:#111}
[data-theme="dark"] .footer{background:var(--footer-bg);color:var(--footer-text)}
[data-theme="dark"] .footer-bottom{background:#000}
[data-theme="dark"] .menu-card-v,
[data-theme="dark"] .blog-box-card,
[data-theme="dark"] .home-event-card,
[data-theme="dark"] .special-card,
[data-theme="dark"] .service-card,
[data-theme="dark"] .card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .menu-tabs-bar{background:#1a1a1a;border-color:#333}
[data-theme="dark"] .cookie-banner{background:rgba(30,30,30,.95)}
[data-theme="dark"] img{opacity:.92}

html{scroll-behavior:smooth}

body{
    font-family:'Montserrat',sans-serif;
    color:var(--text);
    line-height:1.6;
    padding-top:110px;          /* top-bar 40 + navbar 70 */
}

a{text-decoration:none;color:inherit;transition:color .2s ease}
img{max-width:100%;display:block}

.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* ===== TOP BAR ===== */
.top-bar{
    background:#000;
    padding:10px 0;
    position:fixed;top:0;width:100%;z-index:1001;
    text-align:center;
}
.top-bar-content{
    max-width:1200px;margin:0 auto;padding:0 20px;
    display:flex;justify-content:center;align-items:center;
}
.top-bar-link{
    color:var(--white);font-size:13px;font-weight:500;
    display:flex;align-items:center;gap:6px;
    transition:opacity .3s;
}
.top-bar-link:hover{opacity:.8}
.top-bar-link i{font-size:12px}

/* ===== NAVBAR (White background) ===== */
.navbar{
    background:#ffffff;
    padding:0;
    position:fixed;top:40px;width:100%;z-index:1000;
    box-shadow:0 2px 20px rgba(0,0,0,.08);
    border-bottom:1px solid rgba(0,0,0,.06);
    transition:background .3s,box-shadow .3s;
}
.navbar.scrolled{box-shadow:0 4px 25px rgba(0,0,0,.12)}
.nav-container{
    max-width:1320px;margin:0 auto;padding:0 28px;
    display:flex;align-items:center;
    min-height:70px;
    gap:12px;
}

/* Logo */
.logo{flex-shrink:0;margin-right:20px}
.logo a{display:flex;align-items:center;color:var(--text)}
.logo-img{height:50px;width:auto;display:block}
.logo h1{
    font-family:'Playfair Display',serif;
    font-size:26px;font-weight:700;letter-spacing:2px;line-height:1.1;
}
.logo p{
    font-family:'Crustaceans Signature',cursive;
    font-size:26px;opacity:.85;margin-top:-2px;
}

/* Nav links */
.nav-menu{
    display:flex;list-style:none;gap:4px;
    flex:1;justify-content:center;align-items:center;flex-wrap:nowrap;
}
.nav-menu > li > a,
.nav-dropdown-toggle{
    color:#1a1a1a;font-size:11px;font-weight:600;
    letter-spacing:.5px;padding:8px 10px;
    transition:all .25s ease;white-space:nowrap;
    border-radius:6px;position:relative;text-decoration:none;
}
.nav-dropdown-toggle{
    display:inline-flex;align-items:center;gap:6px;
    background:transparent;border:none;cursor:pointer;
    font-family:'Montserrat',sans-serif;
}
.nav-dropdown-toggle i{
    font-size:10px;
    transition:transform .2s ease;
}
.nav-menu > li > a:hover,
.nav-menu > li > a.active,
.nav-dropdown:hover > .nav-dropdown-toggle,
.nav-dropdown:focus-within > .nav-dropdown-toggle,
.nav-dropdown-toggle.active{
    background:#2D7A4F;color:#fff;
}

.nav-dropdown{
    position:relative;
}
.nav-submenu{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:220px;
    list-style:none;
    padding:8px 0;
    margin:0;
    border-radius:10px;
    background:#fff;
    border:1px solid var(--border);
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    z-index:1005;
}
.nav-dropdown:hover > .nav-submenu,
.nav-dropdown:focus-within > .nav-submenu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.nav-dropdown.active > .nav-dropdown-toggle i,
.nav-dropdown:hover > .nav-dropdown-toggle i,
.nav-dropdown:focus-within > .nav-dropdown-toggle i{
    transform:rotate(180deg);
}
.nav-submenu li{margin:0}
.nav-submenu a{
    display:block;
    padding:9px 14px;
    font-size:12px;
    color:var(--text);
    border-radius:0;
}
.nav-submenu a:hover,
.nav-submenu a.active{
    background:rgba(45,122,79,.08);
    color:var(--primary);
}

/* RESERVE button - Highlighted CTA */
.nav-reserve-btn{
    background:#C62828;
    color:#fff;
    padding:10px 24px;
    border-radius:30px;
    font-weight:700;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:all .3s;
    box-shadow:0 4px 12px rgba(198,40,40,.3);
    margin-left:20px;
}
.nav-reserve-btn:hover{
    background:#a01f1f;
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(198,40,40,.4);
}
.nav-reserve-btn.active{
    background:#a01f1f;
    color:#fff;
}

/* Legacy nav-btn (kept for compatibility) */
.nav-btn{
    background:var(--primary)!important;
    color:#fff!important;
    padding:8px 16px!important;
    border-radius:6px;font-weight:700!important;
    font-size:10px!important;letter-spacing:.8px!important;
    box-shadow:0 2px 8px rgba(198,58,43,.25);
}
.nav-btn:hover{background:var(--primary-dark)!important;transform:translateY(-1px)}
.nav-btn.active{
    background:var(--primary-dark)!important;
    color:#fff!important;
}

/* Nav right icon */
.nav-icons{flex-shrink:0;display:flex;align-items:center;gap:14px}
.nav-icon{color:var(--nav-text);font-size:18px;transition:opacity .3s}
.nav-icon:hover{opacity:.7}

/* Nav Actions Container */
.nav-actions{
    display:flex;align-items:center;gap:10px;flex-shrink:0;
}

/* Nav Auth Links */
.nav-auth{display:flex;align-items:center;gap:6px;flex-shrink:0}
.nav-auth a{color:#1a1a1a;text-decoration:none;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .25s;background:rgba(0,0,0,.06);width:36px;height:36px;border-radius:50%;padding:0}
.nav-auth a:hover{background:#2D7A4F;color:#fff}
.nav-auth .nav-admin-link{background:#2D7A4F;color:#fff;font-size:14px}
.nav-auth .nav-admin-link:hover{background:#fff;color:#2D7A4F}

/* Dark mode toggle */
.dark-toggle{
    background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.1);color:#1a1a1a;
    width:36px;height:36px;border-radius:50%;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    font-size:16px;transition:all .3s;flex-shrink:0;
}
.dark-toggle:hover{background:#2D7A4F;color:#fff;border-color:#2D7A4F}
[data-theme="dark"] .dark-toggle{background:#D8A04A;color:#1a1a1a;border-color:#D8A04A}

/* Hamburger */
.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;z-index:1001;padding:8px;background:rgba(0,0,0,.06);border:none;border-radius:6px}
.hamburger span{width:26px;height:3px;background:#1a1a1a;border-radius:3px;transition:.3s}
.hamburger:hover{background:#2D7A4F}
.hamburger:hover span{background:#fff}
.close-menu-btn{display:none}

/* ===== HERO (book-a-table page) ===== */
.hero{
    background:url('../images/haro.webp') center/cover no-repeat;
    height:500px;min-height:380px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;text-align:center;position:relative;
    padding:0 20px;overflow:hidden;
}

/* Hero Slideshow */
.hero-slideshow{background:none!important}
.hero-slideshow::before{display:none}
.hero-slideshow::after{display:none}
.hero-slides{position:absolute;inset:0;z-index:1}
.hero-slide{
    position:absolute;inset:0;
    background-size:cover;background-position:center;background-repeat:no-repeat;
    opacity:0;transition:opacity 1s ease-in-out;
}
.hero-slide.active{opacity:1}
.hero-slideshow .hero-overlay{
    content:'';position:absolute;inset:0;
    background:rgba(0,0,0,.45);z-index:2;pointer-events:none;
}
.hero-slideshow .hero-content{position:relative;z-index:3}

.hero::before{
    content:'';position:absolute;inset:0;
    background:rgba(0,0,0,.45);
}
.hero-content{position:relative;z-index:1;max-width:700px}
.hero h2{
    font-family:'Playfair Display',serif;
    font-size:48px;font-weight:700;letter-spacing:3px;
    margin-bottom:16px;text-shadow:1px 1px 4px rgba(0,0,0,.3);
    color:#fff;
}
.hero p{
    font-family:'Crustaceans Signature',cursive;
    font-size:52px;margin-bottom:30px;opacity:.9;
    font-weight:400;line-height:1.5;
    color:#fff;
}

/* Hero CTA button (white pill with phone icon) */
.hero-cta{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--white);color:var(--text);
    padding:14px 32px;border-radius:30px;
    font-weight:700;font-size:13px;letter-spacing:1px;
    border:2px solid var(--white);
    transition:all .3s;
}
.hero-cta:hover{background:transparent;color:var(--white)}
.hero-cta i{font-size:16px}

/* ===== PLANNING SECTION ===== */
.planning-section{
    padding:70px 20px;background:var(--white);text-align:center;
}
.planning-section h2{
    font-family:'Playfair Display',serif;
    font-size:42px;color:var(--primary);font-weight:700;
    margin-bottom:12px;letter-spacing:1px;
}
.planning-section h2 .highlight{color:var(--orange)}
.planning-section .subtitle{
    font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px;
}
.planning-section .note{
    font-size:13px;color:var(--text-light);margin-bottom:40px;line-height:1.6;
}
.planning-section .note u{text-decoration:underline}

/* ===== BOOKING FORM ===== */
.booking-form{
    max-width:780px;margin:0 auto;text-align:left;
}
.form-row{
    display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;
}
.form-group{display:flex;flex-direction:column}
.form-group.full{grid-column:1/-1}
.form-group label{
    font-weight:700;font-size:13px;color:var(--text);
    margin-bottom:8px;
}
.form-group label .req{color:var(--orange)}
.form-group input,
.form-group select,
.form-group textarea{
    padding:12px 16px;
    border:1px solid var(--border);border-radius:0;
    font-size:14px;font-family:'Montserrat',sans-serif;
    color:var(--text);background:var(--white);
    transition:border-color .3s;
    -webkit-appearance:none;appearance:none;
}
.form-group input::placeholder,
.form-group select{color:#999}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;border-color:var(--primary);
}
.form-group select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 16px center;
    padding-right:40px;
}

/* Seating preference radios */
.seating-options{
    display:flex;gap:24px;align-items:center;padding-top:8px;
}
.seating-options label{
    display:flex;align-items:center;gap:6px;
    font-weight:400;font-size:14px;cursor:pointer;
}
.seating-options input[type="radio"]{
    width:16px;height:16px;accent-color:var(--primary);
}

/* Submit button */
.btn-submit{
    display:block;margin:30px auto 0;
    background:var(--primary);color:var(--white);
    padding:16px 50px;border:none;border-radius:30px;
    font-size:14px;font-weight:700;letter-spacing:1.5px;
    cursor:pointer;transition:all .3s;
    font-family:'Montserrat',sans-serif;
}
.btn-submit:hover{
    background:var(--primary-dark);
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(36,76,55,.3);
}

/* ===== FIND NEAREST SECTION ===== */
.find-nearest{
    padding:60px 20px;background:var(--white);
}
.find-nearest h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--text);font-weight:700;
    margin-bottom:30px;letter-spacing:1px;
}
.find-header{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:20px;margin-bottom:30px;
}
.find-controls{display:flex;gap:12px;align-items:center}
.search-box{
    display:flex;align-items:center;gap:8px;
    border:1px solid var(--border);padding:8px 14px;border-radius:4px;
}
.search-box input{
    border:none;outline:none;font-size:13px;
    font-family:'Montserrat',sans-serif;width:120px;
}
.search-box i{color:var(--text-light);font-size:14px}
.sort-select{
    padding:8px 14px;border:1px solid var(--border);border-radius:4px;
    font-size:13px;font-family:'Montserrat',sans-serif;
    background:var(--white);cursor:pointer;
}

/* Location list + map layout */
.find-layout{
    display:grid;grid-template-columns:1fr 1fr;gap:30px;
}
.location-list{display:flex;flex-direction:column;gap:20px}

.loc-card{
    border:1px solid var(--border);border-radius:8px;padding:24px;
    transition:box-shadow .3s;
}
.loc-card:hover{box-shadow:0 4px 15px rgba(0,0,0,.08)}
.loc-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.loc-card h4{
    font-family:'Playfair Display',serif;
    font-size:18px;font-weight:700;color:var(--text);
}
.open-badge{
    background:#e74c3c;color:var(--white);
    font-size:10px;font-weight:700;padding:3px 10px;
    border-radius:10px;white-space:nowrap;
}
.loc-card .stars{color:var(--gold);font-size:14px;margin-bottom:10px}
.loc-card .info-line{
    display:flex;align-items:center;gap:8px;
    font-size:13px;color:var(--text-light);margin-bottom:6px;
}
.loc-card .info-line i{color:var(--primary);width:16px;text-align:center}
.btn-direction{
    display:inline-block;margin-top:12px;
    padding:12px 28px;background:#2D7A4F;color:#fff;
    border:none;border-radius:30px;
    font-size:12px;font-weight:700;letter-spacing:1px;
    text-decoration:none;transition:all .3s;
}
.btn-direction:hover{
    background:#fff;color:#C62828;border:2px solid #C62828;transform:translateY(-2px);box-shadow:0 6px 20px rgba(198,40,40,.35);
}

.map-container{border-radius:8px;overflow:hidden;min-height:400px}
.map-container iframe{width:100%;height:100%;border:0;min-height:400px}

/* ===== SIGNATURE DISHES ===== */
.signatures{
    padding:70px 0;background:var(--white);
}
.signatures h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--text);font-weight:700;
    margin-bottom:40px;letter-spacing:1px;text-align:center;
}
.signatures-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
    margin-bottom:40px;
}
.sig-card{
    border-radius:12px;overflow:hidden;position:relative;
    height:260px;
}
.sig-card img{width:100%;height:100%;object-fit:cover}
.sig-card .sig-label{
    position:absolute;bottom:0;left:0;right:0;
    padding:16px;
    background:linear-gradient(transparent,rgba(0,0,0,.7));
    color:var(--white);font-family:'Playfair Display',serif;
    font-size:16px;font-weight:700;
}
.btn-menu{
    display:inline-block;margin:20px auto 0;padding:14px 36px;
    background:#2D7A4F;color:#fff;
    border-radius:30px;text-align:center;
    font-size:13px;font-weight:700;letter-spacing:1px;
    transition:all .3s;text-decoration:none;
}
.btn-menu:hover{
    background:#C62828;
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(198,40,40,.35);
}

/* ===== FOOTER ===== */
.footer{
    background:#1a1a1a;color:#e0e0e0;
    padding:50px 0 30px;
    border-top:none;
}
.footer-content{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;
    gap:30px;margin-bottom:30px;
}
.footer-column h5{
    font-size:12px;font-weight:700;letter-spacing:1.5px;
    margin-bottom:18px;
    border-bottom:1px solid rgba(255,255,255,.15);
    padding-bottom:10px;
    color:#D8A04A;
}
.footer-column ul{list-style:none}
.footer-column ul li{margin-bottom:10px}
.footer-column a{
    color:rgba(255,255,255,.7);font-size:13px;
    transition:color .3s;
}
.footer-column a:hover{color:#D8A04A}

.footer-logo-img{height:120px;width:auto;display:block;margin-bottom:12px}
.footer-logo h4{
    font-family:'Playfair Display',serif;
    font-size:24px;font-weight:700;margin-bottom:4px;
}
.footer-logo p{
    font-family:'Crustaceans Signature',cursive;
    font-size:28px;opacity:.8;color:rgba(255,255,255,.6);
}

.social-links{display:flex;flex-direction:column;gap:12px}
.social-icon{
    display:flex;align-items:center;gap:10px;font-size:13px;
}
.social-icon i{font-size:18px}

.footer-partner{
    margin-top:18px;padding-top:14px;border-top:1px solid var(--border);
}
.footer-partner span{
    display:block;font-size:10px;letter-spacing:1px;opacity:.5;margin-bottom:4px;
}
.footer-partner a{
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;
    color:#e25b2d;text-decoration:none;transition:color .2s;
}
.footer-partner a:hover{color:#fff}

.footer-bottom{
    background:#000!important;
    border-top:1px solid #333;
    padding:16px 0;text-align:center;
    margin-top:30px;
}
.footer-bottom .container{
    display:flex;align-items:center;justify-content:center;
    gap:12px;flex-wrap:wrap;white-space:normal;text-align:center;
}
.copyright{font-size:12px;color:#fff;opacity:.9;margin:0}
.copyright a{color:inherit;opacity:.8;transition:opacity .3s}
.copyright a:hover{opacity:1}
.footer-sep{font-size:12px;color:rgba(255,255,255,.4)}
.developer-credit{font-size:12px;color:rgba(255,255,255,.7);margin:0}
.developer-credit a{color:rgba(255,255,255,.9);text-decoration:none;transition:color .3s}
.developer-credit a:hover{color:var(--secondary)}

/* ===== FLOATING BUTTONS (expand on hover) ===== */
.floating-buttons{
    position:fixed;bottom:30px;right:30px;
    display:flex;align-items:center;gap:10px;z-index:999;
}
@media(max-width:768px){
    .back-to-top{bottom:80px;left:18px;width:40px;height:40px;font-size:16px}
    .site-cart-toggle{bottom:130px;left:18px;width:48px;height:48px;font-size:18px}
    .floating-buttons{bottom:80px;right:18px}
}
@keyframes floatBounce{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-8px)}
}
.floating-btn{
    height:48px;border-radius:50px;
    display:flex;align-items:center;justify-content:center;
    font-size:22px;box-shadow:0 3px 10px rgba(0,0,0,.2);
    transition:all .35s ease;overflow:hidden;
    white-space:nowrap;padding:0 14px;
    min-width:48px;
    animation:floatBounce 2s ease-in-out infinite;
}
.phone-float{animation-delay:.3s}
.whatsapp-float{animation-delay:0s}
.float-label{
    max-width:0;overflow:hidden;opacity:0;
    font-size:13px;font-weight:700;letter-spacing:.5px;
    margin-left:0;transition:all .35s ease;
    font-family:'Montserrat',sans-serif;
}
.floating-btn:hover .float-label{
    max-width:220px;opacity:1;margin-left:10px;
}
.floating-btn:hover{transform:scale(1.02);padding-right:20px}
.phone-float{
    background:var(--white);color:var(--primary);
    border:1px solid #e0e0e0;
}
.phone-float .float-label{color:var(--primary)}
.whatsapp-float{background:var(--white);color:#25d366;border:1px solid #e0e0e0}
.whatsapp-float:hover{background:#25d366;color:var(--white)}
.whatsapp-float:hover .float-label{color:var(--white)}
.whatsapp-float .float-label{color:#25d366}

/* ===== GENERIC BUTTONS (Gold Theme) ===== */
.btn{
    padding:12px 30px;border:2px solid #2D7A4F;
    background:#2D7A4F;color:#fff;
    font-weight:700;font-size:13px;border-radius:30px;
    cursor:pointer;transition:all .3s ease;display:inline-block;
    letter-spacing:1px;font-family:'Montserrat',sans-serif;
    box-shadow:0 2px 8px rgba(45,122,79,.25);
}
.btn:hover{background:#fff;border-color:#2D7A4F;color:#2D7A4F;transform:translateY(-2px);box-shadow:0 4px 15px rgba(45,122,79,.2)}
.btn-primary{
    background:#2D7A4F;color:#fff;
    border-color:#2D7A4F;
}
.btn-primary:hover{background:#fff;border-color:#2D7A4F;color:#2D7A4F;transform:translateY(-2px)}
.btn-secondary{
    background:#C62828;color:#fff;
    border-color:#C62828;
}
.btn-secondary:hover{background:#fff;border-color:#2D7A4F;color:#2D7A4F}
.btn-large{
    padding:14px 40px;font-size:14px;margin-top:20px;
    min-width:200px;display:inline-block;text-align:center;
}
.btn-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-outline{border:2px solid #fff;color:#fff;background:#2D7A4F}
.btn-outline:hover{background:#fff;color:#2D7A4F;border-color:#2D7A4F;transform:translateY(-2px)}
.btn-small{padding:8px 20px;font-size:12px}

/* ===== WELCOME SECTION (Compact) ===== */
.welcome{
    padding:35px 0;text-align:center;
    background:repeating-linear-gradient(
        90deg,
        var(--primary) 0px,var(--primary) 20px,
        var(--primary-dark) 20px,var(--primary-dark) 40px
    );
}
.welcome h3{
    font-family:'Crustaceans Signature',cursive;
    font-size:64px;color:var(--white);margin-bottom:12px;font-weight:400;
}
.welcome p{
    font-size:14px;color:rgba(255,255,255,.85);margin-bottom:6px;
    line-height:1.6;max-width:900px;margin-left:auto;margin-right:auto;
    display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;text-overflow:ellipsis;
}

/* ===== SIGNATURES SCROLL (home) ===== */
.signatures-scroll{
    display:flex;gap:20px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding-bottom:16px;margin-bottom:30px;
    scrollbar-width:thin;scrollbar-color:var(--secondary) transparent;
}
.signatures-scroll::-webkit-scrollbar{height:5px}
.signatures-scroll::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:3px}
.signature-card{
    min-width:220px;max-width:220px;flex-shrink:0;
    scroll-snap-align:start;
    background:var(--white);border-radius:12px;overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .3s;
}
.signature-card:hover{transform:translateY(-6px)}
.card-image{width:100%;height:220px;object-fit:cover}
.signature-card h4{
    font-family:'Playfair Display',serif;
    padding:16px;text-align:center;color:var(--primary);font-size:15px;
}

/* ===== LOCATIONS (home) ===== */
.locations{padding:70px 0;background:var(--white)}
.locations h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--primary);margin-bottom:40px;font-weight:700;
}
.locations-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:24px;margin-bottom:30px;
}
.location-card{
    border:1px solid var(--border);padding:24px;border-radius:8px;
    background:var(--bg-light);transition:all .3s;
}
.location-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.08);border-color:var(--primary)}
.rating{color:var(--gold);font-size:15px;margin-bottom:10px}
.location-card h4{font-size:17px;color:var(--text);margin-bottom:12px;font-weight:700}
.location-info{margin-bottom:16px}
.location-info p{font-size:13px;color:var(--text-light);margin-bottom:6px;display:flex;align-items:center;gap:8px}
.location-info i{color:var(--primary);width:16px}

/* ===== CELEBRATE ===== */
.celebrate{
    background:url('../images/celebrate.webp') center/cover no-repeat;
    padding:90px 0;color:var(--white);text-align:center;position:relative;
}
.celebrate::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45)}
.celebrate-content{position:relative;z-index:1}
.celebrate-content h2{
    font-family:'Playfair Display',serif;font-size:42px;margin-bottom:16px;font-weight:700;
}
.celebrate-content p{font-size:16px;margin-bottom:24px;max-width:550px;margin-left:auto;margin-right:auto}

/* ===== EVENTS (home) ===== */
.events{padding:70px 0;background:var(--white)}
.events h2{
    font-family:'Playfair Display',serif;font-size:36px;color:var(--primary);
    margin-bottom:40px;font-weight:700;
}
.events-slider{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:24px;margin-bottom:24px;
}
.event-card{
    background:var(--bg-light);border-radius:10px;overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.06);transition:all .3s;
}
.event-card:hover{box-shadow:0 10px 25px rgba(0,0,0,.12)}
.event-image{width:100%;height:200px;object-fit:cover}
.event-card h4{
    font-family:'Playfair Display',serif;
    padding:18px 18px 8px;color:var(--primary);font-size:17px;font-weight:700;
}
.event-card p{padding:0 18px;color:var(--text-light);font-size:13px;margin-bottom:14px;line-height:1.6}
.event-card .btn{margin:0 18px 18px}

/* ===== BLOG (home) ===== */
.blog{padding:70px 0;background:var(--bg-light)}
.blog h2{
    font-family:'Playfair Display',serif;font-size:36px;color:var(--primary);
    margin-bottom:40px;font-weight:700;
}
.blog-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:30px;margin-bottom:30px;
}
.blog-post{
    background:var(--white);border-radius:10px;overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.06);transition:all .3s;
}
.blog-post:hover{box-shadow:0 10px 25px rgba(0,0,0,.12);transform:translateY(-4px)}
.blog-image{width:100%;height:220px;object-fit:cover}
.blog-post h3{
    font-family:'Playfair Display',serif;
    padding:20px 20px 10px;color:var(--primary);font-size:18px;font-weight:700;line-height:1.4;
}
.blog-post p{padding:0 20px;color:var(--text-light);font-size:13px;line-height:1.6;margin-bottom:16px}
.blog-post .btn{margin:0 20px 20px}

/* ===== NEWSLETTER ===== */
.newsletter{padding:70px 0;background:var(--bg-light)}
.newsletter-content{
    display:flex;align-items:center;gap:30px;
    background:var(--white);padding:40px;border-radius:12px;
    box-shadow:0 4px 15px rgba(0,0,0,.06);
}
.newsletter-icon{font-size:50px;color:var(--secondary);flex-shrink:0}
.newsletter-text{flex:1}
.newsletter-text h3{
    font-family:'Playfair Display',serif;font-size:28px;color:var(--primary);margin-bottom:8px;font-weight:700;
}
.newsletter-text p{color:var(--text-light);font-size:14px}
.newsletter-form{display:flex;gap:10px;flex-shrink:0}
.newsletter-form input{
    padding:12px 18px;border:1px solid var(--border);border-radius:25px;
    font-size:14px;min-width:220px;font-family:'Montserrat',sans-serif;
}
.newsletter-form input:focus{outline:none;border-color:var(--primary)}

/* ===== MENU PAGE ===== */
.page{max-width:1320px;margin:0 auto;position:relative;z-index:1}
.page>header{
    background:var(--white);padding:20px 40px;border-bottom:1px solid #dde6dc;
    display:flex;flex-direction:column;align-items:center;text-align:center;
}
.brand{font-weight:700;letter-spacing:2px;color:var(--primary);font-size:22px}
.brand span{margin-right:18px}
.tabs{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.tab{
    padding:8px 14px;border-radius:20px;border:1px solid #cfd9cf;
    font-size:13px;color:#333;background:var(--white);cursor:pointer;transition:.3s;
}
.tab:hover{background:#f0f0f0}
.tab.active{background:#4a4036;color:var(--white);border-color:#4a4036}
.pill{
    display:inline-block;padding:8px 14px;border-radius:20px;
    border:1px solid #cfd9cf;background:var(--white);color:#333;
    transition:.22s;
}
.pill:hover{background:#f0f0f0}
.pill.active{background:#4a4036;color:var(--white);border-color:#4a4036}

.section{padding:30px 40px;background:#eff4ef}
.section .page{max-width:1100px;margin:0 auto}
.section h2{font-family:'Playfair Display',serif;font-size:38px;color:var(--primary);margin-bottom:5px}
.subtitle{font-family:'Crustaceans Signature',cursive;color:var(--orange);font-size:38px;margin-left:14px}

.addons{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.addon{background:#dfe8dc;color:#203d2e;font-size:13px;padding:8px 14px;border-radius:16px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px}
.card{
    background:var(--white);border-radius:10px;padding:20px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);position:relative;transition:.3s;
}
.card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.badge{
    position:absolute;top:14px;left:14px;padding:6px 10px;
    font-size:11px;font-weight:700;border-radius:6px;color:var(--white);
}
.badge.new{background:#e14b1f}
.badge.pop{background:var(--gold);color:var(--black)}
.plate{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:20px auto}
.plate img{width:100%;height:100%;object-fit:cover}
.card h3{font-family:'Playfair Display',serif;color:var(--primary);font-size:18px}
.card p{color:#6f6f6f;font-size:14px;line-height:1.5;margin:8px 0}
.price{color:var(--orange);font-weight:700;margin-top:14px;font-size:16px}
.btn-see-options{
    background:var(--primary);color:var(--white);padding:8px 16px;
    border:none;border-radius:6px;font-size:12px;font-weight:600;
    cursor:pointer;margin-top:10px;transition:.3s;
}
.btn-see-options:hover{background:var(--primary-dark);transform:translateY(-2px)}
.options-content{
    background:#f9f9f9;padding:12px;margin-top:12px;border-radius:6px;
    font-size:13px;line-height:1.6;color:#666;border-left:3px solid var(--orange);
}
.options-content.hidden{display:none}

/* Pizza section */
.pizza-section{background:#eff4ef;padding:30px 40px}
.pizza-section .page{max-width:1100px;margin:0 auto}
.pizza-ui{background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.pizza-ui .brand{font-weight:700;letter-spacing:2px;color:var(--primary);margin-bottom:20px}
.pizza-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;justify-content:center;max-width:1100px}
.pizza-tabs span{padding:8px 14px;border-radius:20px;border:1px solid #cfd9cf;font-size:13px;background:var(--white);cursor:pointer;transition:.3s}
.pizza-tabs span:hover{background:#f5f5f5}
.pizza-tabs .active{background:#4a4036;color:var(--white);border-color:#4a4036}
.pizza-title{font-family:'Playfair Display',serif;font-size:38px;color:var(--primary);text-align:center}
.pizza-title em{font-family:'Crustaceans Signature',cursive;color:var(--orange);font-size:28px;margin-left:12px;font-style:normal}
.pizza-addons{display:flex;gap:10px;flex-wrap:wrap;margin:22px auto 36px;justify-content:center;max-width:1100px}
.pizza-addons span{background:#dfe8dc;padding:8px 14px;border-radius:16px;font-size:13px}
.pizza-ui-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1100px;margin:0 auto}
.pizza-ui-card{
    background:#f4f7f3;border-radius:16px;padding:22px;
    display:flex;gap:18px;position:relative;transition:.3s;
}
.pizza-ui-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.pizza-ui-card img{width:150px;height:150px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pizza-ui-card h3{margin:0;color:var(--primary);font-family:'Playfair Display',serif;font-size:18px}
.pizza-ui-card p{color:#6f6f6f;font-size:14px;line-height:1.5;margin:8px 0}
.pizza-ui-card .price{color:var(--orange);font-weight:700;margin-top:10px;font-size:16px}
.ribbon{position:absolute;top:14px;left:14px;padding:6px 10px;font-size:11px;font-weight:700;border-radius:6px}
.ribbon.popular{background:var(--gold);color:var(--black)}
.ribbon.new{background:#e14b1f;color:var(--white)}

/* Allergen */
.allergen-section{background:#eff4ef;padding:70px 40px;border-top:1px solid rgba(0,0,0,.03)}
.allergen-inner{max-width:1100px;margin:0 auto;text-align:center}
.allergen-inner h2{font-family:'Playfair Display',serif;font-size:44px;color:var(--primary);margin-bottom:12px}
.allergen-desc{max-width:980px;margin:0 auto 28px;color:#6f6f6f;line-height:1.8;font-size:14px}
.allergen-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:18px}
.chip{
    background:var(--white);border-radius:12px;padding:12px 18px;
    display:inline-flex;align-items:center;gap:10px;
    box-shadow:0 6px 18px rgba(0,0,0,.04);font-weight:600;color:var(--primary);font-size:13px;
}
.chip svg{color:var(--primary);opacity:.95;width:20px;height:20px}

/* Google maps */
.google-maps-container{margin-top:30px;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}

/* ===== MENU HERO ===== */
.menu-hero{
    background:url('../images/haro.webp') center/cover no-repeat;
    height:280px;display:flex;align-items:center;justify-content:center;
    color:var(--white);text-align:center;position:relative;
}
.menu-hero::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.4)}
.menu-hero-content{position:relative;z-index:1}
.menu-hero-content h2{font-family:'Playfair Display',serif;font-size:42px;margin-bottom:10px;font-weight:700;letter-spacing:2px}
.menu-hero-content p{font-family:'Crustaceans Signature',cursive;font-size:28px;font-weight:400;max-width:500px;margin:0 auto;color:#fff;opacity:.9}

/* Menu categories */
.menu-categories{padding:50px 0;background:var(--white)}
.menu-category{margin-bottom:50px}
.menu-category h3{
    font-family:'Playfair Display',serif;font-size:28px;color:var(--primary);
    margin-bottom:24px;font-weight:700;display:flex;align-items:center;gap:10px;
}
.menu-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.menu-item{
    background:var(--white);border-radius:10px;overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.06);transition:.3s;display:flex;flex-direction:column;
}
.menu-item:hover{box-shadow:0 10px 25px rgba(0,0,0,.12);transform:translateY(-4px)}
.menu-item-image{width:100%;height:200px;object-fit:cover}
.menu-item-info{padding:18px;flex:1;display:flex;flex-direction:column}
.menu-item-info h4{font-family:'Playfair Display',serif;font-size:17px;color:var(--text);margin-bottom:8px;font-weight:600}
.menu-item-info p{font-size:13px;color:var(--text-light);margin-bottom:12px;line-height:1.6;flex:1}
.menu-item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}

/* Featured section */
.featured-section{padding:50px 0;background:var(--bg-light)}
.featured-section .container{display:flex;gap:24px;flex-wrap:wrap}
.featured-item{
    background:var(--white);border-radius:10px;overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,.06);transition:.3s;flex:1;min-width:280px;
}
.featured-item:hover{box-shadow:0 10px 25px rgba(0,0,0,.12);transform:translateY(-4px)}
.featured-image{width:100%;height:220px;object-fit:cover}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .signatures-grid{grid-template-columns:repeat(2,1fr)}
    .find-layout{grid-template-columns:1fr}
    .footer-content{grid-template-columns:repeat(3,1fr)}
    .pizza-ui-grid{grid-template-columns:1fr}
    .grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
    body{padding-top:100px}
    .top-bar{padding:8px 0}
    .top-bar-link{font-size:11px}
    .navbar{top:36px}
    .nav-container{flex-wrap:nowrap;position:relative;padding:0 12px;min-height:56px;gap:8px}
    .logo{order:1;flex-shrink:0;margin-right:auto}
    .logo-img{height:38px}
    .nav-actions{order:2;gap:6px}
    .hamburger{display:flex;padding:6px;border-radius:4px}
    .hamburger span{width:20px;height:2px}
    .dark-toggle{width:32px;height:32px;font-size:14px}
    .nav-auth a{width:32px;height:32px;font-size:14px}
    .lang-switcher .lang-toggle{padding:4px;font-size:10px;gap:0;width:32px;height:32px;justify-content:center}
    .lang-toggle span{display:none}
    .lang-toggle i.fa-chevron-down{display:none}
    .lang-flag-active{font-size:16px}
    .nav-reserve-btn{padding:5px 10px;font-size:9px;letter-spacing:.5px;margin-left:0;border-radius:20px;box-shadow:none}
    .nav-auth{display:none}
    .nav-actions{gap:4px}
    .close-menu-btn{
        display:none;position:absolute;top:50%;transform:translateY(-50%);
        right:15px;background:var(--bg-light);border:none;
        color:var(--nav-text);font-size:26px;cursor:pointer;padding:6px 10px;
        border-radius:4px;z-index:1002;
    }
    .nav-menu{
        position:absolute;top:100%;left:0;right:0;
        background:var(--nav-bg);flex-direction:column;gap:0;
        max-height:0;overflow:hidden;transition:max-height .3s;
        width:100%;padding:0;z-index:999;
        border-top:1px solid var(--border);box-shadow:0 8px 20px rgba(0,0,0,.1);
    }
    .nav-menu.active{max-height:calc(100vh - 90px);padding:10px 0;overflow-y:auto}
    .nav-menu.active ~ .close-menu-btn{display:block}
    .nav-menu > li{width:100%;border-bottom:1px solid var(--border)}
    .nav-menu > li > a,
    .nav-menu > li > .nav-dropdown-toggle{
        width:100%;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:12px 20px!important;
        font-size:13px!important;
        color:var(--nav-text)!important;
        border-radius:0!important;
        text-align:left;
    }
    .nav-menu > li > a.active,
    .nav-menu > li > .nav-dropdown-toggle.active{
        background:rgba(198,58,43,.08)!important;
        color:var(--primary)!important;
    }
    .nav-menu .nav-submenu{
        position:static;
        border:none;
        border-top:1px solid var(--border);
        border-radius:0;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        max-height:0;
        overflow:hidden;
        padding:0;
        transition:max-height .25s ease;
    }
    .nav-menu .nav-dropdown.open > .nav-submenu{
        max-height:320px;
    }
    .nav-menu .nav-dropdown.open > .nav-dropdown-toggle i{
        transform:rotate(180deg);
    }
    .nav-menu .nav-submenu li{
        border-bottom:1px solid #efefef;
    }
    .nav-menu .nav-submenu li:last-child{
        border-bottom:none;
    }
    .nav-menu .nav-submenu a{
        padding:10px 32px!important;
        font-size:12px!important;
        color:var(--text-light)!important;
        background:rgba(0,0,0,.02);
    }
    .nav-menu .nav-submenu a.active{
        color:var(--primary)!important;
        background:rgba(198,58,43,.08)!important;
    }

    .hero{height:auto;min-height:0;padding:80px 20px 60px}
    .hero h2{font-size:28px}
    .hero p{font-size:26px;margin-bottom:22px;line-height:1.35}
    .hero-buttons{flex-direction:column;align-items:center;gap:12px}
    .hero-buttons .btn{width:100%;max-width:280px;padding:13px 20px;font-size:12px}
    .planning-section h2{font-size:30px}
    .form-row{grid-template-columns:1fr}
    .find-layout{grid-template-columns:1fr}
    .find-header{flex-direction:column;align-items:flex-start}
    .signatures-grid{grid-template-columns:repeat(2,1fr)}
    .sig-card{height:200px}
    .footer-content{grid-template-columns:1fr}
    .newsletter-content{flex-direction:column;padding:24px}
    .newsletter-form{width:100%;flex-direction:column}
    .newsletter-form input{min-width:100%}
    .floating-buttons{bottom:16px;right:16px}
    .grid{grid-template-columns:1fr}
    .section{padding:24px 16px}
    .section h2{font-size:28px}
    .menu-hero{height:200px}
    .menu-hero-content h2{font-size:30px}
    .menu-items{grid-template-columns:1fr}
    .locations-grid,.events-slider,.blog-grid{grid-template-columns:1fr}
    .seating-options{flex-wrap:wrap;gap:16px}
}

@media(max-width:480px){
    .nav-container{padding:0 8px;gap:4px}
    .logo-img{height:32px}
    .nav-reserve-btn{padding:4px 8px;font-size:8px}
    .dark-toggle{width:28px;height:28px;font-size:12px}
    .nav-search-btn{width:28px;height:28px;font-size:12px}
    .lang-switcher .lang-toggle{width:28px;height:28px}
    .lang-flag-active{font-size:14px}
    .hamburger{padding:4px}
    .hamburger span{width:18px;height:2px}
}

/* ===== HOME: SUMMER SIGNATURES (4-col grid) ===== */
.home-signatures{padding:60px 0;background:var(--white)}
.home-signatures h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--text);font-weight:700;
    margin-bottom:30px;letter-spacing:1px;
}
.home-sig-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    margin-bottom:40px;
}
.home-sig-card{
    border-radius:12px;overflow:hidden;position:relative;
    aspect-ratio:3/4;background:#c0392b;
}
.home-sig-card img{width:100%;height:100%;object-fit:cover}
.home-sig-label{
    position:absolute;bottom:0;left:0;right:0;
    padding:18px 14px;
    background:linear-gradient(transparent,rgba(0,0,0,.65));
    color:var(--white);font-weight:700;font-size:13px;
    letter-spacing:.8px;
}

/* ===== HOME: LOCATIONS (3-col cards) ===== */
.home-locations{padding:60px 0;background:var(--white)}
.home-locations h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--text);font-weight:700;
    margin-bottom:30px;letter-spacing:1px;
}
.home-loc-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    margin-bottom:40px;
}
.home-loc-card{
    border:1px solid var(--border);border-radius:8px;padding:24px;
    transition:box-shadow .3s;
}
.home-loc-card:hover{box-shadow:0 4px 15px rgba(0,0,0,.08)}
.home-loc-card h4{
    font-family:'Playfair Display',serif;
    font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px;
}
.home-loc-card .stars{color:var(--gold);font-size:14px;margin-bottom:10px}
.loc-detail{
    display:flex;align-items:center;gap:8px;
    font-size:13px;color:var(--text-light);margin-bottom:6px;
}
.loc-detail i{color:var(--primary);width:16px;text-align:center}

/* ===== HOME: CELEBRATE BANNER ===== */
.celebrate-banner{padding:40px 0;background:var(--white)}
.celebrate-card{
    display:flex;border-radius:12px;overflow:hidden;
    background:var(--primary-dark);max-width:700px;margin:0 auto;
}
.celebrate-img{flex:0 0 50%;min-height:250px}
.celebrate-img img{width:100%;height:100%;object-fit:cover}
.celebrate-text{
    flex:1;padding:40px 36px;
    display:flex;flex-direction:column;justify-content:center;
    color:var(--white);
}
.celebrate-text h2{
    font-family:'Playfair Display',serif;
    font-size:36px;font-weight:700;margin-bottom:12px;
    color:var(--secondary);
}
.celebrate-text p{font-size:14px;margin-bottom:20px;line-height:1.6;opacity:.9}
.celebrate-text .btn{
    border-color:var(--white);color:var(--white);
    align-self:flex-start;
}
.celebrate-text .btn:hover{background:var(--white);color:var(--primary)}

/* ===== HOME: SPECIALS OF THE MONTH ===== */
.specials-section{padding:60px 0;background:var(--bg-light)}
.specials-section h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--text);font-weight:700;
    margin-bottom:30px;letter-spacing:1px;
}
.specials-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.special-card{
    background:var(--white);border-radius:12px;padding:20px;
    position:relative;text-align:center;
    box-shadow:0 4px 12px rgba(0,0,0,.06);transition:.3s;
}
.special-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.special-badge{
    position:absolute;top:14px;left:14px;
    padding:6px 12px;border-radius:6px;
    font-size:11px;font-weight:700;letter-spacing:.5px;
    display:inline-flex;align-items:center;gap:5px;
}
.special-badge.new{background:#e25b2d;color:var(--white)}
.special-badge.popular{background:var(--gold);color:var(--black)}
.special-plate{
    width:80%;aspect-ratio:1;border-radius:50%;overflow:hidden;
    margin:30px auto 16px;
}
.special-plate img{width:100%;height:100%;object-fit:cover}
.special-card h4{
    font-family:'Playfair Display',serif;
    font-size:18px;color:var(--text);font-weight:600;
}

/* Offers Slider */
.offers-slider-wrap{
    position:relative;padding:0 50px;
}
.offers-slider{
    display:flex;gap:24px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;padding-bottom:8px;
}
.offers-slider::-webkit-scrollbar{display:none}
.offers-slider .special-card{
    min-width:280px;max-width:280px;flex-shrink:0;
    scroll-snap-align:start;
}
.offers-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:40px;height:40px;border-radius:50%;
    background:var(--white);color:var(--primary);
    border:2px solid var(--primary);cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    font-size:14px;transition:all .3s;z-index:5;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.offers-arrow:hover{background:var(--primary);color:var(--white)}
.offers-prev{left:0}
.offers-next{right:0}

/* Special pricing */
.special-pricing{
    display:flex;align-items:center;justify-content:center;
    gap:8px;margin-top:8px;flex-wrap:wrap;
}
.sp-original{
    font-size:13px;color:#999;text-decoration:line-through;
}
.sp-price{
    font-family:'Playfair Display',serif;font-size:18px;
    font-weight:700;color:var(--primary);
}
.sp-save{
    font-size:10px;font-weight:700;
    background:rgba(198,58,43,.1);color:var(--primary);
    padding:2px 8px;border-radius:10px;
}

/* ===== HOME: UPCOMING EVENTS ===== */
.home-events{padding:60px 0;background:var(--white)}
.home-events h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:#333;font-weight:700;
    margin-bottom:30px;letter-spacing:1px;text-align:center;
}
.home-events-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.home-event-card{
    border:1px solid var(--border);border-radius:10px;overflow:hidden;
    transition:.3s;display:flex;flex-direction:column;
}
.home-event-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1)}
.home-event-card>img{width:100%;height:200px;object-fit:cover}
.home-event-body{padding:18px;flex:1;display:flex;flex-direction:column}
.home-event-body h4{
    font-family:'Playfair Display',serif;
    font-size:17px;color:var(--text);font-weight:700;margin-bottom:10px;
}
.home-event-body p{
    font-size:13px;color:var(--text-light);line-height:1.6;margin-bottom:14px;flex:1;
}
.home-event-meta{
    display:flex;flex-wrap:wrap;gap:14px;
    font-size:12px;color:var(--text-light);margin-bottom:16px;
}
.home-event-meta i{margin-right:4px;color:var(--primary)}
.home-event-btn{
    display:inline-block;text-align:center;
    background:#2D7A4F;color:#fff;
    padding:14px 36px;border-radius:30px;
    font-size:13px;font-weight:700;letter-spacing:1px;
    transition:all .3s;text-decoration:none;
}
.home-event-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}

/* ===== HOME: BLOG (3 card boxes) ===== */
.home-blog{padding:60px 0;background:var(--white)}
.home-blog h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:var(--primary);font-weight:700;
    margin-bottom:30px;letter-spacing:1px;text-align:center;
}
.blog-cards-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:30px;
}
.blog-box-card{
    background:var(--white);border-radius:12px;overflow:hidden;
    box-shadow:0 4px 20px rgba(0,0,0,.08);
    transition:transform .3s,box-shadow .3s;
}
.blog-box-card:hover{
    transform:translateY(-5px);
    box-shadow:0 8px 30px rgba(0,0,0,.12);
}
.blog-box-card img{
    width:100%;height:200px;object-fit:cover;display:block;
}
.blog-box-body{
    padding:20px;display:flex;flex-direction:column;flex:1
}
.blog-box-body h3{
    font-family:'Playfair Display',serif;
    font-size:18px;color:var(--text);font-weight:700;
    margin-bottom:10px;line-height:1.4;
    min-height:50px;
}
.blog-box-body p{
    font-size:13px;color:var(--text-light);line-height:1.7;margin-bottom:16px;
    flex:1;min-height:60px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.blog-h-meta{
    display:flex;gap:16px;font-size:12px;color:var(--text-light);margin-bottom:12px;
}
.blog-h-meta i{margin-right:4px}
/* Homepage blog "Read More" CTA */
.home-blog .blog-box-body .btn.btn-outline.btn-small{
    background:var(--primary);
    color:#fff;
    border:2px solid var(--primary);
    box-shadow:0 4px 16px rgba(45,122,79,.28);
}
.home-blog .blog-box-body .btn.btn-outline.btn-small:hover{
    background:var(--primary-dark);
    color:#fff;
    border-color:var(--primary-dark);
    box-shadow:0 6px 22px rgba(31,87,56,.35);
}
@media(max-width:768px){
    .blog-cards-row{grid-template-columns:1fr}
}

/* ===== HOME: NEWSLETTER BAR ===== */
.home-newsletter{
    padding:50px 0;
    background:repeating-linear-gradient(
        90deg,
        var(--primary) 0px,var(--primary) 20px,
        var(--primary-dark) 20px,var(--primary-dark) 40px
    );
}
.newsletter-bar{
    display:flex;align-items:center;justify-content:space-between;
    gap:30px;flex-wrap:wrap;
}
.newsletter-left{display:flex;align-items:center;gap:20px}
.newsletter-envelope{
    font-size:48px;color:var(--secondary);
}
.newsletter-left h3{
    font-family:'Playfair Display',serif;
    font-size:28px;color:var(--white);font-weight:700;margin-bottom:4px;
}
.newsletter-left p{font-size:13px;color:rgba(255,255,255,.8)}
.newsletter-inline{display:flex;gap:10px}
.newsletter-inline input{
    padding:12px 18px;border:1px solid rgba(255,255,255,.3);
    border-radius:4px;font-size:14px;min-width:260px;
    font-family:'Montserrat',sans-serif;
    background:var(--white);color:var(--text);
}
.newsletter-inline input:focus{outline:none;border-color:var(--secondary)}
.newsletter-inline .btn{
    border-color:var(--white);color:var(--white);
    white-space:nowrap;
}
.newsletter-inline .btn:hover{background:var(--white);color:var(--primary)}

/* ===== FOOTER: PAYMENTS + SUBSCRIBE ROW ===== */
.footer-payments-row{
    display:flex;justify-content:center;align-items:center;
    flex-wrap:wrap;gap:40px;
    padding:20px 0;margin-top:20px;
    border-top:1px solid var(--border);
}
.payment-icons{display:flex;gap:8px;align-items:center}
.pay-img{
    height:32px;width:auto;object-fit:contain;
    border-radius:4px;
}
.payment-details{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:max-content;
}
.payment-line{
    margin:0;
    font-size:12px;
    line-height:1.4;
    color:#fff;
    white-space:nowrap;
}
.payment-line strong{
    color:#fff;
    font-weight:700;
}
.payment-codes{
    color:#fff;
    font-weight:700;
    letter-spacing:.2px;
}
.footer-subscribe{display:flex;align-items:center;gap:12px}
.subscribe-label{
    font-size:11px;font-weight:700;letter-spacing:1px;
    color:var(--text-light);white-space:nowrap;
}
.subscribe-form{display:flex}
.subscribe-form input{
    padding:8px 14px;border:1px solid var(--border);
    border-right:none;background:var(--bg-light);color:var(--text);
    font-size:13px;font-family:'Montserrat',sans-serif;
    min-width:180px;
}
.subscribe-form input::placeholder{color:var(--text-light)}
.subscribe-form input:focus{outline:none;border-color:var(--primary)}
.subscribe-form button{
    padding:8px 14px;background:var(--primary);
    border:1px solid var(--primary);color:#fff;
    cursor:pointer;transition:.3s;font-size:14px;
}
.subscribe-form button:hover{background:var(--primary-dark)}

/* ===== MENU PAGE: TABS BAR ===== */
.menu-tabs-bar{
    background:#fff;padding:6px 0 0;
    border-bottom:1px solid #e0e0e0;
    position:sticky;top:110px;z-index:90;
    margin-top:0;
    transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease;
    will-change:transform;
}
.menu-tabs-bar.tabs-hidden{
    position:sticky;
    transform:translateY(-100%);
    opacity:0;pointer-events:none;
    box-shadow:none;
}
.menu-tabs-bar.tabs-visible{
    position:fixed;top:110px;left:0;right:0;
    transform:translateY(0);
    opacity:1;pointer-events:auto;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}
/* Remove gap between navbar and menu tabs bar on menu page */
.navbar + .menu-tabs-bar,
nav + .menu-tabs-bar{
    margin-top:0;
}
/* Tabs row: FOOD/DRINKS + search on one line */
.menu-tabs-row{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;padding-bottom:6px;
    border-bottom:2px solid var(--primary);
    margin-bottom:8px;
}
.menu-cat-tabs{display:flex;gap:16px;padding-bottom:0;flex-shrink:0}
.cat-tab{
    font-family:'Playfair Display',serif;font-size:22px;font-weight:700;
    color:var(--primary);text-decoration:none;padding-bottom:4px;
    border-bottom:3px solid transparent;transition:all .3s;
    letter-spacing:1px;
}
.cat-tab.active{border-bottom:3px solid var(--primary)}
.cat-tab:hover{opacity:.7}
.tab-rule{border:none;border-top:2px solid var(--primary);margin:0 0 14px}
/* Inline search in tabs row */
.cv-page-search-inline{flex:1;max-width:280px;margin:0}
.cv-page-search-inline .cv-page-search-input-wrap{
    padding:5px 12px;margin:0;border-radius:20px;
    font-size:12px;height:32px;
}
.cv-page-search-inline .cv-page-search-input-wrap input{
    font-size:12px;
}
.cv-page-search-inline .cv-page-search-results{
    position:absolute;right:0;top:100%;width:320px;
    z-index:100;
}
.menu-sub-pills{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}
.sub-pill{
    padding:4px 12px;border:1px solid #ccc;border-radius:20px;
    font-size:11px;font-family:'Montserrat',sans-serif;
    color:var(--text);text-decoration:none;transition:all .3s;
    white-space:nowrap;
}
.sub-pill:hover,.sub-pill.active{background:var(--primary);color:var(--white);border-color:var(--primary)}

/* ===== MENU PAGE: SUMMER BANNER ===== */
.menu-summer-banner{
    background:#f5f0e8;padding:50px 0;
}
.summer-banner-inner{
    position:relative;padding:40px 0;overflow:hidden;
}
.summer-text-bg{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    pointer-events:none;z-index:0;
    text-align:center;width:100%;
}
.summer-text-bg span{
    font-family:'Playfair Display',serif;font-size:120px;font-weight:900;
    color:rgba(200,170,120,.45);letter-spacing:10px;display:block;
    line-height:1;text-transform:uppercase;
}
.summer-text-bg em{
    font-family:'Crustaceans Signature',cursive;font-size:52px;color:rgba(216,159,74,.5);
    display:block;margin-top:-5px;
}
.summer-desc{position:relative;z-index:1;max-width:800px;margin:0 auto;text-align:center}
.summer-desc p{
    font-size:14px;line-height:1.8;color:var(--text);
    font-family:'Montserrat',sans-serif;
}
.summer-desc em{color:var(--secondary);font-style:italic}

/* Menu optional description box */
.menu-optional-box{
    font-weight:700;font-size:12px;line-height:1.5;
    background:#fef9f0;border-left:3px solid var(--secondary);
    padding:8px 12px;margin-top:8px;border-radius:4px;
    word-wrap:break-word;overflow-wrap:break-word;
    color:#5a3a2a;font-family:'Montserrat',sans-serif;
}

/* ===== MENU PAGE: SECTION HEADINGS ===== */
.menu-section{padding:28px 0}
.menu-section-alt{background:#f5f0e8;padding:30px 0}
.section-heading{
    display:flex;align-items:baseline;gap:16px;
    margin-bottom:24px;
}
.section-heading h2{
    font-family:'Playfair Display',serif;font-size:28px;font-weight:700;
    color:var(--primary-dark);letter-spacing:2px;margin:0;
}
.heading-cursive{
    font-family:'Crustaceans Signature',cursive;font-size:40px;color:var(--secondary);
}

/* ===== MENU PAGE: ADDON TAGS ===== */
.addons-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.addon-tag{
    padding:6px 14px;border:1px solid #ccc;border-radius:20px;
    font-size:12px;font-family:'Montserrat',sans-serif;
    color:var(--text);white-space:nowrap;
}

/* ===== MENU PAGE: 3-COL VERTICAL CARDS ===== */
.menu-grid-3{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.menu-card-v{
    background:#fff;border:1px solid #eee;border-radius:10px;
    padding:14px;position:relative;overflow:visible;
    transition:box-shadow .3s;
}
.menu-card-v:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.card-badge{
    position:absolute;top:12px;left:12px;
    padding:5px 12px;border-radius:6px;
    font-size:11px;font-weight:700;letter-spacing:.5px;
    font-family:'Montserrat',sans-serif;z-index:2;
}
.card-badge.new{background:#d4a843;color:#fff}
.card-badge.pop{background:#2D7A4F;color:#fff}
.card-plate{
    width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;
    margin:0 auto 10px;max-width:150px;
    background:#f8f8f8;
}
.card-plate img{width:100%;height:100%;object-fit:cover}
.card-rect-img{
    width:100%;height:260px;border-radius:10px;overflow:hidden;
    margin:0 0 16px;background:#f8f8f8;
}
.card-rect-img img{width:100%;height:100%;object-fit:cover}
.menu-card-v h3{
    font-family:'Playfair Display',serif;font-size:15px;font-weight:700;
    color:var(--primary-dark);margin:0 0 4px;
}
.menu-card-v p{
    font-size:12px;line-height:1.5;color:#555;margin:0 0 8px;
    font-family:'Montserrat',sans-serif;
    display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.see-options{
    display:inline-block;padding:5px 14px;border:1px solid #ccc;
    border-radius:4px;font-size:12px;color:var(--text);
    text-decoration:none;font-family:'Montserrat',sans-serif;
    margin-bottom:10px;transition:all .3s;cursor:pointer;
}
.see-options:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}
.card-bottom{
    display:flex;justify-content:space-between;align-items:center;
    margin-top:auto;padding-top:4px;
}
.card-price{
    font-family:'Playfair Display',serif;font-size:14px;font-weight:700;
    color:var(--primary);
}
.card-allergens{
    display:flex;gap:6px;align-items:center;
}
.card-allergens .allergen-icon{
    position:relative;display:inline-flex;align-items:center;
    justify-content:center;cursor:pointer;
}
.card-allergens .allergen-icon i{
    font-size:14px;color:#444;
}
.card-allergens .allergen-icon .allergen-tip{
    display:none;position:absolute;bottom:calc(100% + 6px);left:50%;
    transform:translateX(-50%);background:#333;color:#fff;
    font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
    padding:4px 10px;border-radius:4px;white-space:nowrap;z-index:5;
}
.card-allergens .allergen-icon .allergen-tip::after{
    content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
    border:4px solid transparent;border-top-color:#333;
}
.card-allergens .allergen-icon:hover .allergen-tip{display:block}
/* See Options popup */
.see-options-wrap{position:relative;display:inline-block;z-index:20}
.see-options-popup{
    display:none;position:absolute;bottom:calc(100% + 8px);left:0;
    background:#3a7d44;color:#fff;border-radius:10px;
    padding:14px 18px;min-width:220px;z-index:9999;
    font-family:'Montserrat',sans-serif;font-size:12px;
    line-height:1.7;box-shadow:0 4px 16px rgba(0,0,0,.18);
}
.see-options-popup::after{
    content:'';position:absolute;bottom:-6px;left:20px;
    width:12px;height:12px;background:#3a7d44;
    transform:rotate(45deg);
}
.see-options-popup.show{display:block}
.see-options-popup strong{display:block;margin-bottom:4px;font-size:13px}
.see-options-popup ul{list-style:none;padding:0;margin:0 0 6px}
.see-options-popup ul li::before{content:'• ';color:#fff}
.see-options-popup .popup-extra{border-top:1px solid rgba(255,255,255,.3);padding-top:6px;margin-top:4px}

/* ===== DRINKS TAB: LIST LAYOUT (Hot Coffees/Teas style) ===== */
.drinks-section{padding:40px 0;border-bottom:1px solid #eee}
.drinks-section .section-heading{margin-bottom:20px}
.drinks-section .section-heading h2{
    font-family:'Playfair Display',serif;font-size:30px;font-weight:900;
    color:#1a3328;letter-spacing:2px;text-transform:uppercase;
}

.drinks-addons-pills{
    display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;
}
.drinks-addon-pill{
    padding:6px 16px;border:1px solid #bbb;border-radius:20px;
    font-size:12px;font-family:'Montserrat',sans-serif;
    color:#333;white-space:nowrap;background:#fff;
}

.drinks-list{max-width:900px}
.drinks-list-item{
    display:flex;align-items:center;gap:8px;
    padding:14px 0;border-bottom:1px solid transparent;
    position:relative;transition:background .2s;
}
.drinks-list-item:hover{background:rgba(45,122,79,.03);border-radius:6px;padding-left:8px;padding-right:8px}
.drinks-list-name{
    display:flex;align-items:center;gap:8px;
    flex-shrink:0;max-width:60%;
}
.drinks-item-title{
    font-family:'Playfair Display',serif;font-size:17px;font-weight:700;
    color:#1a3328;white-space:nowrap;
}
.drinks-item-allergens{display:flex;gap:4px;align-items:center}
.drinks-item-allergens i{font-size:13px;color:#666}
.drinks-badge{
    font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;
    letter-spacing:.3px;white-space:nowrap;
}
.drinks-badge.new{background:#d4a843;color:#fff}
.drinks-badge.pop{background:#2D7A4F;color:#fff}

.drinks-list-dots{
    flex:1;min-width:20px;height:1px;
    border-bottom:2px dotted #ccc;
    margin:0 4px;
}
.drinks-list-price{flex-shrink:0}
.drinks-list-price .card-price{
    font-family:'Playfair Display',serif;font-size:16px;font-weight:700;
    color:#c0392b;
}

.drinks-order-btn{
    position:absolute;right:-40px;top:50%;transform:translateY(-50%);
    width:32px;height:32px;border-radius:50%;
    background:#2D7A4F;color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    opacity:0;transition:opacity .3s,transform .3s;
    font-size:13px;padding:0;
}
.drinks-order-btn i{margin:0}
.drinks-list-item:hover .drinks-order-btn{opacity:1;right:0;transform:translateY(-50%)}

/* ===== DRINKS TAB: CARD LAYOUT (Iced Teas & Coffees style) ===== */
.drinks-card-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.drinks-card{
    display:flex;align-items:flex-start;gap:20px;
    background:#f8f8f8;border-radius:16px;padding:24px;
    position:relative;overflow:visible;transition:box-shadow .3s;
}
.drinks-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08)}
.drinks-card .card-badge{top:12px;left:12px;z-index:2}
.drinks-card-img{
    width:140px;height:180px;flex-shrink:0;
    border-radius:12px;overflow:hidden;background:#eee;
}
.drinks-card-img img{width:100%;height:100%;object-fit:cover}
.drinks-card-info{flex:1;padding-top:4px}
.drinks-card-info h3{
    font-family:'Playfair Display',serif;font-size:20px;font-weight:700;
    color:#1a3328;margin:0 0 6px;
}
.drinks-card-info p{
    font-size:13px;line-height:1.6;color:#555;margin:0 0 10px;
    font-family:'Montserrat',sans-serif;
}
.drinks-card-info .card-price{
    font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
    color:#c0392b;display:block;margin-bottom:8px;
}
.drinks-card .product-order-btn{
    position:absolute;bottom:16px;right:16px;
}

/* ===== DRINKS TAB: LARGE IMAGE GRID (Milkshakes & Smoothies style) ===== */
.drinks-img-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.drinks-img-card{
    position:relative;text-align:center;
    border-radius:16px;overflow:visible;
    transition:transform .3s;
}
.drinks-img-card:hover{transform:translateY(-4px)}
.drinks-img-card .card-badge{top:12px;left:12px;z-index:2}
.drinks-img-wrap{
    width:100%;aspect-ratio:3/4;border-radius:16px;overflow:hidden;
    background:#f5f0e8;margin-bottom:14px;
}
.drinks-img-wrap img{width:100%;height:100%;object-fit:cover}
.drinks-img-card h3{
    font-family:'Playfair Display',serif;font-size:17px;font-weight:700;
    color:#1a3328;margin:0 0 6px;
}
.drinks-img-card .card-price{
    font-family:'Playfair Display',serif;font-size:16px;font-weight:700;
    color:#c0392b;
}
.drinks-img-card .product-order-btn{
    margin-top:10px;
}

@media(max-width:768px){
    .drinks-card-grid{grid-template-columns:1fr}
    .drinks-img-grid{grid-template-columns:1fr 1fr}
    .drinks-card{flex-direction:column}
    .drinks-card-img{width:100%;height:200px}
    .drinks-item-title{font-size:15px}
    .drinks-list-name{max-width:55%}
    .drinks-order-btn{position:static;opacity:1;transform:none;width:28px;height:28px}
    .drinks-list-item:hover .drinks-order-btn{transform:none}
}
@media(max-width:480px){
    .drinks-img-grid{grid-template-columns:1fr}
}

/* ===== MENU PAGE: 2-COL HORIZONTAL CARDS ===== */
.menu-grid-2h{
    display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
.menu-card-h{
    display:flex;align-items:flex-start;gap:16px;
    background:#fff;border:1px solid #eee;border-radius:12px;
    padding:16px;position:relative;overflow:visible;
    transition:box-shadow .3s;
}
.menu-card-h:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.menu-card-h .card-badge{top:8px;left:8px}
.card-img{
    flex:0 0 120px;width:120px;height:120px;border-radius:50%;
    overflow:hidden;background:#f8f8f8;
}
.card-img.rect{
    flex:0 0 160px;width:160px;height:180px;border-radius:10px;
}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-info{flex:1;min-width:0}
.card-info h3{
    font-family:'Playfair Display',serif;font-size:16px;font-weight:700;
    color:var(--primary-dark);margin:0 0 6px;
}
.card-info p{
    font-size:12px;line-height:1.6;color:#555;margin:0 0 8px;
    font-family:'Montserrat',sans-serif;
}

/* ===== DRINKS TABLE ===== */
.drinks-table{
    width:100%;border-collapse:collapse;margin-top:10px;
    font-family:'Playfair Display',serif;
}
.drinks-table thead th{
    text-align:right;padding:12px 0;font-size:15px;font-weight:700;
    color:var(--primary-dark);border:none;
}
.drinks-table thead th:first-child{text-align:left}
.drinks-table tbody td{
    padding:16px 0;font-size:15px;font-weight:700;
    color:var(--primary-dark);border:none;
    font-family:'Playfair Display',serif;
    vertical-align:bottom;
}
.drinks-table tbody td:first-child{
    font-weight:700;text-align:left;white-space:nowrap;
    padding-right:0;position:relative;
}
.drinks-table tbody td.td-line{
    border-bottom:1px dotted #bbb;padding:16px 0;
    width:100%;
}
.drinks-table tbody td.dp{
    text-align:right;color:#c0562a;font-weight:700;
    font-family:'Playfair Display',serif;
    padding-left:12px;white-space:nowrap;
}
.drinks-table .allergen-icons{
    display:inline;margin-left:8px;
}
.drinks-table .allergen-icons .allergen-icon{
    position:relative;display:inline-flex;align-items:center;
    justify-content:center;cursor:pointer;margin-right:3px;
}
.drinks-table .allergen-icons .allergen-icon i{
    font-size:13px;color:#555;
}
.drinks-table .allergen-icons .allergen-icon .allergen-tip{
    display:none;position:absolute;bottom:calc(100% + 6px);left:50%;
    transform:translateX(-50%);background:#333;color:#fff;
    font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
    padding:4px 10px;border-radius:4px;white-space:nowrap;z-index:5;
}
.drinks-table .allergen-icons .allergen-icon .allergen-tip::after{
    content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
    border:4px solid transparent;border-top-color:#333;
}
.drinks-table .allergen-icons .allergen-icon:hover .allergen-tip{display:block}

/* ===== DRINKS LIST (Hot Teas) ===== */
.drinks-list{margin-top:10px}
.drink-row{
    display:flex;align-items:baseline;
    padding:14px 0;position:relative;
}
.drink-name{order:1;flex-shrink:0}
.drink-row::after{
    content:'';order:2;flex:1;border-bottom:1px dotted #bbb;
    margin:0 10px;min-width:20px;
}
.drink-row .dp{order:3}
.drink-name{
    font-family:'Playfair Display',serif;font-size:16px;font-weight:700;
    color:var(--primary-dark);white-space:nowrap;
}
.drink-name .allergen-icons{
    display:inline;margin-left:8px;
}
.drink-name .allergen-icons .allergen-icon{
    position:relative;display:inline-flex;align-items:center;
    justify-content:center;cursor:pointer;margin-right:3px;
}
.drink-name .allergen-icons .allergen-icon i{
    font-size:13px;color:#555;
}
.drink-name .allergen-icons .allergen-icon .allergen-tip{
    display:none;position:absolute;bottom:calc(100% + 6px);left:50%;
    transform:translateX(-50%);background:#333;color:#fff;
    font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
    padding:4px 10px;border-radius:4px;white-space:nowrap;z-index:5;
}
.drink-name .allergen-icons .allergen-icon .allergen-tip::after{
    content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
    border:4px solid transparent;border-top-color:#333;
}
.drink-name .allergen-icons .allergen-icon:hover .allergen-tip{display:block}
.drink-row .dp{
    font-family:'Playfair Display',serif;font-size:15px;font-weight:700;
    color:#c0562a;white-space:nowrap;flex-shrink:0;
}

/* ===== BLOG PAGE (Redesigned) ===== */
/* Hero */
.bl-hero{padding:50px 0 40px;background:#fff}
.bl-hero-inner{
    display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.bl-hero-tag{
    display:inline-block;background:#e25b2d;color:#fff;
    font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;
    letter-spacing:1.5px;padding:4px 14px;border-radius:3px;margin-bottom:14px;
}
.bl-hero-text h1{
    font-family:'Playfair Display',serif;font-size:32px;font-weight:700;
    color:var(--primary-dark);margin:0 0 14px;line-height:1.25;
}
.bl-hero-meta{
    display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px;
    font-family:'Montserrat',sans-serif;font-size:11px;color:#888;
}
.bl-hero-meta i{margin-right:4px;color:#aaa}
.bl-cat-badge{
    background:var(--primary-dark);color:#fff;padding:2px 10px;border-radius:3px;
    font-size:10px;font-weight:700;letter-spacing:.5px;
}
.bl-hero-text p{
    font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.7;
    color:#555;margin:0 0 20px;
}
.bl-hero-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 36px;background:#F4A623;color:#fff;
    border-radius:30px;font-family:'Montserrat',sans-serif;font-size:13px;
    font-weight:700;letter-spacing:1px;text-decoration:none;transition:all .3s;
}
.bl-hero-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}
.bl-hero-btn i{font-size:11px}
.bl-hero-img{border-radius:12px;overflow:hidden;height:340px}
.bl-hero-img img{width:100%;height:100%;object-fit:cover}

/* Toolbar */
.bl-toolbar{
    background:#f9f9f9;padding:14px 0;border-top:1px solid #eee;
    border-bottom:1px solid #eee;position:sticky;top:90px;z-index:50;
}
.bl-toolbar-inner{
    display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.bl-pills{display:flex;gap:6px;flex-wrap:wrap}
.bl-pill{
    padding:7px 18px;border-radius:20px;border:1px solid #ddd;
    background:#fff;font-family:'Montserrat',sans-serif;font-size:12px;
    font-weight:600;color:#555;cursor:pointer;transition:all .2s;
}
.bl-pill:hover{border-color:var(--primary-dark);color:var(--primary-dark)}
.bl-pill.active{
    background:var(--primary-dark);color:#fff;border-color:var(--primary-dark);
}
.bl-search{
    display:flex;align-items:center;gap:6px;background:#fff;
    border:1px solid #ddd;border-radius:6px;padding:6px 12px;
}
.bl-search i{color:#aaa;font-size:13px}
.bl-search input{
    background:none;border:none;outline:none;
    font-family:'Montserrat',sans-serif;font-size:12px;color:#333;width:160px;
}
.bl-search input::placeholder{color:#bbb}

/* Grid */
.bl-grid-section{padding:40px 0 50px;background:#fff}
.bl-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}

/* Card */
.bl-card{
    border:1px solid #eee;border-radius:10px;overflow:hidden;
    transition:box-shadow .2s,transform .2s;background:var(--white);
    display:flex;flex-direction:column;height:100%;
}
.bl-card.hidden{display:none}
.bl-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-4px)}
.bl-card-img{position:relative;height:200px;overflow:hidden}
.bl-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.bl-card:hover .bl-card-img img{transform:scale(1.05)}
.bl-card-cat{
    position:absolute;top:12px;left:12px;
    background:var(--primary-dark);color:#fff;padding:3px 12px;border-radius:3px;
    font-family:'Montserrat',sans-serif;font-size:10px;font-weight:700;
    letter-spacing:.5px;
}
.bl-card-body{padding:18px}
.bl-card-meta{
    display:flex;gap:14px;margin-bottom:10px;
    font-family:'Montserrat',sans-serif;font-size:11px;color:#999;
}
.bl-card-meta i{margin-right:3px;color:#bbb}
.bl-card-body h3{
    font-family:'Playfair Display',serif;font-size:17px;font-weight:700;
    color:var(--primary-dark);margin:0 0 8px;line-height:1.3;
}
.bl-card-body p{
    font-family:'Montserrat',sans-serif;font-size:13px;line-height:1.6;
    color:#666;margin:0 0 14px;
}
.bl-card-link{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 24px;background:#F4A623;color:#fff;
    border-radius:30px;font-family:'Montserrat',sans-serif;
    font-size:12px;font-weight:700;letter-spacing:1px;
    text-decoration:none;transition:all .3s;
}
.bl-card-link:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}
.bl-card-link i{font-size:10px}

/* No Results */
.bl-no-results{
    text-align:center;padding:60px 0;color:#ccc;
}
.bl-no-results i{font-size:40px;margin-bottom:12px;display:block}
.bl-no-results p{font-family:'Montserrat',sans-serif;font-size:14px}

/* Newsletter CTA */
.bl-newsletter{padding:50px 0;background:var(--primary-dark);color:#fff}
.bl-newsletter-inner{
    display:flex;justify-content:space-between;align-items:center;gap:30px;
}
.bl-newsletter-text h3{
    font-family:'Playfair Display',serif;font-size:24px;font-weight:700;
    margin:0 0 6px;
}
.bl-newsletter-text p{
    font-family:'Montserrat',sans-serif;font-size:13px;opacity:.8;margin:0;
}
.bl-newsletter-form{display:flex;gap:0}
.bl-newsletter-form input{
    padding:12px 18px;border:none;border-radius:6px 0 0 6px;
    font-family:'Montserrat',sans-serif;font-size:13px;width:280px;
    outline:none;
}
.bl-newsletter-form button{
    padding:12px 24px;background:#e25b2d;color:#fff;border:none;
    border-radius:0 6px 6px 0;font-family:'Montserrat',sans-serif;
    font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;
    transition:background .2s;
}
.bl-newsletter-form button:hover{background:#c04a22}

/* Blog Responsive */
@media(max-width:1024px){
    .bl-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .bl-hero-inner{grid-template-columns:1fr}
    .bl-hero-img{height:240px}
    .bl-hero-text h1{font-size:26px}
    .bl-grid{grid-template-columns:1fr}
    .bl-toolbar-inner{flex-direction:column;gap:10px}
    .bl-newsletter-inner{flex-direction:column;text-align:center}
    .bl-newsletter-form input{width:200px}
    .bl-search input{width:120px}
}

/* ===== GIFT VOUCHERS PAGE ===== */
.gv-page{padding:60px 0 80px}
.gv-layout{
    display:grid;grid-template-columns:1fr 320px;gap:50px;
    align-items:flex-start;
}
.gv-title{
    font-family:'Playfair Display',serif;font-size:22px;font-weight:700;
    color:var(--primary-dark);margin:0 0 10px;
}
.gv-desc{
    font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.7;
    color:#444;margin:0 0 28px;
}
.gv-desc strong{font-weight:700;font-style:italic}
.gv-field-group{margin-bottom:16px}
.gv-label{
    display:block;font-family:'Montserrat',sans-serif;font-size:13px;
    font-weight:600;color:var(--primary-dark);margin-bottom:8px;
}
.gv-input{
    width:100%;padding:12px 16px;border:1px solid #ccc;border-radius:0;
    font-family:'Montserrat',sans-serif;font-size:14px;color:#888;
    background:#fff;box-sizing:border-box;
}
.gv-input:focus{outline:none;border-color:var(--primary)}
.gv-input::placeholder{color:#bbb}
.gv-qty-row{display:flex;gap:0;align-items:stretch}
.gv-qty-input{
    width:80px;padding:12px 16px;border:1px solid #ccc;border-right:none;
    font-family:'Montserrat',sans-serif;font-size:14px;color:var(--primary-dark);
    text-align:center;border-radius:0;
}
.gv-qty-input:focus{outline:none;border-color:var(--primary)}
.gv-add-btn{
    padding:12px 28px;background:#2D7A4F;color:#fff;
    border:none;border-radius:30px;font-family:'Montserrat',sans-serif;font-size:13px;
    font-weight:700;cursor:pointer;transition:all .3s;letter-spacing:1px;
    display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.gv-add-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}
.gv-add-btn i{font-size:14px}

/* Sidebar */
.gv-sidebar-card{
    border:1px solid #e0e0e0;border-radius:0;overflow:hidden;
    margin-bottom:12px;
}
.gv-sidebar-header{
    background:#6b705c;color:#fff;padding:12px 18px;
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;
}
.gv-sidebar-body{padding:20px 18px}
.gv-empty-cart{
    font-family:'Montserrat',sans-serif;font-size:13px;color:#888;
    margin:0;
}
.gv-faqs-btn{
    width:100%;padding:12px 18px;background:#F4A623;color:#fff;
    border:none;border-radius:30px;font-family:'Montserrat',sans-serif;font-size:13px;
    font-weight:700;cursor:pointer;transition:all .3s;text-align:center;letter-spacing:1px;
}
.gv-faqs-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}

/* ===== GASTRO BAR PAGE ===== */
.gb-hero{
    background:linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)),
    url('../images/celebrate.webp') center/cover no-repeat;
    min-height:480px;display:flex;align-items:center;justify-content:center;
    padding:140px 20px 80px;
}
.gb-hero-overlay{text-align:center;color:#fff;max-width:800px}
.gb-hero-overlay h1{
    font-family:'Playfair Display',serif;font-size:48px;font-weight:700;
    letter-spacing:3px;line-height:1.15;margin:0 0 12px;
}
.gb-hero-sub{
    font-family:'Crustaceans Signature',cursive;font-size:32px;font-weight:400;opacity:.9;
    margin:0 0 28px;color:#fff;
}
.gb-hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.gb-btn-green{
    display:inline-block;padding:14px 36px;background:#F4A623;
    color:#fff;border-radius:30px;font-family:'Montserrat',sans-serif;
    font-size:13px;font-weight:700;letter-spacing:1px;text-decoration:none;
    transition:all .3s;border:none;cursor:pointer;
}
.gb-btn-green:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}
.gb-btn-outline{
    display:inline-block;padding:14px 36px;background:transparent;
    color:#fff;border:2px solid rgba(255,255,255,.6);border-radius:30px;
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;
    letter-spacing:1px;text-decoration:none;transition:all .3s;
}
.gb-btn-outline:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:translateY(-2px)}
.gb-center{text-align:center;margin-top:36px}

/* Special Dishes */
.gb-dishes{padding:60px 0 50px;background:#fff}
.gb-section-title{
    font-family:'Playfair Display',serif;font-size:28px;font-weight:700;
    color:var(--primary-dark);margin:0 0 30px;letter-spacing:1px;
}
.gb-dishes-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.gb-dish-card{
    position:relative;border-radius:10px;overflow:hidden;
    height:260px;cursor:pointer;
}
.gb-dish-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gb-dish-card:hover img{transform:scale(1.05)}
.gb-dish-label{
    position:absolute;bottom:16px;left:16px;
    font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;
    color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);
}

/* Philosophy */
.gb-philosophy{padding:60px 0;background:#fff}
.gb-phi-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.gb-phi-col{
    border:1px solid #e0e0e0;border-radius:0;padding:30px 24px 0;
    display:flex;flex-direction:column;
}
.gb-phi-cursive{
    font-family:'Crustaceans Signature',cursive;font-size:60px;color:#8b3a3a;
    margin:0 0 14px;display:block;
}
.gb-phi-col p{
    font-family:'Montserrat',sans-serif;font-size:13px;line-height:1.8;
    color:#444;margin:0 0 20px;flex:1;
}
.gb-phi-img{
    width:100%;height:200px;border-radius:8px 8px 0 0;overflow:hidden;
    margin-top:auto;
}
.gb-phi-img img{width:100%;height:100%;object-fit:cover}

/* Stripe Divider */
.gb-stripe-divider{
    height:28px;
    background:repeating-linear-gradient(
        90deg,
        #7a3b3b 0px,#7a3b3b 22px,
        #f5f0e8 22px,#f5f0e8 30px
    );
}

/* Dine and Celebrate */
.gb-celebrate{padding:70px 0;background:#fff;text-align:center}
.gb-celebrate-cursive{
    font-family:'Crustaceans Signature',cursive;font-size:64px;color:#5a3a2a;
    display:block;margin:0 0 20px;
}
.gb-celebrate-text{
    font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.8;
    color:#555;max-width:700px;margin:0 auto 30px;
}

/* Upcoming Events */
.gb-events{padding:60px 0;background:#f5f0e8}
.gb-events-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    margin-bottom:10px;
}
.gb-event-card{
    background:#fff;border-radius:10px;overflow:hidden;
    box-shadow:0 4px 16px rgba(0,0,0,.06);
}
.gb-event-poster{height:300px;overflow:hidden}
.gb-event-poster img{width:100%;height:100%;object-fit:cover}
.gb-event-info{padding:20px}
.gb-event-info h3{
    font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
    color:var(--primary-dark);margin:0 0 8px;
}
.gb-event-info p{
    font-family:'Montserrat',sans-serif;font-size:12px;line-height:1.7;
    color:#666;margin:0 0 12px;
}
.gb-event-meta{
    display:flex;gap:16px;margin:0 0 14px;
    font-family:'Montserrat',sans-serif;font-size:12px;color:#888;
}
.gb-event-meta i{margin-right:4px;color:#aaa}
.gb-event-btn{
    display:inline-block;text-align:center;padding:12px 28px;
    background:#F4A623;border:none;border-radius:30px;
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;
    letter-spacing:1px;color:#fff;text-decoration:none;
    transition:all .3s;
}
.gb-event-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}

/* Map */
.gb-map{padding:40px 0;background:#fff}

/* Amenities */
.gb-amenities{padding:50px 0;background:var(--primary-dark);color:#fff}
.gb-amenities-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
}
.gb-amenity{text-align:center}
.gb-amenity i{font-size:42px;color:#fff;margin-bottom:14px;display:block}
.gb-amenity h4{
    font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
    margin:0 0 8px;
}
.gb-amenity p{
    font-family:'Montserrat',sans-serif;font-size:12px;line-height:1.7;
    opacity:.8;
}

/* Gastro Bar Responsive */
@media(max-width:1024px){
    .gb-dishes-grid{grid-template-columns:repeat(2,1fr)}
    .gb-phi-grid{grid-template-columns:repeat(2,1fr)}
    .gb-events-grid{grid-template-columns:repeat(2,1fr)}
    .gb-amenities-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .gb-hero-overlay h1{font-size:32px}
    .gb-dishes-grid{grid-template-columns:1fr 1fr}
    .gb-phi-grid{grid-template-columns:1fr}
    .gb-events-grid{grid-template-columns:1fr}
    .gb-amenities-grid{grid-template-columns:1fr 1fr}
    .gb-celebrate-cursive{font-size:36px}
    .gb-section-title{font-size:22px}
}
@media(max-width:480px){
    .gb-dishes-grid{grid-template-columns:1fr}
    .gb-amenities-grid{grid-template-columns:1fr}
}

/* ===== FOOD MARKET PAGE ===== */
.fm-nav{
    background:var(--primary-dark);padding:0;position:sticky;top:90px;z-index:100;
}
.fm-nav-inner{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 0;overflow-x:auto;
}
.fm-nav-cats{display:flex;gap:4px;flex-shrink:0}
.fm-cat-link{
    font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;
    color:rgba(255,255,255,.8);padding:8px 14px;white-space:nowrap;
    text-decoration:none;border-radius:4px;transition:all .2s;letter-spacing:.5px;
}
.fm-cat-link:hover,.fm-cat-link.active{background:rgba(255,255,255,.15);color:#fff}
.fm-nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.fm-search-box{
    display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);
    border-radius:6px;padding:6px 12px;
}
.fm-search-box i{color:rgba(255,255,255,.6);font-size:13px}
.fm-search-box input{
    background:none;border:none;outline:none;color:#fff;
    font-family:'Montserrat',sans-serif;font-size:12px;width:140px;
}
.fm-search-box input::placeholder{color:rgba(255,255,255,.5)}
.fm-cart-toggle{
    background:rgba(255,255,255,.12);border:none;color:#fff;
    width:38px;height:38px;border-radius:6px;cursor:pointer;
    position:relative;font-size:16px;transition:background .2s;
}
.fm-cart-toggle:hover{background:rgba(255,255,255,.25)}
.fm-cart-count{
    position:absolute;top:-4px;right:-4px;background:#e25b2d;color:#fff;
    font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Montserrat',sans-serif;
}

/* Shop Layout */
.fm-shop{padding:30px 0 60px;background:#f9f9f9}
.fm-layout{display:grid;grid-template-columns:220px 1fr;gap:24px}

/* Sidebar */
.fm-sidebar{position:sticky;top:140px;align-self:start}
.fm-filter-group{margin-bottom:20px}
.fm-filter-title{
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;
    color:var(--primary-dark);letter-spacing:1px;cursor:pointer;
    display:flex;justify-content:space-between;align-items:center;
    padding-bottom:8px;border-bottom:1px solid #ddd;margin-bottom:10px;
}
.fm-filter-title i{font-size:10px;transition:transform .2s}
.fm-filter-body{display:flex;flex-direction:column;gap:6px}
.fm-price-label{
    font-family:'Montserrat',sans-serif;font-size:11px;color:#888;margin-bottom:4px;
}
.fm-range{
    width:100%;accent-color:var(--primary-dark);cursor:pointer;
}
.fm-check{
    font-family:'Montserrat',sans-serif;font-size:12px;color:#555;
    display:flex;align-items:center;gap:6px;cursor:pointer;
}
.fm-check input{accent-color:var(--primary-dark);cursor:pointer}
.fm-clear-filters{
    width:100%;padding:10px;background:none;border:1px solid #ccc;
    border-radius:6px;font-family:'Montserrat',sans-serif;font-size:11px;
    font-weight:600;color:#888;cursor:pointer;transition:all .2s;
    margin-top:10px;
}
.fm-clear-filters:hover{border-color:var(--primary-dark);color:var(--primary-dark)}

/* Products Area */
.fm-results-bar{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:16px;
}
.fm-results-bar span{font-family:'Montserrat',sans-serif;font-size:12px;color:#888}
.fm-sort{
    font-family:'Montserrat',sans-serif;font-size:12px;padding:6px 10px;
    border:1px solid #ddd;border-radius:6px;background:#fff;color:#555;
    cursor:pointer;
}
.fm-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}

/* Product Card */
.fm-card{
    background:#fff;border:1px solid #eee;border-radius:8px;
    overflow:hidden;transition:box-shadow .2s;
}
.fm-card.hidden{display:none}
.fm-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.fm-card-img{
    height:180px;display:flex;align-items:center;justify-content:center;
    padding:16px;background:#fafafa;
}
.fm-card-img img{max-height:100%;max-width:100%;object-fit:contain}
.fm-card-body{padding:12px 14px 14px}
.fm-card-body h3{
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;
    color:#333;margin:0 0 6px;line-height:1.4;
}
.fm-card-price{
    font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;
    color:#c0562a;margin:0 0 10px;
}
.fm-add-btn{
    display:inline-flex;align-items:center;gap:5px;
    padding:8px 18px;background:#F4A623;color:#fff;
    border:none;border-radius:30px;font-family:'Montserrat',sans-serif;
    font-size:11px;font-weight:700;cursor:pointer;transition:all .3s;letter-spacing:.5px;
}
.fm-add-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-1px);box-shadow:0 4px 14px rgba(45,122,79,.35)}
.fm-add-btn.added{background:#e25b2d}

/* Cart Drawer */
.fm-cart-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.4);z-index:2000;display:none;
}
.fm-cart-overlay.open{display:block}
.fm-cart-drawer{
    position:fixed;top:0;right:-400px;width:380px;height:100%;
    background:#fff;z-index:2001;display:flex;flex-direction:column;
    box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:right .3s;
}
.fm-cart-drawer.open{right:0}
.fm-cart-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 20px;border-bottom:1px solid #eee;
}
.fm-cart-header h3{
    font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
    color:var(--primary-dark);margin:0;
}
.fm-cart-header h3 i{margin-right:8px}
.fm-cart-close{
    background:none;border:none;font-size:18px;color:#999;cursor:pointer;
}
.fm-cart-items{flex:1;overflow-y:auto;padding:16px 20px}
.fm-cart-empty{
    text-align:center;padding:60px 0;color:#ccc;
}
.fm-cart-empty i{font-size:48px;margin-bottom:12px;display:block}
.fm-cart-empty p{font-family:'Montserrat',sans-serif;font-size:13px}

/* Cart Item */
.fm-cart-item{
    display:flex;align-items:center;gap:12px;padding:12px 0;
    border-bottom:1px solid #f0f0f0;
}
.fm-cart-item-info{flex:1}
.fm-cart-item-info h4{
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;
    color:#333;margin:0 0 4px;
}
.fm-cart-item-info .fm-ci-price{
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;
    color:#c0562a;
}
.fm-cart-qty{
    display:flex;align-items:center;gap:0;border:1px solid #ddd;border-radius:4px;
    overflow:hidden;
}
.fm-cart-qty button{
    width:28px;height:28px;background:#f5f5f5;border:none;
    font-size:14px;cursor:pointer;color:#555;transition:background .2s;
}
.fm-cart-qty button:hover{background:#e0e0e0}
.fm-cart-qty span{
    width:28px;text-align:center;font-family:'Montserrat',sans-serif;
    font-size:12px;font-weight:700;
}
.fm-cart-remove{
    background:none;border:none;color:#ccc;font-size:14px;cursor:pointer;
    padding:4px;transition:color .2s;
}
.fm-cart-remove:hover{color:#e25b2d}

/* Cart Footer */
.fm-cart-footer{padding:16px 20px;border-top:1px solid #eee}
.fm-cart-subtotal{
    display:flex;justify-content:space-between;padding:4px 0;
    font-family:'Montserrat',sans-serif;font-size:12px;color:#888;
}
.fm-cart-total{
    display:flex;justify-content:space-between;padding:10px 0;
    font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;
    color:var(--primary-dark);border-top:1px solid #eee;margin-top:6px;
}
.fm-checkout-btn{
    width:100%;padding:13px;background:#F4A623;color:#fff;
    border:none;border-radius:30px;font-family:'Montserrat',sans-serif;
    font-size:13px;font-weight:700;letter-spacing:1px;cursor:pointer;
    transition:all .3s;margin-top:10px;
}
.fm-checkout-btn:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}
.fm-place-order{background:#e25b2d}
.fm-place-order:hover{background:#c04a22}
.fm-continue-link{
    display:block;text-align:center;margin-top:10px;
    font-family:'Montserrat',sans-serif;font-size:12px;color:#888;
    text-decoration:none;transition:color .2s;
}
.fm-continue-link:hover{color:var(--primary-dark)}

/* Checkout Modal */
.fm-modal-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.5);z-index:3000;display:none;
    align-items:center;justify-content:center;
}
.fm-modal-overlay.open{display:flex}
.fm-modal{
    background:#fff;border-radius:12px;width:560px;max-width:95vw;
    max-height:90vh;overflow-y:auto;
}
.fm-modal-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 24px;border-bottom:1px solid #eee;
}
.fm-modal-header h3{
    font-family:'Playfair Display',serif;font-size:20px;font-weight:700;
    color:var(--primary-dark);margin:0;
}
.fm-modal-close{background:none;border:none;font-size:18px;color:#999;cursor:pointer}
.fm-modal-body{padding:24px}

/* Checkout Steps */
.fm-checkout-steps{
    display:flex;gap:8px;margin-bottom:24px;
}
.fm-step{
    flex:1;text-align:center;padding:10px;border-radius:6px;
    background:#f5f5f5;font-family:'Montserrat',sans-serif;font-size:12px;
    font-weight:600;color:#aaa;transition:all .2s;
}
.fm-step span{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:50%;background:#ddd;color:#fff;
    font-size:11px;margin-right:6px;
}
.fm-step.active{background:var(--primary-dark);color:#fff}
.fm-step.active span{background:rgba(255,255,255,.3)}
.fm-step.done{background:#e8f5e9;color:#2e7d32}
.fm-step.done span{background:#2e7d32}

/* Checkout Panels */
.fm-checkout-panel{display:none}
.fm-checkout-panel.active{display:block}
.fm-checkout-panel h4{
    font-family:'Playfair Display',serif;font-size:18px;font-weight:700;
    color:var(--primary-dark);margin:0 0 16px;
}
.fm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fm-form-group{margin-bottom:14px}
.fm-form-group label{
    display:block;font-family:'Montserrat',sans-serif;font-size:11px;
    font-weight:600;color:#555;margin-bottom:4px;letter-spacing:.5px;
}
.fm-form-group input,.fm-form-group select,.fm-form-group textarea{
    width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;
    font-family:'Montserrat',sans-serif;font-size:13px;color:#333;
    transition:border-color .2s;box-sizing:border-box;
}
.fm-form-group input:focus,.fm-form-group select:focus,.fm-form-group textarea:focus{
    outline:none;border-color:var(--primary-dark);
}
.fm-btn-row{display:flex;gap:10px;margin-top:8px}
.fm-back-btn{
    flex:0 0 auto;padding:12px 20px;background:#f5f5f5;color:#555;
    border:none;border-radius:6px;font-family:'Montserrat',sans-serif;
    font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;
}
.fm-back-btn:hover{background:#e8e8e8}
.fm-btn-row .fm-checkout-btn{flex:1;margin-top:0}

/* Payment Options */
.fm-payment-options{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.fm-payment-opt{
    display:flex;align-items:center;gap:10px;padding:12px 14px;
    border:1px solid #ddd;border-radius:6px;cursor:pointer;
    transition:border-color .2s;
}
.fm-payment-opt:has(input:checked){border-color:var(--primary-dark);background:#f0faf4}
.fm-pay-label{
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:#333;
}
.fm-pay-label i{margin-right:6px;color:var(--primary-dark)}

/* Order Summary */
.fm-order-summary{
    background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:14px;
}
.fm-order-summary h5{
    font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;
    color:var(--primary-dark);margin:0 0 10px;letter-spacing:.5px;
}
.fm-summary-total{
    display:flex;justify-content:space-between;padding-top:10px;
    border-top:1px solid #ddd;margin-top:8px;
    font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;
    color:var(--primary-dark);
}

/* Order Done */
.fm-order-done{text-align:center;padding:30px 0}
.fm-order-done i{font-size:56px;color:#2e7d32;margin-bottom:16px}
.fm-order-done h4{
    font-family:'Playfair Display',serif;font-size:22px;color:var(--primary-dark);
    margin:0 0 10px;
}
.fm-order-done p{font-family:'Montserrat',sans-serif;font-size:13px;color:#666;margin:0 0 6px}
.fm-order-id{font-weight:700;color:var(--primary-dark)!important}

/* Food Market Responsive */
@media(max-width:1024px){
    .fm-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
    .fm-layout{grid-template-columns:1fr}
    .fm-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .fm-clear-filters{grid-column:1/-1}
    .fm-grid{grid-template-columns:repeat(2,1fr)}
    .fm-nav-cats{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .fm-form-row{grid-template-columns:1fr}
    .fm-cart-drawer{width:100%}
}
@media(max-width:480px){
    .fm-grid{grid-template-columns:1fr 1fr}
    .fm-card-img{height:140px}
}

/* ===== ALLERGEN SECTION ===== */
.allergen-section{
    background:#f5f0e8;padding:50px 0;text-align:center;
}
.allergen-section h2{
    font-family:'Playfair Display',serif;font-size:26px;font-weight:700;
    color:var(--primary-dark);margin:0 0 16px;letter-spacing:2px;
}
.allergen-desc{
    font-size:13px;line-height:1.8;color:#555;max-width:900px;
    margin:0 auto 30px;font-family:'Montserrat',sans-serif;
}
.allergen-grid{
    display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
}
.allergen-chip{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 18px;border-radius:20px;border:1px solid #ccc;
    background:#fff;font-size:13px;color:var(--primary);
    font-family:'Montserrat',sans-serif;
}
.allergen-chip i{color:var(--primary);font-size:16px}

/* ===== RESPONSIVE UPDATES ===== */
@media(max-width:1024px){
    .signatures-grid{grid-template-columns:repeat(2,1fr)}
    .find-layout{grid-template-columns:1fr}
    .footer-content{grid-template-columns:repeat(3,1fr)}
    .pizza-ui-grid{grid-template-columns:1fr}
    .grid{grid-template-columns:repeat(2,1fr)}
    .home-sig-grid{grid-template-columns:repeat(2,1fr)}
    .home-loc-grid{grid-template-columns:repeat(2,1fr)}
    .specials-grid{grid-template-columns:repeat(2,1fr)}
    .home-events-grid{grid-template-columns:repeat(2,1fr)}
    .menu-grid-3{grid-template-columns:repeat(2,1fr)}
    .menu-grid-2h{grid-template-columns:1fr}
}

@media(max-width:768px){
    /* Handled by first 768px block — only page-specific overrides here */

    .planning-section h2{font-size:30px}
    .form-row{grid-template-columns:1fr}
    .find-layout{grid-template-columns:1fr}
    .find-header{flex-direction:column;align-items:flex-start}
    .signatures-grid{grid-template-columns:repeat(2,1fr)}
    .sig-card{height:200px}
    .footer-content{grid-template-columns:1fr}
    .floating-buttons{bottom:16px;right:16px}
    .grid{grid-template-columns:1fr}
    .section{padding:24px 16px}
    .section h2{font-size:28px}
    .menu-hero{height:200px}
    .menu-hero-content h2{font-size:30px}
    .seating-options{flex-wrap:wrap;gap:16px}

    .home-sig-grid{grid-template-columns:repeat(2,1fr)}
    .home-loc-grid{grid-template-columns:1fr}
    .specials-grid{grid-template-columns:1fr}
    .home-events-grid{grid-template-columns:1fr}
    .celebrate-card{flex-direction:column}
    .celebrate-img{min-height:200px}
    .blog-h-card{flex-direction:column}
    .blog-h-card img{width:100%;min-width:100%;height:200px}
    .newsletter-bar{flex-direction:column;text-align:center}
    .newsletter-left{flex-direction:column}
    .newsletter-inline{width:100%;flex-direction:column}
    .newsletter-inline input{min-width:100%}
    .footer-payments-row{flex-direction:column;align-items:flex-start}
    .payment-details{
        width:auto;
        max-width:100%;
        overflow-x:auto;
    }
    .footer-subscribe{flex-direction:column;align-items:flex-start}
    .menu-grid-3{grid-template-columns:repeat(2,1fr);gap:12px}
    .menu-grid-2h{grid-template-columns:1fr}
    .menu-tabs-bar{position:sticky;top:92px}
    .menu-tabs-row{flex-wrap:wrap;gap:8px}
    .cv-page-search-inline{max-width:100%;order:2}
    .cat-tab{font-size:19px}
    .summer-banner-inner{flex-direction:column}
    .summer-text-bg{flex:none;width:100%}
    .summer-text-bg span{font-size:50px}
    .section-heading{flex-direction:column;gap:4px}
    .drinks-table{font-size:12px}
    .drinks-table thead th,.drinks-table tbody td{padding:10px 8px}
    .blog-post-card{flex-direction:column;gap:16px}
    .blog-post-img{flex:none;width:100%;height:200px}
    .blog-page-title{font-size:28px}
    .gv-layout{grid-template-columns:1fr}
    .gv-sidebar-col{order:-1}
}

@media(max-width:480px){
    body{padding-top:90px}
    .navbar{top:32px}
    .logo h1{font-size:20px}
    .logo p{font-size:11px}
    .hero{height:auto;min-height:0;padding:70px 16px 52px}
    .hero h2{font-size:20px;letter-spacing:1px;margin-bottom:8px}
    .hero p{font-size:18px;margin-bottom:18px;line-height:1.3}
    .hero-buttons{flex-direction:column;align-items:center;gap:10px}
    .hero-buttons .btn{width:100%;max-width:260px;padding:12px 16px;font-size:11px;letter-spacing:.5px}
    .planning-section h2{font-size:24px}
    .signatures-grid{grid-template-columns:1fr;gap:12px}
    .sig-card{height:220px}
    .sig-card .sig-label{font-size:14px;padding:12px}
    .btn-submit{padding:14px 30px;font-size:13px}
    .floating-btn{width:42px;height:42px;font-size:18px}
    .home-sig-grid{grid-template-columns:1fr;gap:10px}
    .home-sig-card{aspect-ratio:auto;height:200px}
    .home-sig-label{font-size:12px;padding:12px 10px}
    .celebrate-text{padding:24px 20px}
    .celebrate-text h2{font-size:26px}
    .specials-grid{grid-template-columns:1fr}
    .offers-grid{grid-template-columns:1fr}
    .catering-grid{grid-template-columns:1fr}
    .events-grid{grid-template-columns:1fr}
    .blog-grid{grid-template-columns:1fr}
    .menu-grid-3{grid-template-columns:1fr}
    .menu-grid-2h{grid-template-columns:1fr}
    .menu-tabs-bar{top:78px}
    .card-plate{max-width:120px}
}

/* ===== LANGUAGE SWITCHER (NAV) ===== */
.lang-switcher{position:relative;flex-shrink:0;margin-left:10px}
.lang-toggle{
    display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);color:#ffffff;
    padding:8px 16px;border-radius:8px;cursor:pointer;
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;
    transition:all .25s;
}
.lang-toggle:hover{background:#D8A04A;color:#1a1a1a;border-color:#D8A04A}
.lang-toggle i{font-size:15px}
.lang-toggle i.fa-globe{color:#D8A04A}
.lang-toggle:hover i.fa-globe{color:#1a1a1a}
.lang-dropdown{
    display:none;position:absolute;top:calc(100% + 6px);right:0;
    background:var(--white);border-radius:8px;min-width:160px;
    box-shadow:0 8px 30px rgba(0,0,0,.15);overflow:hidden;z-index:1010;
    list-style:none;padding:6px 0;
}
.lang-dropdown.open{display:block}
.lang-dropdown li a{
    display:block;padding:10px 18px;color:var(--text);
    font-family:'Montserrat',sans-serif;font-size:13px;font-weight:500;
    transition:all .15s;
}
.lang-dropdown li a:hover{background:var(--bg-light);color:var(--primary)}
.lang-dropdown li a.active{
    background:var(--primary);color:var(--white);font-weight:700;
}

/* ===== FOOTER LANGUAGE SWITCHER ===== */
.footer-lang{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
.footer-lang-label{
    display:block;font-size:11px;font-weight:700;letter-spacing:1px;
    color:rgba(255,255,255,.6);margin-bottom:8px;
}
.footer-lang-label i{margin-right:6px}
.footer-lang-links{display:flex;flex-wrap:wrap;gap:6px}
.footer-lang-links a{
    padding:4px 12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;
    color:rgba(255,255,255,.7);font-size:11px;font-family:'Montserrat',sans-serif;
    font-weight:600;transition:all .2s;
}
.footer-lang-links a:hover{border-color:rgba(255,255,255,.5);color:var(--white)}
.footer-lang-links a.active{background:rgba(255,255,255,.15);color:var(--white);border-color:rgba(255,255,255,.4)}

/* ===== UPDATED HOVER COLORS (Green/Red Theme) ===== */
a:hover{color:#2D7A4F}
.nav-menu > li > a:hover,.nav-dropdown-toggle:hover{color:#fff!important;opacity:1}
.btn:hover{background:#fff;color:#2D7A4F;border-color:#2D7A4F}
.footer-column a:hover{color:#2D7A4F}
.social-icon:hover{color:#2D7A4F!important}
.sub-pill:hover,.sub-pill.active{background:#2D7A4F;color:var(--white);border-color:#2D7A4F}
.see-options:hover{background:#2D7A4F;color:var(--white);border-color:#2D7A4F}

/* ===== IMAGE LIGHTBOX ===== */
.lightbox-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.85);z-index:10000;display:none;
    align-items:center;justify-content:center;
    opacity:0;transition:opacity .3s ease;
}
.lightbox-overlay.open{display:flex;opacity:1}
.lightbox-content{
    position:relative;max-width:90vw;max-height:85vh;
    animation:lightboxIn .3s ease;
}
@keyframes lightboxIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.lightbox-content img{
    max-width:90vw;max-height:85vh;object-fit:contain;
    border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.5);
}
.lightbox-close{
    position:absolute;top:-14px;right:-14px;
    width:36px;height:36px;border-radius:50%;
    background:var(--white);color:var(--text);border:none;
    font-size:18px;cursor:pointer;display:flex;
    align-items:center;justify-content:center;
    box-shadow:0 2px 10px rgba(0,0,0,.3);transition:all .2s;
    z-index:10001;
}
.lightbox-close:hover{background:var(--secondary);color:var(--white);transform:scale(1.1)}
.lightbox-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.15);color:var(--white);border:none;
    font-size:20px;cursor:pointer;display:flex;
    align-items:center;justify-content:center;
    backdrop-filter:blur(4px);transition:all .2s;
}
.lightbox-nav:hover{background:var(--secondary)}
.lightbox-prev{left:-60px}
.lightbox-next{right:-60px}
.lightbox-caption{
    text-align:center;color:rgba(255,255,255,.8);
    font-family:'Montserrat',sans-serif;font-size:13px;
    margin-top:12px;font-weight:500;
}
/* Clickable images cursor */
img[data-lightbox]{cursor:zoom-in}

/* Lightbox Order Now Button */
.lightbox-order-btn{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin:16px auto 0;padding:12px 28px;
    background:#2D7A4F;color:#fff;border:none;border-radius:30px;
    font-size:13px;font-weight:700;letter-spacing:1px;
    cursor:pointer;transition:all .3s ease;
    box-shadow:0 4px 16px rgba(45,122,79,.4);
}
.lightbox-order-btn:hover{
    background:#C62828;box-shadow:0 6px 24px rgba(198,40,40,.5);
    transform:translateY(-2px);
}
.lightbox-order-btn i{font-size:14px}

/* Search Result Highlight Animation */
.cv-search-highlight{
    animation:cvSearchHighlight 2.5s ease;
}
@keyframes cvSearchHighlight{
    0%{box-shadow:0 0 0 4px rgba(45,122,79,.6);background:rgba(45,122,79,.08)}
    50%{box-shadow:0 0 0 8px rgba(45,122,79,.3);background:rgba(45,122,79,.12)}
    100%{box-shadow:none;background:transparent}
}
.menu-section.cv-search-highlight{
    border-radius:12px;
}
.menu-card-v.cv-search-highlight,
.fm-card.cv-search-highlight,
.sig-card.cv-search-highlight{
    border-radius:12px;
    position:relative;z-index:10;
}

/* ===== LANGUAGE SWITCHER RESPONSIVE ===== */
@media(max-width:768px){
    .lang-switcher{position:relative;margin:0;flex-shrink:0}
    .lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 30px rgba(0,0,0,.3);background:#1a1a1a;border-radius:8px;min-width:150px}
    .lang-dropdown li a{color:#fff;font-size:12px;padding:10px 16px}
    .lang-dropdown li a:hover{background:rgba(255,255,255,.1)}
    .lang-dropdown li a.active{background:var(--secondary)}
    .lightbox-prev{left:10px}
    .lightbox-next{right:10px}
    .lightbox-nav{width:36px;height:36px;font-size:16px}
}

/* ===== HOME LOCATION MAP SECTION ===== */
.home-location-map{
    padding:80px 20px;background:var(--white);
}
.home-location-map h2{
    font-family:'Playfair Display',serif;
    font-size:36px;color:#333;font-weight:700;
    text-align:center;margin-bottom:40px;letter-spacing:1px;
}
.location-map-layout{
    display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:start;
}
.location-map-embed iframe{
    width:100%;height:400px;border:0;border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,.1);
}
.location-info-card{
    background:var(--bg-light);padding:30px;border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.location-info-card h4{
    font-size:18px;color:var(--primary);font-weight:700;margin-bottom:16px;
}
.location-info-card h4 i{margin-right:8px;color:var(--secondary)}
.location-info-card p{
    font-size:14px;color:var(--text);margin-bottom:12px;line-height:1.6;
}
.location-info-card p i{
    width:20px;color:var(--secondary);margin-right:8px;
}
.location-info-card p a{color:var(--primary);text-decoration:none}
.location-info-card p a:hover{color:var(--secondary)}
.btn-direction-cta{
    display:inline-flex;align-items:center;gap:8px;
    margin-top:10px;padding:14px 28px!important;
    border-radius:30px;font-weight:700;font-size:13px;
    letter-spacing:1px;width:100%;justify-content:center;
}
/* Homepage direction "Get Direction" CTA */
.home-location-map .btn-direction-cta{
    background:#fff;
    color:var(--primary);
    border:2px solid var(--primary);
    box-shadow:0 4px 16px rgba(45,122,79,.2);
}
.home-location-map .btn-direction-cta:hover{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
    box-shadow:0 6px 22px rgba(45,122,79,.35);
}
@media(max-width:768px){
    .location-map-layout{grid-template-columns:1fr}
    .location-map-embed iframe{height:300px}
    .home-location-map h2{font-size:28px}
}

/* ===== CELEBRATE FULL WIDTH ===== */
.celebrate-fullwidth{
    padding:0!important;
}
.celebrate-card-full{
    display:grid;grid-template-columns:1fr 1fr;
    min-height:400px;width:100%;
}
.celebrate-fullwidth .celebrate-img{
    overflow:hidden;
}
.celebrate-fullwidth .celebrate-img img{
    width:100%;height:100%;object-fit:cover;display:block;
}
.celebrate-fullwidth .celebrate-text{
    display:flex;flex-direction:column;justify-content:center;
    align-items:center;text-align:center;
    padding:60px 40px;
    background:var(--primary);color:var(--white);
}
.celebrate-fullwidth .celebrate-text h2{
    font-family:'Playfair Display',serif;
    font-size:42px;font-weight:700;letter-spacing:2px;
    margin-bottom:16px;color:var(--white);
}
.celebrate-fullwidth .celebrate-text p{
    font-size:16px;opacity:.9;margin-bottom:30px;max-width:400px;
    color:var(--white);
}
.celebrate-fullwidth .celebrate-text .btn{
    border-color:var(--white);color:var(--white);
}
.celebrate-fullwidth .celebrate-text .btn:hover{
    background:var(--white);color:var(--primary);
}
@media(max-width:768px){
    .celebrate-card-full{grid-template-columns:1fr}
    .celebrate-fullwidth .celebrate-img img{height:250px}
    .celebrate-fullwidth .celebrate-text{padding:40px 20px}
    .celebrate-fullwidth .celebrate-text h2{font-size:32px}
}

/* ===== NAV MENU TEXT WRAPPING FIX ===== */
@media(max-width:1200px){
    .nav-menu > li > a,.nav-dropdown-toggle{font-size:10px;padding:6px 7px;letter-spacing:.4px}
    .nav-menu{gap:2px}
    .nav-btn{padding:6px 10px!important;font-size:9px!important}
    .logo{margin-right:10px}
    .logo h1{font-size:22px}
    .logo p{font-size:12px}
    .nav-auth{gap:6px!important}
    .nav-auth a{font-size:11px!important}
    .lang-switcher{margin-left:6px}
}
@media(max-width:1024px){
    .nav-menu > li > a,.nav-dropdown-toggle{font-size:9.5px;padding:5px 6px;letter-spacing:.3px}
    .nav-menu{gap:1px}
    .nav-btn{padding:5px 8px!important;font-size:9px!important}
    .logo{margin-right:8px}
    .logo h1{font-size:20px}
    .nav-auth a{font-size:10px!important}
}

/* ===== GOOGLE REVIEWS SECTION (auto-sliding) ===== */
.reviews-section{
    padding:80px 20px;
    background:linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #1a1a1a 100%);
    position:relative;overflow:hidden;
}
.reviews-section h2{
    font-family:'Playfair Display',serif;
    font-size:42px;color:#2D7A4F;font-weight:700;
    text-align:center;margin-bottom:12px;letter-spacing:1px;
    text-transform:uppercase;
    position:relative;
}
.reviews-subtitle{
    text-align:center;color:#999;font-size:15px;
    margin-bottom:50px;font-weight:400;position:relative;
}
.reviews-slider{
    overflow:hidden;position:relative;margin-bottom:40px;
}
.reviews-track{
    display:flex;gap:24px;
    animation:reviewsScroll 10s linear infinite;
}
@keyframes reviewsScroll{
    0%{transform:translateX(0)}
    100%{transform:translateX(-50%)}
}
.reviews-slider:hover .reviews-track{animation-play-state:paused}
.review-card{
    background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding:32px;
    border-radius:16px;
    border:2px solid #2D7A4F;
    min-width:340px;max-width:380px;flex-shrink:0;
    position:relative;transition:all .3s;
    box-shadow:0 8px 20px rgba(45,122,79,0.2);
}
.review-card:hover{
    transform:translateY(-8px) scale(1.02);
    box-shadow:0 12px 32px rgba(45,122,79,0.35);
    border-color:#1f5738;
}
.review-stars{
    color:#FFB800;font-size:20px;margin-bottom:18px;
    letter-spacing:3px;text-shadow:0 2px 4px rgba(255,184,0,0.3);
}
.review-text{
    font-size:15px;line-height:1.8;color:#444;
    margin-bottom:24px;font-style:italic;
    position:relative;padding-left:20px;
}
.review-text:before{
    content:'\201C';position:absolute;left:0;top:-10px;
    font-size:48px;color:#2D7A4F;opacity:0.3;
    font-family:Georgia,serif;
}
.review-author{
    display:flex;align-items:center;gap:14px;
    padding-top:16px;
}
.review-avatar{
    width:52px;height:52px;border-radius:50%;
    background:linear-gradient(135deg, #2D7A4F 0%, #1f5738 100%);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:18px;flex-shrink:0;
    box-shadow:0 4px 12px rgba(45,122,79,0.4);
}
.review-author-info{
    display:flex;flex-direction:column;gap:3px;
}
.review-author strong{
    font-size:16px;color:#2D7A4F;font-weight:700;
}
.review-badge{
    font-size:12px;color:#666;font-weight:600;
}
.review-date{
    font-size:11px;color:#999;margin-top:2px;
}
.reviews-actions{
    display:flex;justify-content:center;gap:20px;flex-wrap:wrap;position:relative;
}
.reviews-actions .btn-outline{
    border:2px solid #fff;
    color:#fff;
    background:transparent;
}
.reviews-actions .btn-outline:hover{
    background:#fff;
    color:#D64436;
    border-color:#fff;
}
.reviews-actions .btn-primary{
    background:#2D7A4F;
    border-color:#2D7A4F;
    color:#fff;
}
.reviews-actions .btn-primary:hover{
    background:#1f5738;
    border-color:#1f5738;
    color:#fff;
}

/* ===== SPECIAL OFFERS MODAL (marquee split-slide from edges to center) ===== */
.so-modal-overlay{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background:rgba(0,0,0,.75);z-index:10000;
    display:flex;align-items:center;justify-content:center;
    visibility:hidden;opacity:0;
    transition:opacity .5s ease,visibility 0s .5s;
}
.so-modal-overlay.show{
    visibility:visible;opacity:1;
    transition:opacity .5s ease,visibility 0s 0s;
}
.so-modal{
    position:relative;max-width:700px;width:92%;
    border-radius:16px;overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.so-modal-close{
    position:absolute;top:12px;right:12px;z-index:10;
    width:32px;height:32px;border-radius:50%;
    background:rgba(255,255,255,.9);color:#1a1a1a;border:none;
    font-size:20px;cursor:pointer;display:flex;
    align-items:center;justify-content:center;
    transition:all .2s;font-weight:300;line-height:1;
}
.so-modal-close:hover{background:var(--primary);color:#fff;transform:rotate(90deg)}
.so-modal-inner{display:flex;min-height:320px}
.so-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:36px 28px}
.so-panel-left{
    background:linear-gradient(135deg,#C63A2B,#a03020);color:#fff;
    transform:translateX(-150%);
    transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);
}
.so-panel-right{
    background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 50%,#1a1a1a 100%);color:#fff;
    transform:translateX(150%);
    transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);
    box-shadow:inset 0 0 60px rgba(198,58,43,.15);
}
.so-modal-overlay.show .so-panel-left{
    transform:translateX(0);
}
.so-modal-overlay.show .so-panel-right{
    transform:translateX(0);
}
.so-modal-overlay.closing .so-panel-left{
    transform:translateX(-150%);
    transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);
}
.so-modal-overlay.closing .so-panel-right{
    transform:translateX(150%);
    transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);
}
.so-panel-content{text-align:left}
.so-modal-logo{height:50px;width:auto;margin-bottom:16px;display:block}
.so-panel-tag{
    display:inline-block;background:rgba(255,255,255,.2);
    padding:4px 14px;border-radius:20px;font-size:10px;
    font-weight:700;letter-spacing:1.5px;margin-bottom:16px;
}
.so-panel-content h2{
    font-family:'Playfair Display',serif;font-size:30px;
    font-weight:700;margin-bottom:12px;line-height:1.2;
}
.so-panel-content p{font-size:14px;opacity:.85;line-height:1.6;margin-bottom:24px}
.so-panel-right .so-panel-content h2{color:#fff}
.so-panel-right .so-panel-content p{color:rgba(255,255,255,.7)}
.so-panel-right .so-panel-tag{background:rgba(198,58,43,.3);color:#C63A2B}
.so-featured-item{color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.so-featured-info h4{color:#fff}
.so-fprice{color:#C63A2B}
.so-panel-btn{
    display:inline-block;padding:12px 28px;
    background:#C63A2B;color:#fff;border-radius:30px;
    font-size:12px;font-weight:700;letter-spacing:1px;
    text-decoration:none;transition:all .3s;
    box-shadow:0 4px 20px rgba(198,58,43,.4);
}
.so-panel-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.so-featured-list{display:flex;flex-direction:column;gap:16px;width:100%}
.so-featured-item{
    display:flex;align-items:center;gap:14px;
    background:rgba(198,58,43,.1);border-radius:12px;
    padding:12px;transition:all .3s;
    border:1px solid rgba(198,58,43,.15);
}
.so-featured-item:hover{background:rgba(198,58,43,.2);border-color:rgba(198,58,43,.3);box-shadow:0 4px 16px rgba(198,58,43,.2)}
.so-featured-item img{
    width:70px;height:70px;border-radius:10px;object-fit:cover;flex-shrink:0;
}
.so-featured-info h4{
    font-family:'Playfair Display',serif;font-size:15px;
    font-weight:700;margin-bottom:4px;color:#fff;
}
.so-fprice{
    font-size:16px;font-weight:700;color:#d89f4a;
    font-family:'Playfair Display',serif;
}
.so-fbadge{
    display:inline-block;background:rgba(198,58,43,.8);
    color:#fff;font-size:9px;font-weight:700;
    padding:2px 8px;border-radius:4px;margin-left:8px;
    letter-spacing:.5px;
}

/* ===== RESPONSIVE: REVIEWS & MODAL ===== */
@media(max-width:768px){
    .reviews-section{padding:40px 20px}
    .reviews-section h2{font-size:28px;margin-bottom:25px}
    .review-card{min-width:280px;padding:25px}
    .so-modal-inner{flex-direction:column}
    .so-panel{padding:28px 24px}
    .so-panel-content h2{font-size:24px}
    .so-panel-left{transform:translateY(-150%);transition:transform 1.2s cubic-bezier(.25,.46,.45,.94)}
    .so-panel-right{transform:translateY(150%);transition:transform 1.2s cubic-bezier(.25,.46,.45,.94)}
    .so-modal-overlay.show .so-panel-left,
    .so-modal-overlay.show .so-panel-right{transform:translateY(0)}
    .so-modal-overlay.closing .so-panel-left{transform:translateY(-150%);transition:transform 1.2s cubic-bezier(.25,.46,.45,.94)}
    .so-modal-overlay.closing .so-panel-right{transform:translateY(150%);transition:transform 1.2s cubic-bezier(.25,.46,.45,.94)}
}

/* ===== COOKIE CONSENT BANNER ===== */
.cookie-banner{
    position:fixed;bottom:0;left:0;right:0;
    background:rgba(0,0,0,.92);color:#fff;
    padding:18px 20px;z-index:9999;
    box-shadow:0 -4px 20px rgba(0,0,0,.3);
}
.cookie-content{
    max-width:1200px;margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;
    gap:20px;flex-wrap:wrap;
}
.cookie-content p{font-size:13px;line-height:1.6;margin:0;flex:1}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-btn{
    padding:10px 24px;border-radius:6px;font-size:13px;
    font-weight:700;cursor:pointer;border:none;
    font-family:'Montserrat',sans-serif;text-decoration:none;
    display:inline-block;text-align:center;
    transition:all .3s;
}
.cookie-btn.accept{background:var(--secondary);color:#fff}
.cookie-btn.accept:hover{background:#c48e3a}
.cookie-btn.learn{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3)}
.cookie-btn.learn:hover{color:#fff;border-color:#fff}

/* ===== PWA INSTALL BANNER ===== */
.pwa-install-banner{
    position:fixed;bottom:80px;left:20px;right:20px;
    max-width:420px;margin:0 auto;
    background:var(--primary);color:#fff;
    padding:18px 22px;border-radius:14px;
    box-shadow:0 8px 30px rgba(0,0,0,.25);
    z-index:9998;display:flex;align-items:center;
}
.pwa-install-content{
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;width:100%;flex-wrap:wrap;
}
.pwa-install-content p{font-size:13px;margin:0;flex:1}
.pwa-install-content p i{margin-right:8px;color:var(--secondary)}
.pwa-install-actions{display:flex;gap:8px;flex-shrink:0}
@media(max-width:480px){
    .cookie-content{flex-direction:column;text-align:center}
    .cookie-actions{justify-content:center}
    .pwa-install-content{flex-direction:column;text-align:center}
    .pwa-install-actions{justify-content:center}
}

/* ===== AUTH PAGES (login, register, forgot-password) ===== */
.auth-section{padding:140px 20px 80px;background:var(--bg-light);min-height:80vh}
.auth-card{max-width:440px;margin:0 auto;background:var(--white);border-radius:16px;padding:40px;box-shadow:0 5px 30px rgba(0,0,0,.08)}
.auth-card h1{font-family:'Playfair Display',serif;font-size:28px;color:var(--primary);margin-bottom:8px;text-align:center}
.auth-card .subtitle{text-align:center;color:var(--text-light);font-size:14px;margin-bottom:30px}
.auth-card .form-group{margin-bottom:20px}
.auth-card .form-group label{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:var(--text)}
.auth-card .form-group input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}
.auth-card .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,76,55,.1)}
.auth-btn{width:100%;padding:14px;background:var(--primary);color:var(--white);border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}
.auth-btn:hover{background:var(--primary-dark)}
.auth-card .auth-links{text-align:center;margin-top:20px;font-size:13px;color:var(--text-light)}
.auth-card .auth-links a{color:var(--primary);font-weight:600;text-decoration:none}
.auth-card .auth-links a:hover{text-decoration:underline;color:var(--secondary)}
.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px;border-radius:8px;font-size:13px;margin-bottom:20px;text-align:center}
.auth-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:12px;border-radius:8px;font-size:13px;margin-bottom:20px;text-align:center}
@media(max-width:480px){
    .auth-section{padding:120px 16px 60px}
    .auth-card{padding:28px 22px;border-radius:12px}
    .auth-card h1{font-size:24px}
}

/* ===== ACCOUNT PAGES (dashboard, orders, reservations, profile) ===== */
.acc-section{padding:140px 20px 80px;background:var(--bg-light);min-height:80vh}
.acc-container{max-width:1000px;margin:0 auto}
.acc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px}
.acc-header h1{font-family:'Playfair Display',serif;font-size:32px;color:var(--primary)}
.acc-header .acc-logout{padding:10px 24px;background:var(--white);border:1px solid #ddd;border-radius:25px;text-decoration:none;color:var(--text-light);font-size:13px;font-weight:600;transition:all .2s}
.acc-header .acc-logout:hover{border-color:#ef4444;color:#ef4444}
.acc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}
.acc-stat{background:var(--white);border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.acc-stat h3{font-size:32px;color:var(--primary);font-weight:700}
.acc-stat p{font-size:13px;color:var(--text-light);margin-top:4px}
.acc-nav{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.acc-nav a{padding:10px 24px;background:var(--white);border:1px solid #ddd;border-radius:25px;text-decoration:none;color:var(--text);font-size:13px;font-weight:600;transition:all .2s}
.acc-nav a:hover,.acc-nav a.active{background:var(--primary);color:var(--white);border-color:var(--primary)}
.acc-card{background:var(--white);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:24px;overflow:hidden}
.acc-card-header{padding:20px 24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}
.acc-card-header h3{font-size:16px;font-weight:600;color:var(--primary)}
.acc-card-header a{color:var(--primary);font-size:13px;text-decoration:none;font-weight:600}
.acc-card-header a:hover{color:var(--secondary)}
.acc-card-body{padding:24px}
.acc-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.acc-table{width:100%;border-collapse:collapse;min-width:620px}
.acc-table th{text-align:left;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#999;border-bottom:1px solid #eee;background:#fafafa}
.acc-table td{padding:14px 16px;border-bottom:1px solid #f5f5f5;font-size:13px}
.status-pill{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600}
.status-pending{background:#fef3c7;color:#92400e}
.status-confirmed{background:#dbeafe;color:#1e40af}
.status-preparing{background:#e0e7ff;color:#3730a3}
.status-delivering{background:#fce7f3;color:#9d174d}
.status-delivered,.status-paid,.status-completed{background:#d1fae5;color:#065f46}
.status-cancelled{background:#fee2e2;color:#991b1b}
.empty-msg{text-align:center;padding:60px 20px;color:#999;font-size:14px}
.empty-msg i{font-size:32px;margin-bottom:12px;opacity:.3;display:block}
.empty-msg a{color:var(--primary);font-weight:600}
.order-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;flex-wrap:wrap;gap:12px}
.order-header h3{font-size:16px;font-weight:600;color:var(--primary)}
.order-header .order-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-light)}
.order-body{padding:20px 24px}
.order-items{width:100%;border-collapse:collapse}
.order-items td{padding:8px 0;font-size:13px;border-bottom:1px solid #f5f5f5}
.order-total{text-align:right;font-size:16px;font-weight:700;color:var(--primary);padding-top:12px}
.acc-form-group{margin-bottom:20px}
.acc-form-group label{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:var(--text)}
.acc-form-group input,.acc-form-group select{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:14px;font-family:inherit;box-sizing:border-box}
.acc-form-group input:focus,.acc-form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,76,55,.1)}
.acc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.save-btn{padding:12px 30px;background:var(--primary);color:var(--white);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}
.save-btn:hover{background:var(--primary-dark)}
.alert-s{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:20px}
.alert-e{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:20px}
@media(max-width:1024px){
    .acc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .acc-stat h3{font-size:28px;overflow-wrap:anywhere;word-break:break-word}
}
@media(max-width:768px){
    .acc-section{padding:120px 16px 60px}
    .acc-header h1{font-size:26px}
    .acc-stats{grid-template-columns:1fr}
    .acc-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .acc-nav a{padding:9px 12px;font-size:12px;text-align:center}
    .acc-card-header,.acc-card-body,.order-header,.order-body{padding:16px}
    .acc-table{min-width:560px}
    .acc-table th,.acc-table td{padding:10px 12px;font-size:12px}
    .acc-form-row{grid-template-columns:1fr}
    .order-header{flex-direction:column;align-items:flex-start}
    .order-header .order-meta{width:100%;display:flex;flex-wrap:wrap;gap:8px}
    .order-total{text-align:left}
}
@media(max-width:480px){
    .acc-section{padding:110px 12px 50px}
    .acc-header h1{font-size:22px}
    .acc-header .acc-logout{width:100%;text-align:center}
    .acc-stat h3{font-size:24px}
    .acc-nav{grid-template-columns:1fr}
    .acc-table{min-width:500px}
    .order-items td{font-size:12px}
}

/* ===== NAV-AUTH MOBILE ===== */
@media(max-width:768px){
    .nav-auth{gap:4px}
}

/* ===== SCROLL REVEAL ANIMATIONS ===== */
.scroll-reveal{
    opacity:0;transform:translateY(30px);
    transition:opacity .6s ease,transform .6s ease;
}
.scroll-reveal.visible{
    opacity:1;transform:translateY(0);
}

/* Enhanced card hovers */
.menu-card-v{transition:transform .3s ease,box-shadow .3s ease}
.menu-card-v:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.blog-box-card{transition:transform .3s ease,box-shadow .3s ease}
.blog-box-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.home-event-card{transition:transform .3s ease,box-shadow .3s ease}
.home-event-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.12)}

/* Button glow on hover */
.btn-primary:hover,.btn-menu:hover{
    box-shadow:0 4px 18px rgba(198,40,40,.4);
}

/* Hero fade-in on load */
@keyframes heroFadeIn{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}
.hero-content{animation:heroFadeIn .8s ease .2s both}

/* Smooth section heading entrance */
.section-heading,.specials-section h2,.home-events h2,.home-blog h2,
.reviews-section h2{
    transition:opacity .5s ease,transform .5s ease;
}

/* ===== ADVANCED ANIMATIONS ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes iconBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* Scroll reveal */
.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.scroll-reveal.revealed{opacity:1;transform:translateY(0)}
.scroll-reveal.delay-1{transition-delay:.1s}
.scroll-reveal.delay-2{transition-delay:.2s}
.scroll-reveal.delay-3{transition-delay:.3s}

/* Card hover enhancements */
.card,.special-card,.blog-post,.event-card,.sig-card,.home-event-card,.blog-box-card{transition:transform .35s ease,box-shadow .35s ease}
.card:hover,.special-card:hover,.blog-post:hover,.event-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,.15)}

/* Icon hover */
.btn i,.social-icon i{transition:transform .3s ease}
.btn:hover i{transform:translateX(3px)}
.social-icon:hover i{animation:iconBounce .4s ease}

/* ===== AUTO-SLIDER STYLES ===== */
.auto-slider-wrap{position:relative;overflow:hidden}
.auto-slider{display:flex;gap:20px;transition:transform .5s ease}
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .3s;font-size:14px;color:#333}
.slider-nav:hover{background:#F4A623;color:#fff;border-color:#F4A623}
.slider-nav.prev{left:10px}
.slider-nav.next{right:10px}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.slider-dot{width:10px;height:10px;border-radius:50%;background:#ddd;cursor:pointer;transition:all .3s}
.slider-dot.active{background:#F4A623;transform:scale(1.2)}

/* Signatures grid - 2 rows, 4 columns */
.signatures-slider-wrap{position:relative;margin-bottom:30px}
.signatures-slider{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.signatures-slider .sig-card{min-width:unset}
@media(max-width:1024px){.signatures-slider{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.signatures-slider{grid-template-columns:1fr}}

/* Events slider */
.events-slider-wrap{position:relative;overflow:hidden}
.events-slider{display:flex;gap:24px;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.events-slider .home-event-card{flex:0 0 calc(33.333% - 16px);min-width:280px}
@media(max-width:1024px){.events-slider .home-event-card{flex:0 0 calc(50% - 12px)}}
@media(max-width:600px){.events-slider .home-event-card{flex:0 0 100%}}

/* Blog slider */
.blog-slider-wrap{position:relative;overflow:hidden}
.blog-slider{display:flex;gap:24px;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.blog-slider .blog-box-card{flex:0 0 calc(33.333% - 16px);min-width:280px}
@media(max-width:1024px){.blog-slider .blog-box-card{flex:0 0 calc(50% - 12px)}}
@media(max-width:600px){.blog-slider .blog-box-card{flex:0 0 100%}}

/* View All Events button */
.view-all-events{display:inline-block;margin-top:30px;padding:14px 36px;background:#2D7A4F;color:#fff;border-radius:30px;font-weight:700;font-size:13px;letter-spacing:1px;transition:all .3s;text-decoration:none}
.view-all-events:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F;transform:translateY(-2px);box-shadow:0 6px 20px rgba(45,122,79,.35)}

/* Language flags */
.lang-dropdown li a{display:flex;align-items:center;gap:8px}
.lang-flag{font-size:16px;line-height:1}

/* Offers grid - 2 rows, 4 columns */
.offers-grid-wrap{margin-bottom:20px}
.offers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1024px){.offers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.offers-grid{grid-template-columns:1fr}}

/* Events grid - 3 columns */
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:30px}
@media(max-width:1024px){.events-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.events-grid{grid-template-columns:1fr}}

/* Blog grid - 3 columns */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

/* ===== PRODUCT HOVER ORDER BUTTON ===== */
.product-hover-card{position:relative;overflow:hidden}
.product-order-btn{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%) scale(0.8);
    background:#2D7A4F;color:#fff;border:none;
    padding:12px 24px;border-radius:30px;
    font-size:12px;font-weight:700;letter-spacing:1px;
    text-decoration:none;display:flex;align-items:center;gap:8px;
    opacity:0;transition:all .3s ease;z-index:5;cursor:pointer;
    box-shadow:0 4px 16px rgba(198,40,40,.4);
    white-space:nowrap;
}
.product-hover-card:hover .product-order-btn{
    opacity:1;transform:translate(-50%,-50%) scale(1);
}
.product-order-btn:hover{
    background:#C62828;box-shadow:0 6px 24px rgba(198,40,40,.5);
}
.product-hover-card::after{
    content:'';position:absolute;inset:0;
    background:rgba(0,0,0,0);transition:background .3s;
    pointer-events:none;z-index:3;
}
.product-hover-card:hover::after{
    background:rgba(0,0,0,.35);
}
.sig-card .product-order-btn{top:40%;z-index:6}
.special-card .product-order-btn{top:35%}
.offer-card .product-order-btn{top:25%}

/* Mobile: always show order buttons since hover is unavailable on touch */
@media(hover:none),(max-width:768px){
    .product-hover-card .product-order-btn{
        opacity:1;transform:translate(-50%,-50%) scale(1);
    }
    .product-hover-card::after{
        background:rgba(0,0,0,.25);
    }
}

/* Sig price styling */
.sig-price{font-size:11px;font-weight:700;color:#fff;display:block;margin-top:2px;opacity:.9}

/* ===== LOCATION EQUAL HEIGHT LAYOUT ===== */
.location-map-layout{
    display:grid;grid-template-columns:1fr 1fr;gap:30px;
    align-items:stretch;min-height:400px;
}
.location-map-embed{min-height:400px;border-radius:12px;overflow:hidden}
.location-map-embed iframe{width:100%;height:100%;min-height:400px;display:block}
.location-info-card{
    display:flex;flex-direction:column;justify-content:center;
    gap:16px;padding:40px 30px;
    background:#fff;border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,.06);
    min-height:400px;
}
.location-info-card h4{font-size:18px;color:var(--primary-dark);margin-bottom:4px}
.location-info-card p{font-size:14px;color:var(--text);display:flex;align-items:center;gap:10px}
.location-info-card p i{color:var(--primary);width:20px;text-align:center;flex-shrink:0}
.location-info-card a{color:var(--primary);text-decoration:none}
.btn-direction-cta{margin-top:10px;align-self:flex-start}
@media(max-width:768px){
    .location-map-layout{grid-template-columns:1fr;min-height:auto}
    .location-map-embed{min-height:300px}
    .location-info-card{min-height:auto;padding:30px 20px}
}

/* ===== LANG SWITCHER BG MATCH ICONS ===== */
.lang-toggle{
    background:rgba(0,0,0,.06);
    border-radius:50%;width:36px;height:36px;
    display:inline-flex;align-items:center;justify-content:center;
    padding:0;border:none;cursor:pointer;
    color:var(--nav-text);transition:all .3s;
}
.lang-toggle:hover{background:rgba(0,0,0,.1)}

/* Active language flag */
.lang-flag-active{
    font-size:20px;
    line-height:1;
}

/* ===== CELEBRATE WITH US (full-width banner) ===== */
.celebrate-fullwidth{padding:0;background:none;overflow:hidden}
.celebrate-card-full{
    display:flex;align-items:stretch;gap:0;
    width:100%;margin:0 auto;
    min-height:420px;
}
.celebrate-img{flex:1;overflow:hidden;min-height:420px;}
.celebrate-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:420px}
.celebrate-text{
    flex:1;padding:60px 50px;
    background:#D64436;
    display:flex;flex-direction:column;
    justify-content:center;align-items:flex-start;
}
.celebrate-text h2{
    font-family:'Playfair Display',serif;font-size:38px;
    color:#fff;font-weight:700;margin-bottom:18px;
    letter-spacing:2px;text-transform:uppercase;
}
.celebrate-text p{
    font-size:15px;color:rgba(255,255,255,.88);line-height:1.8;margin-bottom:28px;
    max-width:360px;
}
.celebrate-text .btn-outline{
    border:2px solid #fff;
    color:#fff;
    background:transparent;
    padding:12px 30px;
    border-radius:30px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
}
.celebrate-text .btn-outline:hover{
    background:#fff;
    color:#D64436;
    border-color:#fff;
}
@media(max-width:768px){
    .celebrate-card-full{flex-direction:column}
    .celebrate-img{min-height:260px}
    .celebrate-text{padding:36px 24px}
    .celebrate-text h2{font-size:28px}
}

/* ===== COMPREHENSIVE DARK MODE FIXES ===== */
/* Hero always has dark overlay — text must always be white */
[data-theme="dark"] .hero{color:#fff}
[data-theme="dark"] .hero h2{color:#fff}
[data-theme="dark"] .hero p{color:#fff}
[data-theme="dark"] .hero-content{color:#fff}
[data-theme="dark"] .menu-hero{color:#fff}
[data-theme="dark"] .menu-hero-content h2{color:#fff}
[data-theme="dark"] .menu-hero-content p{color:#fff}
[data-theme="dark"] .gb-hero-overlay{color:#fff}
[data-theme="dark"] .gb-hero-overlay h1{color:#fff}
[data-theme="dark"] .gb-hero-sub{color:#fff}

/* Index page sections */
[data-theme="dark"] .welcome{background:var(--body-bg)}
[data-theme="dark"] .welcome h3,[data-theme="dark"] .welcome p{color:var(--text)}
[data-theme="dark"] .home-signatures{background:var(--body-bg)}
[data-theme="dark"] .home-signatures h2{color:var(--text)}
[data-theme="dark"] .signatures{background:var(--body-bg)}
[data-theme="dark"] .signatures h2{color:var(--text)}
[data-theme="dark"] .sig-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .sig-label{color:#fff}
[data-theme="dark"] .specials-section{background:var(--bg-light)}
[data-theme="dark"] .specials-section h2{color:var(--text)}
[data-theme="dark"] .special-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .special-card h4{color:var(--text)}
[data-theme="dark"] .sp-price{color:var(--primary)}
[data-theme="dark"] .sp-original{color:var(--text-light)}
[data-theme="dark"] .home-events{background:var(--body-bg)}
[data-theme="dark"] .home-events h2{color:var(--text)}
[data-theme="dark"] .home-event-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .home-event-body h4{color:var(--text)}
[data-theme="dark"] .home-event-body p{color:var(--text-light)}
[data-theme="dark"] .home-event-meta span{color:var(--text-light)}
[data-theme="dark"] .home-newsletter{background:var(--bg-light)}
[data-theme="dark"] .newsletter-bar{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .newsletter-bar h3{color:var(--text)}
[data-theme="dark"] .newsletter-bar p{color:var(--text-light)}
[data-theme="dark"] .newsletter-inline input{background:var(--bg-light);color:var(--text);border-color:#333}
[data-theme="dark"] .home-blog{background:var(--bg-light)}
[data-theme="dark"] .home-blog h2{color:var(--text)}
[data-theme="dark"] .blog-box-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .blog-box-body h3{color:var(--text)}
[data-theme="dark"] .blog-box-body p{color:var(--text-light)}
[data-theme="dark"] .blog-h-meta span{color:var(--text-light)}
[data-theme="dark"] .home-location-map{background:var(--body-bg)}
[data-theme="dark"] .home-location-map h2{color:var(--text)}
[data-theme="dark"] .location-info-card{background:var(--card-bg);box-shadow:0 4px 20px rgba(0,0,0,.3)}
[data-theme="dark"] .location-info-card h4{color:var(--text)}
[data-theme="dark"] .location-info-card p{color:var(--text-light)}
[data-theme="dark"] .location-info-card a{color:var(--primary)}
[data-theme="dark"] .celebrate-fullwidth{background:var(--bg-light)}
[data-theme="dark"] .celebrate-text h2{color:var(--text)}
[data-theme="dark"] .celebrate-text p{color:var(--text-light)}

/* Dark mode: Menu page */
[data-theme="dark"] .menu-section{background:var(--body-bg)}
[data-theme="dark"] .menu-section h2{color:var(--text)}
[data-theme="dark"] .heading-cursive{color:var(--text-light)}
[data-theme="dark"] .menu-card-v{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .menu-card-v h3{color:var(--text)}
[data-theme="dark"] .menu-card-v p{color:var(--text-light)}
[data-theme="dark"] .card-price{color:var(--primary)}
[data-theme="dark"] .card-bottom{border-color:#333}
[data-theme="dark"] .menu-summer-banner{background:var(--bg-light)}
[data-theme="dark"] .summer-desc p{color:var(--text-light)}
[data-theme="dark"] .allergen-section{background:var(--bg-light)}
[data-theme="dark"] .allergen-section h2{color:var(--text)}
[data-theme="dark"] .allergen-desc{color:var(--text-light)}
[data-theme="dark"] .allergen-chip{background:var(--card-bg);color:var(--text);border-color:#333}

/* Dark mode: Special Offers page */
[data-theme="dark"] .offers-section{background:var(--bg-light)}
[data-theme="dark"] .offers-section h2{color:var(--text)}
[data-theme="dark"] .offer-card{background:var(--card-bg);border-color:#333;box-shadow:0 4px 20px rgba(0,0,0,.3)}
[data-theme="dark"] .offer-body h3{color:var(--text)}
[data-theme="dark"] .offer-body p{color:var(--text-light)}
[data-theme="dark"] .offer-price{color:var(--primary)}

/* Dark mode: Events page */
[data-theme="dark"] .ev-section{background:var(--body-bg)}
[data-theme="dark"] .ev-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .ev-body h3{color:var(--text)}
[data-theme="dark"] .ev-body p{color:var(--text-light)}

/* Dark mode: Gastrobar page */
[data-theme="dark"] .gb-section{background:var(--body-bg)}
[data-theme="dark"] .gb-dish-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .gb-dish-name{color:var(--text)}
[data-theme="dark"] .gb-dish-desc{color:var(--text-light)}
[data-theme="dark"] .gb-amenities{background:var(--bg-light)}
[data-theme="dark"] .gb-amenity h4{color:var(--text)}
[data-theme="dark"] .gb-amenity p{color:var(--text-light)}

/* Dark mode: About page */
[data-theme="dark"] .about-section{background:var(--body-bg)}
[data-theme="dark"] .about-section h2{color:var(--text)}
[data-theme="dark"] .about-section p{color:var(--text-light)}
[data-theme="dark"] .value-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .value-card h4{color:var(--text)}
[data-theme="dark"] .value-card p{color:var(--text-light)}

/* Dark mode: Blog page */
[data-theme="dark"] .bl-section{background:var(--body-bg)}
[data-theme="dark"] .bl-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .bl-card h3{color:var(--text)}
[data-theme="dark"] .bl-card p{color:var(--text-light)}
[data-theme="dark"] .bl-pill{background:var(--card-bg);color:var(--text-light);border-color:#333}
[data-theme="dark"] .bl-pill.active{background:var(--primary);color:#fff}

/* Dark mode: Booking page */
[data-theme="dark"] .planning-section{background:var(--body-bg)}
[data-theme="dark"] .planning-section h2{color:var(--text)}
[data-theme="dark"] .form-group label{color:var(--text)}
[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .form-group textarea{background:var(--card-bg);color:var(--text);border-color:#333}
[data-theme="dark"] .seating-options label{color:var(--text)}

/* Dark mode: Contact page */
[data-theme="dark"] .ct-section{background:var(--body-bg)}
[data-theme="dark"] .ct-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .ct-card h4{color:var(--text)}
[data-theme="dark"] .ct-card p{color:var(--text-light)}

/* Dark mode: Direction page */
[data-theme="dark"] .find-nearest{background:var(--body-bg)}
[data-theme="dark"] .find-nearest h2{color:var(--text)}
[data-theme="dark"] .loc-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .loc-card h4{color:var(--text)}
[data-theme="dark"] .loc-card .info-line{color:var(--text-light)}

/* Dark mode: Gift Vouchers page */
[data-theme="dark"] .gv-page{background:var(--body-bg)}
[data-theme="dark"] .gv-card{background:var(--card-bg);border-color:#333}

/* Dark mode: Outside Catering page */
[data-theme="dark"] .fm-section{background:var(--body-bg)}
[data-theme="dark"] .fm-nav{background:var(--bg-light);border-color:#333}
[data-theme="dark"] .fm-cat-link{color:var(--text-light)}
[data-theme="dark"] .fm-cat-link.active{color:var(--primary)}
[data-theme="dark"] .fm-search-box{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .fm-search-box input{background:transparent;color:var(--text)}
[data-theme="dark"] .fm-sidebar{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .fm-filter-title{color:var(--text)}
[data-theme="dark"] .fm-check{color:var(--text-light)}
[data-theme="dark"] .fm-card{background:var(--card-bg);border-color:#333;box-shadow:0 4px 20px rgba(0,0,0,.3)}
[data-theme="dark"] .fm-card-body h3{color:var(--text)}
[data-theme="dark"] .fm-card-price{color:var(--primary)}
[data-theme="dark"] .fm-sort select{background:var(--card-bg);color:var(--text);border-color:#333}
[data-theme="dark"] .fm-cart-drawer{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .fm-cart-header{border-color:#333;color:var(--text)}
[data-theme="dark"] .fm-cart-item{border-color:#333}
[data-theme="dark"] .fm-cart-item-info h4{color:var(--text)}

/* Dark mode: Consultance page */
[data-theme="dark"] .consult-section{background:var(--body-bg)}
[data-theme="dark"] .consult-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .consult-card h3{color:var(--text)}
[data-theme="dark"] .consult-card p{color:var(--text-light)}

/* Dark mode: Footer */
[data-theme="dark"] .footer-column h5{color:var(--text)}
[data-theme="dark"] .footer-column a{color:var(--text-light)}
[data-theme="dark"] .footer-column a:hover{color:var(--primary)}
[data-theme="dark"] .footer-payments-row{border-color:#333}
[data-theme="dark"] .subscribe-form input{background:var(--bg-light);color:var(--text);border-color:#333}

/* Dark mode: Nav elements */
[data-theme="dark"] .nav-menu > li > a,[data-theme="dark"] .nav-dropdown-toggle{color:var(--nav-text)}
[data-theme="dark"] .nav-menu > li > a:hover,
[data-theme="dark"] .nav-menu > li > a.active,
[data-theme="dark"] .nav-dropdown:hover > .nav-dropdown-toggle,
[data-theme="dark"] .nav-dropdown:focus-within > .nav-dropdown-toggle,
[data-theme="dark"] .nav-dropdown-toggle.active{background:#F4A623;color:#fff}
[data-theme="dark"] .nav-submenu{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .nav-submenu a{color:var(--text-light)}
[data-theme="dark"] .nav-submenu a:hover,[data-theme="dark"] .nav-submenu a.active{background:rgba(244,166,35,.16);color:#F4A623}
[data-theme="dark"] .hamburger span{background:var(--nav-text)}
[data-theme="dark"] .dark-toggle{color:var(--nav-text);background:rgba(255,255,255,.08)}
[data-theme="dark"] .lang-toggle{background:rgba(255,255,255,.08);color:var(--nav-text)}
[data-theme="dark"] .nav-auth a{color:var(--nav-text)}
[data-theme="dark"] .nav-reserve-btn{border-color:var(--primary);color:var(--primary)}
[data-theme="dark"] .close-menu-btn{background:var(--bg-light);color:var(--nav-text)}

/* Dark mode: Hero sections */
[data-theme="dark"] .hero-cta{background:var(--card-bg);color:var(--text);border-color:var(--card-bg)}
[data-theme="dark"] .hero-cta:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Dark mode: General elements */
[data-theme="dark"] .btn-menu{color:var(--text);border-color:var(--text)}
[data-theme="dark"] .btn-menu:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
[data-theme="dark"] .btn-outline{color:var(--text);border-color:var(--text)}
[data-theme="dark"] .btn-outline:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
[data-theme="dark"] .section-heading{color:var(--text)}
[data-theme="dark"] .newsletter{background:var(--bg-light)}
[data-theme="dark"] .newsletter-content{background:var(--card-bg)}
[data-theme="dark"] .newsletter-text h3{color:var(--text)}
[data-theme="dark"] .newsletter-text p{color:var(--text-light)}
[data-theme="dark"] .newsletter-form input{background:var(--bg-light);color:var(--text);border-color:#333}
[data-theme="dark"] .blog{background:var(--bg-light)}
[data-theme="dark"] .blog-post{background:var(--card-bg)}
[data-theme="dark"] .blog-post h4{color:var(--text)}
[data-theme="dark"] .blog-post p{color:var(--text-light)}
[data-theme="dark"] .event-card{background:var(--card-bg)}
[data-theme="dark"] .event-card h4{color:var(--text)}
[data-theme="dark"] .event-card p{color:var(--text-light)}
[data-theme="dark"] .location-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .location-card h4{color:var(--text)}

/* ===== GLOBAL CART SYSTEM (site-wide) ===== */
.site-cart-toggle{
    position:fixed;bottom:100px;right:20px;z-index:9000;
    width:52px;height:52px;border-radius:50%;
    background:var(--primary);color:#fff;border:none;
    font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 16px rgba(198,58,43,.4);
    transition:all .3s;
}
.site-cart-toggle:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(198,58,43,.5)}
.site-cart-badge{
    position:absolute;top:-4px;right:-4px;
    background:var(--secondary);color:#1a1a1a;
    font-size:11px;font-weight:700;
    min-width:20px;height:20px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
}
.site-cart-badge:empty{display:none}

/* Cart Drawer (global) */
.cart-drawer{
    position:fixed;top:0;right:-420px;width:400px;height:100%;
    background:var(--white);z-index:10001;
    box-shadow:-4px 0 30px rgba(0,0,0,.15);
    transition:right .3s ease;display:flex;flex-direction:column;
}
.cart-drawer.open{right:0}
.cart-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.5);
    z-index:10000;opacity:0;visibility:hidden;transition:all .3s;
}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-drawer-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px;border-bottom:1px solid var(--border);
}
.cart-drawer-header h3{font-family:'Playfair Display',serif;font-size:20px;color:var(--text)}
.cart-drawer-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text)}
.cart-drawer-body{flex:1;overflow-y:auto;padding:20px}
.cart-drawer-empty{text-align:center;padding:40px 20px;color:var(--text-light)}
.cart-drawer-empty i{font-size:48px;margin-bottom:16px;display:block;opacity:.3}
.cart-item{
    display:flex;align-items:center;gap:14px;
    padding:14px 0;border-bottom:1px solid var(--border);
}
.cart-item-img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex-shrink:0}
.cart-item-info{flex:1}
.cart-item-info h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}
.cart-item-info .cart-item-price{font-size:13px;color:var(--primary);font-weight:700}
.cart-item-qty{display:flex;align-items:center;gap:8px}
.cart-item-qty button{
    width:28px;height:28px;border-radius:50%;border:1px solid var(--border);
    background:var(--bg-light);cursor:pointer;font-size:14px;
    display:flex;align-items:center;justify-content:center;color:var(--text);
}
.cart-item-qty span{font-size:14px;font-weight:600;min-width:20px;text-align:center;color:var(--text)}
.cart-item-remove{
    background:none;border:none;color:#e74c3c;cursor:pointer;font-size:16px;padding:4px;
}
.cart-drawer-footer{
    padding:20px;border-top:1px solid var(--border);background:var(--bg-light);
}
.cart-summary-row{
    display:flex;justify-content:space-between;font-size:13px;
    color:var(--text-light);margin-bottom:8px;
}
.cart-summary-row.total{font-size:16px;font-weight:700;color:var(--text);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.cart-checkout-btn{
    display:block;width:100%;padding:14px;margin-top:12px;
    background:var(--primary);color:#fff;border:none;border-radius:8px;
    font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer;
    transition:all .3s;font-family:'Montserrat',sans-serif;
}
.cart-checkout-btn:hover{background:var(--primary-dark)}
@media(max-width:480px){
    .cart-drawer{width:100%;right:-100%}
}

/* Checkout Modal (global) */
.checkout-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.6);
    z-index:10002;display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:all .3s;
}
.checkout-overlay.open{opacity:1;visibility:visible}
.checkout-modal{
    background:var(--white);border-radius:16px;width:95%;max-width:560px;
    max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.checkout-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 24px;border-bottom:1px solid var(--border);
}
.checkout-header h3{font-family:'Playfair Display',serif;font-size:20px;color:var(--text)}
.checkout-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text)}
.checkout-steps{
    display:flex;justify-content:center;gap:8px;padding:16px 24px;
    border-bottom:1px solid var(--border);
}
.checkout-step{
    display:flex;align-items:center;gap:6px;font-size:12px;
    font-weight:600;color:var(--text-light);letter-spacing:.5px;
}
.checkout-step.active{color:var(--primary)}
.checkout-step.done{color:var(--secondary)}
.checkout-step-num{
    width:24px;height:24px;border-radius:50%;
    border:2px solid currentColor;display:flex;
    align-items:center;justify-content:center;font-size:11px;
}
.checkout-step.active .checkout-step-num{background:var(--primary);color:#fff;border-color:var(--primary)}
.checkout-step.done .checkout-step-num{background:var(--secondary);color:#fff;border-color:var(--secondary)}
.checkout-body{padding:24px}
.checkout-panel{display:none}
.checkout-panel.active{display:block}
.co-form-group{margin-bottom:16px}
.co-form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.co-form-group input,.co-form-group select,.co-form-group textarea{
    width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;
    font-size:14px;font-family:'Montserrat',sans-serif;color:var(--text);
    background:var(--white);transition:border-color .3s;
}
.co-form-group input:focus,.co-form-group select:focus,.co-form-group textarea:focus{
    border-color:var(--primary);outline:none;
}
.co-payment-note{
    display:block;
    margin-top:6px;
    font-size:12px;
    color:var(--text-light);
    line-height:1.4;
}
.co-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.co-btn{
    padding:12px 24px;border-radius:8px;font-size:13px;font-weight:700;
    letter-spacing:.5px;cursor:pointer;transition:all .3s;
    font-family:'Montserrat',sans-serif;border:none;
}
.co-btn-back{background:var(--bg-light);color:var(--text)}
.co-btn-next{background:var(--primary);color:#fff;margin-left:auto}
.co-btn-next:hover{background:var(--primary-dark)}
.co-btn-place{background:#F4A623;color:#fff;width:100%;padding:14px}
.co-btn-place:hover{background:#fff;color:#2D7A4F;border:2px solid #2D7A4F}
.checkout-summary-item{
    display:flex;justify-content:space-between;font-size:13px;
    color:var(--text-light);padding:6px 0;
}
.checkout-done{text-align:center;padding:20px 0}
.checkout-done i{font-size:56px;color:#F4A623;margin-bottom:16px}
.checkout-done h3{font-size:24px;color:var(--text);margin-bottom:8px}
.checkout-done p{color:var(--text-light);font-size:14px}
.checkout-done .order-number{
    font-size:28px;font-weight:700;color:var(--primary);
    margin:12px 0;font-family:'Playfair Display',serif;
}
[data-theme="dark"] .cart-drawer{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .cart-drawer-header{border-color:#333}
[data-theme="dark"] .cart-drawer-header h3{color:var(--text)}
[data-theme="dark"] .cart-drawer-close{color:var(--text)}
[data-theme="dark"] .cart-item{border-color:#333}
[data-theme="dark"] .cart-item-info h4{color:var(--text)}
[data-theme="dark"] .cart-drawer-footer{background:var(--bg-light);border-color:#333}
[data-theme="dark"] .cart-summary-row{color:var(--text-light)}
[data-theme="dark"] .cart-summary-row.total{color:var(--text);border-color:#333}
[data-theme="dark"] .checkout-modal{background:var(--card-bg)}
[data-theme="dark"] .checkout-header{border-color:#333}
[data-theme="dark"] .checkout-header h3{color:var(--text)}
[data-theme="dark"] .checkout-close{color:var(--text)}
[data-theme="dark"] .checkout-steps{border-color:#333}
[data-theme="dark"] .co-form-group label{color:var(--text)}
[data-theme="dark"] .co-form-group input,
[data-theme="dark"] .co-form-group select,
[data-theme="dark"] .co-form-group textarea{background:var(--bg-light);color:var(--text);border-color:#333}
[data-theme="dark"] .co-btn-back{background:var(--bg-light);color:var(--text)}

/* ===== GLOBAL CART TOGGLE BUTTON ===== */
.site-cart-toggle{
    position:fixed;bottom:90px;left:30px;z-index:9998;
    width:52px;height:52px;border-radius:50%;border:none;
    background:var(--primary);color:#fff;font-size:20px;
    cursor:pointer;box-shadow:0 4px 16px rgba(198,58,43,.35);
    display:flex;align-items:center;justify-content:center;
    transition:all .3s;
}
.site-cart-toggle:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(198,58,43,.5)}
.site-cart-badge{
    position:absolute;top:-4px;right:-4px;
    background:#e25b2d;color:#fff;font-size:11px;font-weight:700;
    min-width:20px;height:20px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    padding:0 5px;
}
.site-cart-badge:empty{display:none}

/* ===== CART DRAWER ===== */
.cart-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;
    opacity:0;pointer-events:none;transition:opacity .3s;
}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{
    position:fixed;top:0;right:-420px;width:400px;max-width:90vw;height:100vh;
    background:var(--white,#fff);z-index:10001;
    display:flex;flex-direction:column;
    box-shadow:-4px 0 24px rgba(0,0,0,.15);
    transition:right .35s cubic-bezier(.4,0,.2,1);
}
.cart-drawer.open{right:0}
.cart-drawer-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 20px;border-bottom:1px solid var(--border);
}
.cart-drawer-header h3{margin:0;font-size:18px;color:var(--text)}
.cart-drawer-close{
    background:none;border:none;font-size:28px;cursor:pointer;
    color:var(--text);line-height:1;
}
.cart-drawer-body{flex:1;overflow-y:auto;padding:16px 20px}
.cart-drawer-empty{
    text-align:center;padding:60px 20px;color:var(--text-light);
}
.cart-drawer-empty i{font-size:48px;margin-bottom:12px;display:block;opacity:.4}
.cart-item{
    display:flex;align-items:center;gap:12px;padding:12px 0;
    border-bottom:1px solid var(--border);
}
.cart-item-img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.cart-item-info{flex:1;min-width:0}
.cart-item-info h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}
.cart-item-price{font-size:13px;color:var(--primary);font-weight:600}
.cart-item-qty{display:flex;align-items:center;gap:8px}
.cart-item-qty button{
    width:28px;height:28px;border-radius:50%;border:1px solid var(--border);
    background:var(--bg-light);cursor:pointer;font-size:16px;
    display:flex;align-items:center;justify-content:center;
    color:var(--text);transition:all .2s;
}
.cart-item-qty button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.cart-item-qty span{font-size:14px;font-weight:600;min-width:18px;text-align:center;color:var(--text)}
.cart-item-remove{
    background:none;border:none;color:#999;cursor:pointer;font-size:14px;
    padding:4px;transition:color .2s;
}
.cart-item-remove:hover{color:#e74c3c}
.cart-drawer-footer{padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-light)}
.cart-summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;color:var(--text-light)}
.cart-summary-row.total{font-size:16px;font-weight:700;color:var(--text);border-top:1px solid var(--border);padding-top:8px;margin-top:4px}
.cart-checkout-btn{
    width:100%;margin-top:12px;padding:14px;border:none;border-radius:8px;
    background:var(--primary);color:#fff;font-size:15px;font-weight:700;
    cursor:pointer;letter-spacing:1px;transition:all .3s;
}
.cart-checkout-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}

/* ===== CHECKOUT MODAL ===== */
.checkout-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10002;
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .3s;
}
.checkout-overlay.open{opacity:1;pointer-events:auto}
.checkout-modal{
    background:var(--white,#fff);border-radius:16px;width:560px;max-width:94vw;
    max-height:90vh;overflow-y:auto;
    box-shadow:0 20px 60px rgba(0,0,0,.2);
}
.checkout-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;border-bottom:1px solid var(--border);
}
.checkout-header h3{margin:0;font-size:18px;color:var(--text)}
.checkout-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text)}
.checkout-steps{
    display:flex;border-bottom:1px solid var(--border);padding:12px 24px;gap:8px;
}
.checkout-step{
    flex:1;text-align:center;padding:8px;border-radius:8px;
    font-size:13px;font-weight:600;color:var(--text-light);
    transition:all .3s;
}
.checkout-step.active{background:var(--primary);color:#fff}
.checkout-step.done{background:rgba(198,58,43,.1);color:var(--primary)}
.checkout-step-num{
    display:inline-flex;width:22px;height:22px;border-radius:50%;
    align-items:center;justify-content:center;font-size:11px;
    background:rgba(0,0,0,.08);margin-right:4px;
}
.checkout-step.active .checkout-step-num{background:rgba(255,255,255,.2)}
.checkout-body{padding:24px}
.checkout-panel{display:none}
.checkout-panel.active{display:block}
.co-form-row{display:flex;gap:16px}
.co-form-row .co-form-group{flex:1}
.co-form-group{margin-bottom:16px}
.co-form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.co-form-group input,
.co-form-group select,
.co-form-group textarea{
    width:100%;padding:10px 14px;border:1px solid var(--border);
    border-radius:8px;font-size:14px;color:var(--text);
    background:var(--white,#fff);transition:border-color .2s;
}
.co-form-group input:focus,
.co-form-group textarea:focus{border-color:var(--primary);outline:none}
.checkout-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.co-btn{
    padding:12px 24px;border:none;border-radius:8px;font-size:14px;
    font-weight:600;cursor:pointer;transition:all .3s;
}
.co-btn-next{background:var(--primary);color:#fff}
.co-btn-next:hover{background:var(--primary-dark)}
.co-btn-back{background:var(--bg-light);color:var(--text)}
.co-btn-back:hover{background:var(--border)}
.co-btn-place{background:#27ae60;color:#fff;flex:1}
.co-btn-place:hover{background:#219a52}
.checkout-summary-item{
    display:flex;justify-content:space-between;padding:6px 0;
    font-size:13px;color:var(--text);border-bottom:1px solid var(--border);
}
.checkout-done{text-align:center;padding:40px 20px}
.checkout-done i{font-size:56px;color:#27ae60;margin-bottom:16px}
.checkout-done h3{font-size:24px;margin-bottom:8px;color:var(--text)}
.checkout-done p{color:var(--text-light);font-size:14px}
.order-number{
    font-size:28px;font-weight:800;color:var(--primary);
    margin:12px 0;letter-spacing:2px;
}

/* ===== OUTSIDE CATERING SECTION (index page) ===== */
.home-catering{padding:60px 0;background:var(--bg-light)}
.home-catering h2{
    text-align:center;font-family:'Playfair Display',serif;
    font-size:32px;font-weight:700;color:var(--text);margin-bottom:8px;
}
.catering-subtitle{text-align:center;color:var(--text-light);margin-bottom:32px;font-size:15px}
.catering-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.catering-card{
    background:var(--card-bg,#fff);border-radius:14px;overflow:hidden;
    border:1px solid var(--border);transition:all .3s;
}
.catering-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.catering-card-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.catering-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.catering-card:hover .catering-card-img img{transform:scale(1.06)}
.catering-card-body{padding:14px 16px}
.catering-card-body h4{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--text)}
.catering-card-body p{font-size:12px;color:var(--text-light);margin:0 0 10px;line-height:1.4}
.catering-card-footer{display:flex;align-items:center;justify-content:space-between}
.catering-price{font-size:15px;font-weight:700;color:var(--primary)}
.catering-card .product-order-btn{
    position:relative;opacity:1;bottom:auto;left:auto;
    transform:none;font-size:12px;padding:8px 14px;
    border-radius:6px;background:var(--primary);color:#fff;border:none;
    cursor:pointer;font-weight:600;transition:all .3s;
}
.catering-card .product-order-btn:hover{background:var(--primary-dark)}

@media(max-width:1024px){.catering-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.catering-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.catering-grid{grid-template-columns:1fr}}

/* ===== OFFER CTA BUTTON (inside offer-body, not overlay) ===== */
.offer-body .offer-cta.product-order-btn{
    position:relative;opacity:1;top:auto;left:auto;
    transform:none;display:inline-block;margin-top:10px;
    padding:10px 20px;font-size:13px;border-radius:6px;
    background:var(--primary);color:#fff;border:none;
    cursor:pointer;font-weight:700;letter-spacing:.5px;transition:all .3s;
}
.offer-body .offer-cta.product-order-btn:hover{background:var(--primary-dark)}

/* ===== SCROLLSPY NAV HIGHLIGHT ===== */
.nav-links a.scrollspy-active{color:var(--primary)!important;font-weight:700}

/* ===== DARK MODE: catering + cart additions ===== */
[data-theme="dark"] .home-catering{background:var(--bg-light)}
[data-theme="dark"] .catering-card{background:var(--card-bg);border-color:#333}
[data-theme="dark"] .catering-card-body h4{color:var(--text)}
[data-theme="dark"] .catering-card-body p{color:var(--text-light)}
[data-theme="dark"] .site-cart-toggle{box-shadow:0 4px 16px rgba(198,58,43,.5)}

/* ===== FLOATING WIDGET SPACING FIX ===== */
.back-to-top{
    left:24px!important;
    right:auto!important;
    bottom:24px!important;
}
.site-cart-toggle{
    left:24px!important;
    right:auto!important;
    bottom:88px!important;
}
@media(max-width:768px){
    .back-to-top{
        left:14px!important;
        right:auto!important;
        bottom:16px!important;
    }
    .site-cart-toggle{
        left:14px!important;
        right:auto!important;
        bottom:74px!important;
        width:46px!important;
        height:46px!important;
        font-size:18px!important;
    }
}

/* ===== GOOGLE TRANSLATE FALLBACK ===== */
#cvGoogleTranslateEl,
.goog-logo-link{
    display:none!important;
}
.goog-te-gadget{
    color:transparent!important;
    font-size:0!important;
}
.goog-te-banner-frame.skiptranslate{
    display:none!important;
}
body{
    top:0!important;
}

/* ===== GLOBAL SEARCH SYSTEM ===== */
.nav-search-btn{
    background:rgba(0,0,0,.06);
    border:1px solid rgba(0,0,0,.1);
    color:#1a1a1a;
    width:36px;
    height:36px;
    border-radius:50%;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    transition:all .25s ease;
    flex-shrink:0;
}
.nav-search-btn:hover{
    background:#2D7A4F;
    border-color:#2D7A4F;
    color:#fff;
}

.cv-search-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:none;
    align-items:flex-start;
    justify-content:center;
    z-index:12000;
    padding:80px 20px 20px;
}
.cv-search-overlay.open{
    display:flex;
}
.cv-search-panel{
    width:100%;
    max-width:820px;
    max-height:80vh;
    overflow:hidden;
    border-radius:14px;
    background:#fff;
    box-shadow:0 18px 50px rgba(0,0,0,.24);
    display:flex;
    flex-direction:column;
}
.cv-search-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px 12px;
    border-bottom:1px solid #ececec;
}
.cv-search-head h2{
    font-family:'Playfair Display',serif;
    font-size:24px;
    color:#1a1a1a;
    margin:0;
}
.cv-search-close{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid #ddd;
    background:#fafafa;
    color:#444;
    cursor:pointer;
    font-size:24px;
    line-height:1;
}
.cv-search-close:hover{
    background:#f3f3f3;
}

.cv-search-input-wrap,
.cv-page-search-input-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    padding:10px 12px;
}
.cv-search-input-wrap{
    margin:14px 18px 10px;
}
.cv-search-input-wrap i,
.cv-page-search-input-wrap i{
    color:#888;
    font-size:13px;
}
.cv-search-input-wrap input,
.cv-page-search-input-wrap input{
    width:100%;
    border:none;
    outline:none;
    font-family:'Montserrat',sans-serif;
    font-size:14px;
    color:#222;
    background:transparent;
}
.cv-search-input-wrap input::placeholder,
.cv-page-search-input-wrap input::placeholder{
    color:#aaa;
}

.cv-search-empty{
    font-size:13px;
    color:#777;
    padding:0 18px 10px;
}

.cv-search-results,
.cv-page-search-results{
    display:none;
    overflow:auto;
}
.cv-search-results{
    margin:0 14px 14px;
    border:1px solid #eee;
    border-radius:10px;
    background:#fff;
}
.cv-page-search-results{
    margin-top:10px;
    border:1px solid #e8e8e8;
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    max-height:340px;
}
.cv-page-search-results-standalone{
    margin-top:12px;
}
.cv-search-results.show,
.cv-page-search-results.show{
    display:block;
}

.cv-search-result-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px solid #f0f0f0;
    text-decoration:none;
}
.cv-search-result-item:last-child{
    border-bottom:none;
}
.cv-search-result-item:hover{
    background:#fafafa;
}
.cv-search-result-thumb{
    width:48px;
    height:48px;
    border-radius:8px;
    object-fit:cover;
    flex-shrink:0;
}
.cv-search-result-icon{
    width:48px;
    height:48px;
    border-radius:8px;
    background:#f4f4f4;
    color:#666;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex-shrink:0;
}
.cv-search-result-body{
    min-width:0;
    flex:1;
}
.cv-search-result-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:4px;
}
.cv-search-result-title{
    margin:0;
    font-size:14px;
    font-weight:700;
    color:#222;
    line-height:1.3;
}
.cv-search-result-type{
    font-size:10px;
    font-weight:700;
    letter-spacing:.5px;
    padding:3px 8px;
    border-radius:999px;
    background:rgba(45,122,79,.12);
    color:#2D7A4F;
    white-space:nowrap;
}
.cv-search-result-desc{
    margin:0 0 4px;
    font-size:12px;
    line-height:1.45;
    color:#666;
}
.cv-search-result-meta{
    font-size:11px;
    color:#999;
}

.cv-page-search{
    margin-top:14px;
}
.cv-page-search-row{
    padding:16px 0 0;
}
.cv-search-no-results{
    text-align:center;
    padding:26px 12px 8px;
    color:#888;
}
.cv-search-no-results i{
    font-size:22px;
    margin-bottom:6px;
    display:block;
    opacity:.6;
}
.cv-search-no-results p{
    margin:0;
    font-size:13px;
}

.cv-search-hidden{
    display:none!important;
}

/* Search result order button */
.cv-search-order-btn{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:8px;
    padding:6px 16px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.5px;
    background:#2D7A4F;
    color:#fff;
    border:none;
    border-radius:20px;
    cursor:pointer;
    transition:all .25s;
    position:relative;
    z-index:2;
}
.cv-search-order-btn:hover{
    background:#d89f4a;
    transform:translateY(-1px);
}
.cv-search-order-btn i{
    font-size:11px;
}

/* Search highlight animation */
.cv-search-highlight{
    animation:cvSearchPulse 2.5s ease;
}
@keyframes cvSearchPulse{
    0%{box-shadow:0 0 0 0 rgba(45,122,79,.4)}
    40%{box-shadow:0 0 0 12px rgba(45,122,79,.15)}
    100%{box-shadow:none}
}

/* Ensure nav search button is always clickable */
.nav-search-btn{
    position:relative;
    z-index:10;
    cursor:pointer;
}

[data-theme="dark"] .nav-search-btn{
    background:rgba(255,255,255,.08);
    border-color:#333;
    color:var(--nav-text);
}
[data-theme="dark"] .cv-search-panel,
[data-theme="dark"] .cv-search-results,
[data-theme="dark"] .cv-page-search-results{
    background:var(--card-bg);
    border-color:#333;
}
[data-theme="dark"] .cv-search-head{
    border-color:#333;
}
[data-theme="dark"] .cv-search-head h2,
[data-theme="dark"] .cv-search-result-title{
    color:var(--text);
}
[data-theme="dark"] .cv-search-close{
    background:var(--bg-light);
    border-color:#333;
    color:var(--text);
}
[data-theme="dark"] .cv-search-input-wrap,
[data-theme="dark"] .cv-page-search-input-wrap{
    background:var(--bg-light);
    border-color:#333;
}
[data-theme="dark"] .cv-search-input-wrap input,
[data-theme="dark"] .cv-page-search-input-wrap input{
    color:var(--text);
}
[data-theme="dark"] .cv-search-result-item{
    border-color:#333;
}
[data-theme="dark"] .cv-search-result-item:hover{
    background:rgba(255,255,255,.04);
}
[data-theme="dark"] .cv-search-result-icon{
    background:var(--bg-light);
    color:var(--text-light);
}
[data-theme="dark"] .cv-search-result-desc{
    color:var(--text-light);
}
[data-theme="dark"] .cv-search-empty,
[data-theme="dark"] .cv-search-result-meta,
[data-theme="dark"] .cv-search-no-results{
    color:var(--text-light);
}
[data-theme="dark"] .cv-search-result-type{
    background:rgba(244,166,35,.2);
    color:#F4A623;
}

@media(max-width:768px){
    .nav-search-btn{
        width:32px;
        height:32px;
        font-size:13px;
    }
    .cv-search-overlay{
        padding:64px 12px 12px;
    }
    .cv-search-panel{
        max-height:84vh;
    }
    .cv-search-head h2{
        font-size:20px;
    }
    .cv-search-input-wrap input,
    .cv-page-search-input-wrap input{
        font-size:13px;
    }
    .cv-search-result-type{
        font-size:9px;
    }
}
