/* Client page: quiet, editorial, mobile first. */
:root{
  --bg:#fbfaf7;--bg-glass:rgba(251,250,247,.78);--surface:#fff;--surface-2:#f3f1ec;
  --text:#1b1b1a;--mute:#74716a;--faint:#a8a49b;--line:rgba(27,27,26,.09);
  --cta:#1d3a31;--cta-fg:#fbfaf7;--cta-hover:#25493d;--gold:#a67c37;--ok:#2f7d57;--err:#c0392b;
  --shadow-lg:0 2px 4px rgba(20,20,10,.06),0 30px 70px rgba(20,20,10,.2);
  --ease:cubic-bezier(.32,.72,0,1);--out:cubic-bezier(.22,.8,.24,1);
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',sans-serif;
}
@media(prefers-color-scheme:dark){:root{
  --bg:#0d0e0d;--bg-glass:rgba(13,14,13,.74);--surface:#171917;--surface-2:#1e211e;
  --text:#f2efe8;--mute:#a09c92;--faint:#6f6c64;--line:rgba(255,255,255,.1);
  --cta:#f2efe8;--cta-fg:#111310;--cta-hover:#fff;--gold:#cfa764;--ok:#5fc08f;--err:#ff7a68;
  --shadow-lg:0 2px 4px rgba(0,0,0,.4),0 30px 70px rgba(0,0,0,.6);
}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lock{overflow:hidden}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:var(--bg-glass);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid transparent;transition:border-color .3s;padding-top:env(safe-area-inset-top)}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-in{max-width:1120px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-size:1.35rem;font-weight:500;letter-spacing:-.01em}
.nav-wa{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:99px;background:var(--surface-2);font-size:.82rem;font-weight:500;transition:background .25s,transform .25s var(--out)}
.nav-wa:hover{background:var(--line)}
.nav-wa:active{transform:scale(.96)}
.nav-wa svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* hero */
.page{max-width:1120px;margin:0 auto;padding:0 20px calc(40px + env(safe-area-inset-bottom))}
.hero{padding:44px 0 26px}
.eyebrow{font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,10vw,4.8rem);line-height:1;letter-spacing:-.03em;margin-bottom:16px}
.lede{font-size:1.06rem;color:var(--mute);max-width:30rem}
.eyebrow,.hero h1,.lede{animation:rise .9s var(--out) both}
.hero h1{animation-delay:.07s}.lede{animation-delay:.14s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.notice{margin:6px 0 18px;padding:14px 16px;border-radius:16px;background:var(--surface-2);font-size:.92rem;color:var(--mute);animation:rise .6s var(--out) both}
.notice[hidden]{display:none}

/* chips */
.chips-wrap{margin:8px -20px 22px;position:relative}
.chips-wrap[hidden]{display:none}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 20px;scroll-snap-type:x proximity;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:start;height:36px;padding:0 16px;border-radius:99px;border:1px solid var(--line);font-size:.86rem;font-weight:500;color:var(--mute);background:transparent;transition:all .3s var(--out)}
.chip:hover{color:var(--text)}
.chip[aria-selected=true]{background:var(--text);color:var(--bg);border-color:var(--text)}

/* grid + cards */
.grid{display:grid;gap:34px 22px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{padding:72px 0 36px}}
.card{cursor:pointer;opacity:0;transform:translateY(26px);transition:opacity .8s var(--out),transform .8s var(--out);outline-offset:6px;-webkit-tap-highlight-color:transparent}
.card.in{opacity:1;transform:none}
.card-media{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;background:var(--surface-2);box-shadow:0 1px 2px rgba(20,20,10,.06),0 10px 30px rgba(20,20,10,.08);transition:transform .6s var(--out),box-shadow .6s var(--out)}
.card-media img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transform:scale(1.04);filter:blur(10px);transition:opacity .8s var(--out),transform 1.1s var(--out),filter .8s var(--out)}
.card-media img.ready{opacity:1;filter:none;transform:none}
@media(hover:hover){.card:hover .card-media{transform:translateY(-5px);box-shadow:0 2px 4px rgba(20,20,10,.06),0 24px 50px rgba(20,20,10,.18)}.card:hover .card-media img.ready{transform:scale(1.035)}}
.card:active .card-media{transform:scale(.985)}
.tag{position:absolute;left:14px;top:14px;padding:7px 13px;border-radius:99px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);color:#1b1b1a;font-size:.76rem;font-weight:600;letter-spacing:.01em}
.card-body{padding:16px 4px 0}
.card-place{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.card-place i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.card-place span{color:var(--mute)}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.12;letter-spacing:-.015em}
.card-meta{margin-top:6px;font-size:.88rem;color:var(--mute)}
.card-price{margin-top:12px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.card-price b{font-size:1.08rem;font-weight:600;letter-spacing:-.01em}
.card-price s{font-size:.9rem;color:var(--faint)}
.card-price em{font-style:normal;font-size:.76rem;font-weight:600;color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent);padding:3px 9px;border-radius:99px}

