/* Customer website · warm gold storefront */

:root{

    --gold:#c28b32;
    --gold-dark:#946123;
    --gold-light:#edcf93;
    --gold-bright:#FFD54A;
    --gold-hover:#b78738;
    --gold-ring:#c28b322a;

    --black:#2e241a;
    --dark:#392b1e;

    --white:#fffaf2;

    --cream:#f7f0e4;

    --light:#f3ebdf;

    --gray:#786b5d;

    --border:#e4d7c2;

    --success:#16a34a;

    --danger:#dc2626;

    --shadow:0 15px 40px rgba(0,0,0,.08);

    --radius:18px;

    --radiusSmall:10px;

    --transition:.35s ease;

    --fontMain:'DM Sans',sans-serif;

    --fontScript:'Pinyon Script',cursive;

}



/* ====================================
RESET
==================================== */

*{

margin:0;

padding:0;

box-sizing:border-box;

}



html{

scroll-behavior:smooth;

height:100%;

overflow:hidden;

}



body{

font-family:var(--fontMain);

background:var(--white);

color:var(--black);

height:100%;

overflow-y:auto;

overflow-x:hidden;

overscroll-behavior:contain;

line-height:1.6;

}



img{

max-width:100%;

display:block;

}



a{

text-decoration:none;

color:inherit;

}



button{

cursor:pointer;

font-family:inherit;

}



input,

select{

font-family:inherit;

}



/* ====================================
GENERAL
==================================== */

.section-title{

font-size:36px;

font-weight:800;

text-transform:uppercase;

margin-bottom:12px;

text-align:center;

color:var(--gold);

}



.section-title.light{

color:white;

}



.section-subtitle{

text-align:center;

max-width:750px;

margin:auto;

color:var(--gray);

margin-bottom:35px;

}



.section-heading{

margin-bottom:35px;

}



/* ====================================
LOGO FLOAT
==================================== */

@keyframes logoFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}



.animated-logo{

animation:logoFloat 4s infinite ease-in-out;

}



/* ====================================
HERO SLIDESHOW ANIMATIONS
==================================== */

@keyframes heroFade{

0%{

opacity:0;

transform:scale(1.12);

}

15%{

opacity:1;

}

85%{

opacity:1;

}

100%{

opacity:0;

transform:scale(1);

}

}



@keyframes heroZoom{

0%{

transform:scale(1);

}

100%{

transform:scale(1.15);

}

}



@keyframes floatImage{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}



/* ====================================
HEADER
==================================== */

.main-header{

position:sticky;

top:0;

z-index:999;

display:flex;

justify-content:space-between;

align-items:center;

gap:25px;

padding:18px 6%;

background:white;

border-bottom:1px solid var(--border);

box-shadow:0 2px 15px rgba(0,0,0,.04);

}



.logo{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
}

.logo img[hidden]{
    display:none;
}

.configured-hero{
    background-size:cover;
    background-position:center;
}

.catalog-message{
    margin:24px 0;
    color:#555;
    line-height:1.7;
}

.catalog-message.error,
.checkout-message.error{
    color:#a52828;
}

.checkout-message{
    margin:12px 0;
    line-height:1.5;
}

.checkout-disclaimer{
    margin-top:12px;
    color:#777;
    font-size:12px;
    line-height:1.5;
}

.business-hours-contact{
    margin-top:18px;
    color:#666;
    line-height:1.7;
}

#business-reviews[hidden]{
    display:none !important;
}

.logo img{
    width:60px;
    height:60px;
    object-fit:contain;
}

