/*
Theme Name: Trattoria Buoni Amici
Theme URI: https://trattoriabuoniamici.ro/
Author: Trattoria Buoni Amici
Description: Temă WordPress personalizată pentru Trattoria Buoni Amici.
Version: 7.0.0
Text Domain: trattoria-buoni-amici
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root {
  --cream:#f4eee5;
  --paper:#fffaf4;
  --ink:#20251f;
  --muted:#6c7069;
  --green:#123c2b;
  --green-2:#1d513b;
  --red:#aa4b36;
  --red-dark:#8d3828;
  --peach:#e5b6a0;
  --line:rgba(31,36,31,.13);
  --white-line:rgba(255,255,255,.17);
  --shadow:0 24px 70px rgba(27,32,25,.13);
  --radius:28px;
  --header:86px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(1240px,calc(100% - 52px));margin:0 auto}
.section{padding:104px 0}
.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--red)}
.section-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.6rem,5.3vw,5rem);line-height:.98;letter-spacing:-.04em;margin:14px 0 22px}
.section-copy{max-width:680px;color:var(--muted);font-size:1.06rem;line-height:1.75}

/* Header */
.site-header{position:fixed;z-index:100;left:0;right:0;top:0;color:#fff;background:rgba(13,43,31,.93);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.admin-bar .site-header{top:32px}
.nav{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-wrap{display:flex;align-items:center;min-width:210px}
.brand{display:inline-flex;align-items:center;gap:15px}
.brand-mark{width:44px;height:44px;border:1px solid rgba(255,255,255,.76);transform:rotate(45deg);display:grid;place-items:center;flex:0 0 auto}
.brand-mark span{transform:rotate(-45deg);font-family:'Playfair Display',Georgia,serif;font-size:.71rem;font-weight:700}
.brand-copy{display:flex;flex-direction:column;line-height:1.02}
.brand-copy strong{font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;letter-spacing:-.01em}
.brand-copy small{font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;margin-top:6px;opacity:.65}
.custom-logo-link{display:flex;align-items:center}
.custom-logo{width:auto!important;max-height:56px!important;max-width:220px!important}
.nav-links{display:flex;align-items:center;gap:30px;font-size:.9rem;font-weight:500}
.nav-links a{position:relative;opacity:.86;transition:.2s ease}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#fff;transition:.22s ease}
.nav-links a:hover{opacity:1}.nav-links a:hover:after{right:0}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 21px;font-weight:700;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease;color:inherit;cursor:pointer}
.nav-cta{background:#fff;color:var(--green);padding:11px 18px;font-size:.88rem}
.nav-cta:hover,.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark)}
.btn-outline{border-color:rgba(18,60,43,.36);color:var(--green);background:transparent}.btn-outline:hover{border-color:var(--green);background:rgba(18,60,43,.05)}
.btn-light{background:#fff;color:var(--green)}
.btn-secondary{border-color:rgba(255,255,255,.5);color:#fff}
.mobile-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:9px;flex-direction:column;justify-content:center;gap:5px}
.mobile-toggle span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:.2s ease}
.mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Homepage hero */
.home-hero{padding:calc(var(--header) + 72px) 0 74px;overflow:hidden;position:relative}
.home-hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-280px;top:110px;background:#eadfd1;filter:blur(2px);z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);gap:76px;align-items:center}
.hero-copy{padding:22px 0}
.hero-copy h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(4rem,7.3vw,7.1rem);line-height:.86;letter-spacing:-.055em;margin:20px 0 30px;color:var(--green)}
.hero-copy h1 em{font-weight:600;color:var(--red)}
.hero-copy>p{font-size:1.16rem;line-height:1.75;color:#62675f;max-width:660px;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-proof{display:flex;align-items:stretch;gap:0;margin-top:50px;border-top:1px solid var(--line);padding-top:24px;max-width:650px}
.rating-mini,.hero-address{display:flex;flex-direction:column;gap:2px;padding-right:28px}
.hero-address{padding:0 0 0 28px;border-left:1px solid var(--line)}
.rating-mini strong,.hero-address strong{font-size:.96rem;color:var(--green)}
.rating-mini span,.hero-address span{font-size:.82rem;color:var(--muted)}
.hero-visual{position:relative;min-height:650px}
.hero-visual:before{content:"";position:absolute;inset:28px -24px -24px 40px;background:var(--green);border-radius:38px;z-index:-1}
.hero-visual img{height:650px;object-fit:cover;object-position:center;border-radius:38px;box-shadow:var(--shadow)}
.hero-photo-note{position:absolute;left:-34px;bottom:38px;background:var(--paper);border-radius:18px;padding:17px 22px;box-shadow:0 18px 40px rgba(20,30,23,.18);display:flex;flex-direction:column;line-height:1.15}
.hero-photo-note span{font-size:.73rem;text-transform:uppercase;letter-spacing:.15em;color:var(--red);font-weight:700}
.hero-photo-note strong{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;color:var(--green);margin-top:5px}

/* Story */
.story-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:84px;align-items:center}
.story-photo{position:relative}
.story-photo img{height:570px;object-fit:cover;border-radius:var(--radius)}
.photo-caption{position:absolute;left:18px;bottom:18px;background:rgba(255,250,244,.93);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font-size:.74rem;color:var(--green);font-weight:700}
.story-copy{max-width:540px}
.story-line{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.55rem;line-height:1.35;border-top:1px solid var(--line);padding-top:25px;margin:28px 0 22px}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--green);border-bottom:1px solid rgba(18,60,43,.28);padding-bottom:4px}
.text-link span{transition:.2s ease}.text-link:hover span{transform:translate(2px,-2px)}

