
:root{
  --cream:#f5f0e8;
  --paper:#fbf8f2;
  --olive:#66704c;
  --terracotta:#a96745;
  --charcoal:#242321;
  --sand:#e8dfd0;
  --navy:#233746;
  --copper:#b97952;
  --gold:#c4a46d;
  --wine:#5a2f34;
  --line:rgba(36,35,33,.14);
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--charcoal);line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1220px,calc(100% - 40px));margin:auto}
.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:800}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;margin:0 0 18px}
h1{font-size:clamp(4rem,9vw,8.8rem);letter-spacing:-.06em}
h2{font-size:clamp(2.7rem,5.4vw,5.4rem);letter-spacing:-.04em}
h3{font-size:clamp(1.5rem,2.5vw,2.2rem)}
p{margin:0 0 20px}
.lead{font-size:clamp(1.12rem,2vw,1.42rem)}
.muted{opacity:.72}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;border:1px solid currentColor;font-weight:800;font-size:.88rem;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn.light{background:#fff;color:#222;border-color:#fff}
.btn.ghost{background:transparent;color:inherit}
.btn.whatsapp{background:#176b43;color:#fff;border-color:#176b43}
.nav{position:fixed;z-index:50;left:0;right:0;top:0;padding:18px 0;color:#fff;transition:.25s}
.nav.scrolled{background:rgba(25,25,23,.92);backdrop-filter:blur(14px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.site-logo{width:205px;max-height:58px;object-fit:contain}
.nav-links{display:flex;gap:22px;align-items:center;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.menu-button{display:none;background:none;border:0;color:inherit;font-size:1.5rem}
.section{padding:120px 0}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.editorial-grid.reverse{grid-template-columns:1fr 1fr}
.editorial-grid.reverse .editorial-copy{order:-1}
.editorial-grid img{width:100%;height:680px;object-fit:cover}
.editorial-copy{max-width:520px}
.full-bleed{width:100%;height:72vh;min-height:560px;object-fit:cover}
.quote-block{padding:120px 0;text-align:center}
.quote-block blockquote{font:500 clamp(2.4rem,5vw,5.2rem)/1.12 var(--serif);max-width:1050px;margin:0 auto}
.masonry{columns:3 260px;column-gap:16px}
.masonry figure{break-inside:avoid;margin:0 0 16px}
.masonry img{width:100%;border-radius:18px}
.page-hero{min-height:85vh;display:flex;align-items:flex-end;color:#fff;padding:180px 0 85px;background-position:center;background-size:cover}
.page-hero .lead{max-width:720px}
.section-index{position:sticky;top:72px;z-index:20;background:rgba(251,248,242,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.section-index .container{display:flex;gap:18px;overflow:auto;padding:14px 0;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.floating-reserve{position:fixed;right:22px;bottom:22px;z-index:45;box-shadow:0 14px 35px rgba(0,0,0,.18);background:var(--terracotta);color:#fff;border-color:var(--terracotta)}
footer{padding:70px 0 25px;background:#242321;color:#efe9df}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}
.footer-logo{width:230px}
.legal{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding-top:22px;font-size:.8rem}

/* HOME */
body.home-page{background:var(--paper)}
.home-hero{min-height:100svh;display:flex;align-items:flex-end;color:#fff;padding:160px 0 70px;background:
linear-gradient(90deg,rgba(24,18,14,.70),rgba(24,18,14,.08)),
url('images/restaurant_hero.webp') center/cover}
.home-hero p{max-width:680px}
.home-intro{background:var(--cream)}
.home-universe{display:grid;gap:0}
.home-universe article{display:grid;grid-template-columns:1.1fr .9fr;min-height:78vh}
.home-universe article:nth-child(even){grid-template-columns:.9fr 1.1fr}
.home-universe article:nth-child(even) .universe-image{order:2}
.universe-image{width:100%;height:100%;object-fit:cover}
.universe-copy{display:flex;align-items:center;padding:8vw;background:var(--paper)}
.universe-copy.dark{background:var(--charcoal);color:#fff}
.universe-copy.blue{background:#edf3f4;color:var(--navy)}
.universe-copy.olive{background:#4d563e;color:#fff}
.home-gallery{padding:100px 0;background:#f0e8dc}

/* PAGE THEMES */
body.theme-osteria{background:#f7f0e6}
body.theme-osteria .page-hero{background-image:linear-gradient(90deg,rgba(45,28,17,.67),rgba(45,28,17,.08)),url('images/osteria-hero-v52.webp')}
body.theme-osteria .kicker{color:var(--terracotta)}
body.theme-osteria .btn{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}

body.theme-bottega{background:#262a22;color:#f4efe6}
body.theme-bottega .page-hero{background-image:linear-gradient(90deg,rgba(20,25,18,.68),rgba(20,25,18,.05)),url('images/bottega-hero-clean.png')}
body.theme-bottega .section{background:#262a22}
body.theme-bottega .section.alt{background:#3e4635}
body.theme-bottega .kicker{color:var(--gold)}
body.theme-bottega .btn{background:var(--gold);color:#262a22;border-color:var(--gold)}

body.theme-cambusa{background:#f7fafb;color:var(--navy)}
body.theme-cambusa .page-hero{background-image:linear-gradient(90deg,rgba(25,48,65,.58),rgba(25,48,65,.02)),url('images/cambusa-hero-v52.webp')}
body.theme-cambusa .section.alt{background:#edf3f4}
body.theme-cambusa .kicker{color:#5d8da8}
body.theme-cambusa .btn{background:var(--navy);color:#fff;border-color:var(--navy)}

body.theme-copo{background:#171717;color:#f4eee7}
body.theme-copo .page-hero{background-image:linear-gradient(90deg,rgba(10,10,10,.72),rgba(10,10,10,.06)),url('images/copo_hero-v56.webp')}
body.theme-copo .section{background:#171717}
body.theme-copo .section.alt{background:#242424}
body.theme-copo .kicker{color:var(--copper)}
body.theme-copo .btn{background:var(--copper);color:#fff;border-color:var(--copper)}

body.theme-events{background:#faf7f1}
body.theme-events .page-hero{background-image:linear-gradient(90deg,rgba(43,36,29,.50),rgba(43,36,29,.02)),url('images/events_hero-v56.webp')}
body.theme-events .section.alt{background:#efe8dd}
body.theme-events .kicker{color:#7a6d54}
body.theme-events .btn{background:#7a6d54;color:#fff;border-color:#7a6d54}

/* MENU */
body.theme-menu{background:#f8f3eb}
.menu-hero{min-height:86vh;color:#fff;display:flex;align-items:flex-end;padding:180px 0 70px;background:linear-gradient(90deg,rgba(29,20,14,.72),rgba(29,20,14,.12)),url('images/menu-fresh_pasta_intro.webp') center/cover}
.menu-intro-white{color:#fff}
.dish-gallery{width:min(1220px,calc(100% - 40px));margin:0 auto 90px;display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:240px;gap:14px}
.dish-gallery figure{margin:0;overflow:hidden}
.dish-gallery img{width:100%;height:100%;object-fit:cover}
.dish-gallery figure:first-child{grid-row:span 2}
.dish-gallery figure:nth-child(4){grid-column:span 2}
.menu-controls{display:flex;gap:9px;flex-wrap:wrap;padding:28px 0}
.filter{border:1px solid var(--line);background:transparent;padding:10px 15px;border-radius:999px;font-weight:800}
.filter.active,.filter:hover{background:var(--charcoal);color:#fff}
.menu-section{padding:95px 0;border-top:1px solid var(--line)}
.menu-section>h2{width:min(1220px,calc(100% - 40px));margin:0 auto 35px}
.menu-section-visual{width:min(1220px,calc(100% - 40px));margin:0 auto 40px}
.menu-section-visual img{width:100%;height:auto;max-height:620px;object-fit:cover}
.menu-grid{width:min(1220px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 46px}
.menu-item{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:15px}
.menu-item-with-photo{display:block;border:0;padding:0 0 28px}
.menu-dish-image{height:330px;overflow:hidden}
.menu-dish-image img{width:100%;height:100%;object-fit:cover}
.menu-item-with-photo>div:not(.menu-dish-image){padding:22px 0 0}
.price{font:600 1.08rem var(--serif);white-space:nowrap}
.allergens{font-size:.72rem!important;margin-top:7px!important;opacity:.65}
.foc-group{width:min(1220px,calc(100% - 40px));margin:70px auto 25px}
.foc-group .menu-section-visual{width:100%}
.focus-food-hero img{height:500px;object-fit:cover}
.water-product{width:min(1000px,calc(100% - 40px));margin:30px auto 50px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;background:var(--cream);padding:34px}
.water-product img{max-height:560px;object-fit:contain}

@media(max-width:900px){
 .nav-links{display:none;position:absolute;top:70px;left:18px;right:18px;background:#fff;color:#222;padding:25px;flex-direction:column;align-items:flex-start}
 .nav-links.open{display:flex}
 .menu-button{display:block}
 .editorial-grid,.home-universe article,.home-universe article:nth-child(even){grid-template-columns:1fr}
 .home-universe article:nth-child(even) .universe-image{order:0}
 .editorial-grid img{height:500px}
 .footer-grid{grid-template-columns:1fr 1fr}
 .menu-grid{grid-template-columns:1fr}
 .dish-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
 .dish-gallery figure:first-child{grid-row:span 1}
 .dish-gallery figure:nth-child(4){grid-column:span 1}
 .water-product{grid-template-columns:1fr}
}
@media(max-width:560px){
 .container{width:min(100% - 28px,1220px)}
 .section{padding:80px 0}
 .dish-gallery{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}
 .site-logo{width:170px}
 .floating-reserve{right:14px;bottom:14px}
}

/* V6.1 requested refinements */
.menu-hero-centered{
  text-align:center;
  align-items:center;
  justify-content:center;
  padding-top:150px;
  padding-bottom:80px;
}
.menu-hero-content-centered{
  max-width:900px;
  margin-inline:auto;
}
.menu-hero-centered h1,
.menu-hero-centered p,
.menu-hero-centered .kicker{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.foc-group-fullwidth{
  width:100%!important;
  max-width:none!important;
  margin:80px 0 30px!important;
}
.foc-group-fullwidth .menu-subgroup{
  width:min(1220px,calc(100% - 40px));
  margin:0 auto 24px;
}
.focaccia-fullwidth-visual{
  width:100%!important;
  max-width:none!important;
  margin:0 0 36px!important;
}
.focaccia-fullwidth-visual img{
  width:100%!important;
  height:520px!important;
  max-height:520px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
.footer-nav-link{
  display:block!important;
  margin:7px 0!important;
  white-space:normal!important;
}
@media(max-width:700px){
  .focaccia-fullwidth-visual img{
    height:300px!important;
  }
}

/* V6.2 contact, hours, focaccia and Cambusa refinements */
.cta{background:#e9dfcf;color:#242321}
.cta .cta-hours{color:#5a2f34!important;opacity:1;font-weight:900}
.cta h2{color:#242321}
.foc-group-salad-style{
  grid-column:1 / -1;
  width:100%;
  margin:70px 0 28px;
}
.foc-group-salad-style .menu-subgroup{
  width:100%;
  margin:0 0 24px;
}
.focaccia-group-visual{
  width:100%!important;
  margin:0!important;
}
.focaccia-group-visual img{
  width:100%!important;
  height:500px!important;
  max-height:500px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}
.service-grid,.package-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:42px;
}
.package-grid{grid-template-columns:repeat(4,1fr)}
.service-grid article,.package-grid article{
  padding:28px;
  border:1px solid rgba(35,55,70,.15);
  background:rgba(255,255,255,.45);
}
footer p{margin-bottom:18px}
@media(max-width:900px){
  .service-grid,.package-grid{grid-template-columns:1fr 1fr}
  .focaccia-group-visual img{height:360px!important}
}
@media(max-width:560px){
  .service-grid,.package-grid{grid-template-columns:1fr}
  .focaccia-group-visual img{height:260px!important}
}

/* V6.3 */
.actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  align-items:center!important;
}
.actions .single-reserve-btn{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  z-index:auto!important;
}
.footer-light{
  background:#e7dac4!important;
  color:#26343b!important;
  border-top:1px solid rgba(38,52,59,.14)!important;
}
.footer-light h3,
.footer-light p,
.footer-light a{
  color:#26343b!important;
}
.footer-light a:hover{
  color:#995f3d!important;
}

/* V6.4 rechecked button corrections */
.inline-reserve-btn{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  z-index:auto!important;
  display:inline-flex!important;
}
body.menu-page .floating-reserve,
body.bottega-page .floating-reserve,
.menu-hero .floating-reserve,
.page-bottega .floating-reserve{
  display:none!important;
}

/* V6.5 */
.footer-brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.footer-logo-2026{
  width:min(250px,72vw)!important;
  height:auto!important;
  display:block!important;
  margin:0 auto 14px!important;
  object-fit:contain!important;
}
.footer-tagline{
  max-width:460px!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.55!important;
}
.contact-hours{text-align:center!important}
.contact-details-section{background:#f4ede2!important}
.contact-details-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.contact-card{
  padding:30px!important;
  background:#fffaf3!important;
  border:1px solid rgba(38,52,59,.12)!important;
  text-align:center!important;
}
.contact-card h3{margin:0 0 14px!important}
.contact-card a{font-size:1.08rem!important;font-weight:700!important}
@media(max-width:800px){
  .contact-details-grid{grid-template-columns:1fr!important}
}


/* V7 footer and CTA refinements */
.footer-v7{background:#e9dfc8;color:#26343b;padding:70px 0 24px;}
.footer-grid-v7{display:grid;grid-template-columns:1.25fr 1fr .75fr 1fr;gap:64px;align-items:start;}
.footer-identity{text-align:center;}
.footer-main-logo{display:block;width:min(310px,100%);height:auto;margin:0 auto 20px;object-fit:contain;}
.footer-identity p{max-width:420px;margin:0 auto;font-size:1.05rem;line-height:1.55;}
.footer-v7 h3{font-family:var(--font-display, Georgia, serif);font-size:2rem;line-height:1.05;margin:0 0 24px;color:#26343b;}
.footer-v7 p{line-height:1.55;margin:0 0 18px;}
.footer-v7 a{color:inherit;text-decoration:none;}
.footer-v7 a:hover{color:#b36b45;}
.footer-discover a{display:block;margin:0 0 16px;}
.footer-contact p{margin-bottom:24px;}
.footer-v7 .legal{border-top:1px solid rgba(38,52,59,.12);margin-top:58px;padding-top:24px;font-size:.95rem;}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.actions .btn{margin:0!important;}
@media(max-width:1000px){.footer-grid-v7{grid-template-columns:1fr 1fr;gap:44px;}}
@media(max-width:640px){.footer-v7{padding-top:48px}.footer-grid-v7{grid-template-columns:1fr;gap:36px}.footer-identity{text-align:left}.footer-main-logo{margin-left:0;width:250px}.footer-identity p{margin-left:0;text-align:left}.footer-v7 h3{font-size:1.7rem}.footer-v7 .legal{margin-top:40px}}


/* V8 navigation logo, contact carousel and map */
.site-logo-link{display:flex!important;align-items:center!important;flex:0 0 auto!important;}
.site-logo{display:block!important;width:112px!important;max-height:64px!important;height:auto!important;object-fit:contain!important;}

.contact-carousel{position:relative!important;min-height:720px!important;overflow:hidden!important;background:#18242a!important;padding:0!important;display:flex!important;align-items:center!important;}
.contact-slides,.contact-slide{position:absolute!important;inset:0!important;margin:0!important;}
.contact-slide{opacity:0!important;visibility:hidden!important;transition:opacity .75s ease,visibility .75s ease!important;}
.contact-slide.active{opacity:1!important;visibility:visible!important;}
.contact-slide img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;}
.contact-carousel-shade{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(18,24,27,.68) 0%,rgba(18,24,27,.32) 52%,rgba(18,24,27,.10) 100%)!important;z-index:1!important;}
.contact-hero-content{position:relative!important;z-index:2!important;color:#fff!important;padding-left:clamp(70px,10vw,170px)!important;padding-right:80px!important;}
.contact-hero-content .kicker,.contact-hero-content h1,.contact-hero-content .lead{color:#fff!important;text-align:left!important;}
.contact-hero-content h1{max-width:700px!important;margin:14px 0 24px!important;}
.contact-hero-content .contact-hours{margin:0!important;}
.carousel-arrow{position:absolute!important;top:50%!important;z-index:3!important;transform:translateY(-50%)!important;width:48px!important;height:48px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.75)!important;background:rgba(20,25,28,.28)!important;color:#fff!important;font-size:32px!important;line-height:1!important;cursor:pointer!important;backdrop-filter:blur(4px)!important;}
.carousel-prev{left:24px!important}.carousel-next{right:24px!important}
.carousel-dots{position:absolute!important;left:50%!important;bottom:28px!important;z-index:3!important;transform:translateX(-50%)!important;display:flex!important;gap:10px!important;}
.carousel-dot{width:10px!important;height:10px!important;border-radius:50%!important;border:1px solid #fff!important;background:transparent!important;padding:0!important;cursor:pointer!important;}
.carousel-dot.active{background:#fff!important;}
.contact-map-section{background:#f4ede2!important;}
.contact-map-grid{display:grid!important;grid-template-columns:minmax(260px,.7fr) minmax(480px,1.3fr)!important;gap:48px!important;align-items:center!important;}
.contact-map-copy h2{margin:12px 0 10px!important;}
.contact-map-copy p{font-size:1.1rem!important;margin-bottom:26px!important;}
.contact-map-frame{display:block!important;min-height:430px!important;border-radius:4px!important;overflow:hidden!important;box-shadow:0 18px 50px rgba(29,37,40,.15)!important;background:#ddd!important;}
.contact-map-frame iframe{width:100%!important;height:430px!important;border:0!important;display:block!important;pointer-events:auto!important;}
@media(max-width:800px){
 .site-logo{width:92px!important;max-height:54px!important;}
 .contact-carousel{min-height:620px!important;}
 .contact-hero-content{padding:110px 54px 90px!important;}
 .carousel-prev{left:10px!important}.carousel-next{right:10px!important}
 .contact-map-grid{grid-template-columns:1fr!important;gap:28px!important;}
 .contact-map-frame,.contact-map-frame iframe{min-height:360px!important;height:360px!important;}
}

/* V9: always-visible home logo in the top-left corner */
.site-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:60!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  background:rgba(245,240,232,.94)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.site-logo-link:hover{transform:translateY(-1px)}
.site-logo{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
}
@media (max-width:760px){
  .site-logo-link{padding:6px 9px!important;border-radius:10px!important}
  .site-logo{width:92px!important;max-height:48px!important}
}


/* V10: restore small white home logo */
.site-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:60!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.site-logo-link:hover{transform:none!important;opacity:.9!important;}
.site-logo{
  display:block!important;
  width:108px!important;
  height:auto!important;
  max-height:62px!important;
  object-fit:contain!important;
}
@media (max-width:760px){
  .site-logo-link{padding:0!important;}
  .site-logo{width:88px!important;max-height:50px!important;}
}

/* V11 — Tablet and mobile responsive adaptation */
html,body{max-width:100%;overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}

@media (max-width:1100px){
  .container{width:min(100% - 48px,1220px)}
  .nav{padding:14px 0}
  .nav-inner{gap:16px}
  .nav-links{gap:15px;font-size:.7rem}
  .site-logo{width:98px!important}
  h1{font-size:clamp(3.7rem,8.4vw,6.4rem)}
  h2{font-size:clamp(2.5rem,5.8vw,4.4rem)}
  .section{padding:92px 0}
  .editorial-grid{gap:46px}
  .editorial-grid img{height:560px}
  .home-universe article,.home-universe article:nth-child(even){min-height:640px;grid-template-columns:1fr 1fr}
  .universe-copy{padding:7vw 5vw}
  .dish-gallery{grid-auto-rows:210px}
  .menu-dish-image{height:280px}
  .focaccia-group-visual img,.focaccia-fullwidth-visual img{height:420px!important}
  .footer-grid-v7{gap:38px}
  .footer-main-logo{width:min(260px,100%)}
}

@media (max-width:900px){
  .nav{padding:12px 0}
  .nav.scrolled{background:rgba(25,25,23,.96)}
  .nav-inner{position:relative}
  .menu-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:0;cursor:pointer}
  .menu-button::before{content:'☰';font-size:1.45rem;line-height:1}
  .nav-links{display:none;position:fixed;top:76px;left:20px;right:20px;max-height:calc(100svh - 96px);overflow-y:auto;background:rgba(250,247,241,.98);color:#242321;padding:24px;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);flex-direction:column;align-items:stretch;gap:0;z-index:70}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:13px 4px;border-bottom:1px solid rgba(36,35,33,.12);font-size:.84rem}
  .nav-links a:last-child{border-bottom:0}
  body.nav-open{overflow:hidden}

  .page-hero,.menu-hero{min-height:72svh;padding:145px 0 58px;background-position:center}
  .home-hero{min-height:88svh;padding:135px 0 54px;background-position:58% center}
  .home-hero .lead,.page-hero .lead{max-width:620px}
  .actions{gap:10px!important}
  .btn{min-height:50px;padding:0 20px}

  .editorial-grid,.editorial-grid.reverse{grid-template-columns:1fr;gap:32px}
  .editorial-grid.reverse .editorial-copy{order:0}
  .editorial-copy{max-width:680px}
  .editorial-grid img{height:min(62vw,520px)}
  .full-bleed{height:62svh;min-height:420px}
  .quote-block{padding:88px 0}

  .home-universe article,.home-universe article:nth-child(even){grid-template-columns:1fr;min-height:0}
  .home-universe article:nth-child(even) .universe-image{order:0}
  .universe-image{height:58vw;min-height:390px;max-height:580px}
  .universe-copy{padding:62px 32px;min-height:390px}
  .home-gallery{padding:78px 0}
  .masonry{columns:2 260px}

  .section-index{top:68px}
  .section-index .container{gap:8px;padding:11px 0}
  .section-index a{flex:0 0 auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px}

  .menu-section{padding:72px 0}
  .menu-grid{grid-template-columns:1fr;gap:0}
  .menu-item-with-photo{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}
  .menu-item-with-photo .menu-dish-image{height:230px}
  .menu-item-with-photo>div:not(.menu-dish-image){padding:0}
  .dish-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px;margin-bottom:68px}
  .dish-gallery figure:first-child,.dish-gallery figure:nth-child(4){grid-row:auto;grid-column:auto}
  .menu-section-visual img{max-height:500px}
  .foc-group,.foc-group-fullwidth{margin-top:58px!important}
  .focaccia-group-visual img,.focaccia-fullwidth-visual img,.focus-food-hero img{height:360px!important}
  .water-product{grid-template-columns:.8fr 1.2fr;gap:28px;padding:28px}
  .water-product img{max-height:420px}

  .service-grid,.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .contact-carousel{min-height:650px!important}
  .contact-hero-content{padding:120px 72px 92px!important}
  .contact-map-grid{grid-template-columns:1fr!important}

  .footer-v7{padding:58px 0 24px}
  .footer-grid-v7{grid-template-columns:1fr 1fr;gap:42px 52px}
  .footer-identity{grid-column:1/-1;max-width:520px;margin:auto}
}

@media (max-width:640px){
  .container{width:min(100% - 28px,1220px)}
  .nav{padding:10px 0}
  .site-logo{width:82px!important;max-height:46px!important}
  .menu-button{width:40px;height:40px}
  .nav-links{top:66px;left:12px;right:12px;border-radius:15px;padding:18px}

  h1{font-size:clamp(3rem,15vw,4.65rem);line-height:.96;letter-spacing:-.055em}
  h2{font-size:clamp(2.25rem,11vw,3.45rem);line-height:1}
  h3{font-size:1.65rem}
  .lead{font-size:1.06rem;line-height:1.55}
  .kicker{font-size:.63rem;letter-spacing:.16em}
  .section{padding:68px 0}

  .home-hero,.page-hero,.menu-hero{min-height:78svh;padding:118px 0 44px}
  .home-hero{background-position:62% center}
  .page-hero{background-position:58% center}
  .menu-hero-centered{padding-top:112px;padding-bottom:52px}
  .actions{align-items:stretch!important}
  .actions .btn{width:100%}
  .btn{min-height:48px;padding:0 18px;font-size:.84rem}
  .floating-reserve{right:12px;bottom:12px;min-height:46px;padding:0 18px}

  .editorial-grid{gap:24px}
  .editorial-grid img{height:82vw;min-height:300px;max-height:450px}
  .full-bleed{height:54svh;min-height:340px}
  .quote-block{padding:68px 0}
  .quote-block blockquote{font-size:clamp(2rem,10vw,3rem)}

  .home-universe .universe-image{height:76vw;min-height:300px}
  .universe-copy{padding:48px 22px;min-height:330px}
  .home-gallery{padding:64px 0}
  .masonry{columns:1}
  .masonry figure{margin-bottom:12px}
  .masonry img{border-radius:12px}

  .section-index{top:60px}
  .section-index .container{width:100%;padding:9px 14px;scrollbar-width:none}
  .section-index .container::-webkit-scrollbar{display:none}

  .dish-gallery{width:calc(100% - 28px);grid-template-columns:1fr;grid-auto-rows:auto;gap:10px;margin-bottom:52px}
  .dish-gallery figure{height:68vw;max-height:360px}
  .menu-controls{overflow-x:auto;flex-wrap:nowrap;padding:20px 0;scrollbar-width:none}
  .menu-controls::-webkit-scrollbar{display:none}
  .filter{flex:0 0 auto}
  .menu-section{padding:58px 0}
  .menu-section>h2,.menu-section-visual,.menu-grid,.foc-group .menu-subgroup{width:calc(100% - 28px)}
  .menu-item{padding:17px 0;gap:10px}
  .menu-item-with-photo{display:block;padding:22px 0}
  .menu-item-with-photo .menu-dish-image{height:68vw;max-height:330px;margin-bottom:18px}
  .menu-section-visual{margin-bottom:28px}
  .menu-section-visual img{max-height:none}
  .foc-group-salad-style,.foc-group-fullwidth{margin:48px 0 22px!important}
  .foc-group-salad-style .menu-subgroup,.foc-group-fullwidth .menu-subgroup{width:calc(100% - 28px);margin-left:auto;margin-right:auto}
  .focaccia-group-visual img,.focaccia-fullwidth-visual img,.focus-food-hero img{height:62vw!important;min-height:230px!important;max-height:340px!important}
  .water-product{width:calc(100% - 28px);grid-template-columns:1fr;gap:18px;padding:20px;margin-bottom:36px}
  .water-product img{max-height:360px;margin:auto}

  .service-grid,.package-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .service-grid article,.package-grid article{padding:22px}

  .contact-carousel{min-height:74svh!important}
  .contact-hero-content{padding:108px 34px 82px!important}
  .contact-hero-content h1{max-width:100%!important}
  .carousel-arrow{width:40px!important;height:40px!important;font-size:26px!important}
  .carousel-prev{left:8px!important}.carousel-next{right:8px!important}
  .contact-map-frame,.contact-map-frame iframe{min-height:330px!important;height:330px!important}
  .contact-card{padding:24px!important}

  .footer-v7{padding:46px 0 20px}
  .footer-grid-v7{grid-template-columns:1fr;gap:30px}
  .footer-identity{grid-column:auto;text-align:center}
  .footer-main-logo{width:min(235px,82vw);margin:0 auto 16px}
  .footer-identity p{font-size:.98rem;text-align:center;margin:auto}
  .footer-v7 h3{font-size:1.55rem;margin-bottom:15px}
  .footer-column{text-align:center}
  .footer-discover a{margin-bottom:10px}
  .footer-contact p{margin-bottom:14px}
  .footer-v7 .legal{text-align:center;margin-top:30px;padding-top:18px}
}

@media (max-width:380px){
  h1{font-size:2.85rem}
  h2{font-size:2.15rem}
  .container{width:calc(100% - 22px)}
  .home-hero,.page-hero,.menu-hero{padding-left:2px;padding-right:2px}
  .btn{font-size:.8rem}
}


/* Language switcher */
.language-switcher{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:12px;position:relative;z-index:75}
.language-link{display:flex;align-items:center;justify-content:center;width:34px;height:28px;border-radius:999px;text-decoration:none;font-size:1.15rem;line-height:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);transition:transform .2s ease,background .2s ease,opacity .2s ease}
.language-link:hover{transform:translateY(-1px);background:rgba(255,255,255,.24)}
.language-link.active{box-shadow:0 0 0 2px rgba(255,255,255,.75);background:rgba(255,255,255,.2)}
.nav.scrolled .language-link{background:rgba(36,35,33,.06);border-color:rgba(36,35,33,.2)}
.nav.scrolled .language-link.active{box-shadow:0 0 0 2px rgba(36,35,33,.35)}
@media(max-width:900px){.language-switcher{margin-left:auto;margin-right:8px}.language-link{width:32px;height:28px;font-size:1.08rem}}
@media(max-width:420px){.language-switcher{gap:5px;margin-right:6px}.language-link{width:29px;height:26px;font-size:1rem}.site-logo{max-width:112px}}

/* V13 bilingual fixes and footer social links */
.language-switch{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  margin-right:10px;
}
.language-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  font-size:1.15rem;
  line-height:1;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.08);
  transition:.2s ease;
}
.language-flag:hover,
.language-flag.active{
  background:rgba(255,255,255,.24);
  transform:translateY(-1px);
}
.nav.scrolled .language-flag{
  border-color:rgba(255,255,255,.28);
}
.footer-socials{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-socials a{
  display:block;
  margin:7px 0;
}
@media(max-width:900px){
  .language-switch{
    margin-left:auto;
    margin-right:4px;
  }
  .language-flag{
    width:32px;
    height:32px;
  }
}
@media(max-width:560px){
  .language-switch{gap:5px}
  .language-flag{
    width:29px;
    height:29px;
    font-size:1rem;
  }
}

/* V14 social-media icon footer */
.social-icon-links{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
}
.social-icon-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin:0!important;
  border:1px solid rgba(38,52,59,.28);
  border-radius:999px;
  color:#26343b!important;
  transition:transform .2s ease, background-color .2s ease, color .2s ease;
}
.social-icon-link:hover{
  transform:translateY(-2px);
  background:#a96745;
  color:#fff!important;
  border-color:#a96745;
}
.social-icon-link svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.social-icon-link[href*="facebook"] svg{
  fill:currentColor;
  stroke:none;
}
.social-icon-fill{
  fill:currentColor;
  stroke:none;
}
@media(max-width:560px){
  .social-icon-link{
    width:40px;
    height:40px;
  }
}

/* V15 reservation form */
.theme-reservation{background:#f7f1e8}
.reservation-hero{
  min-height:68vh;
  display:flex;
  align-items:flex-end;
  padding:170px 0 75px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(28,20,15,.72),rgba(28,20,15,.12)),
    url('images/restaurant_hero.webp') center/cover;
}
.reservation-hero-copy{max-width:900px}
.reservation-layout{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:70px;
  align-items:start;
}
.reservation-summary{
  position:sticky;
  top:110px;
  padding:32px;
  background:#e9dfcf;
}
.reservation-form{
  padding:38px;
  background:#fffaf3;
  border:1px solid rgba(38,52,59,.13);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.reservation-form label{display:block}
.reservation-form label span{
  display:block;
  margin-bottom:8px;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.reservation-form input,
.reservation-form select,
.reservation-form textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(38,52,59,.25);
  background:#fff;
  color:#26343b;
  font:inherit;
  border-radius:0;
}
.reservation-form textarea{min-height:115px;resize:vertical}
.form-full{grid-column:1/-1}
.reservation-submit{margin-top:24px;background:#a96745;color:#fff;border-color:#a96745}
.reservation-submit:disabled{opacity:.55;cursor:wait}
.reservation-status{min-height:28px;margin-top:18px;font-weight:700}
.reservation-status.success{color:#28623f}
.reservation-status.error{color:#9b2f2f}
.reservation-status.loading{color:#6a604f}
.reservation-privacy{font-size:.78rem;opacity:.7}
.honeypot{position:absolute!important;left:-9999px!important}
@media(max-width:900px){
  .reservation-layout{grid-template-columns:1fr;gap:30px}
  .reservation-summary{position:static}
}
@media(max-width:620px){
  .reservation-hero{min-height:58vh;padding:130px 0 55px}
  .reservation-form{padding:24px 18px}
  .form-grid{grid-template-columns:1fr}
  .form-full{grid-column:auto}
}

/* V16 site-wide reservation popup */
.reservation-modal{position:fixed;inset:0;z-index:1000;display:none}
.reservation-modal.open{display:block}
.reservation-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(24,20,17,.72);backdrop-filter:blur(6px)}
.reservation-modal-dialog{position:relative;width:min(920px,calc(100% - 34px));max-height:calc(100vh - 34px);overflow:auto;margin:17px auto;padding:38px;background:#fffaf3;color:#26343b;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.reservation-modal-close{position:absolute;top:14px;right:16px;width:42px;height:42px;border:0;background:transparent;color:#26343b;font-size:2rem;cursor:pointer}
.reservation-modal-head{max-width:700px;margin-bottom:26px}
.reservation-modal-head h2{font-size:clamp(2.4rem,5vw,4.8rem)}
.reservation-modal-meta{font-weight:800;color:#7a5c45}
.reservation-modal-form{padding:0;border:0;background:transparent}
.reservation-modal-open{overflow:hidden}
.reservation-trigger{border:0;cursor:pointer}
@media(max-width:700px){
  .reservation-modal-dialog{width:100%;min-height:100vh;max-height:100vh;margin:0;padding:70px 18px 28px}
  .reservation-modal-close{position:fixed;z-index:1002}
}

/* V17 reservation manager */
.admin-page{background:#f2ece2;color:#26343b;min-height:100vh}
.admin-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:#fffaf3;border-bottom:1px solid rgba(38,52,59,.14)}
.admin-topbar>div{display:flex;align-items:center;gap:18px}
.admin-topbar img{width:145px;height:auto}
.admin-topbar span{font-weight:800}
.admin-topbar-actions{flex-wrap:wrap}
.admin-topbar input,.admin-topbar select,.admin-filter select{min-height:42px;padding:8px 12px;border:1px solid rgba(38,52,59,.2);background:#fff}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid rgba(38,52,59,.22);background:#fff;color:#26343b;font-weight:800;cursor:pointer}
.admin-btn.primary{background:#a96745;color:#fff;border-color:#a96745}
.admin-btn.danger{background:#9b3b38;color:#fff;border-color:#9b3b38}
.admin-btn.small{min-height:34px;padding:0 12px}
.admin-shell{width:min(1500px,calc(100% - 36px));margin:28px auto 60px}
.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.admin-kpis article{background:#fffaf3;padding:22px;border:1px solid rgba(38,52,59,.12)}
.admin-kpis span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.68}
.admin-kpis strong{display:block;margin-top:8px;font:500 2rem var(--serif)}
.admin-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}
.admin-panel{background:#fffaf3;border:1px solid rgba(38,52,59,.12);padding:22px}
.admin-panel-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.admin-panel-head h2{font-size:2.1rem;margin:4px 0 0}
.admin-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#a96745}
.admin-muted{font-size:.82rem;opacity:.65}
.table-map{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.restaurant-table{min-height:180px;padding:18px;background:#efe5d6;border:2px solid transparent;transition:.2s}
.restaurant-table:hover{border-color:#a96745}
.table-number{font-weight:900;margin-bottom:12px}
.table-bookings{display:flex;flex-direction:column;gap:8px}
.table-free{opacity:.48;font-style:italic}
.table-booking{display:flex;justify-content:space-between;gap:10px;padding:10px;border:0;background:#fff;cursor:grab;text-align:left}
.table-booking span{font-size:.78rem}
.reservation-list{display:flex;flex-direction:column;gap:10px}
.reservation-row{display:grid;grid-template-columns:70px 1fr auto auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(38,52,59,.12);background:#fff}
.reservation-time{font:600 1.3rem var(--serif)}
.reservation-main{display:flex;flex-direction:column}
.reservation-main span,.reservation-main small{opacity:.68}
.reservation-status-pill{padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;background:#e8dfd0}
.status-cancelled{opacity:.55}
.status-seated .reservation-status-pill{background:#d7e6d2}
.status-completed .reservation-status-pill{background:#d7e0e8}
.status-cancelled .reservation-status-pill{background:#ead1d1}
.empty-state{padding:40px;text-align:center;opacity:.6}
.admin-modal{position:fixed;inset:0;z-index:1000;display:none}
.admin-modal.open{display:block}
.admin-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(24,20,17,.7)}
.admin-modal-card{position:relative;width:min(760px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto;margin:15px auto;padding:34px;background:#fffaf3}
.admin-modal-close{position:absolute;top:12px;right:15px;border:0;background:transparent;font-size:2rem;cursor:pointer}
.admin-form-actions{display:flex;justify-content:space-between;gap:14px;margin-top:24px}
@media(max-width:1000px){
 .admin-grid{grid-template-columns:1fr}
 .admin-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .admin-topbar{align-items:flex-start;flex-direction:column}
 .admin-kpis{grid-template-columns:1fr}
 .table-map{grid-template-columns:1fr}
 .reservation-row{grid-template-columns:58px 1fr}
 .reservation-status-pill,.reservation-row .admin-btn{grid-column:2}
 .admin-shell{width:min(100% - 20px,1500px)}
}


/* V18 visual and CTA refinements */
.home-gallery .masonry{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  columns:auto;
  align-items:stretch;
}
.home-gallery .masonry figure{margin:0;min-width:0;overflow:hidden;border-radius:18px;aspect-ratio:4/3}
.home-gallery .masonry img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.page-hero>.container,.menu-hero>.container,.contact-hero-content{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.page-hero .kicker,.menu-hero .kicker{margin-bottom:12px}
.page-hero h1,.menu-hero h1,.contact-hero-content h1{max-width:850px;margin-left:0}
.fixed-whatsapp{position:fixed;right:22px;bottom:22px;z-index:46;box-shadow:0 14px 35px rgba(0,0,0,.18);background:#176b43!important;color:#fff!important;border-color:#176b43!important}
.reservation-confirmation-card{display:none;margin-top:20px;padding:20px;background:#edf5ed;border-left:4px solid #28623f}
.reservation-confirmation-card.show{display:block}
.reservation-confirmation-card strong{display:block;font-size:1.15rem;margin-bottom:6px}
@media(max-width:900px){.home-gallery .masonry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.home-gallery .masonry{grid-template-columns:1fr}.fixed-whatsapp{right:12px;bottom:12px}}


/* V19 — Aqafarina own availability calendar */
.admin-brand small{display:block;opacity:.62;font-size:.72rem;margin-top:2px}
.calendar-panel{margin-bottom:18px;overflow:hidden}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.78rem;font-weight:700}
.calendar-legend span{display:flex;align-items:center;gap:6px}
.availability-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.availability-dot.free{background:#7da077}
.availability-dot.busy{background:#c99452}
.availability-dot.full{background:#a94c47}
.availability-calendar{
  display:grid;
  grid-template-columns:76px repeat(7,minmax(110px,1fr));
  gap:1px;
  min-width:880px;
  background:rgba(38,52,59,.12);
  border:1px solid rgba(38,52,59,.12)
}
.calendar-panel{overflow-x:auto}
.calendar-corner,
.calendar-day-head,
.calendar-time-label,
.availability-cell{
  min-height:64px;
  border:0;
  background:#fffaf3;
  color:#26343b
}
.calendar-corner,
.calendar-time-label{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
  font-weight:800
}
.calendar-day-head{
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.calendar-day-head strong{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}
.calendar-day-head span{font:600 1.45rem var(--serif)}
.calendar-day-head.selected{background:#26343b;color:#fff}
.availability-cell{
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  transition:transform .15s ease,filter .15s ease
}
.availability-cell:hover{transform:scale(.98);filter:brightness(.97)}
.availability-cell strong{font-size:1.2rem}
.availability-cell span{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}
.availability-cell.free{background:#e5eee2}
.availability-cell.busy{background:#f2dfc5}
.availability-cell.full{background:#ead0cd;color:#7e2724}
.reservation-status.success{
  padding:14px 16px;
  background:#e2ede0;
  color:#285c37;
  line-height:1.45
}
@media(max-width:700px){
  .admin-topbar-actions{width:100%}
  .admin-topbar-actions input{flex:1;min-width:140px}
}


/* V20 — consistent heroes, reliable logo and customer confirmations */
.nav{z-index:120!important}
.site-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:116px!important;
  min-width:116px!important;
  height:58px!important;
  padding:0!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
}
.site-logo{
  display:block!important;
  width:112px!important;
  height:auto!important;
  max-height:54px!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.standardized-hero{
  min-height:78vh!important;
  display:flex!important;
  align-items:flex-end!important;
  padding:170px 0 72px!important;
  color:#fff!important;
}
.standardized-hero>.container,
.standardized-hero .container{
  width:min(1180px,calc(100% - 40px))!important;
  margin-inline:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.standardized-hero .kicker{
  margin:0 0 12px!important;
  color:#fff!important;
  text-align:left!important;
}
.standardized-hero h1{
  max-width:850px!important;
  margin:0 0 20px!important;
  color:#fff!important;
  text-align:left!important;
}
.standardized-hero .lead{
  max-width:720px!important;
  margin:0!important;
  color:#fff!important;
  text-align:left!important;
}
.menu-hero-centered .container,
.menu-hero-content-centered{
  text-align:left!important;
  align-items:flex-start!important;
}
.reservation-hero{
  background:
    linear-gradient(90deg,rgba(28,20,15,.72),rgba(28,20,15,.12)),
    url('images/restaurant_hero.webp') center/cover!important;
}
.compact-address{
  font-size:clamp(1rem,1.8vw,1.45rem)!important;
  line-height:1.35!important;
}
.confirmation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.confirmation-action{
  min-height:42px!important;
  padding:10px 15px!important;
  font-size:.8rem!important;
  text-decoration:none!important;
}
.confirmation-action.secondary{
  background:transparent!important;
  color:#285c37!important;
  border:1px solid #285c37!important;
}
@media(max-width:700px){
  .site-logo-link{width:92px!important;min-width:92px!important;height:48px!important}
  .site-logo{width:88px!important;max-height:46px!important}
  .standardized-hero{min-height:70svh!important;padding:125px 0 48px!important}
}

/* V22 final CTA system */
.actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;margin-top:24px!important}
.cta-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:48px!important;padding:0 20px!important;border-radius:999px!important;font-weight:800!important;text-decoration:none!important;cursor:pointer!important;transition:.2s ease!important}
.cta-btn:hover{transform:translateY(-2px)!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important}
.cta-btn svg{width:18px!important;height:18px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cta-reserve{background:#a96745!important;color:#fff!important;border:1px solid #a96745!important}
.cta-phone{background:#fff!important;color:#26343b!important;border:1px solid rgba(38,52,59,.2)!important}
.cta-whatsapp{background:#25d366!important;color:#fff!important;border:1px solid #25d366!important}
.cta-whatsapp svg{fill:currentColor!important;stroke:none!important}
@media(max-width:650px){.actions{flex-direction:column!important;align-items:stretch!important}.actions .cta-btn{width:100%!important}}


/* V23 — uniform hero titles and automatic confirmation buttons */
.hero-title-uniform{
  font-size:clamp(3.4rem,6.2vw,6.4rem)!important;
  line-height:.94!important;
  letter-spacing:-.05em!important;
  max-width:12ch!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@supports(-webkit-line-clamp:3){
  .hero-title-uniform{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
}
.confirmation-action{
  cursor:pointer!important;
}
.confirmation-action.sent{
  background:#2f7a48!important;
  color:#fff!important;
  border-color:#2f7a48!important;
}
.confirmation-action.send-error{
  background:#9b3b38!important;
  color:#fff!important;
  border-color:#9b3b38!important;
}
.confirmation-action:disabled{
  opacity:.72!important;
  cursor:wait!important;
}
@media(max-width:900px){
  .hero-title-uniform{
    font-size:clamp(3rem,8vw,5.2rem)!important;
    max-width:12ch!important;
  }
}
@media(max-width:560px){
  .hero-title-uniform{
    font-size:clamp(2.65rem,12vw,4rem)!important;
    line-height:.96!important;
    max-width:11ch!important;
  }
}

/* V24 — menu price before allergens */
.menu-item .price,
.menu-item-with-photo .price,
.menu-card .price,
.dish-card .price{
  display:block!important;
  margin-top:10px!important;
  margin-bottom:4px!important;
}
.menu-item .allergens,
.menu-item-with-photo .allergens,
.menu-card .allergens,
.dish-card .allergens{
  display:block!important;
  margin-top:0!important;
}

/* AQAFARINA WEBSITE 1.0 */
.floating-action{position:fixed!important;right:20px!important;bottom:20px!important;z-index:100!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important}
.floating-whatsapp{background:#25d366!important;color:#fff!important;border-color:#25d366!important}
.floating-call{background:#fff!important;color:#26343b!important;border-color:#fff!important}
.cta-whatsapp{background:#25d366!important;color:#fff!important;border-color:#25d366!important}
.cta-call{background:#fff!important;color:#26343b!important;border-color:#fff!important}
.cta-reserve{background:#a96745!important;color:#fff!important;border-color:#a96745!important}
.reservation-hero{min-height:50vh!important;padding-top:135px!important;padding-bottom:45px!important}
.footer-grid-v1{align-items:center!important}
.footer-grid-v1>div{align-self:center!important}
.footer-address{font-size:1rem!important;font-weight:700!important;line-height:1.45!important}
.footer-socials-centered{align-items:center!important;text-align:center!important}
.footer-socials-centered .social-icon-links{justify-content:center!important}
.menu-legal{padding:55px 0;background:#e8ddcc;border-top:1px solid rgba(38,52,59,.15);font-size:.88rem}
.menu-legal p{max-width:950px}
.story-hero{min-height:100svh;display:flex;align-items:flex-end;padding:170px 0 75px;color:#fff;background:linear-gradient(90deg,rgba(30,20,12,.75),rgba(30,20,12,.1)),url('https://aqafarina.pt/wp-content/uploads/2023/03/NOCENTINISTORIA-small-1.webp') center/cover}
.story-hero h1{max-width:850px}
.story-big-quote{font:500 clamp(2.3rem,5vw,5rem)/1.08 var(--serif);max-width:1100px;margin:auto;text-align:center}
.story-timeline{padding:80px 0 130px;background:#f3ecdf}
.story-year{display:grid;grid-template-columns:150px 30px 1fr;gap:28px;min-height:240px}
.story-date{font:600 clamp(2.4rem,5vw,4.8rem) var(--serif)}
.story-line{width:2px;background:#a96745;position:relative;margin:auto}
.story-line:before{content:"";position:absolute;top:12px;left:50%;width:15px;height:15px;border-radius:50%;background:#a96745;transform:translateX(-50%)}
.story-copy{max-width:720px;padding-bottom:65px}
.story-copy h2{font-size:clamp(2rem,4vw,4rem)}
.cambusa-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}
.cambusa-package-card{background:#fff;padding:34px;text-align:center;border:1px solid rgba(35,55,70,.14)}
.cambusa-package-card h3{font-size:2.5rem}
.cambusa-package-sketch{height:220px;width:100%;object-fit:contain;margin:15px auto}
.package-price{font:600 1.4rem var(--serif)}
.cambusa-custom-note{max-width:900px;margin:55px auto 0;text-align:center}
.bottega-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.bottega-category-grid article{padding:26px;border:1px solid rgba(255,255,255,.18)}
.bottega-live-embed{height:620px;overflow:hidden;border:1px solid rgba(255,255,255,.15)}
.bottega-live-embed iframe{width:100%;height:100%;border:0}
.work-with-us{background:#f0e7da}
.career-form{padding:34px;background:#fffaf3;border:1px solid rgba(38,52,59,.14)}
.career-status.success{color:#2c6c42}.career-status.error{color:#983d38}
@media(max-width:1000px){
 .bottega-category-grid{grid-template-columns:1fr 1fr}
 .cambusa-package-grid{grid-template-columns:1fr 1fr}
 .footer-grid-v1{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
 .floating-action{right:12px!important;bottom:12px!important}
 .reservation-hero{min-height:42vh!important;padding-top:110px!important;padding-bottom:30px!important}
 .story-year{grid-template-columns:90px 20px 1fr;gap:16px}
 .story-copy h2{font-size:2rem}
 .cambusa-package-grid,.bottega-category-grid{grid-template-columns:1fr}
 .cambusa-package-sketch{height:185px}
 .footer-grid-v1{grid-template-columns:1fr!important;text-align:center}
 .footer-grid-v1>div{align-items:center!important;text-align:center!important}
 .footer-grid-v1 a{margin-left:auto!important;margin-right:auto!important}
 .bottega-live-embed{height:500px}
}
@media(max-width:480px){
 .story-year{grid-template-columns:1fr;min-height:auto}
 .story-line{display:none}
 .story-date{font-size:3rem}
 .story-copy{padding-bottom:50px}
 .cambusa-package-card{padding:24px 18px}
 .cambusa-package-card h3{font-size:2rem}
}

/* v1.0.1 stable reservation and integrated Bottega */
.bottega-integrated-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:40px;
}
.bottega-integrated-grid article{
  padding:28px;
  border:1px solid rgba(38,52,59,.15);
  background:rgba(255,255,255,.42);
}
.bottega-integrated-grid h3{
  margin-bottom:12px;
}
.bottega-integrated-note{
  max-width:820px;
  margin:42px auto 0;
  padding:30px;
  text-align:center;
  background:#fffaf3;
  border:1px solid rgba(38,52,59,.13);
}
.confirmation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:15px;
}
.confirmation-action{
  cursor:pointer;
}
.confirmation-action.sent{
  background:#2f7a48!important;
  color:#fff!important;
}
.confirmation-action.send-error{
  background:#9b3b38!important;
  color:#fff!important;
}
@media(max-width:900px){
  .bottega-integrated-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
  .bottega-integrated-grid{grid-template-columns:1fr}
}

/* Aqafarina Website 2.0 */
@media(min-width:1100px){
  .nav-inner{max-width:none!important;width:100%!important;padding-left:30px!important;padding-right:30px!important}
  .nav-links-one-line{display:flex!important;flex-wrap:nowrap!important;white-space:nowrap!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,2.4vw,46px)!important;flex:1!important}
  .nav-links-one-line a{font-size:clamp(.86rem,1.05vw,1.08rem)!important;letter-spacing:.08em!important;white-space:nowrap!important;flex:0 0 auto!important}
}
.automatic-notification-success,.automatic-notification-warning{margin-top:12px;padding:11px 14px;font-size:.82rem}
.automatic-notification-success{background:#e2ede0;color:#285c37}
.automatic-notification-warning{background:#f2e2c9;color:#765220}

/* Aqafarina Website 3.0 — email-only production */
.bottega-integrated-note.dark-copy,
.bottega-integrated-note.dark-copy h3,
.bottega-integrated-note.dark-copy p{
  color:#26343b!important;
}
.footer-address{
  font-weight:700!important;
  color:inherit!important;
}
.hero-title-three-lines{
  font-size:clamp(3.25rem,6vw,6.15rem)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  max-width:13ch!important;
  text-wrap:balance!important;
}
@supports(-webkit-line-clamp:3){
  .hero-title-three-lines{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}
@media(max-width:900px){
  .hero-title-three-lines{
    font-size:clamp(2.9rem,8vw,5rem)!important;
    max-width:12ch!important;
  }
}
@media(max-width:560px){
  .hero-title-three-lines{
    font-size:clamp(2.45rem,11vw,3.8rem)!important;
    max-width:11.5ch!important;
  }
}

.late-policy{margin:20px 0 0;padding:14px 16px;background:#f1e4d2;color:#5d4939;font-size:.84rem;line-height:1.5}

/* Aqafarina V5.1 — Work With Us */
.work-with-us-v51{
  background:#efe4d4;
}
.work-with-us-v51 .container{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(36px,7vw,100px);
  align-items:start;
}
.career-intro{
  position:sticky;
  top:120px;
}
.career-intro h2{
  max-width:8ch;
  margin-bottom:22px;
}
.career-direct-email{
  margin-top:26px;
  font-weight:700;
}
.career-form-v51{
  padding:clamp(24px,4vw,46px);
  background:#fffaf3;
  border:1px solid rgba(38,52,59,.14);
  box-shadow:0 16px 45px rgba(38,52,59,.07);
}
.career-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.career-form-grid label{
  display:grid;
  gap:8px;
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.02em;
}
.career-form-grid input,
.career-form-grid textarea{
  width:100%;
  border:1px solid rgba(38,52,59,.24);
  background:#fff;
  padding:13px 14px;
  color:#26343b;
  font:inherit;
}
.career-form-grid textarea{
  resize:vertical;
  min-height:130px;
}
.career-form-full{
  grid-column:1/-1;
}
.career-file{
  padding:18px;
  border:1px dashed rgba(38,52,59,.32);
  background:#f7f0e5;
}
.career-file small{
  font-weight:400;
}
.career-privacy{
  margin:18px 0;
  font-size:.76rem;
  line-height:1.5;
  color:#657078;
}
.career-submit-row{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}
.career-status{
  margin:0;
  font-size:.86rem;
  max-width:440px;
}
.career-status.success{color:#27613a}
.career-status.error{color:#963b37}
.career-form-v51 button.is-loading{opacity:.65;pointer-events:none}
@media(max-width:900px){
  .work-with-us-v51 .container{
    grid-template-columns:1fr;
    gap:34px;
  }
  .career-intro{position:static}
  .career-intro h2{max-width:none}
}
@media(max-width:600px){
  .career-form-grid{grid-template-columns:1fr}
  .career-form-full{grid-column:auto}
  .career-form-v51{padding:22px 16px}
  .career-submit-row .btn{width:100%}
}

/* Aqafarina Website V6 */
@media(min-width:1100px){
  .nav-inner{
    max-width:none!important;
    width:100%!important;
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .nav-links-one-line{
    display:flex!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(22px,2.4vw,46px)!important;
    flex:1!important;
  }
  .nav-links-one-line a{
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
}
.hero-title-three-lines{
  text-wrap:balance!important;
  max-width:13ch!important;
}
@supports(-webkit-line-clamp:3){
  .hero-title-three-lines{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}
.footer-address{
  font-weight:700!important;
}
.bottega-integrated-note.dark-copy,
.bottega-integrated-note.dark-copy h3,
.bottega-integrated-note.dark-copy p{
  color:#26343b!important;
}

/* V6.1 hero clipping fix */
.hero-title-three-lines,.hero-title-uniform,.page-hero h1,.home-hero h1,.story-hero h1,.contact-hero h1,.menu-hero h1,.reservation-hero h1{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;max-height:none!important;padding-top:.08em!important;padding-bottom:.16em!important;line-height:1.02!important;text-wrap:balance!important;overflow-wrap:normal!important;word-break:normal!important}
.hero-title-three-lines{font-size:clamp(3rem,6.1vw,6.6rem)!important;max-width:14ch!important}
@media(max-width:900px){.hero-title-three-lines{font-size:clamp(2.65rem,8.2vw,5.1rem)!important;max-width:13ch!important}}
@media(max-width:560px){.hero-title-three-lines{font-size:clamp(2.2rem,10.6vw,3.7rem)!important;line-height:1.04!important;max-width:12ch!important}}

/* V6.1 privacy and cookie controls */
.legal-page{background:#f7f1e8;min-height:100vh;color:#26343b}.legal-container{max-width:860px}.legal-container h1{font-size:clamp(3rem,7vw,6.5rem);line-height:1;margin:.15em 0 .3em}.legal-container h2{margin-top:2.1rem;font-size:1.45rem}.legal-container p,.legal-container li{line-height:1.72}.legal-updated{opacity:.7}.legal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.career-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:11px!important;margin:20px 0!important;font-size:.82rem!important;line-height:1.5!important;font-weight:500!important}.career-consent input{width:18px!important;height:18px!important;margin-top:2px!important;flex:0 0 auto!important}.career-consent a{text-decoration:underline}
.footer-legal{width:100%;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);text-align:center;font-size:.76rem}.footer-legal button{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.cookie-consent{position:fixed;z-index:99999;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;max-width:1100px;margin:auto;padding:22px 24px;background:#fffaf3;color:#26343b;border:1px solid rgba(38,52,59,.2);box-shadow:0 18px 60px rgba(0,0,0,.2)}.cookie-consent__copy p{margin:7px 0;font-size:.88rem;line-height:1.55}.cookie-consent__copy a{font-size:.78rem;text-decoration:underline}.cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.cookie-consent{grid-template-columns:1fr;left:10px;right:10px;bottom:10px;padding:18px}.cookie-consent__actions{display:grid;grid-template-columns:1fr}.cookie-consent__actions .btn{width:100%}}

/* Aqafarina V6.2 */
.story-hero-image-v62{
  min-height:78vh;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  color:#fff;
}
.story-hero-image-v62 .container{padding-bottom:clamp(48px,9vh,100px)}
.video-hero-v62{
  position:relative;
  overflow:hidden;
  background:#17120e;
}
.hero-background-video-v62,
.hero-video-shade-v62{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-background-video-v62{
  object-fit:cover;
}
.hero-video-shade-v62{
  background:linear-gradient(90deg,rgba(25,20,16,.66),rgba(25,20,16,.10));
}
.video-hero-v62 > .container{
  position:relative;
  z-index:2;
}
.bottega-editorial-video-v62{
  width:100%;
  height:min(620px,65vw);
  object-fit:cover;
  display:block;
}
.bottega-integrated-grid article{
  overflow:hidden;
}
.bottega-category-image-v62{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  margin:0 0 20px;
}
@media(max-width:700px){
  .story-hero-image-v62{min-height:68vh}
  .bottega-editorial-video-v62{height:66vw}
}

.reservation-admin-form-v63{padding:28px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.admin-form-grid label{display:grid;gap:7px;font-weight:700}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{width:100%;padding:12px 13px;border:1px solid rgba(38,52,59,.35);background:#fff;font:inherit}.admin-form-full{grid-column:1/-1}@media(max-width:700px){.admin-form-grid{grid-template-columns:1fr}.admin-form-full{grid-column:auto}}

/* V6.4 exact menu and Bottega image crop */
.italian-specialities-centered-v64{object-position:center center!important;}

/* Aqafarina V6.9 — alternative seating confirmation */
.reservation-area-warning{
  display:block;
  margin:14px 0;
  padding:14px 16px;
  background:#f4dfc6;
  border-left:4px solid #a96745;
  color:#5f3e2d;
  font-weight:800;
  line-height:1.45;
}

.admin-today-board{margin:24px 0;padding:24px;background:#fffaf3;border:1px solid rgba(38,52,59,.12)}.today-service-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.today-service-stats article{padding:16px;background:#f3eadc}.today-service-stats strong{display:block;font:700 2rem Georgia,serif}.today-service-stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.today-service-list{display:grid;gap:8px}.today-service-row{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:12px;border-top:1px solid rgba(38,52,59,.12)}.today-service-row time{font-weight:800}.today-service-row div>span{display:block;font-size:.85rem;opacity:.7}.today-service-actions{display:flex;gap:6px}.today-service-actions button{border:1px solid rgba(38,52,59,.25);background:white;padding:8px 10px;cursor:pointer}@media(max-width:800px){.today-service-stats{grid-template-columns:1fr 1fr}.today-service-row{grid-template-columns:60px 1fr}.today-service-actions{grid-column:1/-1}}


/* Aqafarina V8.2 — automatic hero carousels */
.automatic-hero-carousel{position:relative!important;overflow:hidden!important;background:none!important;isolation:isolate}
.hero-carousel-slides,.hero-carousel-slide{position:absolute;inset:0;margin:0}
.hero-carousel-slides{z-index:-2}
.hero-carousel-slide{opacity:0;visibility:hidden;transition:opacity 1.15s ease,visibility 1.15s ease}
.hero-carousel-slide.active{opacity:1;visibility:visible}
.hero-carousel-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero-carousel-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,18,14,.72),rgba(24,18,14,.10))}
.automatic-hero-carousel>.container{position:relative;z-index:2}

/* Bottega video: show the complete 16:9 video and its embedded title */
.bottega-editorial-video-v62{height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;object-position:center center!important;background:#1f241d!important}

/* Bottega hero focus */
body.theme-bottega .page-hero{background-position:center 42%!important}

/* V8.5 secure operations admin — isolated from public website */
.admin-login{position:fixed;inset:0;z-index:5000;display:none;place-items:center;padding:20px;background:rgba(25,29,25,.92)}.admin-login.open{display:grid}.admin-login-card{width:min(440px,100%);padding:38px;background:#fffaf3;box-shadow:0 30px 90px rgba(0,0,0,.35)}.admin-login-card img{width:170px;margin-bottom:28px}.admin-login-card h1{font-size:2.4rem;margin:8px 0 12px}.admin-login-card label{display:grid;gap:8px;margin:24px 0}.admin-login-card input{padding:14px;border:1px solid rgba(38,52,59,.35);font:inherit}.admin-login-error{min-height:24px;margin-top:14px;color:#9b3b38;font-weight:700}
.admin-connection{padding:8px 12px;border-radius:99px;font-size:.78rem;font-weight:900}.admin-connection.is-live{background:#dcebdc;color:#285e33}.admin-connection.is-loading{background:#eee4d5}.admin-connection.is-error{background:#f1d6d2;color:#862e2b}.admin-connection.is-new{background:#fde7a7;color:#755000}.admin-last-refresh{font-size:.75rem;opacity:.66}.admin-kpis-six{grid-template-columns:repeat(6,1fr)}
.admin-alert-panel{margin-bottom:18px;padding:22px;background:#fffaf3;border:1px solid rgba(38,52,59,.12)}.admin-alert-panel .admin-panel-head strong{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#a96745;color:white;font-size:1.3rem}.admin-alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-alert{display:grid;gap:4px;padding:14px;text-align:left;border:1px solid transparent;background:#f3eadc}.admin-alert span{font-size:.86rem}.admin-alert.info{border-color:#8aa4b2;background:#e6eef1}.admin-alert.warning{border-color:#c78d43;background:#f7e7c8}.admin-alert.critical{border-color:#b24b45;background:#f2d7d3;color:#782c28}.admin-alert.empty{grid-column:1/-1;color:#51624f;background:#e6eee2}
.reservation-main em{display:inline-block;margin:2px 5px 2px 0;padding:3px 7px;background:#eee4d5;font-style:normal;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.unassigned-table{border:2px solid #b24b45;background:#f8e3df}.capacity-calendar .availability-cell strong{font-size:.9rem}
@media(max-width:1150px){.admin-kpis-six{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.admin-alerts{grid-template-columns:1fr}.admin-kpis-six{grid-template-columns:1fr 1fr}.admin-topbar-actions{gap:8px}.admin-last-refresh{width:100%}}@media(max-width:520px){.admin-kpis-six{grid-template-columns:1fr}.admin-login-card{padding:26px}.admin-topbar .admin-btn{min-height:46px}}

/* Aqafarina Suite 1.1 — mandatory privacy acceptance */
.privacy-acceptance{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:12px;font-size:.82rem;line-height:1.45;font-weight:600}
.privacy-acceptance input{width:22px!important;height:22px;min-height:22px!important;flex:0 0 22px;margin-top:1px;padding:0}
.privacy-acceptance span{display:block!important;font-size:inherit!important;letter-spacing:0!important;text-transform:none!important}
.privacy-acceptance a{text-decoration:underline}

/* Aqafarina Suite 1.1.2 — popup privacy checkbox */
.reservation-modal-form .privacy-acceptance{margin:12px 0 4px;padding:10px 12px;border:1px solid rgba(38,52,59,.18);background:rgba(255,255,255,.42)}
.reservation-modal-form .privacy-acceptance input{margin-top:2px}
.reservation-modal-form .privacy-acceptance span{font-size:.72rem!important;line-height:1.4!important}

/* Aqafarina Suite 2.1.0 */
.cambusa-full-menu-action{display:flex;justify-content:center;margin-top:18px}
.children-pasta-note{margin-top:-18px;margin-bottom:28px}
.children-pasta-note p{border:1px solid rgba(29,44,48,.22);padding:12px 15px;font-weight:700;background:rgba(255,255,255,.42)}
