/* Mesa Bistro — Restaurant Template © KodTree */
:root{
    --mb-bg:#fbf6ef;
    --mb-bg-cream:#f3eadb;
    --mb-text:#2a2018;
    --mb-text-soft:#6b5f50;
    --mb-border:#dcd0bc;
    --mb-accent:#3a5a40;
    --mb-accent-dark:#283f2c;
    --mb-gold:#b8915a;
    --mb-radius:2px;
    --bs-body-font-family:'Inter','Pretendard',-apple-system,sans-serif;
    --mb-display:'Cormorant Garamond','Playfair Display',Georgia,serif;
}
*{-webkit-font-smoothing:antialiased;}
body{font-family:var(--bs-body-font-family);color:var(--mb-text);background:var(--mb-bg);line-height:1.6;}
.display{font-family:var(--mb-display);}

/* Top bar */
.topbar{background:var(--mb-accent-dark);color:#fff;text-align:center;padding:.5rem 0;font-size:.8125rem;}
.topbar strong{color:var(--mb-gold);}

/* Navbar */
.navbar{background:rgba(251,246,239,.95);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;padding:1.25rem 0;transition:.25s ease;}
.navbar.scrolled{border-bottom-color:var(--mb-border);}
.navbar-brand{font-family:var(--mb-display);font-size:1.75rem;font-weight:500;color:var(--mb-text)!important;letter-spacing:-.01em;font-style:italic;}
.nav-link{font-weight:500;color:var(--mb-text)!important;font-size:.9375rem;letter-spacing:.02em;}
.nav-link:hover,.nav-link.active{color:var(--mb-accent)!important;}

/* Buttons */
.btn{font-weight:500;padding:.875rem 1.75rem;border-radius:var(--mb-radius);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;transition:all .2s ease;border:1.5px solid transparent;}
.btn-accent{background:var(--mb-accent);color:#fff;border-color:var(--mb-accent);}
.btn-accent:hover{background:var(--mb-accent-dark);color:#fff;border-color:var(--mb-accent-dark);}
.btn-outline-dark{border-color:var(--mb-text);color:var(--mb-text);background:transparent;}
.btn-outline-dark:hover{background:var(--mb-text);color:var(--mb-bg);}
.btn-outline-light{border-color:#fff;color:#fff;background:transparent;}
.btn-outline-light:hover{background:#fff;color:var(--mb-accent);}
.btn-lg{padding:1rem 2rem;}

/* Hero */
.hero{padding:7rem 0 5rem;position:relative;}
.hero__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mb-text-soft);margin-bottom:1.5rem;}
.hero__eyebrow::before{content:"❋";color:var(--mb-gold);margin-right:.5rem;}
.hero__title{font-family:var(--mb-display);font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:1.0;letter-spacing:-.02em;margin-bottom:1.5rem;color:var(--mb-text);}
.hero__title em{font-style:italic;color:var(--mb-accent);}
.hero__subtitle{font-size:1.0625rem;color:var(--mb-text-soft);max-width:520px;margin-bottom:2rem;}
.hero__visual{aspect-ratio:4/5;background:linear-gradient(135deg,#7a6045,#3a2a18);border-radius:var(--mb-radius);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-family:var(--mb-display);font-style:italic;font-size:1.5rem;position:relative;}
.hero__visual::before{content:"";position:absolute;top:-20px;left:-20px;right:20px;bottom:20px;border:1px solid var(--mb-accent);border-radius:var(--mb-radius);z-index:-1;}

/* Sections */
section{padding:6rem 0;}
.section-eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mb-text-soft);margin-bottom:.75rem;display:inline-block;}
.section-eyebrow::before{content:"❋";color:var(--mb-gold);margin-right:.5rem;}
.section-title{font-family:var(--mb-display);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--mb-text);margin-bottom:1rem;}
.section-title em{font-style:italic;color:var(--mb-accent);}
.section-lead{font-size:1.0625rem;color:var(--mb-text-soft);max-width:580px;}

/* Dish card */
.dish-card{background:var(--mb-bg-cream);border-radius:var(--mb-radius);overflow:hidden;height:100%;transition:.25s ease;}
.dish-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -8px rgba(42,32,24,.12);}
.dish-card__img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-family:var(--mb-display);font-style:italic;color:rgba(255,255,255,.3);font-size:1.125rem;}
.dish-card__img--1{background:linear-gradient(135deg,#a8744a,#6e4a2a);}
.dish-card__img--2{background:linear-gradient(135deg,#3a5a40,#1e3a23);}
.dish-card__img--3{background:linear-gradient(135deg,#b8915a,#7a6045);}
.dish-card__img--4{background:linear-gradient(135deg,#8a3a3a,#5a2a2a);}
.dish-card__body{padding:1.25rem;}
.dish-card__cat{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mb-text-soft);margin-bottom:.375rem;}
.dish-card__title{font-family:var(--mb-display);font-size:1.375rem;font-weight:500;font-style:italic;margin-bottom:.375rem;}
.dish-card__desc{font-size:.875rem;color:var(--mb-text-soft);margin-bottom:.75rem;}
.dish-card__price{font-family:var(--mb-display);font-size:1.25rem;font-weight:500;color:var(--mb-accent);}

/* Menu list */
.menu-section{padding:2.5rem 0;border-top:1px solid var(--mb-border);}
.menu-section:first-of-type{border-top:none;padding-top:1.5rem;}
.menu-section__title{font-family:var(--mb-display);font-size:2rem;font-weight:400;font-style:italic;color:var(--mb-accent);margin-bottom:.25rem;letter-spacing:-.01em;}
.menu-section__subtitle{font-size:.8125rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mb-text-soft);margin-bottom:2rem;}
.menu-item{display:grid;grid-template-columns:1fr auto;gap:1.5rem;padding:1.125rem 0;border-bottom:1px dashed var(--mb-border);}
.menu-item:last-child{border-bottom:none;}
.menu-item__name{font-family:var(--mb-display);font-size:1.25rem;font-weight:500;color:var(--mb-text);margin-bottom:.25rem;}
.menu-item__name em{font-style:italic;color:var(--mb-accent);font-size:.875rem;font-weight:400;margin-left:.5rem;}
.menu-item__desc{font-size:.875rem;color:var(--mb-text-soft);}
.menu-item__price{font-family:var(--mb-display);font-size:1.25rem;color:var(--mb-text);font-weight:500;align-self:center;}
.menu-item__tags{font-size:.6875rem;color:var(--mb-accent);text-transform:uppercase;letter-spacing:.1em;}

/* Reservation card */
.reservation-card{background:var(--mb-accent);color:#fff;padding:3.5rem;border-radius:var(--mb-radius);position:relative;overflow:hidden;}
.reservation-card::before{content:"❋";position:absolute;top:-40px;right:-40px;font-size:200px;color:rgba(255,255,255,.05);font-family:serif;}
.reservation-card .section-title{color:#fff;}
.reservation-card .section-title em{color:var(--mb-gold);}
.reservation-card .section-lead{color:rgba(255,255,255,.85);}

/* Story */
.story-block{padding:2rem;border-left:2px solid var(--mb-accent);background:var(--mb-bg-cream);border-radius:0 var(--mb-radius) var(--mb-radius) 0;}
.story-block__quote{font-family:var(--mb-display);font-size:1.25rem;font-style:italic;line-height:1.5;margin-bottom:1rem;}
.story-block__author{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mb-text-soft);}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:.75rem;}
.gallery-item{border-radius:var(--mb-radius);overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--mb-display);font-style:italic;color:rgba(255,255,255,.3);cursor:pointer;transition:.25s ease;}
.gallery-item:hover{transform:scale(.98);filter:brightness(1.1);}
.gallery-item--lg{grid-column:span 2;grid-row:span 2;}
.gallery-item--w{grid-column:span 2;}
.gallery-item--1{background:linear-gradient(135deg,#a8744a,#6e4a2a);}
.gallery-item--2{background:linear-gradient(135deg,#3a5a40,#1e3a23);}
.gallery-item--3{background:linear-gradient(135deg,#b8915a,#7a6045);}
.gallery-item--4{background:linear-gradient(135deg,#8a3a3a,#5a2a2a);}
.gallery-item--5{background:linear-gradient(135deg,#5a4a3a,#2a201a);}
.gallery-item--6{background:linear-gradient(135deg,#3a3a2a,#1a1a10);}
.gallery-item--7{background:linear-gradient(135deg,#704a3a,#3a201a);}
@media(max-width:767.98px){.gallery-grid{grid-template-columns:repeat(2,1fr);}.gallery-item--lg{grid-column:span 2;}.gallery-item--w{grid-column:span 2;}}

/* Hours / info card */
.info-card{background:var(--mb-text);color:#fff;padding:2.5rem;border-radius:var(--mb-radius);}
.info-card h3{font-family:var(--mb-display);font-style:italic;font-size:1.5rem;font-weight:500;margin-bottom:1.5rem;color:var(--mb-gold);}
.info-card__row{display:flex;justify-content:space-between;padding:.625rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9375rem;}
.info-card__row:last-child{border:none;}
.info-card__row strong{color:#fff;}

/* Form */
.form-control,.form-select{border-radius:var(--mb-radius);border:1.5px solid var(--mb-border);padding:.75rem 1rem;font-size:.9375rem;background:#fff;}
.form-control:focus,.form-select:focus{border-color:var(--mb-accent);box-shadow:none;}
.form-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mb-text-soft);margin-bottom:.375rem;font-weight:600;}

/* Footer */
.footer{background:var(--mb-text);color:var(--mb-bg);padding:4rem 0 1.5rem;}
.footer__brand{font-family:var(--mb-display);font-size:2.5rem;font-style:italic;font-weight:500;margin-bottom:1rem;color:#fff;}
.footer h6{color:var(--mb-gold);font-weight:500;margin-bottom:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-family:var(--mb-display);font-style:italic;}
.footer a{color:#cbc6bf;text-decoration:none;}
.footer a:hover{color:var(--mb-gold);}
.footer ul{list-style:none;padding:0;}
.footer ul li{padding:.25rem 0;font-size:.9375rem;}
.footer__bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:#94908b;}

/* Page hero */
.page-hero{padding:7rem 0 4rem;text-align:center;}
.page-hero__title{font-family:var(--mb-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.02em;}
.page-hero__title em{font-style:italic;color:var(--mb-accent);}

@media(max-width:767.98px){
    section{padding:3.5rem 0;}
    .hero{padding:4rem 0;}
    .reservation-card{padding:2rem 1.5rem;}
}