.logo.fallback-brand .brand-mark{
    width:76px;
    height:76px;
    flex:0 0 76px;
    border-radius:50%;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:var(--black);
    border:1px solid #bd914b;
    box-shadow:0 4px 16px #2d21172b;
}
.logo.fallback-brand .brand-mark img{
    width:68px;
    height:68px;
    object-fit:contain;
}
.logo.fallback-brand .logo-text{display:none}
.logo:not(.fallback-brand) .brand-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
}
.logo:not(.fallback-brand) .brand-mark img{width:60px;height:60px;object-fit:contain;border-radius:50%}
.logo:not(.fallback-brand) .brand-mark:has(img[hidden]){display:none}
.logo .brand-mark[hidden],.logo .logo-text[hidden]{display:none!important}
.logo.logo-only .logo-text{display:none}
.site-unbound .main-header .logo .brand-mark{display:none}
.site-unbound .main-header .logo .logo-text{display:block}
body.customer-offline{background:#f8f6f0;color:#241e18}
body.customer-offline > :not(#offline-notice){display:none!important}
body.customer-offline #offline-notice{
    min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:40px 24px;text-align:center;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
#offline-notice img{width:76px;height:76px;border-radius:50%;object-fit:contain;background:white}
#offline-notice h1{font-size:clamp(27px,6vw,38px);margin:20px 0 12px}
#offline-notice p{max-width:43ch;line-height:1.65;color:#655c52;margin:0 0 25px}
#offline-notice a{background:#342d25;color:#fff;border-radius:12px;padding:14px 24px;text-decoration:none;font-weight:700}
#offline-notice a:focus-visible{outline:3px solid #a56c34;outline-offset:3px}
#offline-notice small{margin-top:28px;color:#786f64}
.sada-attribution{display:inline-flex;align-items:center;gap:9px;margin-left:auto;color:#fff;font-size:12px;letter-spacing:.08em}
/* Same disc recipe as the login page and sidebar: CSS draws the surface and the
   accent ring so both stay crisp at any size; the img carries artwork only. */
.sada-attribution-mark{width:46px;height:46px;box-sizing:border-box;display:grid;place-items:center;border-radius:50%;overflow:hidden;flex:0 0 auto;background:var(--sada-logo-surface,#fff);border:2px solid var(--sada-logo-border,#D4AF37)}
.sada-attribution-mark img{width:82%;height:82%;object-fit:contain;display:block}
@media(max-width:768px){
    .main-header .logo.fallback-brand .brand-mark{width:58px;height:58px;flex-basis:58px}
    .main-header .logo.fallback-brand .brand-mark img{width:52px;height:52px;flex-basis:auto}
}

.logo-text{
    display:flex;
    align-items:baseline;
    gap:6px;

    font-size:25px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    white-space:nowrap;
}



.script-accent{

font-family:var(--fontScript);

font-size:42px;

color:var(--gold);

text-transform:none;

margin-left:6px;

}



/* ====================================
SEARCH
==================================== */

.search-container{

position:relative;

flex:1;

max-width:480px;

}



.search-icon{

position:absolute;

left:16px;

top:50%;

transform:translateY(-50%);

color:var(--gray);

font-size:15px;

}



.search-container input{

width:100%;

padding:14px 18px 14px 46px;

border-radius:999px;

border:1px solid var(--border);

background:#fafafa;

transition:var(--transition);

font-size:15px;

}



.search-container input:focus{

outline:none;

border-color:var(--gold);

background:white;

box-shadow:0 0 0 4px rgba(255,165,0,.12);

}



/* ====================================
CART BUTTON
==================================== */

.cart-trigger{

background:var(--black);

color:white;

padding:14px 24px;

border:none;

border-radius:999px;

font-weight:700;

transition:var(--transition);

}



.cart-trigger:hover{

background:var(--gold);

color:black;

transform:translateY(-2px);

box-shadow:0 12px 25px rgba(255,165,0,.35);

}



#cart-count{

font-weight:800;

color:var(--gold-light);

}



.cart-trigger:hover #cart-count{

color:black;

}
/* ==========================================================
   HERO SECTION
========================================================== */

.hero-section{

display:grid;

grid-template-columns:1.1fr .9fr;

align-items:center;

gap:60px;

padding:90px 8%;

background:linear-gradient(135deg,#fffdf7 0%,#ffffff 100%);

overflow:hidden;

position:relative;

}



/* Decorative background circles */

.hero-section::before{

content:"";

position:absolute;

width:450px;

height:450px;

border-radius:50%;

background:rgba(255,165,0,.08);

top:-180px;

right:-150px;

filter:blur(5px);

}



.hero-section::after{

content:"";

position:absolute;

width:320px;

height:320px;

border-radius:50%;

background:rgba(255,165,0,.05);

left:-100px;

bottom:-100px;

}



/* ====================================
LEFT SIDE
==================================== */

.hero-content{

position:relative;

z-index:2;

}



.eyebrow{

display:inline-flex;

align-items:center;

gap:10px;

padding:10px 18px;

border-radius:999px;

background:rgba(255,165,0,.12);

color:var(--gold-dark);

font-weight:700;

font-size:13px;

letter-spacing:.8px;

text-transform:uppercase;

margin-bottom:25px;

}



.hero-content h1{

font-size:62px;

font-weight:800;

line-height:1.1;

margin-bottom:25px;

}



.highlight{

color:var(--gold);

position:relative;

}



.highlight::after{

content:"";

position:absolute;

left:0;

bottom:4px;

width:100%;

height:10px;

background:rgba(255,165,0,.18);

z-index:-1;

border-radius:20px;

}



.hero-text{

font-size:19px;

color:var(--gray);

line-height:1.9;

max-width:620px;

margin-bottom:40px;

}



/* ====================================
BUTTONS
==================================== */

.hero-actions{

display:flex;

flex-wrap:wrap;

gap:18px;

margin-bottom:35px;

}



.cta-button{

padding:17px 34px;

background:var(--black);

color:white;

border-radius:999px;

font-weight:700;

letter-spacing:.5px;

transition:var(--transition);

box-shadow:0 15px 30px rgba(0,0,0,.15);

}



.cta-button:hover{

background:var(--gold);

color:black;

transform:translateY(-5px);

}



.secondary-button{

padding:17px 34px;

border-radius:999px;

border:2px solid var(--black);

font-weight:700;

transition:var(--transition);

}



.secondary-button:hover{

background:var(--black);

color:white;

transform:translateY(-5px);

}



/* ====================================
BADGES
==================================== */

.hero-badges{

display:flex;

flex-wrap:wrap;

gap:14px;

}



.hero-badges span{

display:flex;

align-items:center;

gap:8px;

padding:12px 18px;

background:white;

border-radius:999px;

box-shadow:var(--shadow);

font-size:14px;

font-weight:600;

transition:var(--transition);

}



.hero-badges span:hover{

transform:translateY(-4px);

}



/* ====================================
RIGHT SIDE
==================================== */

.hero-image-container{

position:relative;

height:560px;

border-radius:30px;

overflow:hidden;

box-shadow:0 30px 70px rgba(0,0,0,.15);

animation:floatImage 6s ease-in-out infinite;

background:white;

}



/* Gold border */

.hero-image-container::before{

content:"";

position:absolute;

inset:0;

border:3px solid rgba(255,165,0,.35);

border-radius:30px;

pointer-events:none;

z-index:5;

}



/* Slideshow image */

.hero-actual-img{

width:100%;

height:100%;

object-fit:cover;

animation:heroZoom 7s linear forwards;

transition:opacity 1s ease;

}



/* JS adds this class */

.hero-fade{

animation:heroFade 5s ease;

}



/* Optional overlay */

.hero-image-container::after{

content:"";

position:absolute;

left:0;

right:0;

bottom:0;

height:40%;

background:linear-gradient(
to top,
rgba(0,0,0,.25),
transparent
);

}



/* ====================================
SMALL FLOATING CARD
==================================== */

.hero-image-container .floating-card{

position:absolute;

bottom:30px;

left:30px;

background:white;

padding:18px 22px;

border-radius:18px;

box-shadow:0 20px 45px rgba(0,0,0,.15);

z-index:10;

animation:floatImage 4s ease-in-out infinite;

}



.floating-card h4{

font-size:16px;

margin-bottom:6px;

}



.floating-card p{

font-size:14px;

color:var(--gray);

}



/* ====================================
RESPONSIVE HERO
==================================== */

@media(max-width:1000px){

.hero-section{

grid-template-columns:1fr;

text-align:center;

padding:70px 6%;

}



.hero-content{

order:2;

}



.hero-image-container{

order:1;

height:430px;

max-width:520px;

margin:auto;

}



.hero-text{

margin:auto;

}



.hero-actions{

justify-content:center;

}



.hero-badges{

justify-content:center;

}



.hero-content h1{

font-size:48px;

}

}



@media(max-width:650px){

.hero-section{

padding:60px 5%;

}



.hero-content h1{

font-size:36px;

}



.hero-text{

font-size:16px;

}



.hero-image-container{

height:320px;

}



.hero-actions{

flex-direction:column;

}



.cta-button,

.secondary-button{

width:100%;

text-align:center;

}



.hero-badges{

gap:10px;

}



.hero-badges span{

font-size:13px;

}

}
/* ==========================================================
   ABOUT SECTION
========================================================== */

.about-section{

padding:90px 8%;

background:#111;

color:white;

text-align:center;

}

.about-text{

max-width:900px;

margin:0 auto 55px;

font-size:18px;

line-height:1.9;

color:#dddddd;

}

.about-points{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.about-card{

padding:35px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

transition:.4s;

}

.about-card:hover{

transform:translateY(-8px);

background:rgba(255,255,255,.08);

}

.about-card h3{

font-size:22px;

margin-bottom:15px;

color:var(--gold);

}

.about-card p{

line-height:1.8;

color:#dddddd;

}



/* ==========================================================
   MENU
========================================================== */

.menu-section{

padding:90px 8%;

background:#fafafa;

}

.menu-category-title{

margin:45px 0 25px;

font-size:24px;

font-weight:700;

padding-left:15px;

border-left:5px solid var(--gold);

color:var(--gold);

}



/* Grid */

.menu-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(290px,1fr));

gap:30px;

}



/* Food Card */

.menu-item-card{

position:relative;

background:#fff;

border-radius:28px;

overflow:hidden;

display:flex;

flex-direction:column;

box-shadow:0 12px 35px rgba(0,0,0,.08);

transition:all .45s ease;

transform-style:preserve-3d;

cursor:pointer;

}

.menu-item-card:hover{

transform:translateY(-12px) scale(1.02);

box-shadow:0 30px 60px rgba(0,0,0,.18);

}

.menu-item-card::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:70%;

height:100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,215,0,.22),
transparent
);

transform:skewX(-25deg);

transition:.9s;

pointer-events:none;

}