/* skeleton */
.skel i,.skel b{display:block;background:linear-gradient(100deg,var(--surface-2) 30%,var(--line) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:14px}
.skel i{aspect-ratio:4/5;border-radius:26px}
.skel b{height:14px;margin-top:14px;width:70%}.skel b+b{width:40%}
@keyframes shimmer{to{background-position:-200% 0}}

/* empty */
.empty{text-align:center;padding:50px 10px 30px;max-width:26rem;margin:0 auto;animation:rise .8s var(--out) both}
.empty[hidden]{display:none}
.empty svg{width:96px;height:96px;margin:0 auto 18px;fill:none;stroke:var(--faint);stroke-width:1.3;stroke-linecap:round}
.empty h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;letter-spacing:-.015em;margin-bottom:8px}
.empty p{color:var(--mute);margin-bottom:22px}
.foot{display:flex;flex-direction:column;gap:4px;align-items:center;margin-top:64px;padding-top:22px;border-top:1px solid var(--line);font-size:.78rem;color:var(--faint)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 26px;border-radius:99px;font-weight:500;font-size:.98rem;transition:transform .25s var(--out),background .25s,box-shadow .25s,opacity .25s}
.btn-primary{background:var(--cta);color:var(--cta-fg)}
.btn-primary:hover{background:var(--cta-hover)}
.btn:active{transform:scale(.97)}
.btn-lg{height:54px;font-size:1.02rem;flex:1}
.btn[disabled]{opacity:.65;cursor:default}
.icon-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);transition:background .25s,transform .25s var(--out);flex:none}
.icon-btn:hover{background:var(--line)}
.icon-btn:active{transform:scale(.92)}
.icon-btn svg,.back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* sheet */
.sheet-root{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}
.sheet-root[hidden]{display:none}
.scrim{position:absolute;inset:0;background:rgba(10,10,8,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .45s var(--ease)}
.sheet{position:relative;width:100%;max-width:560px;height:94dvh;background:var(--surface);border-radius:30px 30px 0 0;box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform .6s var(--ease);display:flex;flex-direction:column;overflow:hidden;outline:0;will-change:transform}
.sheet-root.open .scrim{opacity:1}
.sheet-root.open .sheet{transform:translateY(0)}
.sheet.dragging{transition:none}
.grab{position:absolute;left:0;right:0;top:0;height:30px;z-index:5;display:flex;justify-content:center;padding-top:9px;touch-action:none;cursor:grab}
.grab i{width:38px;height:5px;border-radius:9px;background:rgba(255,255,255,.75);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.close{position:absolute;right:14px;top:14px;z-index:6;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#1b1b1a;width:38px;height:38px}
.close:hover{background:#fff}
.sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.s-poster{position:relative;background:var(--surface-2);max-height:60dvh;overflow:hidden;cursor:zoom-in;transition:max-height .8s var(--ease)}
.s-poster.full{max-height:4000px;cursor:zoom-out}
.s-poster:not(.full)::before{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(to top,rgba(0,0,0,.28),transparent);pointer-events:none}
.s-poster:not(.full)::after{content:'View full poster';position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:8px 15px;border-radius:99px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.76rem;font-weight:600;color:#1b1b1a;pointer-events:none}
.s-poster img{width:100%;height:auto;opacity:0;transition:opacity .6s var(--out)}
.s-poster img.ready{opacity:1}
.s-info{display:flex;flex-direction:column;flex:none}
.s-scroll{padding:24px 22px 120px}
.s-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;gap:10px;padding:26px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--surface) 62%,transparent);transition:opacity .35s,transform .45s var(--ease)}
.sheet.step-book .s-bar,.sheet.step-done .s-bar{opacity:0;transform:translateY(20px);pointer-events:none}

/* panels */
.panels{display:grid}
.panel{grid-area:1/1;transition:opacity .4s var(--out),transform .6s var(--ease),visibility 0s .4s;min-width:0}
.panels[data-step=details] .p-book,.panels[data-step=details] .p-done{opacity:0;visibility:hidden;transform:translateX(34px);pointer-events:none}
.panels[data-step=book] .p-details{opacity:0;visibility:hidden;transform:translateX(-34px);pointer-events:none}
.panels[data-step=book] .p-done{opacity:0;visibility:hidden;transform:translateX(34px);pointer-events:none}
.panels[data-step=done] .p-details,.panels[data-step=done] .p-book{opacity:0;visibility:hidden;transform:translateX(-34px);pointer-events:none}
.panels[data-step=details] .p-details,.panels[data-step=book] .p-book,.panels[data-step=done] .p-done{opacity:1;visibility:visible;transform:none;transition-delay:0s}

.s-place{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.s-title{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.05;letter-spacing:-.02em}
.s-tag{font-family:var(--serif);font-style:italic;color:var(--mute);font-size:1.08rem;margin-top:8px}
.chip-offer{display:inline-block;margin-top:14px;padding:7px 14px;border-radius:99px;background:var(--surface-2);font-size:.82rem;font-weight:600}
.chip-offer[hidden]{display:none}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:22px 0 6px;border-top:1px solid var(--line)}
.facts div{padding:14px 12px 12px 0}
.facts dt{font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.facts dd{font-size:.94rem;font-weight:500}
.s-h{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:20px 0 10px}
.incl{list-style:none;display:grid;gap:11px}
.incl li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem;opacity:0;transform:translateY(8px)}
.sheet-root.open .incl li{animation:rise .6s var(--out) both;animation-delay:calc(.25s + var(--i,0) * 70ms)}
.incl svg{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.price-card{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:26px;padding:20px;border-radius:22px;background:var(--surface-2)}
.pc-l{display:block;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.pc-new{font-family:var(--serif);font-weight:500;font-size:2rem;letter-spacing:-.02em;line-height:1}
.pc-r{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.pc-r s{color:var(--faint);font-size:.95rem}
.pc-r em{font-style:normal;font-size:.76rem;font-weight:600;color:var(--ok)}
.fine{font-size:.78rem;color:var(--faint);margin-top:12px;line-height:1.45}
.fine.center{text-align:center}

/* booking form */
.back{display:inline-flex;align-items:center;gap:2px;height:36px;margin:-6px 0 14px -8px;padding:0 10px;border-radius:99px;font-size:.9rem;font-weight:500;color:var(--mute)}
.back:hover{color:var(--text);background:var(--surface-2)}
.b-title{font-family:var(--serif);font-weight:500;font-size:1.9rem;letter-spacing:-.02em;line-height:1.1}
.b-sub{color:var(--mute);margin:8px 0 24px}
.field{position:relative;display:block;margin-bottom:14px}
.field input{width:100%;height:60px;padding:24px 16px 8px;border-radius:16px;border:1.5px solid transparent;background:var(--surface-2);font-size:1.06rem;transition:border-color .25s,background .25s,box-shadow .25s;-webkit-appearance:none}
.field input:focus{outline:none;background:var(--surface);border-color:var(--text);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}
.field span{position:absolute;left:17px;top:19px;font-size:1.02rem;color:var(--faint);pointer-events:none;transition:all .25s var(--out);transform-origin:left top}
.field input:focus+span,.field input:not(:placeholder-shown)+span{top:9px;font-size:.72rem;letter-spacing:.04em;color:var(--mute)}
.field small{display:block;min-height:0;font-size:.8rem;color:var(--err);padding:0 6px;max-height:0;overflow:hidden;opacity:0;transition:all .3s var(--out)}
.field.bad input{border-color:var(--err);animation:shake .4s}
.field.bad small{max-height:30px;opacity:1;padding-top:6px}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
#bSubmit{width:100%;margin-top:8px;position:relative}
.spin{display:none;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
#bSubmit.busy .spin{display:block}
#bSubmit.busy .lbl{opacity:.8}
@keyframes spin{to{transform:rotate(360deg)}}

/* done */
.p-done{text-align:center;padding:30px 0 10px}
.tick{width:84px;height:84px;margin:0 auto 18px;fill:none;stroke:var(--ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tick circle{stroke-dasharray:152;stroke-dashoffset:152}
.tick path{stroke-dasharray:44;stroke-dashoffset:44}
.panels[data-step=done] .tick circle{animation:draw .7s var(--out) .15s forwards}
.panels[data-step=done] .tick path{animation:draw .5s var(--out) .6s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.p-done .btn{margin-top:6px}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));z-index:200;transform:translate(-50%,24px);opacity:0;pointer-events:none;background:var(--text);color:var(--bg);padding:12px 20px;border-radius:99px;font-size:.88rem;font-weight:500;transition:all .45s var(--ease);white-space:nowrap}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* desktop: centred two-column modal */
@media(min-width:900px){
  .sheet-root{align-items:center}
  .sheet{max-width:1060px;width:92vw;height:min(88dvh,800px);border-radius:32px;transform:translateY(34px) scale(.97);opacity:0;transition:transform .6s var(--ease),opacity .4s var(--out)}
  .sheet-root.open .sheet{transform:none;opacity:1}
  .grab{display:none}
  .sheet-body{flex-direction:row;overflow:hidden}
  .s-poster{flex:0 0 46%;overflow-y:auto;max-height:none;cursor:default}
  .s-poster::before,.s-poster::after{display:none!important}
  .s-info{flex:1;min-width:0;overflow:hidden;min-height:0;position:relative}
  .s-scroll{flex:1;overflow-y:auto;padding:38px 36px 130px}
  .s-bar{padding:26px 28px 24px}
  .s-title{font-size:2.5rem}
  .close{background:var(--surface-2);color:var(--text)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.card{opacity:1;transform:none}}

/* stay dates */
.field-dates{margin-bottom:14px}
.dates-btn{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-radius:16px;border:1.5px solid transparent;background:var(--surface-2);text-align:left;transition:border-color .25s,background .25s,box-shadow .25s}
.dates-btn:hover{background:var(--line)}
.field-dates.is-open .dates-btn{background:var(--surface);border-color:var(--text);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}
.dtxt{display:flex;flex-direction:column}
.dl{font-size:.72rem;letter-spacing:.04em;color:var(--mute)}
.dv{font-size:1.06rem;font-weight:500}
.dv.empty{color:var(--faint);font-weight:400}
.dates-btn svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--mute);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease)}
.field-dates.is-open .dates-btn svg{transform:rotate(180deg)}
.field-dates.bad .dates-btn{border-color:var(--err);animation:shake .4s}
.field-dates small{display:block;font-size:.8rem;color:var(--err);padding:0 6px;max-height:0;overflow:hidden;opacity:0;transition:all .3s var(--out)}
.field-dates.bad small{max-height:30px;opacity:1;padding-top:6px}
.cal{max-height:0;opacity:0;visibility:hidden;overflow:hidden;transition:max-height .55s var(--ease),opacity .3s var(--out),visibility 0s .55s}
.cal.open{max-height:520px;opacity:1;visibility:visible;transition-delay:0s}
.cal-in{margin-top:10px;padding:14px 12px 10px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.cal-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px}
.cal-head b{font-weight:600;font-size:1rem;letter-spacing:-.01em}
.cal-nav{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);transition:background .2s,transform .2s var(--out),opacity .2s}
.cal-nav:hover{background:var(--line)}
.cal-nav:active{transform:scale(.9)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-dow span{text-align:center;font-size:.7rem;font-weight:500;letter-spacing:.08em;color:var(--faint);padding:6px 0}
.day{position:relative;height:42px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:500;transition:background .2s}
.day span{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,transform .25s var(--out)}
.day:not(.past):not(.start):not(.end):hover span{background:var(--surface-2)}
.day:active span{transform:scale(.9)}
.day.past{color:var(--faint);opacity:.4;cursor:default}
.day.today::after{content:'';position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--gold)}
.day.mid{background:color-mix(in srgb,var(--gold) 17%,transparent)}
.day.start span,.day.end span{background:var(--cta);color:var(--cta-fg);animation:dayPop .35s var(--out)}
.day.end.preview span{background:color-mix(in srgb,var(--cta) 55%,transparent)}
.day.start.has-range{background:linear-gradient(90deg,transparent 50%,color-mix(in srgb,var(--gold) 17%,transparent) 50%)}
.day.end.has-range{background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 17%,transparent) 50%,transparent 50%)}
.day:nth-child(7n+1).mid,.day:nth-child(7n+1).end{border-radius:99px 0 0 99px}
.day:nth-child(7n).mid,.day:nth-child(7n).start{border-radius:0 99px 99px 0}
@keyframes dayPop{from{transform:scale(.6)}to{transform:none}}
.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 6px 2px;font-size:.82rem;color:var(--mute)}
.cal-acts{display:flex;gap:14px}
.linkish{font-size:.82rem;font-weight:500;color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.linkish:hover{text-decoration-color:currentColor}
.linkish[hidden]{display:none}
.d-stay{margin:0 auto 18px;padding:9px 16px;border-radius:99px;background:var(--surface-2);font-size:.9rem;font-weight:500;display:inline-block}
.d-stay[hidden]{display:none}

/* phones: the booking form and confirmation take over the sheet, so the poster folds away and the form starts at the top */
@media(max-width:899px){
  .sheet.step-book .s-poster,.sheet.step-done .s-poster{max-height:0;pointer-events:none}
}