/* Menu showcase */
.menu-showcase{background:var(--green);color:#fff}
.section-heading{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end;margin-bottom:52px}
.section-heading.inverse .eyebrow{color:#efb59f}.section-heading.inverse .section-title{margin-bottom:0}
.section-heading.inverse>p{color:rgba(255,255,255,.68);font-size:1rem;line-height:1.7;max-width:520px;margin:0 0 7px}
.menu-showcase-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:58px;align-items:stretch}
.menu-photo{position:relative;overflow:hidden;border-radius:var(--radius);min-height:610px}
.menu-photo img{height:100%;min-height:610px;object-fit:cover}
.menu-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(8,27,19,.72))}
.menu-photo-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.34)}
.menu-photo-caption span{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem}.menu-photo-caption strong{font-size:.92rem;white-space:nowrap}
.dish-list{border-top:1px solid var(--white-line)}
.dish-row{display:grid;grid-template-columns:42px 1fr auto;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--white-line);transition:.2s ease}
.dish-row:hover{padding-left:10px;background:rgba(255,255,255,.025)}
.dish-index{font-size:.7rem;color:#e8b39d;letter-spacing:.12em}
.dish-row strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.18rem;line-height:1.2}
.dish-row small{display:block;color:rgba(255,255,255,.58);font-size:.78rem;margin-top:6px;line-height:1.5}
.dish-row b{font-size:.82rem;color:#f0b39b;white-space:nowrap}
.menu-bottom-action{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:38px}
.menu-bottom-action>span{font-size:.78rem;color:rgba(255,255,255,.52)}

/* Social / editorial */
.social-section{background:var(--cream)}
.social-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.social-top .section-title{margin-bottom:0}
.social-grid{display:grid;grid-template-columns:1.45fr .78fr .78fr;grid-template-rows:260px 260px;gap:18px}
.social-image{overflow:hidden;border-radius:var(--radius)}
.social-image img{height:100%;object-fit:cover}
.social-image-wide{grid-row:1/3}
.social-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.social-card>span{font-size:.7rem;letter-spacing:.12em;color:var(--red);margin-bottom:auto}
.social-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.55rem;line-height:1.08;margin:18px 0 10px;color:var(--green)}
.social-card p{font-size:.87rem;color:var(--muted);margin:0;line-height:1.62}
.social-card-red{background:var(--red);border-color:transparent;color:#fff;grid-row:1/3}
.social-card-red>span,.social-card-red h3{color:#fff}.social-card-red p{color:rgba(255,255,255,.74)}

/* Reviews */
.reviews-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:84px;align-items:stretch}
.review-score{display:flex;flex-direction:column;justify-content:center;padding-right:58px;border-right:1px solid var(--line)}
.review-score>strong{font-family:'Playfair Display',Georgia,serif;font-size:6.2rem;line-height:.9;color:var(--green);margin:18px 0 8px;letter-spacing:-.06em}
.stars{letter-spacing:.08em;color:var(--red);font-size:1rem}.review-score p{color:var(--muted);font-size:.9rem;margin:9px 0 25px}
.review-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-content:center}
.review-notes article{padding:10px 18px 10px 0}
.review-notes article>span{font-size:.68rem;color:var(--red);letter-spacing:.12em}
.review-notes h3{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.42rem;line-height:1.15;margin:13px 0 10px}
.review-notes p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.65}