.menu-item-card:hover::before{

left:160%;

}



/* Food Image */

.food-img-placeholder{
    width:100%;
    height:240px;
    overflow:hidden;
    border-radius:22px 22px 0 0;
    background:#f8f8f8;
}

.menu-food-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .3s cubic-bezier(.22,1,.36,1);
}

.menu-item-card:hover .menu-food-img{
    transform:scale(1.08);
}



/* Card Text */

.menu-item-card h4{

font-size:22px;

padding:22px 22px 10px;

}

.menu-item-card p{

padding:0 22px;

color:var(--gray);

line-height:1.8;

flex-grow:1;

}



/* Footer */

.menu-item-footer{

display:flex;

justify-content:space-between;

align-items:center;

padding:22px;

margin-top:20px;

border-top:1px solid #eee;

}

.price-tag{

font-size:22px;

font-weight:800;

color:var(--gold-dark);

}

.menu-modifiers{
    display:grid;
    gap:8px;
    margin:8px 22px 0;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--white);
}

.menu-modifiers legend{
    padding:0 6px;
    color:var(--gray);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.menu-modifier{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    color:var(--black);
    font-size:14px;
}

.menu-modifier input{
    width:17px;
    height:17px;
    accent-color:var(--gold);
}

.menu-modifier strong{
    color:var(--gold-dark);
    font-size:13px;
}

.menu-modifier input:disabled + span,
.modifier-unavailable{
    color:var(--gray);
    opacity:.72;
}

.modifier-unavailable{
    grid-column:2 / -1;
    font-size:12px;
}

.cart-item-modifiers{
    margin:3px 0 8px;
    color:var(--gray);
    font-size:12px;
}

.holiday-hours-contact{
    padding-top:0;
}

@media(max-width:600px){
    .menu-modifiers{
        margin-right:16px;
        margin-left:16px;
    }
}



/* Add Button */

.add-to-cart-btn{

padding:12px 22px;

border:none;

background:var(--black);

color:white;

border-radius:999px;

font-weight:700;

transition:.35s;

}

.add-to-cart-btn:hover{

background:var(--gold);

color:black;

transform:scale(1.05);

}

.menu-item-card h4{

font-size:23px;

font-weight:800;

margin:20px 22px 10px;

color:#222;

transition:.3s;

}

.menu-item-card:hover h4{

color:var(--gold);

}

.menu-item-card p{

margin:0 22px;

line-height:1.8;

color:#666;

flex:1;

}

.menu-item-footer{

display:flex;

justify-content:space-between;

align-items:center;

padding:20px 22px;

}

.price-tag{

font-size:23px;

font-weight:800;

color:var(--gold);

}

.add-to-cart-btn{

padding:12px 26px;

border:none;

border-radius:40px;

background:linear-gradient(135deg,var(--gold-bright),var(--gold));

font-weight:700;

cursor:pointer;

transition:.35s;

}

.add-to-cart-btn:hover{

transform:translateY(-3px);

box-shadow:0 15px 35px rgba(212,175,55,.4);

}


/* ==========================================================
   FEATURES
========================================================== */

.features-section{

padding:90px 8%;

background:white;

}

.features-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.feature-card{

background:#fafafa;

padding:40px;

border-radius:22px;

text-align:center;

transition:.35s;

box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.feature-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.feature-icon{

width:80px;

height:80px;

margin:auto auto 25px;

display:flex;

align-items:center;

justify-content:center;

font-size:32px;

border-radius:50%;

background:rgba(255,165,0,.12);

color:var(--gold);

}

.feature-card h3{

margin-bottom:15px;

font-size:24px;

}

.feature-card p{

color:var(--gray);

line-height:1.8;

}



/* ==========================================================
   REVIEWS
========================================================== */

.reviews-section{

padding:90px 8%;

background:var(--cream);

}

.reviews-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:45px;

}

.review-card{

background:white;

padding:35px;

border-radius:22px;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.35s;

}

.review-card:hover{

transform:translateY(-8px);

}

.stars{

font-size:24px;

color:gold;

margin-bottom:18px;

}

.review-card p{

font-size:16px;

line-height:1.8;

color:var(--gray);

}

.review-card h5{

margin-top:20px;

font-size:15px;

color:var(--black);

}



/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1000px){

.about-points,

.features-grid{

grid-template-columns:1fr 1fr;

}

}



@media(max-width:768px){

.about-points,

.features-grid,

.menu-grid,

.reviews-grid{

grid-template-columns:1fr;

}

.menu-item-footer{

flex-direction:column;

gap:15px;

align-items:flex-start;

}

.add-to-cart-btn{

width:100%;

}

}
/* ==========================================================
   CONTACT SECTION
========================================================== */

.contact-section{

padding:90px 8%;

display:grid;

grid-template-columns:1fr 1fr;

gap:35px;

background:#ffffff;

}

.contact-card{

background:#fafafa;

padding:35px;

border-radius:22px;

box-shadow:0 10px 30px rgba(0,0,0,.05);

transition:.35s;

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-card h2{

font-size:30px;

margin-bottom:25px;

color:var(--black);

}

.contact-card p{

color:var(--gray);

line-height:1.8;

margin-bottom:25px;

}



/* Delivery List */

.delivery-list{

list-style:none;

display:flex;

flex-direction:column;

gap:15px;

}

.delivery-list li{

display:flex;

justify-content:space-between;

align-items:center;

padding:14px 0;

border-bottom:1px solid #ececec;

font-size:15px;

}

.delivery-list strong{

    color:var(--gold-dark);

}

.delivery-list span{

    color:var(--gold);

    font-weight:700;

}



/* Contact Buttons */

.contact-links{

display:flex;

flex-wrap:wrap;

gap:15px;

}

.contact-links a{

display:flex;

align-items:center;

gap:10px;

padding:13px 18px;

border-radius:999px;

background:white;

border:1px solid #e5e5e5;

transition:.35s;

font-weight:600;

color:var(--gold-dark);

}

.contact-links a:hover{

background:var(--gold);

color:#111;

transform:translateY(-3px);

}
   
   .contact-links a i{

    color:var(--gold);

}



/* ==========================================================
   CART SIDEBAR
========================================================== */

.cart-sidebar{

position:fixed;

top:0;

right:0;

width:430px;

max-width:100%;

height:100vh;

background:white;

display:flex;

flex-direction:column;

padding:30px;

box-shadow:-20px 0 50px rgba(0,0,0,.15);

visibility:hidden;

clip-path:inset(0 0 0 100%);

z-index:9999;

overflow-y:auto;

transition:clip-path .45s ease, visibility 0s linear .45s;

}

.cart-sidebar.open{

clip-path:inset(0);

visibility:visible;

transition-delay:0s;

}

.cart-header{

display:flex;

justify-content:space-between;

align-items:center;

padding-bottom:18px;

border-bottom:1px solid #ececec;

margin-bottom:20px;

}

.cart-header h3{

font-size:28px;

}

.close-cart-btn{

background:none;

border:none;

font-size:34px;

cursor:pointer;

}



/* Cart Items */

.cart-items-list{

flex:1;

margin-bottom:20px;

}

.cart-item-row{

display:flex;

justify-content:space-between;

align-items:flex-start;

padding:15px 0;

border-bottom:1px solid #f1f1f1;

}

.cart-item-remove{

background:none;

border:none;

color:var(--danger);

font-size:18px;

cursor:pointer;

}

.empty-message{

text-align:center;

color:var(--gray);

padding:40px 0;

}



/* ==========================================================
   FORM
========================================================== */

.form-group{

margin-bottom:18px;

}

.form-group label{

display:block;

font-size:13px;

font-weight:700;

margin-bottom:8px;

text-transform:uppercase;

letter-spacing:.5px;

}

.form-group input,

.form-group select{

width:100%;

padding:14px;

border-radius:12px;

border:1px solid #dddddd;

background:#fafafa;

transition:.3s;

font-size:15px;

}

.form-group input:focus,

.form-group select:focus{

outline:none;

border-color:var(--gold);

background:white;

}



/* ==========================================================
   PRICE SUMMARY
========================================================== */

.price-summary{

margin:25px 0;

padding:20px;

border-radius:15px;

background:#fff7e8;

}

.summary-line{

display:flex;

justify-content:space-between;

margin-bottom:12px;

font-size:15px;

}

.total-line{

padding-top:15px;

border-top:2px dashed rgba(0,0,0,.15);

font-weight:800;

font-size:18px;

}



/* ==========================================================
   PAY BUTTON
========================================================== */

.pay-button{

width:100%;

padding:16px;

border:none;

border-radius:999px;

background:var(--black);

color:white;

font-size:16px;

font-weight:700;

transition:.35s;

}

.pay-button:hover{

background:var(--gold);

color:black;

transform:translateY(-2px);

}



/* ==========================================================
   FOOTER
========================================================== */

.main-footer{

padding:45px 8%;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:25px;

background:#111;

color:white;

}

.footer-brand strong{

display:block;

font-size:22px;

margin-bottom:8px;

}

.footer-brand p{

color:#cccccc;

line-height:1.7;

}

.footer-brand a{

color:var(--gold-light);

font-weight:600;

}

.footer-brand a:hover{

text-decoration:underline;

}



/* Social */

.social-links{

display:flex;

gap:15px;

}

.social-links a{

width:48px;

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.08);

font-size:20px;

transition:.35s;

}

.social-links a:hover{

background:var(--gold);

color:black;

transform:translateY(-5px);

}



/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.contact-section{

grid-template-columns:1fr;

}

}



@media(max-width:768px){

.main-header{
    flex-wrap:wrap;
    gap:10px 12px;
    padding:12px 5%;
}

.main-header .logo{
    flex:1 1 0;
    min-width:0;
    gap:8px;
}

.main-header .logo img{
    flex:0 0 40px;
    width:40px;
    height:40px;
}

.main-header .logo-text{
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:clamp(14px, 4.4vw, 20px);
    line-height:1.2;
    letter-spacing:.4px;
}

.main-header .cart-trigger{
    flex:0 0 auto;
    padding:11px 15px;
}

.main-header .search-container{
    order:3;
    flex:0 0 100%;
    max-width:none;
    min-width:0;
}

.cart-sidebar{

width:min(430px, 100%);

max-width:100%;

}

.main-footer{

flex-direction:column;

text-align:center;

}

.social-links{

justify-content:center;

}

}



@media(max-width:600px){

.section-title{

font-size:28px;

}

.contact-card{

padding:25px;

}

.delivery-list li{

flex-direction:column;

align-items:flex-start;

gap:5px;

}

.contact-links{

flex-direction:column;

}

.contact-links a{

justify-content:center;

width:100%;

}

}

/* =====================================================
   CINEMATIC HERO V2
====================================================== */

.hero{
position:relative;
height:100vh;
overflow:hidden;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:#fff;
background:#000;
}

.hero-slideshow{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:1;
}

.hero-slide{
position:absolute;
width:100%;
height:100%;
background-size:cover;
background-position:center;
opacity:0;
transform:scale(1);
transition:opacity 2s ease-in-out;
animation:kenburns 18s linear infinite;
}

.hero-slide.active{
opacity:1;
}

@keyframes kenburns{

0%{
transform:scale(1);
}

50%{
transform:scale(1.08);
}

100%{
transform:scale(1.15);
}

}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
to right,
rgba(0,0,0,.75),
rgba(0,0,0,.35),
rgba(0,0,0,.75)
);
z-index:2;
}

