/*
Theme Name: Dom Spali — Nocturne
Theme URI: https://stitch.withgoogle.com/projects/16726051602050661092
Description: Mobile-first private cabin booking theme, adapted 1:1 from the Stitch project.
Version: 1.0.0
Author: Dom Spali
Text Domain: dom-spali
*/
:root{--bg:#0C0A0B;--card:#161214;--line:rgba(198,165,122,.4);--text:#F4EFE6;--muted:#B7A89A;--accent:#C6A57A;--ink:#1A120C;--max:1120px;font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.site-shell{min-height:100vh}.topbar{max-width:var(--max);margin:12px auto 0;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:#110e10;border-radius:2px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px rgba(198,165,122,.12)}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.brand strong{display:block;font-weight:500}.screen-tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.screen-tabs button{border:1px solid transparent;border-radius:2px;background:#1a1517;color:var(--muted);padding:7px 9px;font-size:12px}.screen-tabs button[aria-current=true]{background:var(--accent);color:var(--ink);font-weight:600}.screen{display:none;max-width:var(--max);margin:0 auto;padding:22px 20px 132px}.screen.is-active{display:block;animation:fade-in .25s ease-out}@keyframes fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hero-media,.media-slot{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:2px;display:grid;place-items:center;color:var(--muted);text-align:center;min-height:210px}.hero-media{min-height:58vh}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,11,.04),rgba(12,10,11,.75))}.hero-media img,.media-slot img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.media-caption{position:absolute;z-index:1;left:12px;right:12px;bottom:12px;background:rgba(12,10,11,.72);padding:5px 8px;font-size:11px;color:var(--text)}.hero-copy{max-width:850px;padding:25px 0 34px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px}.hero-copy h1,.section-head h2,.success h2{font-family:Fraunces,"Source Serif 4",Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.03;margin:0 0 16px}.hero-copy h1{font-size:clamp(42px,8vw,76px)}.section-head{padding:18px 0 26px}.section-head h2{font-size:clamp(36px,5vw,58px)}.lead{font-size:18px;margin:0 0 8px}.subtle,.muted{color:var(--muted)}.subtle{margin:0}.sticky-bar{position:fixed;z-index:20;left:0;right:0;bottom:0;background:rgba(12,10,11,.96);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px}.cta{border:0;background:var(--accent);color:var(--ink);min-height:44px;padding:12px 16px;font-weight:600;border-radius:2px}.cta:hover,.cta:focus-visible{background:#d4b58b}.cta-block{width:100%;margin-top:24px}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.privacy-grid .media-wide{grid-column:1/-1;min-height:270px}.privacy-grid .media-slot{min-height:190px}.media-slot figcaption{position:absolute;z-index:1;left:10px;bottom:10px;color:var(--text);font-size:13px;background:rgba(12,10,11,.76);padding:4px 7px}.proof-list{margin:28px 0 0}.proof-list p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}.proof-list span{color:var(--accent)}.video-slot{min-height:290px;background:#090708}.video-slot video{width:100%;height:100%;min-height:inherit;object-fit:cover}.video-slot:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(12,10,11,.58))}.video-label{position:absolute;z-index:1;left:16px;bottom:16px;color:var(--text);text-align:left}.steps{list-style:none;padding:0;margin:28px 0}.steps li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.steps b{color:var(--accent);font-weight:500}.rate-list{display:grid;gap:12px}.rate-card{background:var(--card);border:1px solid var(--line);padding:21px}.rate-card.featured{border-color:var(--accent);background:linear-gradient(180deg,#1c1719,var(--card))}.rate-card strong{display:block;margin:6px 0;font:500 36px/1.1 Fraunces,"Source Serif 4",serif}.rate-card p:not(.eyebrow){margin:0;color:var(--muted)}.gallery-row{display:grid;grid-template-columns:1.35fr 1fr;gap:8px}.gallery-row .media-slot{min-height:270px}.gallery-row .portrait{min-height:390px}.house-meta{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.house-meta span{color:var(--muted)}.calendar{margin-top:24px;padding:16px;background:var(--card);border:1px solid var(--line)}.calendar-top{display:flex;justify-content:space-between;margin-bottom:18px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.weekdays{margin-bottom:8px;color:var(--muted);font-size:12px}.days button{min-height:36px;border:1px solid transparent;background:transparent;color:var(--text)}.days button:hover,.days button:focus-visible,.days button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.form-card{padding:20px;background:var(--card);border:1px solid var(--line)}.form-card label{display:block;margin-bottom:14px;color:var(--muted)}.form-card input:not([type=checkbox]),.form-card select{display:block;width:100%;margin-top:7px;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--text)}.form-card input:focus,.form-card select:focus{outline:1px solid var(--accent);outline-offset:2px}.check{display:flex!important;align-items:center;gap:8px;color:var(--text)!important}.check input{width:20px;height:20px;accent-color:var(--accent)}.success{padding:30px 0}.success p{max-width:560px;color:var(--muted)}.seo-template{padding:20px;background:var(--card);border:1px solid var(--line)}.slot{padding:14px 0;margin:0;border-bottom:1px dashed var(--line);color:var(--muted)}.seo-template .media-slot{min-height:220px;margin:18px 0}.seo-template details{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.seo-template summary{color:var(--accent);cursor:pointer}.seo-examples{display:grid;gap:8px;margin-top:16px}.seo-examples p{margin:0;padding:14px;border:1px solid var(--line)}.bottom-nav{position:fixed;z-index:19;left:0;right:0;bottom:62px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(22,18,20,.96);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{min-height:46px;border:0;background:transparent;color:var(--muted);font-size:12px}.bottom-nav button[aria-current=true],.bottom-nav button:hover{color:var(--accent)}.screen:focus{outline:none}@media (min-width:780px){.screen{padding:42px 34px 120px}.screen-tabs{max-width:680px}.privacy-grid{grid-template-columns:2fr 1fr}.privacy-grid .media-wide{grid-column:auto;grid-row:span 2}.rate-list{grid-template-columns:repeat(3,1fr)}.bottom-nav{left:50%;right:auto;bottom:18px;width:min(680px,calc(100% - 32px));transform:translateX(-50%);border:1px solid var(--line)}.sticky-bar{left:50%;right:auto;width:min(680px,calc(100% - 32px));transform:translateX(-50%);bottom:82px;border:1px solid var(--line);border-radius:2px}.topbar{margin-left:20px;margin-right:20px}}
/* Stitch 5ae96... composition overrides: 390px phone frame + micro navigation */
#dom-app{width:min(390px,100%);min-height:812px;margin:22px auto 0;background:var(--bg);border:1px solid var(--line);border-radius:2px;overflow:hidden;box-shadow:0 18px 54px rgba(0,0,0,.72)}#dom-app .screen{width:100%;max-width:390px;margin:0;padding:20px 20px 92px}#dom-app .screen.is-active{display:block}#dom-app .phone-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 9px;border-bottom:1px solid rgba(198,165,122,.15);background:rgba(12,10,11,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.phone-brand{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.16em}.phone-age{color:rgba(183,168,154,.8);font-size:9px;letter-spacing:.16em}.phone-links{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.phone-links button{border:0;background:none;color:inherit;padding:0}.phone-links span{color:var(--accent);font-weight:500}.hero-media{height:320px;min-height:320px;border:0;border-radius:0}.hero-media img{filter:brightness(.76) contrast(1.18) saturate(.95)}.hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,#0C0A0B,rgba(12,10,11,.35),rgba(0,0,0,.5));z-index:1}.hero-badge{position:absolute;z-index:2;top:12px;left:16px;padding:5px 10px;background:rgba(12,10,11,.85);border:1px solid rgba(198,165,122,.35);color:var(--accent);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.hero-lock{position:absolute;z-index:2;left:16px;right:16px;bottom:12px;color:var(--text);font-size:12px}.hero-copy{padding:20px 0 0}.hero-copy h1{font-size:27px;margin-bottom:8px}.hero-copy .lead{font-size:14px;line-height:1.65;color:var(--muted)}.hero-copy .subtle{display:none}.key-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:13px 0;border-top:1px solid rgba(198,165,122,.25);border-bottom:1px solid rgba(198,165,122,.25);text-align:center}.key-facts span{display:flex;flex-direction:column;gap:2px}.key-facts span+span{border-left:1px solid rgba(198,165,122,.2)}.key-facts b{font-size:12px}.key-facts small{color:var(--muted);font-size:11px}.screen-teasers{display:grid;gap:8px;padding-top:4px}.screen-teasers button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:var(--card);border:1px solid rgba(198,165,122,.25);color:var(--text);text-align:left}.screen-teasers button:hover{border-color:var(--accent)}.screen-teasers b{color:var(--accent);font-size:12px;font-weight:500}.screen-teasers span{flex:1;font-size:12px;font-weight:500}.screen-teasers small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:2px}.screen-teasers i{color:var(--accent);font-style:normal}.sticky-bar{position:sticky;left:auto;right:auto;bottom:0;width:auto;transform:none;margin:20px -20px -92px;padding:12px 16px;background:rgba(12,10,11,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:30}.sticky-bar span{font-size:14px;color:var(--text)}#dom-app + .bottom-nav{display:none}.react-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.react-calendar-grid button{min-height:36px;border:1px solid transparent;background:transparent;color:var(--text)}.react-calendar-grid button:hover,.react-calendar-grid button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.island-form{margin-top:4px}.real-photo-filter{filter:brightness(.82) contrast(1.12) saturate(.92)}.real-photo-night{filter:brightness(.76) contrast(1.18) saturate(.95)}@media(min-width:780px){#dom-app{margin-top:22px}.topbar{max-width:1120px}.screen-tabs{max-width:720px}}
.theme-switcher{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:11px}.theme-switcher button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 7px}.theme-switcher button.is-active{background:var(--accent);color:var(--ink)}.theme-switcher span{margin-left:5px}.site-shell{transition:background .25s,color .25s}html[data-theme=day]{--bg:#F7F4EE;--card:#ECE5D8;--line:rgba(158,125,83,.4);--text:#1D191B;--muted:#6F6256;--accent:#9E7D53;--ink:#fffaf2}html[data-theme=day] body{background:var(--bg)}html[data-theme=day] .topbar,html[data-theme=day] .phone-top,html[data-theme=day] .sticky-bar{background:rgba(247,244,238,.95)}html[data-theme=day] .hero-media:after{background:linear-gradient(180deg,rgba(247,244,238,.03),rgba(29,25,27,.58))}html[data-theme=day] .hero-gradient{background:linear-gradient(to top,#F7F4EE,rgba(247,244,238,.18),rgba(0,0,0,.25))}html[data-theme=day] .screen-tabs button{background:#e6ddcf}html[data-theme=day] .screen-tabs button[aria-current=true]{background:var(--accent);color:#fffaf2}@media(min-width:780px){#dom-app{width:min(1180px,calc(100% - 40px));max-width:1180px}#dom-app .screen{max-width:none;width:100%;padding:34px 48px 132px}.gallery-row{grid-template-columns:repeat(3,1fr)}.gallery-row .portrait{min-height:270px}.privacy-grid{grid-template-columns:repeat(4,1fr)}.privacy-grid .media-wide{grid-column:span 2;grid-row:auto}.rate-list{grid-template-columns:repeat(3,1fr)}.phone-top{display:none}.theme-switcher{position:absolute;right:22px;top:84px;z-index:21}.site-shell>.topbar{position:relative}.hero-media{height:560px}.hero-copy h1{max-width:820px}}
.video-controls{position:absolute;z-index:4;right:12px;top:12px;display:flex;gap:6px}.video-toggle{border:1px solid var(--line);background:rgba(198,165,122,.95);color:var(--ink);width:36px;height:36px;font-weight:700}.video-controls .video-expand{position:static}
