:root{--ivory:#faf7f1;--paper:#fffdfa;--orange:#db5a26;--ink:#242220;--muted:#766c65;--line:#e9e1d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}h1,h2,h3,.brand{font-family:Georgia,serif}a{text-decoration:none;color:inherit}.top{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:var(--paper);gap:20px}.brand{font-size:28px;font-style:italic;position:relative;white-space:nowrap}.brand span{display:block;position:absolute;width:58%;height:3px;background:var(--orange);right:0;bottom:3px;transform:rotate(-4deg)}.top nav{display:flex;gap:34px;font-size:14px}.top nav a:hover,.textLink{color:var(--orange)}.navbtn,.primary{background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:5px;font-weight:700;cursor:pointer;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px}.navbtn:hover,.primary:hover{background:#bc451c}.secondary{background:white;color:var(--ink);border:1px solid #c6b9ab;border-radius:5px;padding:14px 24px;font-weight:700;cursor:pointer}.hero{display:grid;grid-template-columns:48% 52%;min-height:550px;background:#f0e9df}.heroText{padding:clamp(55px,8vw,128px) 5vw}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;color:var(--orange)}h1{font-weight:400;font-size:clamp(46px,5.1vw,83px);letter-spacing:-.045em;line-height:1.06;margin:26px 0}h1 i{color:var(--orange);font-weight:400}.heroText p{max-width:440px;font-size:18px;color:#544b43;margin-bottom:32px}.heroImg{background:url('assets/hero-dining.jpg') center/cover}.proof{background:var(--paper);display:flex;justify-content:space-evenly;padding:27px 30px;gap:20px;border-bottom:1px solid var(--line)}.proof span{font-size:13px;color:var(--muted)}.proof b{font-size:23px;color:var(--ink);font-family:Georgia,serif;margin-right:8px}.section{padding:95px max(6vw,25px)}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.sectionHead p{max-width:350px;color:var(--muted);margin:0}h2{font-size:clamp(34px,3.5vw,57px);line-height:1.14;letter-spacing:-.035em;font-weight:400;margin:14px 0 0}.menuCards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.menuCard{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:.15s}.menuCard.chosen{outline:3px solid var(--orange)}.menuCard img{width:100%;height:230px;object-fit:cover}.menuBody{padding:24px}.menuBody h3{font-size:27px;font-weight:400;margin:0 0 8px}.menuBody p{color:var(--muted);font-size:14px;min-height:43px}.menuBody ul{margin:24px 0;padding:0;list-style:none;font-size:14px}.menuBody li{padding:9px 0;border-bottom:1px solid var(--line)}.menuBottom{display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:10px}.menuBottom strong{font-size:22px;font-family:Georgia,serif}.menuBottom button{padding:11px 17px}.fineprint,.smallprint{color:var(--muted);font-size:12px;margin-top:22px}.booking{background:#f0e9df}.bookingLayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.bookingPanel,.summary{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:34px}.steps{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:30px}.step{display:flex;align-items:center;gap:9px;flex:1;font-size:13px;color:#9b8d7e}.step span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d7c9b7;border-radius:50%}.step.active{color:var(--ink);font-weight:bold}.step.active span{background:var(--orange);border-color:var(--orange);color:white}.page h3,.success h3{font-size:30px;font-weight:400;margin:0}.muted{color:var(--muted);font-size:14px}.menuPicks{display:grid;gap:12px;margin:27px 0}.pick{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:7px;padding:13px;cursor:pointer}.pick.selected{border-color:var(--orange);background:#fff3ec}.pick img{width:95px;height:75px;object-fit:cover;border-radius:4px}.pick strong{display:block}.pick small{color:var(--muted)}.pick input{accent-color:var(--orange);margin-left:auto;transform:scale(1.25)}.btnline{display:flex;justify-content:space-between;gap:15px;margin-top:27px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:25px}.fields label{font-size:13px;font-weight:700}.fields input,.fields textarea,.fields select{display:block;width:100%;margin-top:8px;padding:14px;background:white;border:1px solid #d9d0c6;border-radius:5px;color:var(--ink);font:15px Arial}.fields input:focus,.fields textarea:focus,.fields select:focus{outline:2px solid var(--orange)}.wide{grid-column:1/-1}.agree{display:flex;align-items:start;gap:10px;font-size:13px;margin-top:20px}.agree input{accent-color:var(--orange);margin-top:3px}.formMsg{color:#ae3019;font-size:13px;margin-top:15px}.summary{position:sticky;top:14px}.summaryImg{height:160px;background:center/cover;border-radius:6px;margin:20px 0}.summary h3{font:normal 26px Georgia,serif;margin:0}.sumRow,.sumTotal{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px}.sumRow strong{white-space:nowrap}.sumTotal{padding-top:19px;border-top:1px solid var(--line);font-size:16px}.sumTotal strong{font-size:26px;color:var(--orange)}.how{text-align:center}.howGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:900px;margin:45px auto 0;text-align:left}.howGrid b{color:var(--orange);letter-spacing:.18em}.howGrid h3{font-size:28px;font-weight:400;margin:12px 0}.howGrid p{color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.about img{width:100%;height:470px;object-fit:cover}.about>div{padding:90px 12%;display:flex;flex-direction:column;align-items:start;justify-content:center}.about p{max-width:420px;color:var(--muted);font-size:17px}.textLink{font-weight:bold;margin-top:20px}footer{padding:38px 6vw;background:#25201d;color:white;display:flex;justify-content:space-between;gap:20px}footer span:first-child{font:italic 25px Georgia,serif}footer a{color:#ff9e70}#demoTag{position:fixed;bottom:12px;left:12px;padding:9px 13px;background:#222;color:white;border-radius:5px;font-size:11px;z-index:5;box-shadow:0 4px 15px #0003}.hidden{display:none!important}.check{width:50px;height:50px;background:#dff1e2;border-radius:50%;display:grid;place-items:center;font-size:27px;color:#218742;margin-bottom:15px}@media(max-width:900px){.hero{grid-template-columns:1fr}.heroImg{height:370px;grid-row:1}.heroText{padding:55px 7vw}.menuCards{grid-template-columns:1fr 1fr}.bookingLayout{grid-template-columns:1fr}.summary{position:static}.top nav{display:none}}@media(max-width:630px){.top{height:70px}.top .brand{font-size:22px}.navbtn{padding:11px;font-size:12px}.section{padding:65px 20px}.sectionHead{display:block}.sectionHead p{margin-top:15px}.menuCards,.howGrid{grid-template-columns:1fr}.menuCard img{height:210px}.bookingPanel,.summary{padding:20px}.steps{font-size:11px}.step{font-size:11px}.fields{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about img{height:310px}.about>div{padding:55px 25px}.proof{flex-wrap:wrap}.heroImg{height:300px}.heroText p{font-size:16px}footer{flex-direction:column}}

.categoryCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.categoryCard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:transform .18s,box-shadow .18s}.categoryCard:hover,.catalogCard:hover{transform:translateY(-4px);box-shadow:0 15px 35px #32201615}.categoryPhoto{position:relative;height:225px;overflow:hidden}.categoryPhoto img{height:100%;width:100%;object-fit:cover}.categoryPhoto span{position:absolute;top:14px;left:15px;background:#fffdf0e8;padding:5px 9px;font-size:11px;letter-spacing:.16em}.categoryContent{padding:24px}.categoryContent h3{font:normal 27px Georgia,serif;margin:0 0 9px}.categoryContent p{color:var(--muted);font-size:14px;min-height:43px;margin:0 0 17px}.categoryContent>span,.catalogCardBottom>span{color:var(--orange);font-size:13px;font-weight:700}.catalogHero{padding:95px 7vw 105px;background:linear-gradient(90deg,#faf5eb 52%,#eee1d1);}.catalogHero h1{margin:15px 0 13px}.catalogHero p{color:var(--muted);font-size:20px;max-width:620px}.catalogHero .textLink{display:inline-block;margin-top:15px}.catalogSection{padding:80px 6vw 115px}.catalogIntro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.catalogIntro p{max-width:410px;color:var(--muted)}.catalogGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.catalogCard{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .18s,box-shadow .18s}.catalogCardImg{height:195px;position:relative;overflow:hidden}.catalogCardImg img{width:100%;height:100%;object-fit:cover}.catalogCardImg span{position:absolute;top:11px;left:13px;background:#fffdf0e8;padding:5px 10px;font:13px Georgia,serif}.catalogCardBottom{display:flex;align-items:center;justify-content:space-between;padding:19px 16px;gap:8px}.catalogCardBottom h3{font:normal 23px Georgia,serif;margin:0}.selectedSummary{display:flex;gap:18px;background:#fff7f0;border:1px solid #efcebc;border-radius:8px;padding:16px;margin:25px 0}.selectedSummary img{width:120px;height:95px;object-fit:cover;border-radius:5px}.selectedSummary h3{font:normal 24px Georgia,serif;margin:7px 0}.selectedSummary p{color:var(--muted);font-size:13px;margin:0}.primary:disabled{opacity:.48;cursor:not-allowed}@media(max-width:1000px){.catalogGrid{grid-template-columns:repeat(3,1fr)}.categoryCards{grid-template-columns:repeat(2,1fr)}}@media(max-width:660px){.catalogGrid,.categoryCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalogSection{padding:50px 15px}.catalogIntro{display:block}.catalogHero{padding:60px 22px}.catalogCardImg{height:140px}.catalogCardBottom{display:block;padding:13px}.catalogCardBottom h3{font-size:19px}.catalogCardBottom>span{font-size:11px}.categoryPhoto{height:155px}.categoryContent{padding:14px}.categoryContent h3{font-size:20px}.categoryContent p{font-size:12px;min-height:70px}.selectedSummary{flex-direction:column}.selectedSummary img{width:100%;height:150px}}

/* V3: chef, process, gallery, menus, about */
.meet{display:grid;grid-template-columns:1fr 1fr;background:#fffdfa;align-items:stretch;min-height:450px}.meet img{width:100%;height:100%;min-height:400px;object-fit:cover}.meetCopy{padding:clamp(45px,6vw,100px);display:flex;flex-direction:column;justify-content:center;align-items:start}.meetCopy p{max-width:440px;color:var(--muted);font-size:17px}.gallery{background:#f3ede4}.galleryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:35px}.galleryGrid img{width:100%;height:270px;object-fit:cover;border-radius:5px}.aboutCompact{padding:90px max(6vw,25px);background:#fffdfa;display:flex;align-items:center;justify-content:space-between;gap:40px}.aboutCompact p{max-width:540px;color:var(--muted);font-size:17px}.top nav{gap:22px;flex-wrap:wrap}.top nav a{white-space:nowrap}@media(max-width:900px){.top{height:auto;min-height:88px;flex-wrap:wrap;padding-block:17px}.top nav{display:flex;order:3;width:100%;justify-content:center;gap:15px}.galleryGrid img{height:190px}}@media(max-width:630px){.meet{grid-template-columns:1fr}.meet img{min-height:0;height:300px}.meetCopy{padding:55px 25px}.galleryGrid{grid-template-columns:1fr 1fr}.galleryGrid img{height:180px}.galleryGrid img:last-child{display:none}.aboutCompact{display:block;padding:65px 22px}.top nav{font-size:12px;gap:12px}}

/* Version 4 pricing */
.categoryPrice{color:#ba5b30!important;font-weight:750!important;font-size:1.1rem!important;margin:10px 0!important}.catalogPrice{font-size:1.3rem!important;color:#ae522c!important;font-weight:750;margin:14px 0}.catalogCardBottom span{color:#a94e2c;font-size:.82rem}.summary .smallprint{line-height:1.55}

/* Version 5 logo update */
.brand{display:flex;align-items:center;position:static;font-size:0;font-style:normal;white-space:nowrap;line-height:0}.brand img{height:54px;width:auto;display:block}.brand span{display:none!important}@media(max-width:630px){.brand img{height:40px}}

/* Version 6 custom photography */
.galleryIntro{max-width:640px;color:var(--muted);font-size:17px;margin:18px 0 0}
.galleryGrid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.galleryTile{position:relative;overflow:hidden;border-radius:10px;background:#eee;box-shadow:0 8px 30px rgba(32,18,9,.08)}
.galleryTile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.galleryTile:hover img{transform:scale(1.03)}
.galleryTile.tall{grid-row:span 2;min-height:560px}
.galleryTile.wide{grid-column:span 2;min-height:270px}
.galleryTile.standard{min-height:270px}
.galleryCaption{position:absolute;left:14px;bottom:14px;background:rgba(255,253,250,.88);color:var(--ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-radius:999px}
@media(max-width:900px){.galleryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.galleryTile.tall,.galleryTile.wide,.galleryTile.standard{min-height:220px;grid-column:auto;grid-row:auto}}
@media(max-width:630px){.galleryGrid{grid-template-columns:1fr}.galleryTile.tall,.galleryTile.wide,.galleryTile.standard{min-height:220px}}

/* V7 – editable menu details */
.catalogGrid{align-items:start}.catalogCard{padding:0}.catalogThumb{width:100%;height:175px;object-fit:cover;display:block}.catalogCardBody{padding:20px}.catalogCardBody h3{font:normal 28px Georgia,serif;margin:7px 0}.menuDetails{border-top:1px solid var(--line);margin:15px 0}.menuDetails summary{cursor:pointer;font-weight:700;color:var(--orange);padding:15px 0;display:flex;align-items:center;justify-content:space-between;list-style:none}.menuDetails summary::-webkit-details-marker{display:none}.menuDetails[open] summary span{transform:rotate(45deg)}.courseRows{padding-bottom:8px}.courseRow{border-top:1px solid #eee5db;padding:10px 0}.courseRow span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#a45029;font-weight:bold}.courseRow p{font-size:13px;line-height:1.45;margin:4px 0;color:var(--ink)}.bookMenu{width:100%;padding:12px 10px;text-align:center;font-size:13px}.selectedCourses{margin:15px 0;padding:15px;background:#fff7ef;border-radius:7px}.selectedCourses .courseRow:first-child{border-top:0}.draftNote{font-size:12px;color:var(--muted)}

/* Version 8: expanded, always-visible menu dishes */
.catalogGrid{align-items:stretch;gap:22px}
.detailedCard{display:flex;flex-direction:column;overflow:hidden}
.detailedCard:hover{transform:none;box-shadow:0 10px 26px #32201610}
.detailedCard .catalogCardImg{height:150px;flex-shrink:0}
.detailedCardContent{padding:17px 15px 18px;display:flex;flex-direction:column;flex:1}
.detailedCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.detailedCardHeader h3{font:normal 24px Georgia,serif;margin:0}
.detailedCardHeader strong{font-size:15px;color:var(--orange);white-space:nowrap}
.dishList{padding:0;list-style:none;margin:0 0 22px}
.dishRow{border-top:1px solid var(--line);padding:10px 0;display:flex;flex-direction:column;gap:3px}
.dishLabel{font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:var(--orange);font-size:10px}
.dishName{font-size:13px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.chooseMenuButton{margin-top:auto;display:block;text-align:center;background:var(--orange);color:#fff;padding:12px 8px;border-radius:5px;font-weight:700;font-size:13px}
.chooseMenuButton:hover{background:#bc451c}
@media(max-width:850px){.catalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.catalogGrid{grid-template-columns:1fr}.detailedCard .catalogCardImg{height:170px}}

/* V9 optional extras */
.extrasList{display:grid;gap:14px;margin-top:24px}.extraCard{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer}.extraCard:has(input:checked){border-color:var(--orange);background:#fff4ec}.extraCard input{accent-color:var(--orange);width:20px;height:20px}.extraCard span{flex:1}.extraCard strong{display:block}.extraCard small{display:block;color:var(--muted);margin-top:5px}.extraCard b{color:var(--orange);white-space:nowrap}.extraCard[hidden],.sumRow[hidden]{display:none!important}.steps{flex-wrap:wrap}

/* Version 14: fluid gallery, 1–20 real images only. Portrait and landscape preserve natural proportions. */
.galleryGrid{display:block!important;columns:4 210px;column-gap:18px;margin-top:35px;}
.galleryGrid .galleryTile,.galleryGrid .galleryTile.tall,.galleryGrid .galleryTile.wide,.galleryGrid .galleryTile.standard{display:block!important;position:relative!important;width:100%!important;min-height:0!important;height:auto!important;margin:0 0 18px!important;break-inside:avoid;overflow:hidden;border-radius:9px;}
.galleryGrid .galleryTile img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:9px;}
.galleryGrid .galleryTile figcaption{pointer-events:none;}
@media(max-width:900px){.galleryGrid{columns:2 180px;}}
@media(max-width:570px){.galleryGrid{columns:1;}}

/* Version 14.3: always-accessible navigation */
.top {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 2px 12px rgba(36, 34, 32, 0.06);
}
/* Keep section headings visible beneath the navigation on anchor jumps. */
html { scroll-padding-top: 108px; }
#home, #meet, #how, #gallery, #menus, #about, #book { scroll-margin-top: 108px; }
@media (max-width: 900px) {
  html { scroll-padding-top: 145px; }
  #home, #meet, #how, #gallery, #menus, #about, #book { scroll-margin-top: 145px; }
}
@media (max-width: 630px) {
  html { scroll-padding-top: 135px; }
  #home, #meet, #how, #gallery, #menus, #about, #book { scroll-margin-top: 135px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Version 14.4: clean branded footer, same logo asset as the header */
footer.chefFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 44px 6vw 65px;
}
footer.chefFooter .footerBrand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: min(100%, 292px);
  padding: 12px 14px;
  background: #fff;
  border-radius: 3px;
  box-sizing: border-box;
  text-decoration: none;
}
footer.chefFooter .footerBrand img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1519 / 382;
}
footer.chefFooter .footerTagline {
  color: rgba(255,255,255,.86);
  font: 400 clamp(15px, 1.8vw, 18px)/1.5 system-ui, -apple-system, 'Segoe UI', sans-serif;
}
@media (max-width: 630px) {
  footer.chefFooter {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    padding: 40px 22px 110px; /* Space below the tagline for Back to top */
  }
  footer.chefFooter .footerBrand { width: min(100%, 285px); }
  footer.chefFooter .footerTagline { font-size: 16px; }
}

/* Version 16: live availability calendar on public booking form */
.dateAvailability{grid-column:1/-1;background:#fff9f3;border:1px solid #e8d8c7;padding:14px;border-radius:10px;margin-bottom:12px}
.availabilityPublicHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.availabilityPublicHead button{width:40px;height:38px;background:white;border:1px solid #dbc4b4;border-radius:6px;cursor:pointer;color:#27211d}
.availabilityPublicHead button:disabled{opacity:.35;cursor:not-allowed}
.publicDateGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.publicDayName{font-size:12px;font-weight:bold;color:#7a6d62;text-align:center}
.publicDate{border:1px solid #e3d7cb;border-radius:6px;background:#fff;min-height:40px;cursor:pointer;color:#29231d;padding:4px}
.publicDate:hover:not(:disabled),.publicDateSelected{background:#e65a27;color:white;border-color:#e65a27}
.publicDate.publicDateOff{background:#f3eee9;color:#b0a6a0;text-decoration:line-through;cursor:not-allowed}
.dateFeedback{margin:10px 0 0;font-size:13px;color:#4d6952}
.dateFeedback.dateError{color:#a62e19}
.availabilityLoading{grid-column:1/-1;font-size:13px;color:#796e65}
@media(max-width:580px){.dateAvailability{padding:9px}.publicDateGrid{gap:3px}.publicDate{min-height:37px}}

/* Version 16.2: inline booking contact validation. */
.fields input[aria-invalid="true"]{border-color:#b43f29;outline:2px solid rgba(180,63,41,.14);}
.fields .validationError{display:block;margin-top:6px;color:#ae3019;font-size:12px;line-height:1.4;font-weight:400;}
.fields .validationError[hidden]{display:none!important;}

/* Version 16.6: FAQ + Booking Policy — clean, accessible, responsive. */
.faqSection{background:#f8f4ed}
.faqList,.policyList{max-width:1000px;margin:0 auto}
.faqList details{border:1px solid var(--line);border-radius:9px;background:var(--paper);margin:10px 0;overflow:hidden}
.faqList summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:21px 24px;font-size:17px;font-weight:700;list-style:none}
.faqList summary::-webkit-details-marker{display:none}
.faqList summary::after{content:'+';font:normal 28px Georgia,serif;color:var(--orange)}
.faqList details[open] summary::after{content:'−'}
.faqList summary:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.faqAnswer{padding:0 24px 22px;color:var(--muted);font-size:15px;white-space:pre-line;line-height:1.65}
.policySection{background:var(--paper)}
.policyList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.policyBlock{padding:24px 26px;border:1px solid var(--line);border-radius:9px;background:#fffdfa}
.policyBlock h3{font:normal 23px Georgia,serif;margin:0 0 13px}
.policyBlock p{margin:0;color:var(--muted);font-size:15px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}
#faq,#booking-policy{scroll-margin-top:108px}
.agree a{color:var(--orange);text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){#faq,#booking-policy{scroll-margin-top:145px}}
@media(max-width:700px){.policyList{grid-template-columns:1fr}.faqList summary{padding:18px;font-size:15px}.faqAnswer{padding:0 18px 18px}.policyBlock{padding:21px}.policyBlock h3{font-size:21px}}
@media(max-width:630px){#faq,#booking-policy{scroll-margin-top:135px}}


/* Version 16.7: show FAQ and Booking Policy in the existing sticky navigation. */
/* Desktop: preserve the original single-line header with tighter link spacing. */
.top nav {
  align-items: center;
  gap: clamp(10px, 1.35vw, 22px);
  font-size: 13px;
}
.top nav a { white-space: nowrap; }
.top nav a:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 5px;
  border-radius: 2px;
}
/* On narrower screens show all seven links, rather than hiding a row. */
@media (max-width: 1100px) {
  .top {
    height: auto;
    min-height: 88px;
    flex-wrap: wrap;
    gap: 10px 14px;
    padding-block: 12px;
  }
  .top nav {
    display: flex;
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 18px;
  }
  html { scroll-padding-top: 158px; }
  #home, #meet, #how, #gallery, #menus, #about, #faq, #booking-policy, #book {
    scroll-margin-top: 158px;
  }
}
@media (max-width: 630px) {
  .top { height: auto; min-height: 70px; gap: 8px 12px; padding: 11px 15px; }
  .top nav { font-size: 12px; gap: 7px 13px; }
  .top .navbtn { padding: 10px 12px; }
  html { scroll-padding-top: 170px; }
  #home, #meet, #how, #gallery, #menus, #about, #faq, #booking-policy, #book {
    scroll-margin-top: 170px;
  }
}

/* Chef Norbert v19: clear, accessible consent before Stripe checkout. */
.termsNotice{display:flex;flex-direction:column;gap:5px;padding:15px 17px;margin:18px 0 13px;background:#fff7ee;border:1px solid #efc7b1;border-radius:9px;color:#3d3029;font-size:14px;line-height:1.5}
.termsNotice strong{color:#a53f17;font-size:15px}
.page .agree{display:flex;align-items:flex-start;gap:11px;line-height:1.6;font-size:14px}
.page .agree input[type=checkbox]{flex:0 0 auto;width:19px;height:19px;margin-top:3px;accent-color:#df5621}
.page .agree a:focus-visible{outline:2px solid #df5621;outline-offset:3px}


/* V20 — customer checkout review, prices and pre-payment allergy guidance */
.allergenNotice{border:1px solid #e8c8ab;background:#fff7ed;border-radius:9px;padding:18px 20px;margin-top:19px;color:#3b3028}
.allergenNotice strong{font-size:14px}.allergenNotice p{font-size:13px;line-height:1.6;margin:8px 0}.allergenNotice a{font-size:13px;font-weight:700;color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.checkoutReview{border:1px solid #e3d9ce;border-radius:9px;background:#fffaf4;padding:20px 22px;margin-top:25px}
.checkoutReview h4{font:normal 24px Georgia,serif;margin:0 0 6px;color:var(--ink)}
.checkoutReview #reviewEvent{margin:0 0 16px;line-height:1.6}
.checkoutLine{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid #ebded0;padding:11px 0;font-size:14px}
.checkoutLine strong{white-space:nowrap}.checkoutLineTotal{font-size:17px;font-weight:700;border-top:2px solid #d8b397;padding:16px 0 4px}
.checkoutLineTotal strong{font-size:23px;color:var(--orange)}
.quoteStatus{font-size:13px;color:#65584c;margin:11px 0}.quoteStatus.is-error{color:#a82e23;font-weight:700}.quoteStatus.is-ok{color:#25603c}
.allergenChoice{border:1px solid var(--line);border-radius:8px;padding:15px 20px 18px;margin-top:23px;min-width:0}
.allergenChoice legend{font-weight:700;font-size:14px;padding:0 5px}
.allergenChoice label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;margin:12px 0}
.allergenChoice input{accent-color:var(--orange);margin:3px 0 0;flex:none}
.allergenChoice small{display:block;font-size:12px;line-height:1.55;margin-top:8px}
@media(max-width:520px){.checkoutReview{padding:16px}.checkoutLine{gap:9px;font-size:13px}.checkoutLineTotal strong{font-size:20px}}

.sumRow[hidden],.checkoutLine[hidden],.allergenNotice [hidden],.allergenChoice [hidden]{display:none!important}
.allergenChoice a{display:inline-block;margin:12px 0 0;color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:3px;font-size:13px}

/* Version 20.1 — sticky booking-step headings and deliberate allergen declarations */
.page h3,.checkoutReview,.checkoutReview h4,.allergenChoice {scroll-margin-top:190px}
.allergenChoice label{padding:6px 8px;margin:4px -8px;border-radius:6px;cursor:pointer}
.allergenChoice label:hover{background:#fff6ef}
.allergenChoice label:has(input:focus-visible){outline:2px solid var(--orange);outline-offset:2px}
.allergenChoice.has-error{border-color:#b63a25;background:#fff8f5}
.allergenChoice .allergenError{color:#a52b1a;font-size:13px;font-weight:700;line-height:1.5;margin:10px 0}
.allergenChoice .allergenError[hidden]{display:none!important}
.allergenChoice a:focus-visible,.allergenNotice a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
@media(max-width:630px){.page h3,.checkoutReview,.checkoutReview h4,.allergenChoice{scroll-margin-top:220px}}

/* Version 22 — privacy notice */
#privacy{scroll-margin-top:145px;background:var(--ivory)}
.privacyContent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1100px;margin:auto}
.privacyBlock{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:23px 25px;min-width:0}
.privacyBlock h3{font:normal 23px Georgia,serif;margin:0 0 11px}
.privacyBlock p{font-size:14px;color:var(--muted);line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;margin:0}
.privacyContact{max-width:1100px;margin:24px auto 0;color:var(--muted);font-size:14px}
.privacyContact a,.privacyCheckoutNotice a,.footerPrivacy{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.privacyCheckoutNotice{margin:20px 0 10px;font-size:13px;color:var(--muted);line-height:1.55}
footer.chefFooter .footerPrivacy{align-self:center;color:#ffab83;font-size:14px}
@media(max-width:760px){.privacyContent{grid-template-columns:1fr}.privacyBlock{padding:20px}#privacy{scroll-margin-top:155px}footer.chefFooter .footerPrivacy{align-self:flex-start}}

/* Version 22.1 — separate dietary/allergy consent */
.sensitiveConsentPanel{margin:18px 0;padding:17px 18px;border:1px solid #e8c6b5;border-radius:8px;background:#fff8f2}
.sensitiveConsentPanel[hidden]{display:none!important}
.sensitiveConsentLabel{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:13px;line-height:1.65}
.sensitiveConsentLabel input{accent-color:#df5621;margin-top:5px;width:18px;height:18px;flex-shrink:0}
.sensitiveConsentLabel a{color:#bb4a20;text-decoration:underline}
.sensitiveConsentPanel .validationError{display:block;margin:8px 0 0 30px;color:#b22f1d}
.sensitiveConsentPanel .validationError[hidden]{display:none}