.hero-light{
position:absolute;
top:0;
left:-120%;
width:60%;
height:100%;
background:linear-gradient(
90deg,
transparent,
rgba(255,215,0,.18),
transparent
);
transform:skewX(-25deg);
animation:goldSweep 8s infinite;
z-index:3;
}

@keyframes goldSweep{

0%{
left:-120%;
}

100%{
left:150%;
}

}

.hero-content{
position:relative;
z-index:5;
max-width:850px;
padding:20px;
animation:heroFade 1.4s ease;
}

@keyframes heroFade{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}

.hero-badge{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.12);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.25);

border-radius:50px;

font-size:15px;

letter-spacing:1px;

margin-bottom:28px;
  
color:var(--gold);

}

.hero-title{

font-size:72px;

font-weight:800;

line-height:1.1;

margin-bottom:20px;

text-shadow:0 8px 30px rgba(0,0,0,.45);

color:#ffffff;

}

.hero-subtitle{

font-size:22px;

line-height:1.8;

max-width:700px;

margin:auto;

opacity:.92;

margin-bottom:45px;

color:#ffffff;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.hero-btn{

padding:17px 40px;

border-radius:60px;

font-size:18px;

font-weight:700;

text-decoration:none;

transition:.4s;

}

.primary-btn{

background:linear-gradient(135deg,var(--gold-bright),var(--gold));

color:#111;

box-shadow:0 15px 40px rgba(212,175,55,.45);

}

.primary-btn:hover{

transform:translateY(-6px);

box-shadow:0 25px 60px rgba(212,175,55,.65);

}

.secondary-btn{

border:2px solid #fff;

color:#fff;

backdrop-filter:blur(15px);

}

.secondary-btn:hover{

background:#fff;

color:#111;

}

.scroll-indicator{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

z-index:6;

}

.scroll-indicator span{

display:block;

width:30px;

height:50px;

border:2px solid #fff;

border-radius:50px;

position:relative;

}

.scroll-indicator span::before{

content:"";

position:absolute;

width:6px;

height:10px;

background:var(--gold-bright);

left:50%;

transform:translateX(-50%);

border-radius:20px;

animation:scrollMove 2s infinite;

}

@keyframes scrollMove{

0%{

top:8px;

opacity:1;

}

100%{

top:28px;

opacity:0;

}

}

@media(max-width:768px){

.hero-title{

font-size:46px;

}

.hero-subtitle{

font-size:18px;

}

.hero-btn{

width:100%;

}

}

/*=========================================
 PREMIUM GLASS NAVBAR
=========================================*/

header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:9999;

transition:.45s;

}

.navbar{

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 8%;

background:rgba(20,20,20,.25);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.08);

transition:.45s;

}

.navbar.scrolled{

padding:12px 8%;

background:rgba(10,10,10,.90);

box-shadow:0 12px 35px rgba(0,0,0,.35);

}

.nav-links{

display:flex;

align-items:center;

gap:28px;

}

.nav-links a{

position:relative;

color:#fff;

font-size:16px;

font-weight:600;

text-decoration:none;

transition:.35s;

}

.nav-links a:hover{

color:var(--gold-bright);

}

.nav-links a::after{

content:"";

position:absolute;

left:50%;

bottom:-8px;

width:0;

height:3px;

background:var(--gold-bright);

border-radius:10px;

transform:translateX(-50%);

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

.logo{

transition:.45s;

}

.logo:hover{

transform:scale(1.05);

filter:drop-shadow(0 0 12px rgba(255,215,0,.8));

}

.cart-btn{

transition:.35s;

}

.cart-btn:hover{

transform:translateY(-3px);

box-shadow:0 12px 28px rgba(212,175,55,.45);

}

/*=====================================
 PREMIUM CART BOUNCE
=====================================*/

@keyframes cartBounce {

    0% {
        transform: scale(1);
    }

    20% {
        transform: scale(1.5);
    }

    40% {
        transform: scale(0.8);
    }

    60% {
        transform: scale(1.4);
    }

    80% {
        transform: scale(0.9);
    }

    100% {
        transform: scale(1);
    }

}

.cart-bounce{

    animation: cartBounce .9s cubic-bezier(.175,.885,.32,1.4);

}

/*==================================================
 SCROLL REVEAL ANIMATION
==================================================*/

.reveal{
opacity:1;
transform:none;
}

.reveal.active{
opacity:1;
transform:none;
}

/*=========================================
FLYING FOOD
=========================================*/

.flying-food{
    position: fixed;
    object-fit: cover;
    border-radius: 18px;
    pointer-events: none;
    z-index: 99999;
    box-shadow: 0 20px 45px rgba(0,0,0,.25);

    transition:
        left .9s cubic-bezier(.22,1,.36,1),
        top .9s cubic-bezier(.22,1,.36,1),
        width .9s ease,
        height .9s ease,
        opacity .9s ease,
        transform .9s ease;
}

/*=====================================
PREMIUM ADD TO CART
=====================================*/

.card-lift{

    transform:
        translateY(-14px)
        scale(1.03);

    box-shadow:
        0 35px 70px rgba(0,0,0,.25);

    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        box-shadow .45s ease;

}

.cart-catch{

    animation:bagCatch .35s ease;

}

@keyframes bagCatch{

    0%{

        transform:scale(1);

    }

    35%{

        transform:scale(.82);

    }

    65%{

        transform:scale(1.22);

    }

    100%{

        transform:scale(1);

    }

}

.checkout-field{

    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:18px;

}

.checkout-field label{

    font-weight:600;
    color:#333;
    font-size:14px;

}

.checkout-field input,
.checkout-field textarea{

    width:100%;
    padding:14px 16px;
    border:2px solid #ececec;
    border-radius:14px;
    font-size:15px;
    font-family:inherit;
    transition:.25s;
    background:#fff;

}

.checkout-field textarea{

    resize:vertical;
    min-height:90px;

}

.checkout-field input:focus,
.checkout-field textarea:focus{

    outline:none;
    border-color:#ff9800;
    box-shadow:0 0 0 4px rgba(255,152,0,.15);

}

/* ==========================================
   CHECKOUT HEADER
========================================== */

.checkout-header{

    text-align:center;
    margin-bottom:35px;

}

.checkout-logo{

    width:90px;
    height:90px;
    object-fit:contain;
    margin-bottom:15px;

}

.checkout-header h1{

    font-size:42px;
    font-weight:800;
    color:#111;
    margin-bottom:10px;

}

.subtitle{

    font-size:17px;
    color:#777;
    margin-bottom:20px;

}

.secure-badge{

    display:inline-block;
    padding:10px 22px;
    background:#FFF8EB;
    color:#111;
    border:2px solid #FFA500;
    border-radius:999px;
    font-size:14px;
    font-weight:700;

}

.order-progress{

    margin-top:35px;

    text-align:left;

    background:#fafafa;

    border-radius:20px;

    padding:25px;

    border:1px solid #ececec;

}

.order-progress h3{

    margin-bottom:20px;

    font-size:24px;

}

.progress-step{

    display:flex;

    align-items:center;

    gap:15px;

    padding:12px 0;

    font-size:18px;

}

.status-icon{

    font-size:24px;

}

.active{

    font-weight:700;

    color:#27ae60;

}

.preparing{

    font-weight:700;

    color:#F4B400;

}

/* The live ordering surface: quieter gold, clearer choices, honest totals. */
:focus-visible{outline:3px solid var(--gold-dark);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.48;transform:none!important}
.main-header{background:var(--white);border-color:var(--border)}
.hero{min-height:680px;height:min(88svh,920px);background:radial-gradient(circle at 70% 50%,#59422a,#2c2118 70%)}
.hero-overlay{background:linear-gradient(90deg,rgba(36,26,18,.84),rgba(36,26,18,.35),rgba(36,26,18,.7))}
.hero-title{font-family:var(--fontScript);font-size:clamp(78px,9vw,140px);font-weight:400;line-height:.92;letter-spacing:-.02em;overflow-wrap:anywhere}
.hero-subtitle{font-size:clamp(16px,1.8vw,21px);max-width:590px;line-height:1.7}
.hero-badge{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-color:#e9cd8d77;color:var(--gold-light)}
.hero-light{display:none}
.primary-btn{background:var(--gold-light);box-shadow:none}
.primary-btn:hover{box-shadow:0 12px 30px #1a110c55;transform:translateY(-3px)}
.secondary-btn:hover{transform:translateY(-3px)}
.menu-section{background:var(--cream);padding-block:clamp(70px,8vw,118px)}
.menu-section .section-title{color:var(--black);font-size:clamp(40px,5vw,66px);letter-spacing:-.045em;text-transform:none}
.menu-section .section-subtitle{font-size:14px;line-height:1.7}
.menu-category-title{color:var(--black);border-color:var(--gold);font-size:clamp(23px,2.5vw,32px);letter-spacing:-.03em;margin:48px 0 22px}
.menu-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:20px}
.menu-item-card{border:1px solid var(--border);background:var(--white);border-radius:14px;box-shadow:0 8px 25px #5235140d;cursor:default;transform:none}
.menu-item-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #5235141c}
.menu-item-card:before{display:none}
.food-img-placeholder{height:210px;background:#e7d8c0;border-radius:0}
.menu-item-card h4{font-size:20px;line-height:1.3;margin:0;padding:20px 20px 8px;color:var(--black)}
.menu-item-card:hover h4{color:var(--black)}
.menu-item-card p{font-size:13px;line-height:1.65;margin:0;padding:0 20px;color:var(--gray);min-height:38px}
.menu-item-footer{margin-top:20px;padding:17px 20px;border-color:var(--border)}
.price-tag{font-size:17px;color:var(--gold-dark)}
.add-to-cart-btn{font-size:12px;padding:10px 18px;background:var(--black)}
.catalog-message{color:var(--gray);font-size:13px}
.catalog-message.error{color:#a34232}
.catalog-state{border:1px dashed #c9ab79;padding:45px 24px;text-align:center;background:var(--white);color:var(--gray);margin:24px 0}
.catalog-state h3{font-size:25px;color:var(--black);margin-bottom:5px}
.catalog-state p{font-size:13px}
.catalog-retry{margin-top:18px;padding:11px 20px;border:1px solid var(--black);border-radius:99px;background:var(--black);color:var(--white);font-size:13px;font-weight:700}
.catalog-retry:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.catalog-skeleton{min-height:270px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:20px}
.catalog-skeleton:before{content:"";display:block;height:160px;background:linear-gradient(90deg,#eadcc8 15%,#f7efe2 50%,#eadcc8 85%);background-size:200% 100%;animation:catalogShimmer 1.5s infinite}
.catalog-skeleton:after{content:"";display:block;width:70%;height:16px;background:#eadcc8;margin-top:24px;box-shadow:0 30px #eadcc899}
@keyframes catalogShimmer{to{background-position-x:-200%}}
.cart-sidebar{background:var(--white);width:min(460px,100%);height:100dvh;box-shadow:-18px 0 60px #21170d38}
.cart-header{border-color:var(--border)}
.cart-header h3{font-size:26px;letter-spacing:-.03em}
.cart-item-row{border-color:var(--border);gap:16px}
.cart-item-row strong{font-size:14px}
.cart-item-row .cart-item-unit{font-size:12px;color:var(--gray);margin:5px 0}
.cart-item-controls{display:flex;gap:8px;align-items:center;margin-top:9px}
.cart-item-controls button{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--black)}
.cart-item-controls button:hover:not(:disabled){border-color:var(--gold-dark);background:#f5e8d2}
.price-summary{background:#f1e6d2;border-radius:12px;border:1px solid #dfc9a7}
.summary-line{gap:15px}
.summary-line span:last-child{text-align:right;font-weight:700}
.total-line{border-color:#ba9b69}
.checkout-message{min-height:1.5em;font-size:13px}
.checkout-message.error{color:#a34232}
.form-group input,.form-group select,.checkout-field input,.checkout-field textarea{background:#fffdf8;border-color:var(--border)}
.form-group input:focus,.form-group select:focus,.checkout-field input:focus,.checkout-field textarea:focus{outline:2px solid var(--gold-dark);outline-offset:1px;box-shadow:none}
.pay-button{background:var(--black);color:var(--white);font-size:14px}
.pay-button:hover:not(:disabled){background:var(--gold-dark);color:var(--white);transform:translateY(-2px)}
.main-footer{background:var(--black)}
@media(max-width:768px){.hero{height:auto;min-height:620px;padding-top:100px;padding-bottom:80px}.hero-title{font-size:clamp(70px,16vw,110px)}.hero-btn{width:auto;min-width:180px}.menu-section{padding-inline:5%}.cart-sidebar{padding:25px 20px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.food-img-placeholder{height:165px}}
@media(max-width:540px){.hero{min-height:600px}.hero-content{padding:20px 25px}.hero-title{font-size:clamp(70px,18vw,100px)}.hero-buttons{gap:10px}.hero-btn{width:100%;padding:14px 22px;font-size:15px}.menu-grid{grid-template-columns:1fr}.menu-item-card{display:grid;grid-template-columns:34% 1fr;min-height:165px}.food-img-placeholder{height:100%;min-height:165px;grid-row:1/4}.menu-item-card h4{padding:16px 15px 6px;font-size:18px}.menu-item-card p{padding:0 15px;min-height:0;font-size:11px}.menu-item-footer{padding:12px 15px;margin-top:10px}.price-tag{font-size:13px}.add-to-cart-btn{padding:8px 10px}}
@media(max-width:540px){.menu-item-card.no-image{display:flex;min-height:0}.menu-item-card.no-image h4{padding:18px 18px 8px}.menu-item-card.no-image p{padding:0 18px}.menu-item-card.no-image .menu-item-footer{padding:15px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Customer storefront visual treatment. Photography is supplied only by the tenant. */
.main-header{min-height:92px;padding:12px clamp(22px,5vw,88px);background:#f9f6ed}
.logo.fallback-brand .brand-mark{
    width:68px;height:68px;flex-basis:68px;border:1px solid #c4a251;background:#f9f6ed;
    box-shadow:none;overflow:hidden
}
.logo.fallback-brand .brand-mark img{
    width:75px;height:89px;max-width:none;flex:none;
    object-fit:cover;object-position:center;transform:translateX(3px);
    clip-path:circle(33px at 34px 44px)
}
.site-status{
    margin-left:auto;color:#554b3e;font-size:11px;font-weight:800;
    text-transform:uppercase;letter-spacing:.14em
}
.site-status span{padding-inline:10px;color:var(--gold-dark)}
.site-status[hidden]{display:none}
.site-unbound .search-container,.site-unbound .cart-trigger{display:none}
.search-container input{background:#f1ece1}
.search-container input:focus{background:#fdfaf3;box-shadow:0 0 0 3px var(--gold-ring)}
.cart-trigger:hover{box-shadow:0 10px 22px #2e241a26;color:#fdfaf3}
.cart-trigger:hover #cart-count{color:#fdfaf3}

.hero{height:min(82svh,870px);min-height:650px;background:#252720}
.hero-slideshow.no-photo{
    background-color:#30352d;
    background-image:repeating-linear-gradient(112deg,transparent 0 74px,#ffffff07 75px 76px)
}
.hero-slide{animation:none;transform:scale(1.02);transition:opacity 1.1s ease}
.hero-slide.active{animation:heroPhotoDrift 16s ease-out both}
@keyframes heroPhotoDrift{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-overlay{
    background:linear-gradient(90deg,rgba(18,23,20,.84) 0%,rgba(18,23,20,.48) 47%,rgba(18,23,20,.1) 100%)
}
.hero-content{
    width:min(100% - 11vw,1240px);max-width:none;text-align:left;
    padding:0 0 22px;animation:heroFade 1.1s ease both
}
.hero .hero-title{
    max-width:780px;font-family:var(--fontMain);
    font-size:clamp(56px,7.1vw,112px);font-weight:800;
    line-height:.98;letter-spacing:-.065em;overflow-wrap:normal;
    text-shadow:0 8px 30px #111b1640;margin-bottom:28px
}
.hero-subtitle{max-width:590px;margin:0 0 32px;font-size:clamp(16px,1.5vw,20px);line-height:1.55}
.hero-badge{
    padding:9px 15px;margin-bottom:26px;border-radius:3px;
    background:#f8f3e8;color:#36352b;border:0;
    font-size:11px;letter-spacing:.12em;backdrop-filter:none
}
.hero-badge:empty{display:none}
.hero-buttons{justify-content:flex-start;gap:12px}
.hero-btn{border-radius:4px;padding:15px 26px;font-size:14px;letter-spacing:.01em}
.primary-btn{background:var(--gold);color:#211b12}
.secondary-btn{border:1px solid #f8f3e8b9;background:#181e1a37}
.secondary-btn:hover{color:#211b12;background:#f8f3e8}
.scroll-indicator{left:auto;right:5%;transform:none}
.site-unbound .hero-title{max-width:750px}
.site-unbound .features-section,.site-unbound .contact-section{display:none}

.about-section{background:#222e2a;padding-block:clamp(74px,8vw,120px)}
.about-section .section-title{color:var(--gold-light);letter-spacing:-.04em;text-transform:none}
.about-text{max-width:760px;color:#e6e8de;margin-bottom:0}
.about-points:not(:empty){margin-top:44px}
.about-card{background:#ffffff0b;border-color:#ffffff1f}
.menu-section{background:#f1f1e7}
.menu-section .section-heading{text-align:left;margin-bottom:35px}
.menu-section .section-title{text-align:left;line-height:1.1;margin-bottom:14px}
.menu-section .section-subtitle{text-align:left;margin:0;max-width:550px}
.menu-category-title{border-left:0;border-bottom:1px solid #c8c9b9;padding:0 0 13px}
.menu-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:24px}
.menu-item-card{border:0;border-radius:5px;background:#fffdf7;box-shadow:0 4px 20px #1b292014}
.menu-item-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #1b292021}
.food-img-placeholder{height:250px;background:#dce0d2}
.menu-item-card h4{font-size:22px;letter-spacing:-.035em;padding:19px 20px 6px}
.menu-item-card p{min-height:46px}
.menu-item-footer{margin-top:18px}
.price-tag{font-size:19px;color:var(--gold-dark)}
.add-to-cart-btn{border-radius:4px;background:#252f29;color:#fffaf2;font-size:13px}
.add-to-cart-btn:hover{background:var(--gold-hover);color:#1f221b;box-shadow:none;transform:translateY(-2px)}
.catalog-message{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.catalog-state{border:1px solid #d5d9ca;background:#fffdf7;text-align:left;padding:44px;margin:20px 0}
.catalog-state h3{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;line-height:1.1}
.catalog-state p{font-size:15px;max-width:490px;line-height:1.65}
.catalog-state-content{align-self:center;padding:clamp(28px,5vw,72px)}
.catalog-eyebrow{display:block;color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.17em;margin-bottom:22px}
.features-section{background:#fcfaf4}
.feature-card{background:#f0f1e8;box-shadow:none}
.feature-icon{background:#dfd7bd;color:#6a562f}
.contact-section{background:#f1f1e7}
.contact-card{background:#fcfaf4;box-shadow:none}
.main-footer{background:#222e2a}
@media(max-width:768px){
    .main-header{min-height:74px;padding:10px 5%}
    .site-status{font-size:9px;line-height:1.5;text-align:right;max-width:180px}
    .site-status span{padding-inline:3px}
    .main-header .logo.fallback-brand .brand-mark{width:55px;height:55px;flex-basis:55px}
    .main-header .logo.fallback-brand .brand-mark img{
        width:61px;height:72px;transform:translateX(2px);
        clip-path:circle(27px at 28px 36px)
    }
    .hero{min-height:670px;height:auto;padding:110px 0 90px}
    .hero-content{width:90%;padding:0}
    .hero .hero-title{font-size:clamp(49px,10vw,78px)}
    .hero-overlay{background:linear-gradient(90deg,#121b17e8,#121b17a8)}
    .scroll-indicator{display:none}
}
@media(max-width:540px){
    .hero{min-height:620px}
    .hero-content{padding:0}
    .hero .hero-title{font-size:clamp(48px,12vw,67px)}
    .hero-subtitle{font-size:15px}
    .hero-buttons{gap:10px}
    .hero-btn{width:auto;min-width:0;font-size:13px;padding:13px 17px}
    .site-unbound .hero-btn{width:100%;text-align:center}
    .menu-item-card:not(.no-image){display:flex;min-height:0}
    .food-img-placeholder{height:220px;min-height:0}
    .menu-item-card h4{font-size:20px;padding:17px 18px 7px}
    .menu-item-card p{font-size:13px;padding:0 18px}
    .menu-item-footer{flex-direction:row;align-items:center;padding:15px 18px}
    .add-to-cart-btn{width:auto;padding:10px 16px}
}
.add-to-cart-btn.is-sold-out,.add-to-cart-btn.is-sold-out:hover{background:#e4e2d6;color:#6d6f60;cursor:not-allowed;transform:none;box-shadow:none}
.food-img-emoji{display:flex;align-items:center;justify-content:center;background:#221d18;font-size:64px;line-height:1;user-select:none}

/* Owner draft-preview banner (customer website) */
.draft-preview-banner{position:sticky;top:0;z-index:1200;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 20px;background:linear-gradient(90deg,#7a5a12,#a9791c);color:#fff8e8;border-bottom:2px solid #ffd54a;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:14px;line-height:1.4}
.draft-preview-banner .draft-preview-label{font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#ffd54a;color:#4a3405;border-radius:999px;padding:4px 12px;font-size:12px;white-space:nowrap}
.draft-preview-banner .draft-preview-note{flex:1 1 260px;min-width:200px}
body.draft-preview #pay-button{cursor:not-allowed}
@media (max-width:560px){.draft-preview-banner{padding:10px 14px;font-size:13px}}

/* Customer-website chat widget (thin client into SADA Messenger).
   Branding inherits the tenant accent tokens set in script.js renderIdentity. */
.sada-chat{position:fixed;right:20px;bottom:20px;z-index:1300;display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-family:inherit}
.sada-chat-launcher{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--gold-bright,#c28b32),var(--gold-dark,#946123));box-shadow:0 8px 22px var(--gold-ring,#c28b322a),0 2px 6px rgba(0,0,0,.2);transition:transform .16s ease,box-shadow .16s ease}
.sada-chat-launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 28px var(--gold-ring,#c28b322a),0 3px 8px rgba(0,0,0,.24)}
.sada-chat-launcher:focus-visible{outline:3px solid var(--gold,#c28b32);outline-offset:3px}
.sada-chat-panel{width:min(360px,calc(100vw - 32px));height:min(520px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.24),0 2px 8px rgba(0,0,0,.14);border:1px solid color-mix(in srgb,var(--gold,#c28b32) 22%,#e7e2d6)}
.sada-chat-panel[hidden]{display:none}
.sada-chat-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--gold-dark,#946123),var(--gold,#c28b32));color:#fff}
.sada-chat-head-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.sada-chat-head-text strong{font-size:15px;font-weight:700;line-height:1.25}
.sada-chat-head-text span{font-size:12px;opacity:.9;line-height:1.3}
.sada-chat-close{flex:none;width:30px;height:30px;border:none;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.sada-chat-close:hover{background:rgba(255,255,255,.3)}
.sada-chat-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#f7f4ec}
.sada-chat-msg{display:flex;max-width:82%}
.sada-chat-msg.mine{align-self:flex-end}
.sada-chat-msg.theirs{align-self:flex-start}
.sada-chat-bubble{padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.42;word-break:break-word;white-space:pre-wrap;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.sada-chat-msg.mine .sada-chat-bubble{background:var(--gold,#c28b32);color:#fff;border-bottom-right-radius:5px}
.sada-chat-msg.theirs .sada-chat-bubble{background:#fff;color:#2a2620;border:1px solid #e7e2d6;border-bottom-left-radius:5px}
.sada-chat-welcome{font-style:italic;opacity:.95}
.sada-chat-composer{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #e7e2d6}
.sada-chat-input{flex:1;min-width:0;height:40px;padding:0 14px;border:1px solid #ddd6c6;border-radius:20px;font-size:14px;font-family:inherit;background:#fbfaf6;color:#2a2620;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.sada-chat-input:focus{border-color:var(--gold,#c28b32);box-shadow:0 0 0 3px var(--gold-ring,#c28b322a);background:#fff}
.sada-chat-send{flex:none;height:40px;padding:0 18px;border:none;border-radius:20px;background:var(--gold,#c28b32);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,opacity .15s ease}
.sada-chat-send:hover:not(:disabled){background:var(--gold-hover,#b78738)}
.sada-chat-send:disabled{opacity:.55;cursor:not-allowed}
.sada-chat-send:focus-visible,.sada-chat-input:focus-visible{outline:3px solid var(--gold,#c28b32);outline-offset:2px}
@media (max-width:480px){
    .sada-chat{right:12px;bottom:12px}
    .sada-chat-launcher{width:52px;height:52px}
    .sada-chat-panel{width:calc(100vw - 24px);height:min(480px,calc(100vh - 96px))}
}
@media (prefers-reduced-motion:reduce){
    .sada-chat-launcher{transition:none}
    .sada-chat-launcher:hover{transform:none}
}
