/* Mâm landing — header/footer chrome + page sections (values from the Claude Design file). */
:root {
	--mam-green: #1B4A35;
	--mam-green-dark: #123826;
	--mam-cream: #F3EFD6;
	--mam-cream-logo: #F1EDC6;
	--mam-paper: #FAF8EB;
	--mam-chip: #F1EDD3;
	--mam-line: #DCD8B8;
	--mam-input: #CFCBA8;
	--mam-ink: #1F2A22;
	--mam-ink-2: #3A4536;
	--mam-muted: #56604F;
	--mam-gold: #E6E2B0;
	--mam-err: #A12B2B;
	--mam-serif: 'Cormorant Garamond', Georgia, serif;
	--mam-sans: 'Be Vietnam Pro', system-ui, sans-serif;
}

html { scroll-behavior: smooth; }
body { background: #fff; color: var(--mam-ink); font-family: var(--mam-sans); -webkit-font-smoothing: antialiased; }
body :where(a) { color: var(--mam-green); }
body :where(a:hover) { color: var(--mam-green-dark); }
.wp-site-blocks > *, .mam-landing main > .wp-block-post-content > * { margin-block: 0; }

/* Layout helpers */
.mam-wrap { max-width: 1200px; margin-inline: auto; padding-inline: 20px; box-sizing: border-box; }
.mam-stack { display: flex; flex-direction: column; gap: 36px; }
.mam-band { background: var(--mam-paper); border-block: 1px solid var(--mam-line); }
.mam-band--top { border-bottom: 0; }
.mam-eyebrow { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--mam-muted); }
.mam-h2 { margin: 0; font-family: var(--mam-serif); font-size: clamp(36px, 4.5vw, 52px); font-weight: 600; line-height: 1.05; text-wrap: balance; color: var(--mam-ink); }
.mam-sub { margin: 0; font-size: 16px; line-height: 1.65; color: var(--mam-ink-2); }
.mam-intro { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.mam-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Buttons */
.mam-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--mam-green); color: var(--mam-cream); border: 0; border-radius: 3px; padding: 11px 18px; font: 600 15px/1.2 var(--mam-sans); cursor: pointer; text-decoration: none; transition: background .15s, color .15s; }
.mam-btn:hover { background: var(--mam-green-dark); color: var(--mam-cream); text-decoration: none; }
.mam-btn--lg { padding: 16px 26px; font-size: 16px; }
.mam-btn--outline { background: transparent; color: var(--mam-green); border: 1.5px solid var(--mam-green); min-height: 48px; padding-inline: 20px; }
.mam-btn--outline.mam-btn--lg { padding: 14px 24px; }
.mam-btn--outline:hover { background: var(--mam-green); color: var(--mam-cream); }
.mam-btn--soft { border-color: var(--mam-input); }
.mam-btn--gold { background: var(--mam-gold); color: var(--mam-green); font-weight: 700; }
.mam-btn--gold:hover { background: #fff; color: var(--mam-green); }
.mam-linkbtn { background: none; border: 0; color: var(--mam-green); font-size: 15px; text-decoration: underline; cursor: pointer; padding: 8px; font-family: inherit; }

/* Offer bar + header */
.mam-offer { display: block; background: var(--mam-green); color: var(--mam-cream-logo) !important; text-align: center; font-size: 14px; padding: 10px 16px; line-height: 1.4; text-decoration: none; }
.mam-offer:hover { text-decoration: underline; }
/* Menu always fixed on top (works in every browser, no :has/sticky dependency).
   The offer bar collapses once the page is scrolled (.is-scrolled set by mam-landing.js). */
.mam-topbar { position: fixed; top: 0; left: 0; right: 0; z-index: 50; }
.admin-bar .mam-topbar { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .mam-topbar { top: 0; } } /* WP admin bar scrolls away on phones */
.mam-topbar .mam-offer { max-height: 80px; overflow: hidden; transition: max-height .25s ease, padding .25s ease; }
.mam-topbar.is-scrolled .mam-offer { max-height: 0; padding-block: 0; }
.mam-topbar.is-scrolled .mam-header { box-shadow: 0 6px 20px -12px rgba(27, 74, 53, .35); }

/* Light header: transparent over the photo hero, white logo/text; turns solid white once scrolled. */
.mam-topbar--light:not(.is-scrolled) .mam-header { background: linear-gradient(180deg, rgba(10, 26, 18, .55), transparent); backdrop-filter: none; border-bottom-color: transparent; }
.mam-topbar--light:not(.is-scrolled) .mam-logo img { filter: brightness(0) invert(1); }
.mam-topbar--light:not(.is-scrolled) .mam-nav a,
.mam-topbar--light:not(.is-scrolled) .mam-header__tel { color: #fff !important; }
.mam-topbar--light:not(.is-scrolled) .mam-lang { border-color: rgba(255, 255, 255, .55); }
.mam-topbar--light:not(.is-scrolled) .mam-lang button { background: transparent; color: #fff; }
.mam-topbar--light:not(.is-scrolled) .mam-lang button.is-on { background: #fff; color: var(--mam-green); }
.mam-topbar--light:not(.is-scrolled) .mam-header__right > .mam-btn { background: var(--mam-gold); color: var(--mam-green); }
.mam-header, .mam-header a, .mam-logo img { transition: background .25s, color .25s, filter .25s, border-color .25s; }
/* Photo heroes start under the fixed bar. */
.mam-hero-bg.has-img .mam-hero { padding-top: 170px; }
.mam-header { background: rgba(255, 255, 255, .95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--mam-line); }
.mam-header__inner { max-width: 1200px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.mam-logo img { width: 60px; height: 60px; object-fit: contain; display: block; }
.mam-nav { display: flex; gap: 28px; font-size: 15px; }
.mam-nav a { color: var(--mam-ink); text-decoration: none; }
.mam-nav a:hover { color: var(--mam-green); text-decoration: underline; }
.mam-header__right { display: flex; gap: 12px; align-items: center; }
.mam-header__tel { font-size: 15px; font-weight: 600; color: var(--mam-ink) !important; text-decoration: none; }
.mam-lang { display: flex; border: 1px solid var(--mam-input); border-radius: 3px; overflow: hidden; }
.mam-lang button { height: 38px; min-width: 42px; border: 0; background: #fff; color: var(--mam-green); font: 600 13px var(--mam-sans); cursor: pointer; }
.mam-lang button.is-on { background: var(--mam-green); color: var(--mam-cream); }

/* Hero + booking */
.mam-hero { padding-top: 44px; padding-bottom: 64px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 48px; align-items: start; }
.mam-hero__intro { display: flex; flex-direction: column; gap: 24px; }
.mam-hero__title { margin: 0; font-family: var(--mam-serif); font-weight: 600; font-size: clamp(44px, 6vw, 72px); line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; color: var(--mam-ink); }
.mam-hero__title em { font-style: italic; color: var(--mam-green); }
.mam-hero__lead { margin: 0; font-size: 18px; line-height: 1.6; color: var(--mam-ink-2); max-width: 520px; text-wrap: pretty; }
.mam-trust { display: flex; flex-wrap: wrap; gap: 32px; border-top: 1px solid var(--mam-line); padding-top: 18px; }
.mam-trust > div { display: flex; flex-direction: column; gap: 2px; }
.mam-trust strong { font-family: var(--mam-serif); font-size: 30px; font-weight: 700; line-height: 1.1; }
.mam-trust span { font-size: 13px; color: var(--mam-muted); }
.mam-hero__photo { width: 100%; aspect-ratio: 3319 / 1263; border-radius: 4px; overflow: hidden; background: #E8E4C6; }
.mam-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Hero on a photo (same veil as the about-page hero): light text, the booking card stays paper. */
.mam-hero-bg.has-img { background: linear-gradient(180deg, rgba(14, 36, 25, .70) 0%, rgba(14, 36, 25, .52) 50%, rgba(14, 36, 25, .82) 100%), var(--mam-ab-img) center / cover no-repeat, var(--mam-green); }
.mam-hero-bg.has-img .mam-eyebrow { color: var(--mam-gold); }
.mam-hero-bg.has-img .mam-hero__title { color: #fff; }
.mam-hero-bg.has-img .mam-hero__title em { color: var(--mam-gold); }
.mam-hero-bg.has-img .mam-hero__lead { color: #E9EEDD; }
.mam-hero-bg.has-img .mam-btn--outline { color: var(--mam-cream); border-color: rgba(243, 239, 214, .75); }
.mam-hero-bg.has-img .mam-btn--outline:hover { background: var(--mam-cream); color: var(--mam-green); }
.mam-hero-bg.has-img .mam-btn:not(.mam-btn--outline) { background: var(--mam-gold); color: var(--mam-green); }
.mam-hero-bg.has-img .mam-trust { border-top-color: rgba(243, 239, 214, .3); }
.mam-hero-bg.has-img .mam-trust strong { color: #fff; }
.mam-hero-bg.has-img .mam-trust span { color: #C9D3C2; }
.mam-hero-bg.has-img .mam-book .mam-btn:not(.mam-btn--outline) { background: var(--mam-green); color: var(--mam-cream); }
.mam-hero-bg.has-img .mam-book { box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .65); }

.mam-book { background: var(--mam-paper); border: 1px solid var(--mam-line); border-radius: 4px; padding: 26px 24px; box-shadow: 0 24px 60px -34px rgba(27, 74, 53, .5); position: sticky; top: 88px; scroll-margin-top: 90px; }
.mam-book__form { display: flex; flex-direction: column; gap: 18px; }
.mam-seg { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--mam-input); border-radius: 3px; overflow: hidden; }
.mam-seg button { min-height: 46px; padding: 6px 8px; border: 0; background: #fff; color: var(--mam-green); font: 600 14px/1.2 var(--mam-sans); cursor: pointer; }
.mam-seg button.is-on { background: var(--mam-green); color: var(--mam-cream); }
.mam-book__head { display: flex; flex-direction: column; gap: 6px; }
.mam-book__title { margin: 0; font-family: var(--mam-serif); font-size: 32px; font-weight: 600; line-height: 1.1; color: var(--mam-ink); }
.mam-book__sub { margin: 0; font-size: 14px; color: var(--mam-muted); line-height: 1.5; }
.mam-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.mam-fields label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.mam-fields__full { grid-column: 1 / -1; }
.mam-book input, .mam-book select, .mam-book textarea { height: 48px; border: 1px solid var(--mam-input); border-radius: 3px; background: #fff; padding: 0 14px; font: 400 16px var(--mam-sans); color: var(--mam-ink); width: 100%; box-sizing: border-box; }
.mam-book select, .mam-book input[type=date] { padding: 0 12px; }
.mam-book textarea { height: auto; padding: 12px 14px; font-size: 15px; resize: vertical; }
.mam-book .is-bad { border-color: var(--mam-err); }
.mam-only-dinein { display: flex; flex-direction: column; gap: 18px; }
.mam-book[data-type=pickup] .mam-only-dinein { display: none; }
.mam-guests { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--mam-input); border-radius: 3px; background: #fff; padding: 6px 6px 6px 14px; font-size: 15px; font-weight: 600; }
.mam-stepper { display: flex; align-items: center; gap: 4px; }
.mam-stepper button { width: 44px; height: 44px; border: 0; background: var(--mam-chip); border-radius: 3px; font-size: 20px; cursor: pointer; color: var(--mam-ink); }
.mam-stepper output { min-width: 44px; text-align: center; font-size: 18px; font-weight: 600; }
.mam-occ { display: flex; flex-direction: column; gap: 8px; }
.mam-label { font-size: 13px; font-weight: 600; }
.mam-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mam-chip { min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--mam-input); background: #fff; color: var(--mam-green); font: 14px var(--mam-sans); cursor: pointer; }
.mam-chip.is-on { background: var(--mam-green); border-color: var(--mam-green); color: var(--mam-cream); }
.mam-pre { display: flex; flex-direction: column; gap: 8px; border: 1px dashed #B9B98F; border-radius: 3px; padding: 12px 14px; background: var(--mam-chip); }
.mam-pre__head { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 600; }
.mam-pre__list { display: flex; flex-direction: column; gap: 4px; }
.mam-pre__list > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.mam-pre__list b { font-weight: 600; }
.mam-pre__empty { font-size: 13px; color: var(--mam-muted); line-height: 1.5; }
.mam-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.mam-err { color: var(--mam-err); font-size: 14px; font-weight: 500; }
.mam-btn--submit { height: 56px; font-size: 17px; }
.mam-btn--submit[disabled] { opacity: .6; cursor: wait; }
.mam-orcall { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--mam-muted); }
.mam-orcall a { font-weight: 600; }
.mam-book__ok { display: flex; flex-direction: column; gap: 14px; padding: 28px 0; text-align: center; align-items: center; }
.mam-book__ok[hidden] { display: none; }
.mam-book__tick { width: 56px; height: 56px; border-radius: 50%; background: var(--mam-green); color: var(--mam-cream-logo); display: flex; align-items: center; justify-content: center; font-size: 26px; }
.mam-book__ok h2 { margin: 0; font-family: var(--mam-serif); font-size: 34px; font-weight: 600; }
.mam-book__summary { margin: 0; font-size: 16px; line-height: 1.6; color: var(--mam-ink-2); max-width: 360px; }

/* Menu */
.mam-menu .mam-wrap { padding-block: 72px; }
.mam-dishes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.mam-dish { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mam-line); border-radius: 4px; overflow: hidden; }
.mam-dish__img { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; position: relative; background: #E8E4C6; }
.mam-dish__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mam-dishes[hidden] { display: none; }
.mam-dish__ph { position: absolute; inset: 0; background: var(--mam-chip) url('../images/mam/logo.png') center / 34% no-repeat; opacity: .6; }
.mam-dish--cat h3 { font-size: 22px; }
.mam-dish--cat .mam-dish__img img { transform: scale(1.32); } /* hide the blurred padding of PDF-cropped photos */
.mam-dish__badge { position: absolute; top: 12px; left: 12px; background: var(--mam-green); color: var(--mam-cream-logo); font-size: 12px; font-weight: 600; letter-spacing: .06em; padding: 6px 10px; border-radius: 2px; }
.mam-dish__body { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mam-dish h3 { margin: 0; font-family: var(--mam-serif); font-size: 25px; font-weight: 600; line-height: 1.15; color: var(--mam-ink); }
.mam-dish p { margin: 0; font-size: 14px; color: var(--mam-muted); line-height: 1.5; flex: 1; }
.mam-dish__add { margin-top: 8px; height: 44px; border: 1.5px solid var(--mam-green); background: transparent; color: var(--mam-green); border-radius: 3px; font: 600 15px var(--mam-sans); cursor: pointer; }
.mam-dish__add:hover { background: var(--mam-green); color: var(--mam-cream); }
.mam-dish__qty { margin-top: 8px; height: 44px; display: flex; align-items: center; justify-content: space-between; background: var(--mam-green); border-radius: 3px; color: var(--mam-cream); font-weight: 600; font-size: 15px; }
.mam-dish__qty[hidden] { display: none; }
.mam-dish__qty button { width: 48px; height: 44px; border: 0; background: transparent; color: var(--mam-cream); font-size: 20px; cursor: pointer; }

/* Set menus (2 tabs × 4 sets; cards reuse .mam-dish pre-order controls) */
.mam-sets { padding-block: 80px; }
.mam-sets__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px; }
.mam-sets__tabs { grid-template-columns: repeat(2, 1fr); min-width: min(100%, 340px); }
.mam-sets__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.mam-sets__grid[hidden] { display: none; }
.mam-set__img { position: relative; aspect-ratio: 16 / 13; overflow: hidden; background: #7A3B22; }
.mam-set__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mam-set__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.mam-set__price { font-family: var(--mam-serif); font-size: 26px; font-weight: 700; color: var(--mam-green); white-space: nowrap; }
.mam-set__list { margin: 0; padding: 0 0 0 18px; font-size: 14px; color: var(--mam-ink-2); line-height: 1.55; flex: 1; }
.mam-set__list li::marker { color: var(--mam-sage, #849C84); }
.mam-set__dessert { color: var(--mam-muted); font-style: italic; }
.mam-sets__note { margin: 0; font-size: 13px; color: var(--mam-muted); }

/* Full menu (catalog): group chips + "name …… price [+]" rows */
.mam-fm .mam-wrap { padding-block: 72px; }
.mam-fm__chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.mam-fm__chips .mam-chip { flex: 0 0 auto; }
.mam-fm__chips small { opacity: .6; margin-left: 2px; }
.mam-fm__panel[hidden] { display: none; }
.mam-fm__desc { font-size: 15px; color: var(--mam-ink-2); margin-bottom: 12px; }
.mam-fm__desc p { margin: 0; }
.mam-fm__list { list-style: none; margin: 0; padding: 0; columns: 2 420px; column-gap: 48px; }
.mam-mrow { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 10px 0; border: 0; border-bottom: 1px dashed var(--mam-line); break-inside: avoid; background: none; border-radius: 0; overflow: visible; }
.mam-mrow__img { flex: 0 0 52px; width: 52px; height: 52px; padding: 0; border: 1px solid var(--mam-line); border-radius: 50%; overflow: hidden; background: #E8E4C6; cursor: zoom-in; }
.mam-mrow__img img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.25); }
.mam-mrow__img--none { cursor: default; background: var(--mam-chip) url('../images/mam/logo.png') center / 60% no-repeat; opacity: .55; }
.mam-mrow__name { font-size: 15px; font-weight: 500; color: var(--mam-ink); }
.mam-mrow__dots { flex: 1; }
.mam-mrow__price { font-family: var(--mam-serif); font-size: 21px; font-weight: 700; color: var(--mam-green); white-space: nowrap; }
.mam-mrow .mam-dish__add { margin: 0; width: 34px; height: 34px; padding: 0; flex: 0 0 34px; font-size: 20px; line-height: 1; border-radius: 50%; }
.mam-mrow .mam-dish__qty { margin: 0; height: 34px; flex: 0 0 auto; font-size: 13px; border-radius: 999px; }
.mam-mrow .mam-dish__qty button { width: 30px; height: 34px; font-size: 17px; }
.mam-mrow .mam-dish__qty > span { padding: 0 2px; white-space: nowrap; }

/* Seasonal */
.mam-season { background: var(--mam-green); color: var(--mam-cream); }
.mam-season__grid { padding-block: 80px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 48px; align-items: center; }
.mam-season__poster { width: 100%; height: auto; display: block; border-radius: 4px; }
.mam-season__body { display: flex; flex-direction: column; gap: 22px; }
.mam-season .mam-eyebrow { color: var(--mam-gold); }
.mam-season .mam-h2 { color: var(--mam-cream); font-size: clamp(40px, 5vw, 60px); line-height: 1.02; }
.mam-season__text { margin: 0; font-size: 17px; line-height: 1.65; color: #DCE3D2; max-width: 480px; }
.mam-events { display: flex; flex-direction: column; border-top: 1px solid #2F5E47; }
.mam-event { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid #2F5E47; font-size: 15px; }
.mam-event span:first-child { font-weight: 600; color: var(--mam-gold); }

/* Groups */
.mam-groups { padding-block: 80px; gap: 40px; }
.mam-groups__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 40px; align-items: end; }
.mam-groups__head > div { display: flex; flex-direction: column; gap: 12px; }
.mam-groups__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.mam-group { display: flex; flex-direction: column; gap: 14px; }
.mam-group__img { width: 100%; aspect-ratio: 4 / 3; border-radius: 4px; overflow: hidden; background: #E8E4C6; }
.mam-group__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mam-group h3 { margin: 0; font-family: var(--mam-serif); font-size: 26px; font-weight: 600; color: var(--mam-ink); }
.mam-group p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--mam-ink-2); }

/* Contact */
.mam-contact__grid { padding-block: 72px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 40px; align-items: stretch; }
.mam-contact__info { display: flex; flex-direction: column; gap: 24px; }
.mam-facts { margin: 0; display: flex; flex-direction: column; gap: 18px; font-size: 16px; line-height: 1.5; }
.mam-facts > div { display: flex; flex-direction: column; gap: 2px; }
.mam-facts dt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--mam-muted); }
.mam-facts dd { margin: 0; }
.mam-facts__tel { font-size: 22px; font-weight: 600; }
.mam-map { min-height: 360px; border-radius: 4px; overflow: hidden; border: 1px solid var(--mam-line); }
.mam-map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }

/* Footer + mobile bar */
.mam-footer { background: var(--mam-green); color: #C9D3C2; font-size: 14px; }
.mam-footer__inner { max-width: 1200px; margin: 0 auto; padding: 32px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; align-items: center; }
.mam-footer__brand { font-family: var(--mam-serif); font-size: 26px; font-weight: 700; color: var(--mam-gold); }
.mam-mobilebar { display: none; }

@media (max-width: 859px) {
	.mam-nav, .mam-header__tel, .mam-header__right > .mam-btn { display: none; }
	.mam-book { position: static; }
	body { padding-bottom: 72px; }
	.mam-mobilebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--mam-paper); border-top: 1px solid var(--mam-line); padding: 10px 12px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 10px; box-shadow: 0 -8px 24px -12px rgba(27, 74, 53, .3); }
	.mam-mobilebar .mam-btn { height: 50px; font-size: 16px; }
	body.mam-sent .mam-mobilebar { display: none; }
	body.mam-sent { padding-bottom: 0; }
}

/* ---- Compact booking card + one-screen hero (whole hero visible on arrival) ---- */
.mam-book { padding: 20px 22px; }
.mam-book__form { gap: 12px; }
.mam-seg button { min-height: 40px; font-size: 13.5px; }
.mam-book__head { gap: 2px; }
.mam-book__title { font-size: 27px; }
.mam-book__sub { font-size: 13px; }
.mam-fields { grid-template-columns: repeat(6, 1fr); gap: 10px 12px; }
.mam-fields > label, .mam-fields > .mam-fld { grid-column: span 3; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; min-width: 0; }
.mam-fields > .f2 { grid-column: span 2; }
.mam-book input, .mam-book select, .mam-book textarea { height: 42px; font-size: 15px; padding: 0 12px; }
.mam-book textarea { height: 42px; min-height: 42px; padding: 10px 12px; font-size: 14px; resize: vertical; }
.mam-only-dinein { gap: 4px; }
.mam-fld .mam-stepper { height: 42px; justify-content: space-between; border: 1px solid var(--mam-input); border-radius: 3px; background: #fff; padding: 3px; }
.mam-fld .mam-stepper button { width: 34px; height: 34px; font-size: 18px; }
.mam-fld .mam-stepper output { min-width: 32px; font-size: 16px; }
.mam-pre { padding: 8px 12px; gap: 6px; }
.mam-pre__head { align-items: baseline; }
.mam-pre__head .mam-pre__empty { display: block; font-weight: 400; font-size: 12px; margin-top: 1px; }
.mam-btn--submit { height: 48px; font-size: 16px; }
.mam-orcall { font-size: 13px; margin-top: -4px; }
.mam-hero-bg.has-img .mam-hero { padding-top: 150px; padding-bottom: 28px; align-items: center; min-height: 100vh; min-height: 100svh; box-sizing: border-box; align-content: center; }
.mam-hero-bg.has-img .mam-hero__photo { display: none; } /* the background photo already carries the visual */
.mam-hero-bg.has-img .mam-hero__intro { gap: 20px; }
.mam-hero__title { font-size: clamp(42px, 5.2vw, 66px); }
@media (max-width: 600px) {
	.mam-fields > .f-email { grid-column: 1 / -1; }
	.mam-fields > .f2:not(.f-email) { grid-column: span 3; }
	.mam-hero-bg.has-img .mam-hero { padding-top: 140px; }
}

/* Short pages: keep the footer at the bottom of the screen. */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }
