/* Cafein: warm light, caramel, coffee and uncluttered food photography. */
:root{--wine:#a44f2d;--wine-dark:#7d351c;--cream:#f8f5ef;--ink:#352820;--muted:#837468;--line:#e9e0d5;--gold:#e9a34e;--green:#5c6950}
body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}main,.header,footer{max-width:1280px}main{padding:0 4%}.header{padding:20px 4%;gap:20px;background:none}.brand{background:none;padding:0;border-radius:0}.brand img{width:140px;height:49px}.header nav{margin-left:auto}.nav-link,.nav-link.active{font-size:13px;color:var(--muted);border:0}.header-actions{gap:12px}.bag-btn{background:#352820;color:#fff;border:0;border-radius:50px;padding:11px 18px;font-size:13px;font-weight:600}.bag-btn span{background:#e7a358;color:#352820}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-weight:700;letter-spacing:-.045em}h2{font-size:30px}.eyebrow{color:var(--wine);font-size:10px;letter-spacing:.14em}.primary,.light-btn,.dock-action{background:var(--wine);color:#fff;border-radius:50px;padding:13px 22px;font-size:13px;font-weight:600;gap:16px}.primary:hover,.dock-action:hover{background:var(--wine-dark)}
/* The compact opening card feels like a warm counter, not a TV menu. */
.menu-spotlight{height:300px;min-height:0;grid-template-columns:1.1fr 1fr;border:0;border-radius:24px;background:radial-gradient(ellipse at 85% 45%,#d89a5b55,transparent 55%),linear-gradient(110deg,#4c3328,#76503b);color:#fff5e6;isolation:isolate}
.menu-spotlight .hero-copy{padding:28px 0 28px 7%;align-self:center}.menu-spotlight .spotlight-label{display:block;background:none;padding:0;margin:0 0 12px;color:#ecc097;font-size:10px;font-weight:bold;letter-spacing:.15em}.menu-spotlight .hero-description{color:#fff3df;font-size:34px;font-weight:700;letter-spacing:-.045em;line-height:1.08;margin:0 0 16px;max-width:12ch}.menu-spotlight #hero-dish-name{font-size:15px;letter-spacing:0;font-weight:500;line-height:1.35;color:#ead2bc;margin:0}.menu-spotlight #hero-dish-price{display:inline-block;font-size:18px;font-weight:bold;color:#ffdaaa;margin:6px 0 14px;min-height:0}.menu-spotlight .primary{display:flex;width:max-content;background:#f6ead6;color:#513426;font-size:12px;padding:10px 18px}.menu-spotlight .hero-foot{display:none}.menu-spotlight .hero-visual{min-height:0;height:100%;margin:0;background:none;overflow:hidden}.menu-spotlight .hero-dish{inset:4% 3% 12%;height:84%;width:94%;object-fit:contain;transform:rotate(-5deg);filter:drop-shadow(0 16px 14px #1e120f44);mix-blend-mode:normal;mask-image:none}.hero-slides{bottom:12px}.hero-slide-controls{gap:7px;align-items:center}.hero-slide-controls button{font-size:0;width:7px;height:7px;min-width:0;padding:0;border:0;background:#f5dfc766;border-radius:99px}.hero-slide-controls button[aria-pressed=true]{width:22px;background:#f5dfc7}.hero-slide-controls #hero-pause{font-size:11px;width:22px;height:22px;color:#f5dfc7;background:none}
/* Two distinct navigation levels, no repeated headings or framed panel. */
.menu-section{padding:26px 0 48px;position:relative}.menu-section>.section-heading{justify-content:flex-end;margin-bottom:14px}.search{background:#eee8df;border:0;border-radius:50px;padding:8px 16px;color:var(--muted)}.search input{width:210px;font-size:13px;color:var(--ink)}.search input::placeholder{color:var(--muted)}.menu-toolbar{margin:0 0 20px;display:block}.station-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:none;padding:0;gap:18px;border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%}.station-tabs button{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 2px 15px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--muted);font-size:16px;font-weight:600;white-space:normal}.station-tabs button.selected{background:none;color:var(--wine);border-bottom-color:var(--wine)}.tab-hint{font-size:10px;font-weight:400;opacity:.8}
#categories,#showcase-categories{display:flex;flex-wrap:wrap;gap:7px;overflow:visible;white-space:normal;margin-bottom:22px;padding:0}.categories button{padding:8px 15px;background:#eee8df;border:0;border-radius:50px;font-size:12px;color:#766354;white-space:normal;flex:0 0 auto}.categories button.selected{background:#352820;color:#fff}.menu-meta:not(:has(#category-title:not([hidden]))){display:none}.menu-meta h3{font-size:16px}.section-intro,.showcase-summary{font-size:13px;color:var(--muted);margin:0 0 18px}.showcase-section{padding:0}
/* Product photography has its own white surface; text stays on the page. */
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}.product-card{display:flex;flex-direction:column;background:none;border:0;border-radius:0;padding:0;overflow:visible}.product-card:nth-child(n) .product-image{height:auto;aspect-ratio:1;background:#fff;border-radius:18px;flex-shrink:0}.product-card .product-image img{width:94%;height:94%;mix-blend-mode:normal;object-fit:contain;transition:transform .3s ease}.product-card:hover .product-image img{transform:scale(1.04)}.product-card h3{margin:14px 0 6px;font-size:16px;line-height:1.25;letter-spacing:-.025em;font-weight:700}.product-card .description{margin:0 0 9px;font-size:12px;line-height:1.5;color:var(--muted);min-height:36px}.product-card .product-measure{margin:0 0 12px;font-size:11px;color:var(--muted)}.product-card .product-bottom{margin:auto 0 0;padding:0}.price{color:var(--ink);font-size:16px;font-weight:bold}.price small{color:var(--muted);font-size:10px}.product-card .add-btn{background:#eab36e;color:#402b1e;border:0;border-radius:50%;width:36px;height:36px;min-width:36px;font-size:23px}.product-card .add-btn:hover{background:var(--wine);color:#fff}.quantity{border:0;background:#eee6db;border-radius:30px;color:var(--ink)}.quantity button{padding:7px 11px}.product-card .category-tag{background:#f4ede2;color:#775d45;border:0;border-radius:50px;font-size:8px}.display-only-label{background:none;border:0;padding:0;color:var(--muted)}
/* Fully visible options in compact, readable image tiles. */
.detail-layout{align-items:start;gap:48px}.detail-photo{border:0;border-radius:24px;background:#fff}.detail-copy h1{font-size:36px;line-height:1.1;color:var(--ink)}.detail-description{color:var(--muted)}.detail-copy .eyebrow{margin-bottom:10px}.product-options fieldset{margin:0 0 17px}.product-options legend{font-size:13px;font-weight:bold;margin-bottom:8px}.single-volume{margin:0;color:var(--muted);font-size:12px}.option-tile>span{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.option-tile input:checked+span{background:#faecd9;border-color:#b77941;color:#603919;box-shadow:inset 0 0 0 1px #b77941}.option-tile small{color:var(--muted)}.option-photo,.coffee-pack,.sausage-photo{background:#fff;mix-blend-mode:normal;filter:none;border-radius:8px}.bean-picker .option-list:has(.option-photo){grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.bean-picker .option-tile>span{padding:7px;font-size:10px}.bean-picker .coffee-pack{height:52px;margin-bottom:6px}.bean-description{font-size:12px;color:var(--muted);margin:8px 0;min-height:0}.modifier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.modifier-chip>span{display:flex;align-items:center;gap:7px;padding:6px;height:100%;min-height:48px}.modifier-chip img,.modifier-chip i{width:36px;height:36px;object-fit:contain;background:#fff;border-radius:7px;flex:none;filter:none;mix-blend-mode:normal}.modifier-chip i{display:grid;place-items:center;font-style:normal;color:var(--muted)}.modifier-chip b{font-size:11px;line-height:1.25;font-weight:500}.modifier-picker legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.modifier-picker legend small{font-size:10px;font-weight:normal;color:var(--muted)}.product-options .options-photo{max-height:160px}.sausage-photo{height:90px}.product-options #confirm-product{border-radius:50px;box-shadow:0 -8px 18px var(--cream)}
/* The basket is the checkout: QR appears immediately. */
dialog{background:var(--cream);color:var(--ink);border:0;border-radius:24px;box-shadow:0 24px 100px #29170e40}dialog::backdrop{background:#291c1477;backdrop-filter:blur(5px)}dialog h2{font-size:28px}dialog input,dialog select,dialog textarea,select option{background:#fff;color:var(--ink);border-color:var(--line)}.cart-row img{background:#fff;border-radius:12px}.cart-dock{background:#352820;color:#fff;border:0;border-radius:50px;box-shadow:0 10px 30px #35282025}.dock-count{background:#eab36e;color:#352820;border-radius:50%}.dock-action{background:#eab36e;color:#352820;padding:11px 17px}.cart-qr{text-align:center;margin:18px 0 0}.cart-qr img{width:min(240px,100%);height:auto;background:#fff;border-radius:16px}.cart-qr p{font-size:12px;color:var(--muted);margin:7px 0}.showcase-notice,.info-box{background:#eee8df;border:0;border-radius:14px;color:var(--muted)}.muted{color:var(--muted)}footer{margin:auto;padding:25px 4%;border-color:var(--line);color:var(--muted)}footer .brand{background:none;padding:0}.local-note{color:var(--muted);font-size:10px}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{gap:26px}.detail-copy h1{font-size:30px}.modifier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){main{padding:0 16px}.header{padding:15px 16px;gap:12px}.brand img{width:112px;height:40px}.header nav{display:none}.bag-btn{padding:9px 13px;font-size:12px}.menu-spotlight{height:255px;min-height:0;grid-template-columns:1.1fr .9fr;border-radius:20px}.menu-spotlight .hero-copy{padding:20px 0 20px 20px}.menu-spotlight .spotlight-label{font-size:8px;margin-bottom:10px}.menu-spotlight .hero-description{font-size:27px;line-height:1.08;margin:0 0 12px}.menu-spotlight #hero-dish-name{font-size:11px;max-width:17ch}.menu-spotlight #hero-dish-price{font-size:16px;margin:5px 0 12px}.menu-spotlight .primary{font-size:11px;padding:9px 13px}.menu-spotlight .hero-visual{min-height:0}.menu-spotlight .hero-dish{inset:8% -15% 15%;width:125%;height:77%}.hero-slides{bottom:12px}.menu-section{padding-top:20px}.search{width:100%}.search input{width:100%}.section-heading{margin-bottom:6px}.station-tabs{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.station-tabs button{font-size:11px;padding:10px 0 12px;line-height:1.25}.tab-hint{font-size:8px}.menu-toolbar{margin-bottom:15px}.categories button{font-size:11px;padding:7px 12px}#categories,#showcase-categories{gap:6px;margin-bottom:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.product-card:nth-child(n) .product-image{border-radius:15px}.product-card h3{font-size:14px;margin-top:11px}.product-card .description{font-size:11px;min-height:33px}.price{font-size:14px}.product-card .add-btn{width:32px;height:32px;min-width:32px;font-size:21px}.detail-layout{gap:22px}.detail-photo{max-height:260px}.detail-copy h1{font-size:29px}.bean-picker .coffee-pack{height:43px}.bean-picker .option-tile>span{font-size:9px;padding:5px}.modifier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modifier-chip img,.modifier-chip i{width:33px;height:33px}.cart-dock{bottom:calc(10px + env(safe-area-inset-bottom));padding:10px 12px}.dock-action{font-size:12px}.cart-dock strong{font-size:14px}.product-page #confirm-product{border-radius:50px}.breadcrumbs{font-size:10px}footer{padding:25px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.menu-spotlight .hero-description{max-width:16ch;text-wrap:balance}.menu-spotlight .hero-dish{transition:opacity .3s ease,transform .3s ease}

.detail-copy h1,dialog h2,.menu-meta h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.04em}
/* Curated pairings: real products, a bar drink in every set, catalogue totals. */
.menu-spotlight.pairing-hero{display:grid;grid-template-columns:.85fr 1.35fr;height:310px;padding:26px 32px 40px;gap:25px;align-items:center;background:radial-gradient(ellipse at 80% 70%,#ba805744,transparent 65%),linear-gradient(115deg,#4c3328,#79523b)}
.pairing-copy .eyebrow{color:#eac3a0;margin:0 0 12px;font-size:9px}.pairing-copy h1{font:bold 30px/1.06 Arial,sans-serif;letter-spacing:-.04em;color:#fff3df;max-width:16ch}.pairing-total{color:#f4d2a9;font-size:23px;font-weight:bold;margin:14px 0}.pairing-total small{font-size:11px;font-weight:normal;display:block;margin-top:2px}.pairing-copy .primary{background:#f6ead6;color:#513426;font-size:11px;padding:10px 16px}.pairing-note{font-size:9px;line-height:1.3;color:#e4c8b0;margin:10px 0 0;max-width:34ch}.pairing-products{display:flex;justify-content:center;align-items:center;gap:12px;min-width:0}.pairing-item{flex:1;max-width:190px;min-width:0;color:#f6e3cc;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:11px;line-height:1.25}.pairing-item img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:18px;background:white;margin-bottom:10px;transition:transform .2s}.pairing-item:hover img{transform:translateY(-4px)}.pairing-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:28px}.pairing-item b{font-size:11px;margin-top:5px;color:#ffdaaa}.pairing-controls{position:absolute;bottom:11px;left:50%;display:flex;gap:8px;align-items:center;transform:translateX(-50%)}.pairing-controls button{width:7px;height:7px;padding:0;border-radius:20px;background:#e7c8aa77}.pairing-controls button[aria-pressed=true]{width:22px;background:#f6dfc8}.pairing-controls #pairing-pause{width:22px;height:22px;background:none;font-size:11px;color:#f6dfc8}.pairing-list{margin-top:20px}
.menu-section>.compact-search{position:absolute;right:0;top:29px;margin:0;z-index:3}.compact-search .search{display:none}.compact-search.search-open .search{display:flex;box-shadow:0 8px 24px #35282014}.compact-search #search-toggle{width:36px;height:36px;border-radius:50%;font-size:25px;color:#715744}.compact-search.search-open{background:var(--cream);border-radius:30px}.menu-toolbar{padding-right:45px}
@media(max-width:650px){.menu-spotlight.pairing-hero{height:auto;min-height:0;grid-template-columns:1fr;padding:20px 18px 36px;gap:17px}.pairing-copy{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}.pairing-copy .eyebrow{grid-column:1/-1;font-size:8px;margin:0 0 9px}.pairing-copy h1{font-size:24px;max-width:16ch;grid-column:1;grid-row:2}.pairing-total{font-size:20px;text-align:right;grid-column:2;grid-row:2;margin:0}.pairing-total small{font-size:9px}.pairing-copy .primary{grid-column:1;grid-row:3;font-size:10px;margin-top:10px;padding:8px 12px}.pairing-note{grid-column:2;grid-row:3;font-size:8px;margin-top:10px;text-align:right}.pairing-products{gap:8px}.pairing-item{max-width:125px;font-size:9px}.pairing-item img{border-radius:12px;margin-bottom:7px}.pairing-item span{min-height:23px}.pairing-item b{font-size:9px}.menu-section>.compact-search{top:25px}.menu-toolbar{padding-right:31px}.compact-search #search-toggle{width:28px;height:28px}.compact-search.search-open{width:100%}.compact-search.search-open .search{flex:1}.station-tabs{gap:5px}}

/* Compact polaroid collage with a single total. */
.menu-spotlight.pairing-hero{height:260px;padding:24px 38px 32px;grid-template-columns:1fr 1.25fr;gap:16px;border-radius:22px;background:radial-gradient(ellipse at 76% 40%,#e7b58a55,transparent 64%),linear-gradient(115deg,#593b2b,#916244)}
.pairing-copy .eyebrow{font-size:9px;letter-spacing:.15em;color:#e9c5a3;margin:0 0 13px}.pairing-copy h1{font-size:30px;line-height:1.1;max-width:18ch}.pairing-total{font-size:27px;color:#fff0dc;margin:14px 0 15px}.pairing-total small{display:inline;font-size:13px;margin:0}.pairing-copy .primary{font-size:12px;padding:10px 22px}.pairing-note{font-size:9px;margin-top:10px;max-width:none;color:#edd4be}
.pairing-products{gap:0;padding:8px 12px;justify-content:center}.pairing-item{flex:0 1 154px;max-width:154px;min-width:0;background:#fffdf7;padding:7px 7px 12px;color:#49372c;border-radius:1px;box-shadow:0 7px 13px #27160f33;transform:rotate(-8deg) translateY(2px);transition:transform .2s ease;position:relative}.pairing-item+.pairing-item{margin-left:-3px}.pairing-item:nth-child(even){transform:rotate(7deg) translateY(-3px)}.pairing-item:nth-child(3){transform:rotate(-5deg) translateY(4px)}.pairing-item img{border-radius:0;background:#fff;aspect-ratio:1.08;margin-bottom:8px;width:100%;height:auto;object-fit:contain}.pairing-item span{min-height:0;height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1.2;font-weight:500;color:#514034;overflow:hidden}.pairing-item:hover,.pairing-item:focus-visible{transform:rotate(0) translateY(-5px);z-index:2}.pairing-item:hover img{transform:none}.pairing-products[data-count="4"] .pairing-item{flex-basis:128px}.pairing-controls{left:38px;transform:none;bottom:10px;gap:7px}.pairing-controls button{height:5px;width:5px}.pairing-controls button[aria-pressed=true]{width:17px}
@media(max-width:650px){.menu-spotlight.pairing-hero{height:auto;grid-template-columns:1fr;padding:20px 20px 30px;gap:10px}.pairing-copy{display:grid;grid-template-columns:1fr auto;gap:0 10px}.pairing-copy .eyebrow{font-size:8px;margin-bottom:10px}.pairing-copy h1{font-size:24px;max-width:17ch}.pairing-total{font-size:23px;margin:0}.pairing-total small{font-size:10px}.pairing-copy .primary{font-size:11px;padding:8px 17px}.pairing-note{font-size:8px;max-width:18ch;justify-self:end}.pairing-products{padding:10px 14px 3px}.pairing-item{flex-basis:117px;max-width:117px;padding:5px 5px 9px}.pairing-item img{margin-bottom:5px}.pairing-item span{font-size:9px;height:25px}.pairing-products[data-count="4"] .pairing-item{flex-basis:92px}.pairing-products[data-count="4"] .pairing-item span{font-size:8px}.pairing-controls{left:20px;bottom:11px}}

/* Unframed photographs retain the complete scene. */
.menu-spotlight.pairing-hero{grid-template-columns:minmax(0,1fr) minmax(0,400px);width:100%;max-width:1000px;margin-inline:auto;height:auto;min-height:260px;padding:0;gap:0;align-items:stretch}
.pairing-copy{padding:24px 32px 30px;align-self:center}.pairing-copy h1{max-width:19ch;font-size:34px}.pairing-copy .eyebrow{margin-bottom:12px}.pairing-total{margin:13px 0}.pairing-note{margin:8px 0 0}
.pairing-scene{display:flex;position:relative;padding:0;min-width:0;height:auto;align-items:center}
.pairing-snapshot{display:block;position:relative;inset:auto;width:100%;height:auto;max-width:none;padding:0;background:none;box-shadow:none;border:0;border-radius:0;transform:none;overflow:hidden}
.pairing-snapshot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:0}.pairing-snapshot:hover{transform:none}.pairing-controls{left:32px;bottom:10px}
@media(max-width:650px){.menu-spotlight.pairing-hero{grid-template-columns:1fr;min-height:0}.pairing-copy{padding:20px 20px 24px;display:grid;grid-template-columns:1fr auto;gap:0 10px}.pairing-copy h1{font-size:24px}.pairing-total{margin:0;font-size:23px}.pairing-copy .eyebrow{margin-bottom:10px}.pairing-note{margin-top:10px}.pairing-scene{height:auto;padding:0;margin:0}.pairing-snapshot{inset:auto;width:100%;height:auto;padding:0;transform:none}.pairing-controls{left:20px;bottom:10px;z-index:2;background:#35282088;padding:6px 8px;border-radius:20px}}

/* Warm cafe poster: expressive type, a price sticker and a clean photo cut. */
.menu-spotlight.pairing-hero{grid-template-columns:minmax(0,1fr) 44%;max-width:1100px;background:#bdcba2;border-radius:24px;isolation:isolate}
.pairing-copy{padding:26px 38px 32px;position:relative;z-index:2}
.pairing-copy .eyebrow{font:italic 18px/1.2 Georgia,serif;letter-spacing:0;text-transform:lowercase;color:#40583c;margin-bottom:13px}
.pairing-copy h1{font-size:clamp(32px,4.4vw,54px);line-height:.98;letter-spacing:-.055em;color:#243c2d;max-width:15ch;margin:0 0 20px;text-wrap:balance}
.pairing-total{display:inline-flex;align-items:baseline;gap:5px;background:#fff2d8;color:#243c2d;border-radius:50%;padding:17px 20px;margin:0 16px 0 0;transform:rotate(-7deg);font-size:27px;box-shadow:3px 4px 0 #243c2d22;vertical-align:middle;white-space:nowrap}
.pairing-total small{font-size:11px;font-weight:700}
.pairing-copy .primary{background:#243c2d;color:#fff2d8;padding:13px 21px;font-size:13px;vertical-align:middle;transition:transform .2s}
.pairing-copy .primary:hover{transform:translateY(-3px)}
.pairing-note{color:#40583c;font-size:9px;margin-top:14px}
.pairing-scene{isolation:isolate;align-self:center;position:relative}
.pairing-snapshot{border-radius:100px 0 0 0;overflow:hidden}
.pairing-scene::after{content:"✳";position:absolute;left:-24px;top:12px;z-index:2;color:#fff2d8;font:78px/1 Georgia,serif;transform:rotate(13deg);pointer-events:none}
.pairing-controls{left:38px;bottom:12px}.pairing-controls button{background:#243c2d55}.pairing-controls button[aria-pressed=true]{background:#243c2d}
@media(max-width:650px){.menu-spotlight.pairing-hero{grid-template-columns:1fr}.pairing-copy{display:block;padding:23px 24px 25px}.pairing-copy .eyebrow{font-size:17px;margin-bottom:12px}.pairing-copy h1{font-size:38px;max-width:15ch;margin-bottom:18px}.pairing-total{font-size:25px;padding:13px 18px;margin-right:12px}.pairing-copy .primary{font-size:12px;padding:12px 17px;margin:0}.pairing-note{text-align:left;max-width:none;margin-top:14px}.pairing-scene{margin-left:24px}.pairing-snapshot{border-radius:70px 0 0 0}.pairing-scene::after{left:-20px;top:5px;font-size:65px}.pairing-controls{left:24px;bottom:12px;background:#fff2d8;padding:7px 10px}}

/* Each pairing borrows its palette from the photograph. */
.menu-spotlight.pairing-hero{--pair-bg:#bdcba2;--pair-ink:#243c2d;background:var(--pair-bg)}
.pairing-hero[data-pairing-theme="1"]{--pair-bg:#edaf81;--pair-ink:#542c23}
.pairing-hero[data-pairing-theme="2"]{--pair-bg:#dfb9ad;--pair-ink:#4c2d32}
.pairing-hero[data-pairing-theme="3"]{--pair-bg:#d8c79b;--pair-ink:#443b26}
.pairing-copy h1,.pairing-copy .eyebrow,.pairing-total,.pairing-note{color:var(--pair-ink)}
.pairing-copy .primary{background:var(--pair-ink)}
.pairing-copy{padding-bottom:60px}
.pairing-controls{left:38px;bottom:14px;padding:0;background:none;gap:8px}
.pairing-controls button{width:34px;height:30px;padding:0;border:1px solid var(--pair-ink);border-radius:50%;background:transparent;color:var(--pair-ink);font-size:21px;line-height:1}
.pairing-controls button:hover{background:#fff2d8}.pairing-controls button:focus-visible{outline:2px solid var(--pair-ink);outline-offset:3px}
@media(max-width:650px){.pairing-copy{padding-bottom:22px}.pairing-controls{left:auto;right:12px;bottom:12px;background:#fff2d8;border-radius:30px;padding:5px}.pairing-controls button{width:36px;height:32px}}

.pairing-hero[data-pairing-theme="4"]{--pair-bg:#d7bd7e;--pair-ink:#423b22}
.pairing-hero[data-pairing-theme="5"]{--pair-bg:#c6cba0;--pair-ink:#303e2a}
.pairing-hero[data-pairing-theme="6"]{--pair-bg:#d9b7a0;--pair-ink:#4d3028}
/* The carousel occupies the same space for every slide. */
.menu-spotlight.pairing-hero{height:363px;min-height:363px;grid-template-rows:minmax(0,1fr)}
.pairing-copy{min-width:0;padding-top:18px;padding-bottom:55px}
.pairing-copy h1{font-size:clamp(30px,4vw,50px)}
.pairing-copy .primary{display:inline-flex}
.pairing-scene{height:100%;min-height:0}.pairing-snapshot{height:100%}.pairing-snapshot img{height:100%;object-fit:contain}
@media(max-width:650px){.menu-spotlight.pairing-hero{height:540px;min-height:540px;grid-template-rows:270px 270px}.pairing-copy{align-self:center;padding:20px 24px}.pairing-copy h1{font-size:36px}.pairing-scene{margin-left:24px}.pairing-snapshot img{height:100%;object-fit:contain}}

.menu-toolbar{padding-right:0}

.pairing-hero[data-pairing-theme="7"]{--pair-bg:#b9c9bc;--pair-ink:#283e35}

.pairing-hero[data-pairing-theme="8"]{--pair-bg:#beca98;--pair-ink:#2b3c27}.pairing-caption{font-size:16px;line-height:1.4;color:var(--pair-ink);max-width:29ch;margin:-4px 0 20px}@media(max-width:650px){.pairing-caption{font-size:14px;margin-bottom:15px}}

/* Each grill pairing borrows its palette from the photograph. */
.pairing-hero[data-pairing-theme="9"]{--pair-bg:#c5d2a3;--pair-ink:#2f4028}
.pairing-hero[data-pairing-theme="10"]{--pair-bg:#dfbea0;--pair-ink:#4e3528}
.pairing-hero[data-pairing-theme="11"]{--pair-bg:#c9b591;--pair-ink:#423222}
.pairing-hero[data-pairing-theme="12"]{--pair-bg:#d9c68f;--pair-ink:#3c3b22}
.pairing-hero[data-pairing-theme="13"]{--pair-bg:#bfcba0;--pair-ink:#30422b}

/* Keep arrow hit areas above the positioned slide copy and photo. */
.pairing-hero .pairing-controls{z-index:5;pointer-events:auto}

.cafe-contacts{display:flex;flex-direction:column;gap:8px}.directions-link{text-decoration:none;white-space:nowrap}.directions-link:hover{text-decoration:underline}
@media(max-width:650px){.header{flex-wrap:wrap}.header nav{display:flex;order:3;width:100%;justify-content:space-between;margin:0}.header-actions{margin-left:auto}.header nav .nav-link{padding:5px 0}}

.directions-map{display:block;width:100%;height:400px;height:min(400px,50vh);border:0;border-radius:16px;margin:18px 0}

/* Compact modal close control; retain a round keyboard focus indicator. */
#modal .close-btn{top:14px;right:14px;width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:#eee8df;color:#493b30;font:28px/1 Arial,sans-serif;z-index:3}
#modal .close-btn:hover{background:#e2d8cc}
#modal .close-btn:focus{outline:none}
#modal .close-btn:focus-visible{outline:2px solid #a6502e;outline-offset:3px}

/* Guest footer */
footer.site-footer{display:block;padding:32px 4% 18px;border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:32px}
.site-footer .brand{display:inline-block;width:max-content;padding:0;margin:0}
.site-footer .brand img{display:block;width:132px;height:auto}
.site-footer .footer-visit p{margin:0;font-size:14px;color:var(--ink);line-height:1.6}
.site-footer .footer-visit .footer-hours{margin-top:6px;color:var(--muted)}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}
.site-footer #admin-btn{margin:0;padding:6px 0;color:var(--muted);font-size:11px}
@media(max-width:640px){footer.site-footer{padding:26px 16px 16px}.footer-main{grid-template-columns:1fr;gap:20px}.footer-links{flex-direction:row;flex-wrap:wrap;gap:14px 22px}.footer-bottom{margin-top:24px}}

.station-tabs button[data-station]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.station-tabs .tab-hint{display:block;font-weight:normal}

.showcase-status{display:inline-block;padding:8px 12px;border-radius:20px;background:#eee8df;color:#736456;font-size:12px;white-space:nowrap}

.site-footer .footer-visit .footer-phone{margin-top:12px;font-weight:600}
.site-footer .footer-phone a{color:var(--ink);text-decoration:none}
.site-footer .footer-phone a:hover{text-decoration:underline}
.site-footer .footer-visit .footer-booking{margin-top:4px;max-width:340px;color:var(--muted)}

.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}
.visit-details p{margin:4px 0;line-height:1.5}
.contact-label,.site-footer .footer-visit .footer-booking-title{font-size:12px;color:var(--muted);letter-spacing:.04em;margin:0 0 8px}
.contact-phone{display:inline-block;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.contact-phone:hover{text-decoration:underline;text-underline-offset:4px}
.about-contact{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.about-contact p{margin:8px 0;line-height:1.5}
.site-footer .footer-visit .footer-booking-title{margin-top:16px}
.site-footer .footer-visit .footer-phone{margin-top:4px}
.site-footer .footer-visit .footer-booking{max-width:360px}
@media(max-width:640px){.visit-details{grid-template-columns:1fr;gap:16px}.contact-phone{font-size:18px}}
