/* =====================================================================
 * All-Moh's-Paradise — v3 layer: booking engine, cinematic hero, gallery tour,
 * reviews, home truths, 360, story. Loaded after site.css.
 * ===================================================================== */
:root {
	--amp-navy: #12304F; --amp-sea: #1F5E8C; --amp-foam: #E6F0F7; --amp-sand: #F1E7D6; --amp-sand-l: #FAF6EF;
	--amp-sun: #F5BF1F; --amp-coral: #C24E2E; --amp-coral-d: #A63E22; --amp-ink: #1B2A31; --amp-muted: #56656C;
	--amp-line: rgba(18,48,79,.14); --amp-radius: 20px; --amp-shadow: 0 24px 60px -28px rgba(18,48,79,.45), 0 4px 14px -6px rgba(18,48,79,.12);
	--amp-serif: "Instrument Serif", "Times New Roman", serif; --amp-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif; --amp-script: Caveat, "Segoe Print", cursive;
	--amp-hatch: repeating-linear-gradient(135deg, #e3dccf 0 2px, #f4efe6 2px 7px);
	--amp-header-h: 76px;
}
/* Lenis */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
html.amp-lock { overflow: hidden; }

/* Typography refresh — Instrument Serif has a single (400) weight: never faux-bold it */
h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title { font-weight: 400 !important; letter-spacing: -0.012em; }
h2.wp-block-heading { font-size: clamp(2.2rem, 4.2vw, 3.4rem); line-height: 1.02; }
h3.wp-block-heading { font-size: clamp(1.45rem, 2vw, 1.8rem); line-height: 1.1; }
.wp-block-post-title { font-size: clamp(2.8rem, 6vw, 5rem) !important; line-height: .98; }
.sbh-eyebrow { font-family: var(--amp-sans); letter-spacing: .16em; font-weight: 600; font-size: .78rem !important; }
.sbh-lede { font-size: clamp(1.08rem, 1.3vw, 1.22rem); line-height: 1.6; }
body { font-feature-settings: "ss01", "kern"; -webkit-font-smoothing: antialiased; }
.sbh-script, .amp-script { font-family: var(--amp-script); }

/* Season-specific content */
html[data-season="summer"] [data-season-show="snowbird"], html[data-season="snowbird"] [data-season-show="summer"] { display: none !important; }

/* Example labels */
.amp-ex { display: inline-block; vertical-align: middle; font: 600 .66rem/1.5 var(--amp-sans); letter-spacing: .08em; text-transform: uppercase; color: #5C4300; background: #FFEDB8; border: 1px solid #F0D68A; border-radius: 99px; padding: .05em .55em; white-space: nowrap; }
.amp-ex--lg { font-size: .78rem; padding: .2em .8em; vertical-align: .55em; }

/* Focus */
:where(a, button, select, input, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--amp-sea); outline-offset: 2px; border-radius: 6px; }
.amp-hero :focus-visible, .amp-360-sec :focus-visible, .sbh-cta :focus-visible, .amp-mbar :focus-visible { outline-color: #FFD84D !important; }
.amp-anchor { display: block; height: 0; scroll-margin-top: calc(var(--amp-header-h) + 24px); }

/* Generic buttons/links */
.amp-btn, .amp-cta { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 50px; padding: .8rem 1.4rem; border: 0; border-radius: 14px; background: linear-gradient(135deg, var(--amp-sea), var(--amp-navy)); color: #fff !important; font: 600 1rem/1.2 var(--amp-sans); text-decoration: none !important; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, filter .2s; box-shadow: 0 10px 24px -14px rgba(18,48,79,.8); }
.amp-btn:hover, .amp-cta:hover { transform: translateY(-1px); filter: brightness(1.08); }
.amp-cta.is-ready { background: linear-gradient(135deg, var(--amp-coral), var(--amp-coral-d)); box-shadow: 0 12px 26px -12px rgba(166,62,34,.7); }
.amp-link { font-weight: 600; color: var(--amp-sea); text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 1px; }
.amp-link:hover { color: var(--amp-navy); }
.amp-inline-links { display: flex; gap: 1.6rem; flex-wrap: wrap; justify-content: center; margin-top: 1.4rem; }
.amp-ico { display: inline-grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--amp-foam); color: var(--amp-sea); }
.amp-ico svg, .amp-mo-btn svg, .amp-360-load svg, .amp-s-go svg, .amp-rooms-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ---------------- Header accent ---------------- */
.amp-header-actions { display: flex; align-items: center; gap: .9rem; }
.amp-header-tel { display: inline-flex; align-items: center; gap: .4rem; color: var(--amp-navy); text-decoration: none; font-weight: 600; font-size: .92rem; white-space: nowrap; }
.amp-header-tel svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.amp-tab { display: inline-flex; align-items: center; gap: .5rem; padding: .62rem 1.05rem; border-radius: 99px; background: var(--amp-navy); color: #fff !important; text-decoration: none; font-weight: 600; font-size: .92rem; white-space: nowrap; transition: background .2s, transform .2s; }
.amp-tab:hover { background: var(--amp-sea); transform: translateY(-1px); }
.amp-tab-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--amp-sun); box-shadow: 0 0 0 4px rgba(245,191,31,.25); }
@media (max-width: 1280px) { .amp-header-tel span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }
@media (max-width: 600px) { .amp-tab { display: none; } }

/* ---------------- Hero ---------------- */
.amp-hero-wrap { margin-top: 0 !important; }
.amp-hero { position: relative; isolation: isolate; display: grid; align-content: end; min-height: clamp(640px, calc(100svh - 76px), 1000px); color: #fff; overflow: hidden; background: #0d2a3f; }
.amp-hero-media, .amp-hero-media > *, .amp-hero-poster img { position: absolute; inset: 0; width: 100%; height: 100%; }
.amp-hero-media { z-index: -1; }
.amp-hero-poster img, .amp-hero-video { object-fit: cover; object-position: 50% 50%; }
.amp-hero-video { opacity: 0; transition: opacity 1.2s ease; }
.amp-hero-video.is-active.is-playing { opacity: 1; }
.amp-hero-scrim { background: linear-gradient(180deg, rgba(8,28,44,.45) 0%, rgba(8,28,44,0) 22%, rgba(8,28,44,0) 42%, rgba(8,28,44,.62) 78%, rgba(8,28,44,.82) 100%), radial-gradient(120% 80% at 0% 100%, rgba(8,28,44,.55), transparent 60%); }
.amp-hero-inner { position: relative; width: 100%; max-width: 1240px; margin: 0 auto; padding: 2rem 1.5rem 8.5rem; box-sizing: border-box; }
.amp-hero-top { position: absolute; top: 1.6rem; left: 1.5rem; right: 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.amp-hero-badge { margin: 0; font-size: .9rem; padding: .5rem .95rem; border-radius: 99px; background: rgba(8,28,44,.42); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.22); }
.amp-hero-stars { color: #FFD84D; letter-spacing: .08em; }
.amp-season { display: inline-flex; padding: 4px; border-radius: 99px; background: rgba(8,28,44,.42); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.25); }
.amp-season button { border: 0; background: transparent; color: #fff; font: 600 .92rem/1 var(--amp-sans); padding: .62rem 1.05rem; border-radius: 99px; cursor: pointer; transition: background .3s, color .3s; min-height: 40px; }
.amp-season button[aria-checked="true"] { background: #fff; color: var(--amp-navy); box-shadow: 0 6px 16px -8px rgba(0,0,0,.5); }
.amp-hero-eyebrow { margin: 0 0 .6rem; font: 600 .82rem/1.4 var(--amp-sans); letter-spacing: .2em; text-transform: uppercase; color: #FCE7B2; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.amp-hero-title { margin: 0; font: 400 clamp(3.6rem, 10.5vw, 9.4rem)/.86 var(--amp-serif) !important; letter-spacing: -0.035em !important; color: #fff; text-shadow: 0 2px 40px rgba(0,0,0,.25); }
.amp-hero-title em { font-style: italic; color: #FFE3A3; letter-spacing: -0.02em; }
.amp-hero-pitch { max-width: 36rem; margin: 1.1rem 0 1.6rem; font-size: clamp(1.05rem, 1.35vw, 1.24rem); line-height: 1.55; color: rgba(255,255,255,.94); text-shadow: 0 1px 14px rgba(0,0,0,.35); }
.amp-hero-rate { margin: .9rem 0 0; font-size: .9rem; color: rgba(255,255,255,.9); }
.amp-hero-rate strong { font-family: var(--amp-serif); font-weight: 400; font-size: 1.25rem; }
.amp-hero-rate .amp-ex { background: rgba(255,237,184,.95); }
/* search bar */
.amp-search { display: grid; grid-template-columns: 1fr 1fr 1fr auto; align-items: stretch; max-width: 820px; padding: 6px; border-radius: 99px; background: #fff; color: var(--amp-ink); box-shadow: 0 30px 60px -24px rgba(0,0,0,.55); }
.amp-s-field { display: flex; flex-direction: column; justify-content: center; gap: 2px; text-align: left; min-height: 58px; padding: .4rem 1.4rem; border: 0; background: transparent; border-radius: 99px; cursor: pointer; font: inherit; color: inherit; position: relative; transition: background .2s; }
.amp-s-field + .amp-s-field::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--amp-line); }
.amp-s-field:hover { background: #F2F5F7; }
.amp-s-lbl { font: 700 .7rem/1 var(--amp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--amp-navy); }
.amp-s-val { font-size: 1rem; color: var(--amp-muted); }
.amp-s-go { display: inline-flex; align-items: center; gap: .55rem; padding: 0 1.6rem; border: 0; border-radius: 99px; background: linear-gradient(135deg, var(--amp-coral), var(--amp-coral-d)); color: #fff; font: 600 1rem/1 var(--amp-sans); cursor: pointer; white-space: nowrap; transition: filter .2s, transform .2s; }
.amp-s-go:hover { filter: brightness(1.08); transform: translateY(-1px); }
.amp-s-go svg { stroke-width: 2.2; }
/* controls + credit */
.amp-hero-ctrls { position: absolute; right: 1.5rem; bottom: 6.2rem; display: flex; gap: .5rem; z-index: 2; }
.amp-hero-ctrls button { display: inline-flex; align-items: center; gap: .45rem; height: 44px; min-width: 44px; justify-content: center; padding: 0 .9rem; border-radius: 99px; border: 1px solid rgba(255,255,255,.35); background: rgba(8,28,44,.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; font: 600 .85rem/1 var(--amp-sans); cursor: pointer; }
.amp-hero-ctrls button:hover { background: rgba(8,28,44,.7); }
.amp-hero-ctrls svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.amp-hero-play { padding: 0 !important; }
.amp-hero-play .i-play, .amp-hero-play.is-paused .i-pause { display: none; }
.amp-hero-play.is-paused .i-play { display: block; fill: currentColor; }
.amp-hero-sound .amp-wave { opacity: .35; }
.amp-hero-sound.is-on .amp-wave { opacity: 1; animation: ampWave 1.6s ease-in-out infinite; }
@keyframes ampWave { 50% { opacity: .4; } }
.amp-hero-credit { position: absolute; right: 1.5rem; bottom: 5rem; margin: 0; font-size: .7rem; color: rgba(255,255,255,.72); z-index: 2; text-align: right; }
.amp-hero-cue { display: none; }
.amp-hero-wrap + .sbh-facts-wrap { position: relative; z-index: 3; }
@media (max-width: 900px) {
	.amp-search { grid-template-columns: 1fr 1fr; border-radius: 22px; gap: 2px; }
	.amp-s-field { border-radius: 16px; min-height: 56px; padding: .45rem 1rem; }
	.amp-s-field:nth-child(3) { grid-column: 1 / -1; }
	.amp-s-field + .amp-s-field::before { display: none; }
	.amp-s-field:nth-child(2) { border-left: 1px solid var(--amp-line); border-radius: 0 16px 16px 0; }
	.amp-s-field:nth-child(3) { border-top: 1px solid var(--amp-line); border-radius: 0; }
	.amp-s-go { grid-column: 1 / -1; justify-content: center; min-height: 52px; border-radius: 16px; }
}
@media (max-width: 760px) {
	.amp-hero { min-height: max(680px, calc(100svh - 64px)); }
	.amp-hero-inner { padding: 6.4rem 1.1rem 7.4rem; }
	.amp-hero-top { top: 1rem; left: 1.1rem; right: 1.1rem; }
	.amp-hero-badge { font-size: .78rem; padding: .4rem .7rem; }
	.amp-hero-ctrls { top: 4.3rem; bottom: auto; right: 1.1rem; }
	.amp-hero-ctrls .amp-sound-label { display: none; }
	.amp-hero-ctrls button { padding: 0; width: 44px; }
	.amp-hero-credit { left: 1.1rem; right: 1.1rem; bottom: 4.9rem; text-align: left; font-size: .64rem; }
	.amp-hero-pitch { margin-bottom: 1.2rem; }
}

/* ---------------- Booking card ---------------- */
.amp-card { position: relative; background: #fff; border: 1px solid var(--amp-line); border-radius: 24px; padding: 1.5rem; box-shadow: var(--amp-shadow); color: var(--amp-ink); font-size: .95rem; }
.amp-card--dialog { box-shadow: none; border-radius: 18px; }
.amp-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.amp-from { margin: 0; line-height: 1.2; }
.amp-from strong { font: 400 2.2rem/1 var(--amp-serif); color: var(--amp-navy); letter-spacing: -0.01em; }
.amp-from [data-amp-from-unit] { color: var(--amp-muted); font-size: .9rem; }
.amp-from .amp-ex { margin-top: .35rem; }
.amp-card-rating { margin: .35rem 0 0; font-size: .88rem; white-space: nowrap; }
.amp-card-rating span { color: #C99400; }
.amp-card-rating a { color: var(--amp-ink); }
.amp-fields { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #b9c3c8; border-radius: 14px; overflow: hidden; }
.amp-field { position: relative; display: flex; flex-direction: column; gap: 3px; align-items: flex-start; text-align: left; padding: .7rem .9rem; min-height: 58px; border: 0; background: #fff; font: inherit; color: inherit; cursor: pointer; transition: background .15s; }
.amp-field:hover { background: #F5F8FA; }
.amp-f-co { border-left: 1px solid #b9c3c8 !important; }
.amp-f-g { grid-column: 1 / -1; border-top: 1px solid #b9c3c8 !important; }
.amp-f-lbl { font: 700 .66rem/1 var(--amp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--amp-navy); }
.amp-f-val { font-size: .98rem; }
.amp-chev { position: absolute; right: .9rem; top: 50%; width: 18px; height: 18px; margin-top: -9px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s; }
.amp-f-g[aria-expanded="true"] .amp-chev { transform: rotate(180deg); }
.amp-card.is-pop .amp-f-ci, .amp-card.is-pop .amp-f-co { background: #F5F8FA; }
.amp-guests { margin-top: .7rem; padding: .3rem 1rem; border: 1px solid var(--amp-line); border-radius: 14px; background: #fff; }
.amp-g-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--amp-line); }
.amp-g-row strong { display: block; }
.amp-g-row small { color: var(--amp-muted); }
.amp-g-row.is-off { opacity: .75; }
.amp-g-no { font-size: .82rem; color: var(--amp-muted); }
.amp-step { display: flex; align-items: center; gap: .7rem; }
.amp-step button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #9aa7ad; background: #fff; font-size: 1.15rem; line-height: 1; cursor: pointer; color: var(--amp-ink); }
.amp-step button:disabled { opacity: .3; cursor: not-allowed; }
.amp-step output { min-width: 1.2em; text-align: center; font-weight: 600; }
.amp-g-note { margin: .6rem 0 .4rem; font-size: .8rem; color: var(--amp-muted); }
.amp-card .amp-cta { width: 100%; margin-top: 1rem; font-size: 1.05rem; min-height: 54px; }
.amp-nocharge { display: flex; align-items: center; justify-content: center; gap: .4rem; margin: .7rem 0 0; font-size: .86rem; color: var(--amp-muted); text-align: center; }
.amp-nocharge svg { width: 17px; height: 17px; flex: none; fill: none; stroke: #2E7D5B; stroke-width: 1.8; }
.amp-quote:empty { display: none; }
.amp-quote { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--amp-line); }
.amp-q { margin: 0; display: grid; gap: .55rem; }
.amp-q > div { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.amp-q dt { color: var(--amp-ink); text-decoration: underline dotted rgba(27,42,49,.35); text-underline-offset: 3px; }
.amp-q dt small { display: block; color: var(--amp-muted); text-decoration: none; font-size: .78rem; }
.amp-q dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.amp-q-disc dd { color: #2E7D5B; }
.amp-q-src { font-size: .75rem; color: var(--amp-sea); }
.amp-q-total { margin-top: .35rem; padding-top: .8rem; border-top: 1px solid var(--amp-line); font-weight: 700; font-size: 1.05rem; }
.amp-q-total dt { text-decoration: none; }
.amp-q-err { margin: 0; padding: .7rem .9rem; border-radius: 12px; background: #FFF4E5; color: #7A3E00; font-size: .9rem; }
.amp-fine { margin: .9rem 0 0; font-size: .74rem; line-height: 1.45; color: var(--amp-muted); }
/* sidebar popover calendar (opens to the left of the card) */
.amp-pop { position: absolute; z-index: 30; top: 6.6rem; right: calc(100% - 1.5rem); width: min(720px, calc(100vw - 480px)); padding: 1.3rem 1.5rem 1rem; background: #fff; border-radius: 24px; border: 1px solid var(--amp-line); box-shadow: 0 40px 90px -30px rgba(18,48,79,.55); }
.amp-pop-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .2rem; }
.amp-pop-head strong { font: 400 1.5rem/1 var(--amp-serif); }
.amp-pop-close, .amp-dialog-close { width: 40px; height: 40px; border-radius: 50%; border: 0; background: #F1F4F6; font-size: 1.5rem; line-height: 1; cursor: pointer; color: var(--amp-ink); }
.amp-pop-close:hover, .amp-dialog-close:hover { background: #E3E9ED; }

/* ---------------- Calendar ---------------- */
.amp-cal { position: relative; }
.amp-cal-nav { position: absolute; left: 0; right: 0; top: .1rem; display: flex; justify-content: space-between; pointer-events: none; z-index: 2; }
.amp-cal-nav button { pointer-events: auto; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--amp-line); background: #fff; cursor: pointer; display: grid; place-items: center; color: var(--amp-ink); }
.amp-cal-nav button:hover:not(:disabled) { background: #F1F4F6; }
.amp-cal-nav button:disabled { opacity: .3; cursor: default; }
.amp-cal-nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.amp-cal-months { display: grid; grid-template-columns: 1fr; gap: 2.2rem; }
.amp-cal-months[data-n="2"] { grid-template-columns: 1fr 1fr; }
.amp-month-title { margin: .45rem 0 .9rem !important; text-align: center; font: 400 1.35rem/1.2 var(--amp-serif) !important; }
.amp-cal table { width: 100%; border-collapse: separate; border-spacing: 0 3px; table-layout: fixed; margin: 0; }
.amp-cal th { padding: 0 0 .35rem; font: 600 .72rem/1 var(--amp-sans); color: var(--amp-muted); text-align: center; border: 0; }
.amp-cal td { padding: 0; border: 0; text-align: center; }
.amp-day { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 44px; padding: 0; border: 0; border-radius: 0; background: transparent; font: 500 .93rem/1 var(--amp-sans); color: var(--amp-ink); cursor: pointer; isolation: isolate; }
.amp-day::after { content: ""; position: absolute; inset: 1px 3px; border-radius: 12px; border: 1.5px solid transparent; z-index: -1; transition: border-color .12s, background .12s; }
.amp-day:not([aria-disabled]):hover::after { border-color: var(--amp-navy); }
.amp-day-n { position: relative; }
.amp-cal--prices .amp-day { height: 52px; }
.amp-day-price { display: block; margin-top: 4px; font-size: .64rem; color: var(--amp-muted); font-weight: 500; }
.amp-day.is-past { color: #B3BCC0; cursor: default; }
.amp-day.is-past .amp-day-n { text-decoration: line-through; text-decoration-color: rgba(0,0,0,.18); }
.amp-day.is-booked { color: #8A9599; cursor: not-allowed; background: var(--amp-hatch); }
.amp-day.is-booked .amp-day-n { text-decoration: line-through; }
.amp-day.is-booked .amp-day-price, .amp-day.is-past .amp-day-price { visibility: hidden; }
.amp-day.is-co-only { background: linear-gradient(135deg, transparent 50%, #e8e1d4 50%); }
.amp-day.is-ci-only { background: linear-gradient(135deg, #e8e1d4 50%, transparent 50%); }
.amp-day.is-no-ci { color: #7F8B90; }
.amp-day.is-no-ci .amp-day-n::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: #B5791F; }
.amp-day.is-today .amp-day-n { font-weight: 800; }
.amp-day.is-today::before { content: ""; position: absolute; top: 5px; right: 22%; width: 5px; height: 5px; border-radius: 50%; background: var(--amp-coral); }
.amp-day.is-in-range, .amp-day.is-preview { background: var(--amp-foam); color: var(--amp-navy); }
.amp-day.is-preview { background: #EEF4F8; }
.amp-day.is-start, .amp-day.is-end, .amp-day.is-preview-end { color: #fff; background: var(--amp-foam); }
.amp-day.is-start::after, .amp-day.is-end::after { background: var(--amp-navy); border-color: var(--amp-navy); }
.amp-day.is-preview-end::after { background: var(--amp-sea); border-color: var(--amp-sea); }
.amp-day.is-start { background: linear-gradient(90deg, transparent 50%, var(--amp-foam) 50%); }
.amp-day.is-end { background: linear-gradient(90deg, var(--amp-foam) 50%, transparent 50%); }
.amp-day.is-start.is-end, .amp-day.is-start:not(.is-in-range):only-child { background: transparent; }
.amp-day.is-start .amp-day-price, .amp-day.is-end .amp-day-price, .amp-day.is-preview-end .amp-day-price { color: rgba(255,255,255,.85); }
.amp-day.is-invalid-out { opacity: .38; cursor: not-allowed; }
.amp-day.is-shake { animation: ampShake .4s ease; }
@keyframes ampShake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }
.amp-cal-foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .9rem; min-height: 2.4rem; }
.amp-cal-msg { margin: 0; font-size: .9rem; color: var(--amp-ink); }
.amp-cal-clear { flex: none; border: 0; background: none; padding: .5rem .2rem; font: 600 .9rem/1 var(--amp-sans); color: var(--amp-ink); text-decoration: underline; cursor: pointer; }
.amp-cal-legend { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin: .9rem 0 0; padding: .9rem 0 0; list-style: none; border-top: 1px solid var(--amp-line); font-size: .8rem; color: var(--amp-muted); }
.amp-cal-legend li { display: inline-flex; align-items: center; gap: .45rem; margin: 0; }
.amp-cal-legend i { width: 18px; height: 18px; border-radius: 5px; border: 1px solid var(--amp-line); background: #fff; }
.amp-cal-legend .lg-booked { background: var(--amp-hatch); }
.amp-cal-legend .lg-ci { background: linear-gradient(135deg, #e8e1d4 50%, #fff 50%); }
.amp-cal-legend .lg-co { background: linear-gradient(135deg, #fff 50%, #e8e1d4 50%); }
.amp-cal-legend .lg-noci { background: radial-gradient(circle, #B5791F 0 2px, #fff 3px); }
.amp-cal-legend .lg-sel { background: var(--amp-navy); border-color: var(--amp-navy); }
.amp-cal-card { padding: clamp(1rem, 2.5vw, 2rem); background: #fff; border: 1px solid var(--amp-line); border-radius: 26px; box-shadow: var(--amp-shadow); }
.amp-cal-after { display: flex; gap: 1.4rem; align-items: center; flex-wrap: wrap; margin-top: 1.4rem; }

/* ---------------- Dialog / bottom sheet ---------------- */
.amp-dialog { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; }
.amp-dialog[hidden] { display: none; }
.amp-dialog-scrim { position: absolute; inset: 0; background: rgba(9,26,41,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; transition: opacity .22s ease; }
.amp-dialog-panel { position: relative; width: min(1120px, 94vw); max-height: 92vh; overflow: auto; overscroll-behavior: contain; background: #fff; border-radius: 28px; padding: 1.6rem 2rem 1.8rem; box-shadow: 0 50px 120px -30px rgba(0,0,0,.5); opacity: 0; transform: translateY(14px) scale(.985); transition: opacity .22s ease, transform .22s ease; color: var(--amp-ink); }
.amp-dialog.is-open .amp-dialog-scrim { opacity: 1; }
.amp-dialog.is-open .amp-dialog-panel { opacity: 1; transform: none; }
.amp-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.amp-dialog-kicker { margin: 0 0 .2rem; font: 600 .74rem/1 var(--amp-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--amp-sea); }
.amp-dialog-head h2 { margin: 0; font: 400 2.1rem/1.05 var(--amp-serif) !important; }
.amp-dialog-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; align-items: start; }
@media (max-width: 960px) { .amp-dialog-body { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
	.amp-dialog { place-items: end stretch; }
	.amp-dialog-panel { width: 100%; max-height: 94vh; border-radius: 24px 24px 0 0; padding: .9rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom)); transform: translateY(40px); }
	.amp-dialog-panel::before { content: ""; display: block; width: 44px; height: 5px; margin: 0 auto .8rem; border-radius: 9px; background: #D5DCE0; }
	.amp-dialog-head h2 { font-size: 1.7rem !important; }
	.amp-card--dialog { padding: 1.1rem; }
}

/* ---------------- Mobile bottom bar ---------------- */
.amp-mbar { display: none; }
@media (max-width: 1199px) {
	.amp-mbar { position: fixed; z-index: 9990; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1.1rem calc(.75rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid var(--amp-line); box-shadow: 0 -14px 34px -22px rgba(18,48,79,.5); color: var(--amp-ink); }
	html.has-amp-mbar body { padding-bottom: 82px; }
	html.amp-lock .amp-mbar { visibility: hidden; }
	.amp-mbar-info { display: flex; flex-direction: column; min-width: 0; }
	.amp-mbar-info strong { font: 400 1.5rem/1.05 var(--amp-serif); color: var(--amp-navy); }
	.amp-mbar-info strong small { font: 500 .8rem var(--amp-sans); color: var(--amp-muted); }
	.amp-mbar-info span { font-size: .78rem; color: var(--amp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.amp-mbar-btn { flex: none; min-height: 50px; padding: 0 1.4rem; border: 0; border-radius: 14px; background: linear-gradient(135deg, var(--amp-coral), var(--amp-coral-d)); color: #fff; font: 600 1rem/1 var(--amp-sans); cursor: pointer; }
}

/* ---------------- Sticky aside zone (The House / Rates) ---------------- */
.amp-aside { display: none; }
@media (min-width: 1200px) {
	.amp-aside-zone { position: relative; }
	.amp-aside { display: block; position: absolute; z-index: 20; top: 0; bottom: 0; right: max(1.5rem, calc((100% - 1240px) / 2)); width: 384px; padding: 3.2rem 0 3rem; pointer-events: none; }
	.amp-aside-inner { position: sticky; top: calc(var(--amp-header-h) + 20px); pointer-events: auto; }
	.amp-aside-zone > .wp-block-group.alignfull { padding-left: max(1.5rem, calc((100% - 1240px) / 2)) !important; padding-right: calc(max(1.5rem, calc((100% - 1240px) / 2)) + 384px + 56px) !important; }
	.amp-aside-zone > .wp-block-group.alignfull > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	.amp-aside-zone .wp-block-gallery.alignwide { max-width: none !important; }
}

/* ---------------- House page blocks ---------------- */
.amp-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin: 1.8rem 0 !important; padding: 0; list-style: none; }
.amp-specs li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8rem; align-items: center; padding: .9rem 1rem; margin: 0; background: #fff; border: 1px solid var(--amp-line); border-radius: 16px; }
.amp-specs .amp-ico { grid-row: 1 / 3; width: 42px; height: 42px; }
.amp-specs span:not(.amp-ico) { font-size: .78rem; color: var(--amp-muted); text-transform: uppercase; letter-spacing: .08em; }
.amp-specs strong { font-size: 1rem; }
.amp-beds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: 1.6rem; }
.amp-bed { margin: 0; background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid var(--amp-line); }
.amp-bed img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.amp-bed figcaption { padding: 1rem 1.2rem 1.2rem; }
.amp-bed strong { display: block; font: 400 1.45rem/1.15 var(--amp-serif); }
.amp-bed span { font-size: .9rem; color: var(--amp-muted); }
/* Home truths */
.amp-truths { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; margin-top: 1.8rem; }
.amp-truth { position: relative; padding: 1.3rem 1.3rem 1.4rem; background: #fff; border: 1px solid var(--amp-line); border-radius: 20px; }
.amp-truths-sec.has-base-background-color .amp-truth { background: var(--amp-sand-l); }
.amp-truth h3 { margin: .9rem 0 .4rem; font: 400 1.4rem/1.15 var(--amp-serif); }
.amp-truth p { margin: 0; font-size: .93rem; line-height: 1.55; color: #33444B; }
.amp-truth .amp-ico { background: #FFF1CC; color: #8A5A00; }
/* Get around */
.amp-ga { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin: 1.6rem auto 0 !important; padding: 0; list-style: none; }
.amp-ga--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.amp-ga li { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "i n t" "i s s"; column-gap: .9rem; align-items: center; padding: .85rem 0; margin: 0; border-bottom: 1px solid var(--amp-line); }
.amp-ga .amp-ico { grid-area: i; width: 40px; height: 40px; border-radius: 12px; background: #fff; }
.amp-ga-name { grid-area: n; font-weight: 600; }
.amp-ga-time { grid-area: t; font-variant-numeric: tabular-nums; white-space: nowrap; font-size: .92rem; color: var(--amp-navy); }
.amp-ga-src { grid-area: s; font-size: .74rem; color: var(--amp-muted); }
/* Trust */
.amp-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1.2rem; margin: 1.8rem auto 0 !important; padding: 0; list-style: none; }
.amp-trust li { display: flex; gap: .9rem; align-items: flex-start; margin: 0; }
.amp-trust li > div > strong { display: block; font: 400 1.3rem/1.15 var(--amp-serif); margin-bottom: .25rem; }
.amp-trust span:not(.amp-ico) { display: block; font-size: .9rem; line-height: 1.5; color: #3A4A51; }
/* FAQ */
.amp-faq { margin-top: 1.4rem; border-top: 1px solid var(--amp-line); }
.amp-faq-item { border-bottom: 1px solid var(--amp-line); }
.amp-faq-item summary { position: relative; list-style: none; cursor: pointer; padding: 1.15rem 3rem 1.15rem 0; font: 600 1.06rem/1.35 var(--amp-sans); color: var(--amp-ink); }
.amp-faq-item summary::-webkit-details-marker { display: none; }
.amp-faq-item summary::after { content: ""; position: absolute; right: .4rem; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: var(--amp-foam) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5E8C' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .25s ease; }
.amp-faq-item[open] summary::after { transform: rotate(45deg); }
.amp-faq-a { padding: 0 3rem 1.2rem 0; color: #3A4A51; }
.amp-faq-a p { margin: 0; }
/* Rates table */
.amp-rates table th small { display: block; font-weight: 400; font-size: .76rem; color: var(--amp-muted); }
.amp-rates tr { transition: background .3s; }
.amp-rates tr.is-current { background: #FFF6DA; box-shadow: inset 4px 0 0 var(--amp-sun); }
.amp-rates td .amp-ex { margin-left: .3rem; }

/* ---------------- Gallery: mosaic + room tour ---------------- */
.amp-mosaic { position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px; height: clamp(380px, 46vw, 600px); border-radius: 26px; overflow: hidden; }
.amp-mosaic a { position: relative; display: block; overflow: hidden; background: var(--amp-sand); }
.amp-mo-main { grid-row: 1 / 3; }
.amp-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .3s; }
.amp-mosaic a:hover img { transform: scale(1.035); filter: brightness(.92); }
.amp-mo-actions { position: absolute; right: 1rem; bottom: 1rem; display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }
.amp-mo-btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.05rem; border-radius: 12px; border: 1px solid rgba(18,48,79,.25); background: #fff; color: var(--amp-ink) !important; font: 600 .92rem/1 var(--amp-sans); text-decoration: none; cursor: pointer; box-shadow: 0 8px 20px -10px rgba(0,0,0,.45); }
.amp-mo-btn:hover { background: #F5F8FA; }
.amp-rooms-nav { position: sticky; top: var(--amp-header-h); z-index: 40; background: rgba(255,255,255,.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--amp-line); border-top: 1px solid var(--amp-line); }
.admin-bar .amp-rooms-nav { top: calc(var(--amp-header-h) + 32px); }
.amp-rooms-track { display: flex; gap: .5rem; max-width: 1240px; margin: 0 auto; padding: .65rem 1.5rem; overflow-x: auto; scrollbar-width: none; }
.amp-rooms-track::-webkit-scrollbar { display: none; }
.amp-rooms-nav a { flex: none; display: flex; align-items: center; gap: .6rem; padding: .35rem .9rem .35rem .35rem; border-radius: 14px; text-decoration: none; color: var(--amp-ink); border: 1px solid transparent; transition: background .2s, border-color .2s; }
.amp-rooms-nav a:hover { background: #F3F6F8; }
.amp-rooms-nav a.is-active { background: var(--amp-navy); color: #fff; }
.amp-rooms-nav img, .amp-rooms-ico { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; display: grid; place-items: center; background: var(--amp-foam); color: var(--amp-sea); }
.amp-rooms-nav span { display: flex; flex-direction: column; font-weight: 600; font-size: .88rem; line-height: 1.15; }
.amp-rooms-nav small { font-weight: 400; font-size: .74rem; opacity: .75; }
.amp-room { padding: 4.2rem 0 4rem; margin-top: 0 !important; margin-bottom: 0 !important; scroll-margin-top: calc(var(--amp-header-h) + 84px); background: #fff; }
.amp-room.is-alt { background: var(--amp-sand-l); }

.amp-room-head { display: flex; gap: 1.4rem; align-items: flex-start; margin-bottom: 1.6rem !important; }
.amp-room-n { margin: 0; font: italic 400 3.4rem/0.9 var(--amp-serif); color: var(--amp-sea); opacity: .55; }
.amp-room-head h2 { margin: 0 0 .3rem; font: 400 clamp(2rem, 3.4vw, 2.8rem)/1.05 var(--amp-serif) !important; }
.amp-room-head p { margin: 0; color: var(--amp-muted); max-width: 46rem; }
.amp-room-count { display: inline-block; margin-left: .4rem; padding: .1rem .55rem; border-radius: 99px; background: var(--amp-foam); color: var(--amp-sea); font-size: .76rem; font-weight: 600; }
.amp-room-grid.wp-block-gallery figure.wp-block-image { border-radius: 16px; overflow: hidden; }
@media (min-width: 782px) {
	.amp-room-grid.amp-n5 figure:first-child, .amp-room-grid.amp-n8 figure:first-child, .amp-room-grid.amp-n9 figure:first-child, .amp-room-grid.amp-n4 figure:first-child { flex-basis: calc(50% - .5em) !important; width: calc(50% - .5em) !important; }
}
/* 360 */
.amp-360-sec { color: #fff; }
.amp-360-sec .sbh-eyebrow { color: #FCE7B2 !important; }
.amp-360-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.amp-360-head h2 { margin: .2rem 0 .5rem; font: 400 clamp(2.2rem, 4vw, 3.4rem)/1.02 var(--amp-serif) !important; color: #fff; }
.amp-360-head p { margin: 0; max-width: 42rem; color: rgba(255,255,255,.85); }
.amp-360-tabs { display: inline-flex; padding: 4px; border-radius: 99px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); }
.amp-360-tabs button { border: 0; background: transparent; color: #fff; padding: .6rem 1rem; border-radius: 99px; font: 600 .9rem/1 var(--amp-sans); cursor: pointer; min-height: 40px; }
.amp-360-tabs button[aria-pressed="true"] { background: #fff; color: var(--amp-navy); }
.amp-360-stage { position: relative; aspect-ratio: 16 / 8; min-height: 380px; border-radius: 26px; overflow: hidden; background: #0b2236; box-shadow: 0 40px 80px -40px rgba(0,0,0,.7); }
.amp-360-view { position: absolute; inset: 0; }
.amp-360-poster { position: absolute; inset: 0; display: grid; place-items: center; background-size: cover; background-position: center; }
.amp-360-poster::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(8,28,44,.15), rgba(8,28,44,.6)); }
.amp-360-stage.is-live .amp-360-poster { opacity: 0; visibility: hidden; transition: opacity .6s, visibility 0s .6s; }
.amp-360-load { position: relative; display: inline-flex; align-items: center; gap: .7rem; min-height: 58px; padding: 0 1.7rem; border-radius: 99px; border: 1px solid rgba(255,255,255,.5); background: rgba(255,255,255,.18); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #fff; font: 600 1.05rem/1 var(--amp-sans); cursor: pointer; transition: background .2s, transform .2s; }
.amp-360-load:hover { background: rgba(255,255,255,.3); transform: scale(1.03); }
.amp-360-load svg { width: 26px; height: 26px; }
.amp-360-badge, .amp-360-stage.is-live::after { position: absolute; left: 1rem; top: 1rem; z-index: 3; padding: .35rem .75rem; border-radius: 99px; background: #FFEDB8; color: #5C4300; font: 700 .72rem/1.2 var(--amp-sans); letter-spacing: .08em; text-transform: uppercase; }
.amp-360-stage.is-live::after { content: "Sample 360 view · not this house"; pointer-events: none; }
.amp-360-sec .sbh-source, .amp-360-sec .sbh-source a { color: rgba(255,255,255,.75) !important; }
.amp-hs { width: 34px; height: 34px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; }
.amp-hs-info { background: rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312304F' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7.2v.1'/%3E%3C/svg%3E") center / 20px no-repeat; box-shadow: 0 0 0 6px rgba(255,255,255,.3); animation: ampPulse 2.4s ease-out infinite; }
.amp-hs-scene { background: rgba(194,78,46,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center / 20px no-repeat; box-shadow: 0 0 0 6px rgba(194,78,46,.3); }
@keyframes ampPulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.6); } 100% { box-shadow: 0 0 0 16px rgba(255,255,255,0); } }
.amp-hs-tip { position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%); width: max-content; max-width: 240px; padding: .5rem .7rem; border-radius: 10px; background: #fff; color: var(--amp-ink); font: 500 .8rem/1.35 var(--amp-sans); text-align: center; box-shadow: 0 10px 24px -10px rgba(0,0,0,.5); opacity: 0; visibility: hidden; transition: opacity .2s; pointer-events: none; }
.amp-hs:hover .amp-hs-tip, .amp-hs:focus .amp-hs-tip { opacity: 1; visibility: visible; }
.pnlm-container { font-family: var(--amp-sans) !important; }
.pnlm-title-box { font-family: var(--amp-serif) !important; font-size: 1.15rem !important; }

/* ---------------- Reviews ---------------- */
.amp-rv-summary { display: grid; grid-template-columns: 300px 1fr; gap: 2.5rem; align-items: center; padding: 2rem 2.2rem; background: #fff; border: 1px solid var(--amp-line); border-radius: 28px; box-shadow: var(--amp-shadow); }
.amp-fav { display: flex; align-items: center; justify-content: center; gap: .3rem; color: var(--amp-navy); }
.amp-laurel { width: 46px; height: 74px; color: #B58A1E; }
.amp-laurel.is-flip { transform: scaleX(-1); }
.amp-fav-mid { text-align: center; }
.amp-fav-score { margin: 0; font: 400 4.8rem/.9 var(--amp-serif); }
.amp-fav-t { margin: .3rem 0 0; font: 700 .78rem/1 var(--amp-sans); letter-spacing: .16em; text-transform: uppercase; }
.amp-fav-sub { grid-column: 1; margin: -1.6rem 0 0; text-align: center; font-size: .88rem; color: #3A4A51; }
.amp-fav-sub small { color: var(--amp-muted); }
.amp-rv-scores { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.amp-rv-scores h3 { margin: 0 0 .8rem; font: 400 1.4rem/1.1 var(--amp-serif) !important; }
.amp-rv-scores h3 small { display: block; font: 400 .8rem var(--amp-sans); color: var(--amp-muted); margin-top: .2rem; }
.amp-bars { margin: 0 !important; padding: 0; list-style: none; display: grid; gap: .55rem; }
.amp-bars li { display: grid; grid-template-columns: 34px 1fr 28px; gap: .7rem; align-items: center; margin: 0; font-size: .88rem; }
.amp-bars--cat li { grid-template-columns: 110px 1fr 28px; }
.amp-bars strong { text-align: right; font-variant-numeric: tabular-nums; }
.amp-bar { height: 6px; border-radius: 9px; background: #E7E2D8; overflow: hidden; }
.amp-bar i { display: block; height: 100%; width: var(--v); border-radius: 9px; background: var(--amp-navy); transform-origin: left; animation: ampGrow 1.2s cubic-bezier(.2,.7,.2,1) both; }
@keyframes ampGrow { from { transform: scaleX(0); } }
.amp-ext-score { margin: 1rem 0 0; font-size: .9rem; }
.amp-ext-score strong { font: 400 1.5rem var(--amp-serif); }
.amp-digest { margin: 2.6rem auto 1.8rem; max-width: 50rem; text-align: center; }
.amp-digest-k { margin: 0 0 .4rem; font: 600 .76rem/1 var(--amp-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--amp-sea); }
.amp-digest blockquote { margin: 0; padding: 0; border: 0; font: italic 400 clamp(1.5rem, 2.6vw, 2.1rem)/1.3 var(--amp-serif); color: var(--amp-navy); }
.amp-digest figcaption { margin-top: .5rem; font-size: .8rem; color: var(--amp-muted); }
.amp-rv-tools { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1rem 0; border-top: 1px solid var(--amp-line); }
.amp-chips { display: flex; gap: .45rem; flex-wrap: wrap; }
.amp-chip { display: inline-flex; align-items: center; gap: .4rem; min-height: 38px; padding: 0 .9rem; border-radius: 99px; border: 1px solid #B9C3C8; background: #fff; font: 500 .88rem/1 var(--amp-sans); color: var(--amp-ink); cursor: pointer; transition: all .2s; }
.amp-chip span { font-size: .76rem; color: var(--amp-muted); }
.amp-chip:hover { border-color: var(--amp-navy); }
.amp-chip[aria-pressed="true"] { background: var(--amp-navy); color: #fff; border-color: var(--amp-navy); }
.amp-chip[aria-pressed="true"] span { color: rgba(255,255,255,.8); }
.amp-sort { display: inline-flex; align-items: center; gap: .5rem; font-size: .88rem; font-weight: 600; }
.amp-sort select { min-height: 40px; padding: 0 2.2rem 0 .9rem; border-radius: 12px; border: 1px solid #B9C3C8; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2A31' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right .7rem center / 16px no-repeat; appearance: none; font: inherit; font-weight: 500; color: var(--amp-ink); cursor: pointer; }
.amp-rv-count { margin: 0 0 1rem; font-size: .85rem; color: var(--amp-muted); }
.amp-rv-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; align-items: start; }
.amp-rv { padding: 1.5rem 1.6rem; background: #fff; border: 1px solid var(--amp-line); border-radius: 22px; }
.amp-rv[hidden] { display: none; }
.amp-rv header { display: flex; align-items: center; gap: .8rem; }
.amp-rv header > div { flex: 1; min-width: 0; }
.amp-rv header strong { display: block; }
.amp-rv header span { font-size: .8rem; color: var(--amp-muted); }
.amp-av { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, #5E9FD1, var(--amp-navy)); color: #fff !important; font: 400 1.35rem/1 var(--amp-serif); flex: none; }
.amp-rv-stars { color: #C99400 !important; letter-spacing: .06em; font-size: .95rem !important; }
.amp-rv h3 { margin: 1rem 0 .3rem; font: 400 1.45rem/1.15 var(--amp-serif) !important; }
.amp-rv-body p { margin: .6rem 0 0; line-height: 1.6; color: #2F3F46; }
.amp-rv.is-long:not(.is-open) .amp-rv-body { max-height: 8.1em; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
.amp-rv-more { margin-top: .5rem; padding: .4rem 0; border: 0; background: none; font: 600 .9rem/1 var(--amp-sans); color: var(--amp-ink); text-decoration: underline; cursor: pointer; }
.amp-reply { margin-top: 1rem; padding: .9rem 1rem; border-radius: 14px; background: var(--amp-sand-l); border-left: 3px solid var(--amp-sea); font-size: .9rem; }
.amp-reply p { margin: 0; color: #33444B; }
.amp-reply .amp-reply-h { margin-bottom: .35rem; }

/* ---------------- Story ---------------- */
.amp-story-wrap { margin-top: 0 !important; }
.amp-story { --sky: #f6c9a4; position: relative; padding: clamp(4rem, 8vw, 7rem) 1.5rem; background-color: var(--sky); transition: background-color 1.2s ease; isolation: isolate; }
.amp-story::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(250,246,239,0) 0%, rgba(250,246,239,.55) 55%, #FAF6EF 100%); }
.amp-story-head { max-width: 760px; margin: 0 auto 3rem; text-align: center; }
.amp-story-head h2 { margin: .4rem 0 .6rem; font: 400 clamp(2.6rem, 5.5vw, 4.6rem)/1 var(--amp-serif) !important; color: var(--amp-navy); }
.amp-story-head .sbh-eyebrow { color: var(--amp-coral-d); }
.amp-story-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); max-width: 1240px; margin: 0 auto; }
.amp-story-media { position: relative; }
.amp-story-frame { position: sticky; top: calc(var(--amp-header-h) + 32px); height: min(calc(100vh - var(--amp-header-h) - 64px), 720px); border-radius: 30px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(18,48,79,.6); background: #0d2a3f; }
.amp-story-frame figure { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.06); transition: opacity 1s ease, transform 6s ease; }
.amp-story-frame figure.is-active { opacity: 1; transform: scale(1); }
.amp-story-frame img { width: 100%; height: 100%; object-fit: cover; }
.amp-story-frame figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .3rem .7rem; border-radius: 99px; background: rgba(8,28,44,.55); color: #fff; font-size: .72rem; backdrop-filter: blur(6px); }
.amp-story-clock { position: absolute; top: 1.1rem; left: 1.1rem; margin: 0; padding: .4rem 1rem; border-radius: 99px; background: rgba(255,255,255,.9); color: var(--amp-navy); font: italic 400 1.5rem/1.1 var(--amp-serif); }
.amp-story-steps { margin: 0 !important; padding: 0; list-style: none; }
li.amp-step { min-height: 78vh; display: flex; flex-direction: column; justify-content: center; margin: 0; opacity: .3; transition: opacity .6s ease; }
li.amp-step:first-child { min-height: 60vh; justify-content: flex-start; padding-top: 12vh; }
li.amp-step.is-active { opacity: 1; }
.amp-step-mimg { display: none; }
.amp-step-time { margin: 0 0 .5rem; font: 700 .8rem/1 var(--amp-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--amp-coral-d); }
li.amp-step h3 { margin: 0 0 .8rem; font: 400 clamp(2rem, 3.4vw, 3rem)/1.04 var(--amp-serif) !important; color: var(--amp-navy); }
li.amp-step p { margin: 0; font-size: 1.1rem; line-height: 1.65; color: #2A3A41; max-width: 32rem; }
li.amp-step .amp-step-sun { margin-top: 1rem; display: inline-flex; align-self: flex-start; padding: .35rem .8rem; border-radius: 99px; background: rgba(255,255,255,.7); font-size: .86rem; font-weight: 600; color: var(--amp-navy); }
li.amp-step .amp-step-sun::before { content: "☀ "; color: #C99400; }
@media (max-width: 900px) {
	.amp-story-grid { grid-template-columns: 1fr; }
	.amp-story-media { display: none; }
	li.amp-step, li.amp-step:first-child { min-height: 0; padding: 0 0 3rem; opacity: 1; }
	.amp-step-mimg { display: block; margin-bottom: 1.2rem; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; }
	.amp-step-mimg img { width: 100%; height: 100%; object-fit: cover; }
}
/* Collage + host note */
.amp-collage-sec { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.amp-collage-text h2 { margin: .4rem 0 1.4rem; font: 400 clamp(2.2rem, 4vw, 3.4rem)/1.02 var(--amp-serif) !important; }
.amp-note { position: relative; margin: 0 0 1.6rem; padding: 1.6rem 1.6rem 1.2rem; background: #FFFDF6; border-radius: 6px; box-shadow: 0 18px 40px -22px rgba(18,48,79,.5); transform: rotate(-1.4deg); }
.amp-note::before { content: ""; position: absolute; top: -12px; left: 50%; width: 110px; height: 26px; margin-left: -55px; background: rgba(245,191,31,.55); transform: rotate(2deg); }
.amp-note .amp-ex { position: absolute; top: .7rem; right: .8rem; }
.amp-note blockquote { margin: .6rem 0 .6rem; padding: 0; border: 0; }
.amp-note blockquote p { margin: 0; font: 400 1.6rem/1.3 var(--amp-script); color: #23415F; }
.amp-note figcaption { font-size: .76rem; color: var(--amp-muted); }
.amp-collage { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 64px; gap: 14px; }
.amp-collage figure { position: relative; margin: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(18,48,79,.6); background: var(--amp-sand); }
.amp-collage figure > div { position: absolute; left: 0; right: 0; top: -9%; height: 118%; will-change: transform; }
.amp-collage img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amp-col-a { grid-column: 1 / 4; grid-row: 1 / 5; }
.amp-col-b { grid-column: 4 / 7; grid-row: 1 / 4; }
.amp-col-c { grid-column: 4 / 7; grid-row: 4 / 8; }
.amp-col-d { grid-column: 1 / 4; grid-row: 5 / 9; }
.amp-col-e { grid-column: 3 / 6; grid-row: 7 / 10; z-index: 2; border: 6px solid #fff; }
@media (max-width: 900px) {
	.amp-collage-sec { grid-template-columns: 1fr; }
	.amp-collage { grid-auto-rows: 48px; gap: 10px; }
}

/* ---------------- Contact summary ---------------- */
.amp-summary { margin-bottom: 1.2rem; padding: 1.4rem; background: #fff; border: 1px solid var(--amp-line); border-radius: 22px; box-shadow: var(--amp-shadow); }
.amp-summary[hidden] { display: none; }
.amp-sum-k { margin: 0 0 .5rem; font: 700 .72rem/1 var(--amp-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--amp-sea); }
.amp-sum-dates { margin: 0 0 1rem; }
.amp-sum-dates strong { font: 400 1.25rem var(--amp-serif); }
.amp-sum-edit { margin-top: .8rem; border: 1px solid var(--amp-ink); background: #fff; border-radius: 12px; padding: .6rem 1rem; font: 600 .9rem/1 var(--amp-sans); cursor: pointer; }
.amp-summary .amp-cta { width: 100%; margin-top: .4rem; }

/* ---------------- Responsive ---------------- */
@media (max-width: 1100px) { .amp-rv-summary { grid-template-columns: 1fr; } .amp-rv-scores, .amp-fav-sub { grid-column: 1; grid-row: auto; } .amp-fav-sub { margin: 0; } .amp-ga--c3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
	.amp-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-beds { grid-template-columns: 1fr; }
	.amp-ga, .amp-ga--c3 { grid-template-columns: 1fr; }
	.amp-rv-list { grid-template-columns: 1fr; }
	.amp-rv-scores { grid-template-columns: 1fr; gap: 1.6rem; }
	.amp-rv-summary { padding: 1.4rem; border-radius: 22px; }
	.amp-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; height: auto; border-radius: 20px; gap: 6px; }
	.amp-mo-main { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 3; }
	.amp-mo-t { aspect-ratio: 4 / 3; }
	.amp-mo-actions { position: static; grid-column: 1 / -1; justify-content: stretch; margin-top: .4rem; }
	.amp-mo-actions .amp-mo-btn { flex: 1; justify-content: center; }
	.amp-room { padding: 3rem 0; }
	.amp-room-n { font-size: 2.4rem; }
	.amp-room-head { gap: .9rem; }
	.amp-360-stage { aspect-ratio: 4 / 5; min-height: 0; }
	.amp-360-tabs { width: 100%; }
	.amp-360-tabs button { flex: 1; }
	.amp-cal-legend { gap: .4rem .9rem; }
	.amp-day { height: 42px; }
	.amp-cal--prices .amp-day { height: 50px; }
}

/* ---------------- Reduced motion ---------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.amp-hero-video { display: none; }
	li.amp-step { opacity: 1; }
	.amp-collage figure > div { transform: none !important; }
	.amp-story-frame figure { transform: none; }
}

/* hero top bar is anchored to the hero, aligned to the 1240 container */
.amp-hero-inner { position: static; }
.amp-hero-top { top: 1.6rem; left: max(1.5rem, calc((100% - 1240px) / 2 + 1.5rem)); right: max(1.5rem, calc((100% - 1240px) / 2 + 1.5rem)); z-index: 2; }
.amp-hero-ctrls, .amp-hero-credit { right: max(1.5rem, calc((100% - 1240px) / 2 + 1.5rem)); }
@media (max-width: 760px) {
	.amp-hero-top { top: 1rem; left: 1.1rem; right: 1.1rem; flex-direction: column; align-items: flex-start; gap: .55rem; }
	.amp-hero-ctrls { top: 1rem; right: 1.1rem; }
	.amp-hero-badge { font-size: .74rem; white-space: nowrap; }
	.amp-hero-credit { right: 1.1rem; }
}
@media (max-width: 380px) { .amp-hero-badge .amp-b-long { display: none; } }
.amp-cta, .amp-btn, .amp-card *, .amp-card { box-sizing: border-box; }
.amp-day.is-no-ci .amp-day-n::after { left: auto; right: -8px; top: 1px; bottom: auto; margin: 0; }
.is-layout-constrained > .amp-rooms-nav { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.amp-mosaic a.amp-mo-btn { display: inline-flex; background: #fff; overflow: visible; }
.amp-360-badge, .amp-360-stage.is-live::after { left: auto; right: 1rem; }
.amp-dialog-panel, .amp-dialog-panel *, .amp-pop, .amp-pop * , .amp-cal-card, .amp-cal-card * { box-sizing: border-box; }
.amp-dialog-body > * { min-width: 0; }
.amp-day:focus-visible { outline-offset: -2px; border-radius: 12px; }
li.amp-step { text-align: left; align-items: flex-start; }
@media (min-width: 1200px) {
	.amp-aside-zone .amp-truths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.amp-aside-zone .amp-truth { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; }
	.amp-aside-zone .amp-truth .amp-ico { grid-row: 1 / 3; }
	.amp-aside-zone .amp-truth h3 { margin-top: .1rem; }
}
.is-layout-constrained > .amp-rooms-nav { margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1) !important; margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1) !important; }
.amp-hs-info { width: 40px; height: 40px; }
@media (min-width: 1200px) {
	.amp-aside-zone .amp-truth { grid-template-rows: auto 1fr; align-items: start; }
	.amp-aside-zone .amp-truth .amp-ico { grid-row: 1 / span 2; align-self: start; }
	.amp-aside-zone .amp-truth h3 { margin: .15rem 0 .35rem; }
}
@media (max-width: 781px) { .amp-room > .wp-block-gallery { margin-left: 1.1rem !important; margin-right: 1.1rem !important; width: auto !important; } }

/* ---------- v4: fictional Pelicove brand in the footer ---------- */
.sbh-footer-logo.sbh-footer-brand { display: inline-flex; align-items: center; gap: .85rem; background: none; padding: 0; margin-bottom: 1rem; text-decoration: none; }
.sbh-footer-brand .sbh-mark { flex: none; border-radius: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.sbh-fb-text { display: flex; flex-direction: column; line-height: 1; }
.sbh-fb-name { font: 400 2.1rem/1 var(--wp--preset--font-family--heading, Georgia, serif); color: #F7EEDB; }
.sbh-fb-sub { margin-top: .35rem; font: 600 .72rem/1 var(--wp--preset--font-family--body, Arial, sans-serif); letter-spacing: .24em; text-transform: uppercase; color: #F5BF1F; }
.amp-sample { display: inline-block; font: 600 .68rem/1 var(--wp--preset--font-family--body, Arial, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: #12304F; background: #FCE9A6; border-radius: 999px; padding: .32rem .55rem; vertical-align: middle; }
.amp-credits { columns: 3 16rem; column-gap: 2rem; font-size: .82rem; line-height: 1.45; margin: 0; padding: 0; list-style: none; }
.amp-credits li { break-inside: avoid; margin: 0 0 .45rem; }
.amp-area-note { font-size: .85rem; opacity: .85; }
.sbh-footer-muted a[href^="mailto:"] { white-space: nowrap; font-size: .86em; }

/* v4.0.1 pre-footer alignment fix.
   - .amp-trust / .amp-ga used "margin: X 0 0 !important", which beat the constrained layout's
     "margin-inline: auto !important", so above ~1336px they hugged the left padding instead of centering.
     (Fixed in place above with "auto".)
   - CTA cover band: use the same root/global side padding as every other section (core cover default is 1em),
     and center its eyebrow like the headline below it. */
.wp-block-cover.sbh-cta { padding-left: var(--wp--style--root--padding-left); padding-right: var(--wp--style--root--padding-right); }
.sbh-cta .sbh-eyebrow { text-align: center; }