/* Location */
.location-section{background:var(--cream)}
.location-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:76px;align-items:center}
.location-image{position:relative}.location-image:before{content:"";position:absolute;inset:22px 24px -22px -22px;border:1px solid rgba(18,60,43,.2);border-radius:34px;z-index:-1}
.location-image img{height:610px;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}
.location-copy{max-width:620px}
.location-details{display:grid;gap:0;border-top:1px solid var(--line);margin-top:30px}
.location-details>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.location-details small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.67rem;padding-top:3px}
.location-details strong{font-size:.96rem;line-height:1.6;color:var(--green)}
.location-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

/* Inner page hero */
.page-hero{padding:calc(var(--header) + 94px) 0 78px;background:var(--green);color:#fff;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-100px;top:-190px}
.page-hero .eyebrow{color:#efb59f}.page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3.4rem,7vw,6.3rem);line-height:.92;letter-spacing:-.05em;margin:16px 0 20px}.page-hero p{color:rgba(255,255,255,.69);max-width:760px;font-size:1.04rem;line-height:1.7}

/* Menu page */
.menu-tools{position:sticky;top:var(--header);z-index:40;background:rgba(244,238,229,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.admin-bar .menu-tools{top:calc(var(--header) + 32px)}
.menu-tools-inner{display:flex;align-items:center;gap:10px;padding:15px 0;overflow-x:auto;scrollbar-width:none}.menu-tools-inner::-webkit-scrollbar{display:none}
.menu-search{min-width:250px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;outline:none}.menu-search:focus{border-color:rgba(18,60,43,.5);box-shadow:0 0 0 3px rgba(18,60,43,.06)}
.menu-chip{border:1px solid var(--line);background:transparent;color:var(--green);border-radius:999px;padding:9px 14px;white-space:nowrap;cursor:pointer}.menu-chip:hover,.menu-chip.active{background:var(--green);color:#fff;border-color:var(--green)}
.menu-section{padding:70px 0 8px;scroll-margin-top:165px}.menu-section h2{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:-.03em;margin:0 0 24px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}.menu-item{padding:21px 0;border-bottom:1px solid var(--line)}
.menu-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.menu-item h3{font-size:1rem;line-height:1.35;margin:0;color:var(--green)}.menu-item .price{font-weight:700;color:var(--red);white-space:nowrap;font-size:.9rem}.menu-item p{color:var(--muted);font-size:.86rem;margin:7px 0 0;line-height:1.55}.menu-note{margin:56px 0 10px;background:#eadfce;border:1px solid rgba(99,77,54,.08);border-radius:22px;padding:24px;color:#5e544a;line-height:1.65}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:stretch}.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:42px}.contact-card h2{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:2.3rem;line-height:1.08;margin:12px 0 26px}.contact-row{padding:17px 0;border-bottom:1px solid var(--line)}.contact-row small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;margin-bottom:4px}.contact-row strong{color:var(--green);line-height:1.55}.contact-actions{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}.contact-visual{position:relative;overflow:hidden;border-radius:var(--radius);min-height:590px}.contact-visual>img{height:100%;min-height:590px;object-fit:cover}.contact-visual-card{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(255,250,244,.94);backdrop-filter:blur(12px);border-radius:20px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.contact-visual-card strong{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.25rem}.contact-visual-card span{font-size:.8rem;color:var(--muted)}.contact-visual-card a{font-size:.8rem;font-weight:700;color:var(--red)}

/* Generic page */
.entry-page{padding:calc(var(--header) + 60px) 0 90px}.entry-page h1,.entry-content h1,.entry-content h2{font-family:'Playfair Display',Georgia,serif;color:var(--green)}

/* Footer */
.site-footer{background:#0e2d21;color:#fff;padding:70px 0 30px;margin-top:0}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:68px}.footer-brand{font-family:'Playfair Display',Georgia,serif;font-size:2rem;letter-spacing:-.025em}.footer-copy{color:rgba(255,255,255,.6);max-width:410px;font-size:.91rem;line-height:1.7}.site-footer .eyebrow{color:#d99a81;margin-bottom:13px}.footer-nav{display:grid;gap:10px;color:rgba(255,255,255,.72);font-size:.88rem}.footer-nav a:hover{color:#fff}.footer-legal{border-top:1px solid rgba(255,255,255,.11);margin-top:48px;padding-top:22px;color:rgba(255,255,255,.42);font-size:.72rem;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}

/* Motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}

/* Mobile quick actions */
.mobile-quickbar{display:none}

@media (max-width:1080px){
  .nav-links{gap:20px}.hero-grid{gap:48px;grid-template-columns:1fr .9fr}.hero-visual,.hero-visual img{min-height:590px;height:590px}.story-grid{gap:54px}.menu-showcase-grid{gap:38px}.social-grid{grid-template-columns:1.35fr .85fr;grid-template-rows:250px 250px 250px}.social-image-wide{grid-row:1/3}.social-card-red{grid-row:1/2}.reviews-grid{gap:50px}.location-grid{gap:50px}
}

@media (max-width:900px){
  :root{--header:76px}.container{width:min(100% - 36px,1240px)}.section{padding:82px 0}
  .nav{height:var(--header)}.brand-wrap{min-width:0}.brand-mark{width:39px;height:39px}.brand-copy strong{font-size:1.08rem}.brand-copy small{display:none}
  .nav-links{display:none;position:absolute;top:var(--header);left:0;right:0;background:#0e2d21;padding:24px 22px 30px;flex-direction:column;align-items:flex-start;gap:20px;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px rgba(10,20,14,.18)}.nav-links.open{display:flex}.nav-cta{display:none}.mobile-toggle{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:52px}.home-hero{padding-top:calc(var(--header) + 58px)}.hero-copy{max-width:760px}.hero-copy h1{font-size:clamp(4rem,12vw,6.5rem)}.hero-visual{max-width:700px;min-height:570px}.hero-visual img{height:570px;min-height:570px;object-position:center 48%}.hero-visual:before{inset:22px -16px -18px 30px}.hero-photo-note{left:18px}
  .story-grid{grid-template-columns:1fr;gap:44px}.story-photo img{height:480px}.story-copy{max-width:760px}
  .section-heading{grid-template-columns:1fr;gap:14px}.menu-showcase-grid{grid-template-columns:1fr;gap:38px}.menu-photo{min-height:460px}.menu-photo img{min-height:460px;height:460px}
  .social-top{align-items:flex-start;flex-direction:column}.social-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px auto auto}.social-image-wide{grid-row:1/2;grid-column:1/-1}.social-card-red{grid-row:auto}.social-card{min-height:240px}
  .reviews-grid{grid-template-columns:1fr;gap:42px}.review-score{padding:0 0 36px;border-right:0;border-bottom:1px solid var(--line)}.review-notes{grid-template-columns:repeat(3,1fr)}
  .location-grid{grid-template-columns:1fr;gap:46px}.location-image{max-width:690px}.location-image img{height:520px}
  .menu-tools{top:var(--header)}.admin-bar .menu-tools{top:calc(var(--header) + 32px)}
  .menu-list{column-gap:36px}.contact-grid{grid-template-columns:1fr}.contact-visual{min-height:520px}.contact-visual>img{min-height:520px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}
}

@media (max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .menu-tools{top:calc(var(--header) + 46px)}}

@media (max-width:620px){
  body{padding-bottom:70px}.container{width:min(100% - 28px,1240px)}.section{padding:68px 0}.section-title{font-size:clamp(2.6rem,13vw,4.1rem)}
  .home-hero{padding:calc(var(--header) + 38px) 0 54px}.hero-copy h1{font-size:clamp(3.65rem,17vw,5.25rem);margin:15px 0 24px}.hero-copy>p{font-size:1rem}.hero-actions .btn{flex:1 1 auto}.hero-proof{margin-top:34px;padding-top:19px}.rating-mini,.hero-address{padding-right:18px}.hero-address{padding-left:18px}.hero-proof span{font-size:.74rem}.hero-visual{min-height:480px}.hero-visual img{height:480px;min-height:480px;border-radius:26px}.hero-visual:before{display:none}.hero-photo-note{left:14px;bottom:14px;padding:14px 17px}.hero-photo-note strong{font-size:1.15rem}
  .story-photo img{height:370px;border-radius:22px}.photo-caption{font-size:.66rem;left:12px;right:12px;text-align:center}.story-line{font-size:1.35rem}
  .menu-showcase{padding-bottom:76px}.section-heading{margin-bottom:34px}.menu-photo{min-height:320px;border-radius:22px}.menu-photo img{height:320px;min-height:320px}.menu-photo-caption{left:18px;right:18px;bottom:17px}.menu-photo-caption span{font-size:1.18rem}.dish-row{grid-template-columns:28px 1fr auto;gap:10px;padding:18px 0}.dish-row strong{font-size:1.02rem}.dish-row small{font-size:.71rem}.dish-row b{font-size:.74rem}.menu-bottom-action{align-items:flex-start;flex-direction:column}
  .social-grid{grid-template-columns:1fr;grid-template-rows:300px}.social-image-wide{grid-column:auto;grid-row:auto}.social-card-red{grid-row:auto}.social-card{min-height:210px;padding:25px}.social-top{margin-bottom:32px}
  .review-score>strong{font-size:5rem}.review-notes{grid-template-columns:1fr}.review-notes article{padding:6px 0 20px;border-bottom:1px solid var(--line)}
  .location-image img{height:420px;border-radius:24px}.location-image:before{display:none}.location-details>div{grid-template-columns:88px 1fr;gap:12px}.location-actions .btn{flex:1 1 auto}
  .page-hero{padding:calc(var(--header) + 62px) 0 56px}.page-hero h1{font-size:clamp(3rem,15vw,4.8rem)}
  .menu-tools-inner{padding:12px 0}.menu-search{min-width:210px}.menu-section{padding-top:54px;scroll-margin-top:148px}.menu-list{grid-template-columns:1fr}.menu-item{padding:18px 0}.menu-note{margin-top:44px}
  .contact-card{padding:28px 24px}.contact-visual{min-height:440px}.contact-visual>img{min-height:440px}.contact-visual-card{left:14px;right:14px;bottom:14px;grid-template-columns:1fr}.contact-visual-card a{margin-top:2px}
  .footer-grid{grid-template-columns:1fr;gap:34px}.footer-grid>:first-child{grid-column:auto}.site-footer{padding:56px 0 28px}.footer-legal{flex-direction:column}
  .mobile-quickbar{position:fixed;z-index:120;left:0;right:0;bottom:0;height:70px;padding:9px 12px;background:rgba(255,250,244,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.mobile-quickbar a{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;color:var(--green);font-weight:700;font-size:.88rem}.mobile-quickbar .mobile-reserve{background:var(--red);border-color:var(--red);color:#fff}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.nav-links a,.text-link span{transition:none}}

/* V3 refinements: privacy-safe imagery, stronger brand and food-first hero */
.brand-wrap{min-width:245px}
.brand{gap:14px}
.brand-mark{width:48px;height:48px;border-color:rgba(255,255,255,.82);border-radius:2px}
.brand-mark span{font-size:.74rem;letter-spacing:.04em}
.brand-copy{gap:3px}
.brand-copy small{order:0;margin:0;font-size:.55rem;letter-spacing:.24em;opacity:.62}
.brand-copy strong{order:1;font-size:1.32rem}

.hero-collage{min-height:650px}
.hero-collage:before{inset:34px -24px -22px 56px;border-radius:38px}
.hero-main-photo{position:absolute;left:0;top:0;right:78px;bottom:70px;overflow:hidden;border-radius:38px;box-shadow:var(--shadow);background:#eadfd1}
.hero-collage .hero-main-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;border-radius:0;box-shadow:none}
.hero-small-photo{position:absolute;right:0;bottom:0;width:42%;height:250px;padding:7px;background:var(--paper);border-radius:24px;box-shadow:0 22px 54px rgba(20,30,23,.2)}
.hero-collage .hero-small-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 56%;border-radius:18px;box-shadow:none}
.hero-collage .hero-photo-note{left:-24px;bottom:32px;z-index:4}

.story-photo img{object-position:center 40%}
.social-image{position:relative}
.social-image-label{position:absolute;left:22px;right:22px;bottom:22px;padding:16px 18px;background:rgba(255,250,244,.94);backdrop-filter:blur(10px);border-radius:16px;display:flex;flex-direction:column;line-height:1.18}
.social-image-label span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:700}
.social-image-label strong{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.2rem;margin-top:5px}

@media (max-width:1080px){
  .hero-collage{min-height:590px}
  .hero-main-photo{right:68px;bottom:64px}
  .hero-small-photo{height:225px}
}

@media (max-width:900px){
  .brand-wrap{min-width:0}.brand-mark{width:43px;height:43px}.brand-copy strong{font-size:1.16rem}.brand-copy small{display:block;font-size:.48rem}
  .hero-collage{max-width:700px;min-height:560px;height:560px}
  .hero-collage:before{inset:25px -14px -16px 38px}
  .hero-main-photo{right:82px;bottom:66px}
  .hero-small-photo{width:40%;height:220px}
  .hero-collage .hero-photo-note{left:18px;bottom:18px}
}

@media (max-width:620px){
  .brand-copy small{display:none}.brand-copy strong{font-size:1.05rem}.brand-mark{width:39px;height:39px}
  .hero-collage{min-height:455px;height:455px}
  .hero-main-photo{right:44px;bottom:62px;border-radius:26px}
  .hero-small-photo{width:44%;height:170px;padding:5px;border-radius:19px}
  .hero-collage .hero-small-photo img{border-radius:14px}
  .hero-collage .hero-photo-note{left:10px;bottom:14px;max-width:195px;padding:12px 14px}
  .hero-collage .hero-photo-note strong{font-size:1.02rem}
  .social-image-label{left:14px;right:14px;bottom:14px;padding:13px 14px}
  .social-image-label strong{font-size:1.05rem}
}


/* V5: correct logo sizing and protect page imagery from logo uploads */
.brand-wrap{min-width:190px}
.brand{max-width:220px}
.brand-logo-box{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,250,244,.98);padding:8px 14px;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.08);max-height:60px;overflow:hidden}
.brand-logo-box .custom-logo-link{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.brand-logo-box .custom-logo{display:block;width:auto!important;height:auto!important;max-height:42px!important;max-width:170px!important;object-fit:contain}

@media (max-width:900px){
  .brand{max-width:155px}
  .brand-logo-box{padding:6px 10px;border-radius:14px;max-height:52px}
  .brand-logo-box .custom-logo{max-height:34px!important;max-width:130px!important}
}


/* V6: official header logo and warmer, atmosphere-first presentation */
.brand-wrap{min-width:210px}
.brand-official{max-width:none}
.brand-logo-box{background:transparent;box-shadow:none;padding:0;max-height:none;border-radius:0;overflow:visible}
.brand-logo-img{display:block;width:auto;height:auto;max-height:62px;max-width:230px;object-fit:contain}

.hero-main-photo img{object-position:center}
.hero-small-photo{height:230px}
.hero-small-photo img{object-position:center}
.hero-photo-note{max-width:330px}
.hero-photo-note strong{font-size:1.18rem;line-height:1.18}
.story-photo img{object-position:center}
.social-image.social-image-wide img{object-position:center}

@media (max-width:900px){
  .brand-logo-img{max-height:46px;max-width:165px}
}

/* V7 — Native restaurant menu */
.menu-page-v7{background:var(--cream)}
.menu-hero-v7{padding:calc(var(--header) + 84px) 0 72px;background:var(--green);color:#fff;position:relative;overflow:hidden}
.menu-hero-v7:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:-300px;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012)}
.menu-hero-grid-v7{display:grid;grid-template-columns:1.12fr .72fr;gap:80px;align-items:end;position:relative;z-index:1}
.menu-hero-v7 .eyebrow{color:#efb59f}
.menu-hero-v7 h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3.7rem,7vw,6.7rem);line-height:.9;letter-spacing:-.055em;margin:14px 0 0;max-width:760px}
.menu-hero-side-v7{border-left:1px solid rgba(255,255,255,.18);padding-left:34px;margin-bottom:6px}
.menu-hero-side-v7 p{font-size:1.02rem;line-height:1.75;color:rgba(255,255,255,.72);margin:0 0 20px;max-width:500px}
.menu-hero-side-v7 span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#efb59f;font-weight:700}

.menu-nav-shell-v7{position:sticky;top:var(--header);z-index:45;background:rgba(244,238,229,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 24px rgba(25,38,30,.04)}
.admin-bar .menu-nav-shell-v7{top:calc(var(--header) + 32px)}
.menu-main-tabs-v7{display:flex;align-items:center;gap:4px;padding-top:13px;overflow:auto;scrollbar-width:none}
.menu-main-tabs-v7::-webkit-scrollbar,.menu-category-nav-v7::-webkit-scrollbar{display:none}
.menu-main-tab-v7{border:0;background:transparent;color:#6e716b;padding:12px 19px;border-radius:999px;font-weight:700;white-space:nowrap;cursor:pointer;transition:.18s ease}
.menu-main-tab-v7:hover{color:var(--green);background:rgba(18,60,43,.055)}
.menu-main-tab-v7.active{background:var(--green);color:#fff}
.menu-search-row-v7{display:flex;align-items:center;gap:20px;padding:12px 0 10px}
.menu-search-wrap-v7{height:46px;display:flex;align-items:center;gap:9px;flex:0 1 520px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 13px 0 16px;transition:.18s ease}
.menu-search-wrap-v7:focus-within{border-color:rgba(18,60,43,.44);box-shadow:0 0 0 4px rgba(18,60,43,.05)}
.menu-search-wrap-v7>span{font-family:Georgia,serif;font-size:1.25rem;color:#8c8d86;line-height:1}
.menu-search-v7{width:100%;border:0;outline:0;background:transparent;color:var(--ink);padding:0;font-size:.91rem}
.menu-search-v7::placeholder{color:#999a94}
.menu-search-clear-v7{width:28px;height:28px;display:grid;place-items:center;border:0;background:#f0ebe3;color:#77766f;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1}
.menu-results-v7{font-size:.78rem;color:var(--muted);white-space:nowrap;margin-left:auto}
.menu-category-nav-v7{display:flex;gap:8px;padding:0 0 13px;overflow:auto;scrollbar-width:none}
.menu-cat-chip-v7{border:1px solid var(--line);background:rgba(255,255,255,.34);color:var(--green);border-radius:999px;padding:7px 12px;font-size:.76rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:.18s ease}
.menu-cat-chip-v7:hover,.menu-cat-chip-v7.active{border-color:rgba(18,60,43,.45);background:#fff}

.menu-content-v7{padding:66px 0 96px}
.menu-group-panel-v7[hidden]{display:none!important}
.menu-group-intro-v7{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:end;padding:0 0 34px;border-bottom:1px solid var(--line)}
.menu-group-intro-v7 h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(3rem,5.2vw,5rem);line-height:.92;letter-spacing:-.045em;color:var(--green);margin:12px 0 0}
.menu-group-intro-v7 p{max-width:590px;color:var(--muted);font-size:1rem;line-height:1.75;margin:0 0 8px}
.menu-category-v7{padding:58px 0 12px;scroll-margin-top:220px}
.menu-category-head-v7{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.menu-category-head-v7 h3{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1;margin:0}
.menu-category-head-v7>span{font-size:.7rem;color:#92938d;text-transform:uppercase;letter-spacing:.11em;padding-bottom:3px;white-space:nowrap}
.menu-grid-v7{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:54px;border-top:1px solid var(--line)}
.menu-card-v7{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);min-height:98px;align-items:start}
.menu-card-title-v7{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.menu-card-v7 h4{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.06rem;line-height:1.28;margin:0;font-weight:700}
.menu-card-v7 p{color:var(--muted);font-size:.8rem;line-height:1.52;margin:6px 0 0;max-width:530px}
.menu-meta-v7{color:#96958e;font-size:.7rem;line-height:1.4;margin-top:7px;letter-spacing:.025em}
.menu-price-v7{color:var(--red);font-size:.86rem;white-space:nowrap;padding-top:2px}
.menu-badge-v7{display:inline-flex;border-radius:999px;padding:3px 7px;background:#eee2d4;color:var(--red-dark);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.menu-card-v7.is-filtered-out{display:none}
.menu-category-v7.is-filtered-out{display:none}
.menu-source-note-v7{margin:70px 0 0;padding:34px 38px;background:var(--paper);border:1px solid var(--line);border-radius:26px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}
.menu-source-note-v7 h3{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.7rem;margin:8px 0 8px}
.menu-source-note-v7 p{color:var(--muted);font-size:.86rem;line-height:1.65;margin:0;max-width:760px}
.menu-no-results-v7{margin:40px 0 90px;padding:48px 24px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:24px}
.menu-no-results-v7 strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;color:var(--green)}
.menu-no-results-v7 span{display:block;color:var(--muted);font-size:.86rem;margin-top:7px}

@media (max-width:900px){
  .menu-hero-grid-v7{grid-template-columns:1fr;gap:30px}.menu-hero-side-v7{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:23px 0 0;margin:0}.menu-hero-v7{padding-top:calc(var(--header) + 58px)}
  .menu-group-intro-v7{grid-template-columns:1fr;gap:20px}.menu-grid-v7{grid-template-columns:1fr}.menu-source-note-v7{grid-template-columns:1fr}.menu-source-note-v7 .btn{justify-self:start}
  .menu-results-v7{display:none}.menu-search-wrap-v7{flex:1 1 auto}
}
@media (max-width:782px){.admin-bar .menu-nav-shell-v7{top:calc(var(--header) + 46px)}}
@media (max-width:640px){
  .menu-hero-v7{padding-bottom:52px}.menu-hero-v7 h1{font-size:clamp(3.2rem,15vw,4.5rem)}.menu-hero-side-v7 p{font-size:.92rem}
  .menu-main-tabs-v7{margin:0 -2px;padding-top:10px}.menu-main-tab-v7{padding:9px 13px;font-size:.78rem}.menu-search-row-v7{padding:9px 0}.menu-search-wrap-v7{height:43px}.menu-category-nav-v7{padding-bottom:10px}
  .menu-content-v7{padding-top:44px;padding-bottom:72px}.menu-group-intro-v7{padding-bottom:26px}.menu-group-intro-v7 h2{font-size:3rem}.menu-group-intro-v7 p{font-size:.9rem}
  .menu-category-v7{padding-top:45px;scroll-margin-top:210px}.menu-category-head-v7 h3{font-size:2.25rem}.menu-category-head-v7>span{font-size:.6rem}.menu-card-v7{gap:12px;padding:17px 0;min-height:0}.menu-card-v7 h4{font-size:1rem}.menu-card-v7 p{font-size:.78rem}.menu-price-v7{font-size:.82rem}.menu-source-note-v7{padding:26px 22px;margin-top:55px}
}
