/* Sourced visitor guide; shares the home/tours navigation and palette. */
.gastronomy-page { --g-ink:#193f35; --g-clay:#8c482f; --g-paper:#f5f1e8; --g-line:#d9d9c9; background:#fffdf8; }
.gastronomy-page [hidden] { display:none !important; }
.gastronomy-page:not(.home-enhanced) .site-header { position:static; }
.gastronomy-page:not(.home-enhanced) .nav-toggle { display:none; }
.gastronomy-page .nav-toggle::before { content:'☰'; font:1.4rem/1 system-ui,sans-serif; }
.gastronomy-page .nav-toggle > i { display:none; }
.gastronomy-page .main-nav a.nav-home::before { content:'⌂'; font:1.4rem/1 system-ui,sans-serif; }
.gastronomy-page .main-nav a.nav-home > i { display:none !important; }
.gastronomy-page :is(article,section,li[id]) { scroll-margin-top:120px; }
.gastronomy-page main :is(a,button,input,select,summary):focus-visible { outline:3px solid #ac602e; outline-offset:4px; }
.gastronomy-page main a { color:#275643; }
.gastro-section { padding:82px 0; }
.gastro-paper { background:var(--g-paper); }
.gastro-eyebrow { font-size:.68em; font-weight:800; letter-spacing:.17em; line-height:1.6; color:var(--g-clay); margin:0 0 20px; }
.gastro-hero { padding:0; overflow:hidden; background:#ebe6da; }
.gastro-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:65px; align-items:center; }
.gastro-hero-copy { padding-block:65px 42px; }
.gastro-hero h1 { font:400 clamp(2.8rem,4.6vw,4.7rem)/1.1 var(--font-family); letter-spacing:-.045em; color:var(--g-ink); margin:0 0 25px; }
.gastro-hero h1 em { color:var(--g-clay); font-weight:400; }
.gastro-lead { font-weight:800; color:var(--g-ink); font-size:1.05em; margin-bottom:12px; }
.gastro-hero-intro { max-width:500px; font-size:.91em; color:#4c5b4e; line-height:1.85; margin-bottom:27px; }
.gastro-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.gastronomy-page .gastro-button { display:inline-flex; align-items:center; gap:25px; background:var(--g-ink); color:#fffdf8; min-height:50px; padding:14px 22px; border-radius:4px; font-weight:800; font-size:.78em; }
.gastronomy-page .gastro-button:hover { background:#285b44; text-decoration:none; }
.gastro-text-link { display:inline-flex; align-items:center; min-height:44px; font-size:.78em; font-weight:800; gap:12px; }
.gastro-hero-meta { display:flex; flex-wrap:wrap; align-items:center; gap:15px 28px; margin-top:42px; padding-top:20px; border-top:1px solid #cbcdbb; font-size:.7em; color:#4c604c; }
.gastro-hero-meta strong { font-size:1.5em; font-weight:700; margin-right:5px; }
.gastro-hero-figure { margin:0; position:relative; align-self:stretch; min-height:570px; background:#394b36; }
.gastro-hero-figure > img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:50% 28%; }
.gastro-hero-figure::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#091c16df); pointer-events:none; }
.gastro-hero-figure figcaption { position:absolute; bottom:28px; left:30px; right:22px; z-index:1; color:#fff; }
.gastro-hero-figure figcaption > span { display:block; font:italic 1.7rem/1.15 var(--font-family); max-width:260px; margin-bottom:13px; }
.gastro-hero-figure small { display:block; font-size:.58em; }
.gastro-hero-figure figcaption a { color:#fff !important; text-decoration:underline; }
.gastro-jump { background:#fffdf8; border-bottom:1px solid var(--g-line); }
.gastro-jump > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 20px; padding-block:15px; }
.gastro-jump a { min-height:44px; display:inline-flex; align-items:center; gap:8px; font-size:.72em; font-weight:800; }
.gastro-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:38px; }
.gastro-heading .gastro-eyebrow { margin-bottom:15px; }
.gastronomy-page main h2 { font:400 clamp(2rem,3.4vw,3.25rem)/1.14 var(--font-family); letter-spacing:-.035em; color:var(--g-ink); }
.gastro-heading h2 { margin:0; }
.gastro-heading > p { max-width:340px; flex:0 1 340px; font-size:.83em; color:#596854; line-height:1.8; margin:0; }
.gastro-reasons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding-top:28px; border-top:1px solid var(--g-line); }
.gastro-reasons article > span { font-size:.64em; letter-spacing:.14em; font-weight:800; color:#9a5331; }
.gastro-reasons h3 { font:400 1.55rem/1.2 var(--font-family); margin:18px 0 13px; color:var(--g-ink); }
.gastro-reasons p { font-size:.83em; line-height:1.8; color:#5a6755; margin:0; }
.gastro-editor-note { font-size:.66em; color:#68725e; margin:23px 0 0; }
.gastro-first { border-left:3px solid #9a5331; padding:20px 25px; margin-bottom:32px; background:#eae4d6; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 24px; }
.gastro-first strong { color:#7d402a; font-size:.8em; }
.gastro-first p { margin:0; font-size:.87em; line-height:2; }
.gastro-first a { text-decoration:underline; text-underline-offset:4px; }
.gastro-first small { width:100%; color:#5f6855; font-size:.7em; }
.gastro-chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.gastro-chips button { background:transparent; border:1px solid #bfc8b4; border-radius:25px; min-height:46px; padding:10px 18px; color:#34533c; font:800 .77em var(--font-family); cursor:pointer; }
.gastro-chips button[aria-pressed="true"] { background:var(--g-ink); color:white; border-color:var(--g-ink); }
.gastro-filter-row { display:flex; align-items:end; gap:20px; flex-wrap:wrap; }
.gastro-filter-row label,.gastro-venue-toolbar label { display:grid; gap:8px; font-size:.72em; font-weight:800; color:#40563d; }
.gastro-filter-row label:first-child { flex:1 1 250px; max-width:510px; }
.gastronomy-page main :is(input,select) { font:inherit; min-height:46px; margin:0; width:100%; border:1px solid #bec7b2; background:#fffdf8; color:#254632; padding:11px 14px; border-radius:4px; }
.gastro-filter-row select { min-width:190px; }
.gastro-reset { background:transparent; border:0; min-height:46px; font:700 .74em var(--font-family); color:#3c573c; text-decoration:underline; cursor:pointer; padding:10px; }
.gastro-count { font-size:.7em; color:#526249; margin:25px 0 15px; }
.gastro-dish-grid,.gastro-venue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.gastro-dish { border:1px solid var(--g-line); background:#fffdf8; border-radius:5px; padding:25px 30px 8px; }
.gastro-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:8px; }
.gastro-card-top > span:first-child { font-size:.65em; color:#69745d; }
.gastro-card-top b { margin-inline:9px; font-weight:400; color:#aeb39e; }
.gastro-card-number { color:#9a6542; font:italic 2.25rem var(--font-family); }
.gastro-dish h3,.gastro-venue h3 { font:400 1.9rem/1.16 var(--font-family); color:var(--g-ink); letter-spacing:-.025em; margin:0 0 16px; }
.gastro-dish > p { min-height:4.8em; font-size:.83em; line-height:1.7; color:#5a6653; margin-bottom:22px; }
.gastro-story { border-top:1px solid var(--g-line); }
.gastro-story summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:54px; font-size:.76em; font-weight:800; color:#37533a; cursor:pointer; list-style:none; }
.gastro-story summary::-webkit-details-marker { display:none; }
.gastro-story summary span { font-size:1.6em; font-weight:400; }
.gastro-story[open] summary span { transform:rotate(45deg); }
.gastro-story > div { padding:12px 0 7px; }
.gastro-story h4 { font-size:.75em; color:#7d402a; margin:0 0 8px; }
.gastro-story p { font-size:.8em; line-height:1.85; color:#53624b; margin-bottom:19px; }
.gastro-story .gastro-ingredients { font-size:.7em; border-top:1px dotted var(--g-line); padding-top:14px; }
.gastro-card-bottom { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; border-top:1px solid var(--g-line); }
.gastro-card-bottom > a { font-size:.73em; font-weight:800; min-height:44px; display:inline-flex; align-items:center; }
.gastro-refs { font-size:.64em; color:#63735b; display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px; }
.gastro-refs a { display:inline-flex; align-items:center; min-height:32px; min-width:24px; text-decoration:underline; }
.gastro-note { padding:23px 0 0; margin-top:23px; border-top:1px solid #c9ccba; display:flex; gap:25px; align-items:baseline; }
.gastro-note > strong { white-space:nowrap; font-size:.8em; color:#7d402a; }
.gastro-note p { font-size:.75em; line-height:1.8; color:#59684f; margin:0; }
.gastro-note .gastro-refs { font-size:.85em; }
.gastro-empty { text-align:center; padding:35px; border:1px dashed #b0b9a2; }
.gastro-venue-toolbar { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:20px; border-top:1px solid var(--g-line); padding-top:23px; }
.gastro-venue-toolbar p { font-size:.8em; max-width:650px; color:#697258; margin:0; }
.gastro-venue-toolbar select { min-width:190px; }
.gastro-venue { border:1px solid var(--g-line); border-radius:5px; padding:29px; }
.gastro-venue .gastro-eyebrow { font-size:.6em; margin-bottom:12px; }
.gastro-venue > p:not(.gastro-eyebrow) { font-size:.82em; color:#607055; }
.gastro-order { padding:16px 18px; border-left:2px solid #b18358; background:var(--g-paper); margin:18px 0; }
.gastro-order strong { font-size:.71em; color:#754428; }
.gastro-order p { font-size:.77em; margin:5px 0 0; color:#57674a; }
.gastro-venue address { font-style:normal; font-size:.73em; color:#65725a; }
.gastro-venue address a { display:inline-flex; min-height:38px; align-items:center; text-decoration:underline; }
.gastro-venue-actions { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 10px; }
.gastro-venue-actions a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border:1px solid #c4ccb8; border-radius:3px; font-size:.7em; font-weight:800; }
.gastro-venue-actions a:first-child { background:#244b39; border-color:#244b39; color:#fff; }
.gastro-area-list { margin-top:28px; border-block:1px solid var(--g-line); }
.gastro-area-list > summary { padding:22px 0; font-weight:800; font-size:.86em; color:#3f5c3f; cursor:pointer; }
.gastro-areas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; padding:16px 0 30px; }
.gastro-areas h3 { font-size:1.15em; }
.gastro-areas p { font-size:.82em; color:#57674a; }
.gastro-areas a { display:inline-flex; align-items:center; min-height:44px; font-size:.8em; font-weight:800; }
.gastro-dark { background:#173f35; color:#e7ecdf; }
.gastro-dark :is(h2,h3) { color:#fffdf4; }
.gastro-dark .gastro-eyebrow { color:#edca8e; }
.gastro-dark .gastro-heading > p { color:#c6d3bd; }
.gastro-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.gastro-route-grid article { display:flex; flex-direction:column; border-top:1px solid #61816a; padding-top:17px; }
.gastro-route-number { font:italic 3.5rem var(--font-family); color:#ecc581; margin:0 0 20px; }
.gastro-route-grid .gastro-eyebrow { font-size:.62em; margin-bottom:14px; }
.gastro-route-grid h3 { font:400 1.85rem/1.16 var(--font-family); margin:0 0 20px; }
.gastro-route-grid article > p:not(.gastro-eyebrow):not(.gastro-route-number) { font-size:.8em; color:#c5d3bd; line-height:1.8; }
.gastro-route-grid ol { padding-left:20px; margin:6px 0 20px; font-size:.78em; line-height:1.85; }
.gastro-route-grid li { padding-left:5px; margin-bottom:17px; }
.gastro-route-grid .gastro-actions { border-top:1px solid #58765d; padding-top:12px; margin-top:auto; gap:10px 18px; }
.gastro-route-grid a { color:#ecc581 !important; font-size:.7em; font-weight:800; min-height:44px; display:inline-flex; align-items:center; }
.gastro-route-note { padding-top:28px; margin:20px 0 0; border-top:1px solid #58765d; color:#c5d3bd; font-size:.75em; line-height:1.8; }
.gastro-pantry-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; border-top:1px solid var(--g-line); padding-top:28px; margin-bottom:25px; }
.gastro-pantry-grid h3 { font:400 1.5rem/1.2 var(--font-family); color:#254b39; }
.gastro-pantry-grid p { font-size:.8em; color:#627154; line-height:1.8; }
.gastro-faq .container { max-width:1040px; }
.gastro-faq details { border-bottom:1px solid var(--g-line); }
.gastro-faq summary { padding:22px 0; font-size:.9em; font-weight:800; color:#325237; cursor:pointer; }
.gastro-faq details p { max-width:800px; color:#5c6a52; font-size:.84em; padding-bottom:16px; line-height:1.85; }
.gastro-sources { background:#efede3; padding:50px 0; }
.gastro-sources h2 { font-size:2rem; }
.gastro-sources p { font-size:.75em; max-width:850px; color:#617053; }
.gastro-sources summary { font-size:.8em; font-weight:800; cursor:pointer; padding:14px 0; }
.gastro-sources ol { columns:2; gap:50px; padding-left:20px; }
.gastro-sources li { break-inside:avoid; padding:8px 0 8px 5px; font-size:.72em; }
.gastro-sources .gastro-editor-note { font-size:.65em; }
.gastronomy-page :is(.gastro-dish,.gastro-venue,.gastro-areas article,.gastro-sources li):target { outline:2px solid #a86a37; outline-offset:5px; }
.gastronomy-page.font-xlarge .gastro-heading { align-items:start; }
.gastronomy-page.high-contrast .gastro-hero-figure::after { display:none; }
.gastronomy-page.high-contrast .gastro-hero-figure figcaption { padding:12px; left:12px; right:12px; }
.gastronomy-page.high-contrast .gastro-chips button[aria-pressed="true"] { color:#000 !important; background:#ffe500 !important; }
@media(max-width:1100px) {
    .gastro-hero-grid { gap:35px; grid-template-columns:1.1fr .9fr; }
    .gastro-hero h1 { font-size:3.4rem; }
    .gastro-reasons,.gastro-route-grid { gap:25px; }
    .gastro-pantry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
    .gastro-hero-grid { grid-template-columns:1fr; gap:0; }
    .gastro-hero-copy { padding-block:45px 30px; }
    .gastro-hero-figure { min-height:370px; margin-bottom:28px; }
    .gastro-hero-figure > img { object-position:center 25%; }
    .gastro-heading { display:block; }
    .gastro-heading > p { max-width:640px; margin-top:20px; }
    .gastro-section { padding-block:55px; }
    .gastro-reasons,.gastro-route-grid { grid-template-columns:1fr; gap:30px; }
    .gastro-reasons article { max-width:650px; }
    .gastro-dish-grid,.gastro-venue-grid { grid-template-columns:1fr; }
    .gastro-dish > p { min-height:0; }
    .gastro-note { display:block; }
    .gastro-note > strong { display:block; margin-bottom:10px; }
    .gastro-route-grid article { display:block; }
    .gastro-route-number { font-size:2.8rem; }
    .gastro-route-grid .gastro-actions { margin-top:20px; }
}
@media(max-width:480px) {
    .gastronomy-page .container { padding-inline:22px; }
    .gastro-hero h1 { font-size:2.8rem; }
    .gastro-hero-meta { gap:12px 20px; margin-top:28px; }
    .gastro-hero-figure { min-height:320px; }
    .gastro-jump > div { gap:0 18px; }
    .gastro-jump a { font-size:.68em; }
    .gastro-dish,.gastro-venue { padding:22px 20px 12px; }
    .gastro-dish h3,.gastro-venue h3 { font-size:1.7rem; }
    .gastro-first { padding:18px; }
    .gastro-filter-row label { flex:1 1 100%; }
    .gastro-pantry-grid,.gastro-areas { grid-template-columns:1fr; }
    .gastro-sources ol { columns:1; }
    .gastro-venue-actions { gap:8px; }
    .gastro-venue-actions a { padding-inline:10px; }
    .gastro-heading { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .gastronomy-page { scroll-behavior:auto; } }
/* Match the itinerary collection: photographic opening, gold accents and cream cards. */
.gastronomy-page { --tour-ink:#193f35; --tour-paper:#f8f5ee; --tour-gold:#ecc581; --g-paper:#f8f5ee; --g-clay:#597152; background:var(--tour-paper); }
.gastronomy-page .gastro-tour-hero .tours-hero-photo { object-position:center 15%; }
.gastronomy-page .gastro-tour-hero .tours-hero-shade { background:linear-gradient(90deg,#08251ef5 0%,#0b3020bd 45%,#0b302035 100%),linear-gradient(0deg,#082b29cf,transparent 55%); }
.gastronomy-page main .tour-button-gold { color:#183e32; }
.gastronomy-page main .tours-hero-pick,.gastronomy-page main .tours-hero-bottom a { color:#fff; }
.gastronomy-page .gastro-jump { background:#fffdf8; }
.gastronomy-page .gastro-dish-grid,.gastronomy-page .gastro-venue-grid { gap:32px; }
.gastronomy-page .gastro-dish,.gastronomy-page .gastro-venue { border-radius:7px; background:#fffdf8; padding:30px 30px 12px; }
.gastronomy-page .gastro-card-number { color:#9a7538; }
.gastronomy-page .gastro-card-top { border-bottom:1px solid #dce1d1; padding-bottom:16px; margin-bottom:22px; }
.gastronomy-page .gastro-dish h3,.gastronomy-page .gastro-venue h3 { font-size:2.15rem; }
.gastronomy-page .gastro-filters { border-block:1px solid #d8dece; padding-block:22px; }
.gastronomy-page .gastro-first { border-color:#c5a364; background:#eae6d8; }
.gastronomy-page .gastro-first strong,.gastronomy-page .gastro-story h4 { color:#38553f; }
.gastronomy-page .gastro-dark { background:#eae6d8; color:#244b39; }
.gastronomy-page .gastro-dark :is(h2,h3),.gastronomy-page .gastro-dark .gastro-eyebrow { color:#244b39; }
.gastronomy-page .gastro-dark .gastro-heading>p { color:#596b51; }
.gastronomy-page .gastro-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.gastronomy-page .gastro-route-grid article { border:1px solid #d2dac7; border-radius:7px; background:#fffdf8; padding:30px; }
.gastronomy-page .gastro-route-number { color:#98723c; border-bottom:1px solid #d8dece; padding-bottom:20px; }
.gastronomy-page .gastro-route-grid article>p:not(.gastro-eyebrow):not(.gastro-route-number),.gastronomy-page .gastro-route-note { color:#586a50; }
.gastronomy-page .gastro-route-grid a { color:#244b39 !important; }
.gastronomy-page .gastro-route-grid .gastro-actions { border-color:#d8dece; }
.gastro-route-plan { margin-bottom:20px; border-top:1px solid #d8dece; }
.gastro-route-plan summary { display:flex; justify-content:space-between; gap:15px; cursor:pointer; min-height:55px; align-items:center; font-size:.85em; font-weight:800; }
.gastro-route-plan ol { margin-top:20px; }
.gastronomy-page.high-contrast .gastro-route-grid article { background:#000; color:#fff; }
.gastronomy-page.high-contrast .gastro-route-grid a { color:#ffe500 !important; }
@media(max-width:800px) {
 .gastronomy-page .gastro-route-grid { grid-template-columns:1fr; }
 .gastronomy-page .gastro-dish,.gastronomy-page .gastro-venue,.gastronomy-page .gastro-route-grid article { padding:24px 22px 12px; }
 .gastronomy-page .gastro-dish h3,.gastronomy-page .gastro-venue h3 { font-size:1.85rem; }
}
@media print {
    .gastronomy-page :is(.a11y-toolbar,.site-header,.gastro-jump,.gastro-filters,.gastro-venue-toolbar,.site-footer,#ai-chat-widget) { display:none !important; }
    .gastro-hero-figure { display:none; }
    .gastro-hero-grid,.gastro-dish-grid,.gastro-venue-grid,.gastro-route-grid { display:block; }
    .gastro-dish,.gastro-venue { break-inside:avoid; margin-bottom:15px; }
}
