.site-stay-form{max-width:780px;margin:1.75rem auto;text-align:left}.site-stay-form fieldset{border:0;padding:0;margin:0;min-width:0}.site-stay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.site-stay-field{display:flex;flex-direction:column;gap:.45rem}.site-stay-wide{grid-column:1/-1}.site-stay-field :is(input,select){box-sizing:border-box;min-width:0;width:100%;font:inherit;padding:.8rem;border:1px solid #cddbd8;border-radius:8px;min-height:46px;color:inherit;background:#fff}.site-stay-field label{font-weight:600}.site-stay-field :is(input,select):focus-visible{outline:3px solid #a9c7c3;outline-offset:2px}.site-stay-summary{display:grid;grid-template-columns:1fr auto;gap:.7rem;background:#f3f7f5;padding:1rem;border-radius:8px}.site-stay-summary dd{margin:0;font-weight:600}.site-stay-form [hidden]{display:none!important}.site-stay-form [data-stay-status]{line-height:1.6;padding:1rem;background:#f3f7f5;border-radius:8px}.site-stay-form :is(button,a.btn){margin:.5rem .4rem .5rem 0}@media(max-width:600px){.site-stay-fields{grid-template-columns:1fr}.site-stay-form :is(button,a.btn){width:100%;box-sizing:border-box}}
.site-stay-form legend{font:600 1.2rem/1.4 system-ui,sans-serif;padding:0;margin:0 0 .65rem}.site-stay-form fieldset>p{line-height:1.65;margin:.4rem 0 1.2rem}.site-stay-form [data-stay-guest]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #dfe7e4}.site-stay-summary{column-gap:1.5rem;margin:1.5rem 0}.site-stay-summary :is(dt,dd){overflow-wrap:anywhere}.site-stay-summary dd{text-align:right}.site-stay-hold{padding:1rem;border:1px solid #d7c49a;background:#fcf8ee;border-radius:8px;line-height:1.65}.site-stay-followup-link{display:inline-block;padding:.75rem 0;text-underline-offset:.2em}.site-stay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.site-stay-followup-page{margin:0;background:#f6f3ed;color:#183a35;font-family:system-ui,sans-serif}.site-stay-followup-main{box-sizing:border-box;max-width:900px;margin:5vh auto;padding:clamp(1rem,4vw,2.5rem)}.site-stay-followup-main h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3rem);line-height:1.2;margin:0 0 1rem}.site-stay-followup-main>p{line-height:1.7}.site-stay-followup-page .site-stay-form{max-width:none;background:white;border:1px solid #dfe7e4;border-radius:16px;padding:clamp(1rem,3vw,2rem)}.site-stay-followup-page :is(button,.btn){display:inline-flex;justify-content:center;align-items:center;font:600 1rem/1.5 system-ui,sans-serif;min-height:46px;border-radius:8px;padding:.7rem 1rem;border:1px solid #54776e;background:#fff;color:#183a35;text-decoration:none;cursor:pointer}.site-stay-followup-page .btn-primary{background:#183a35;color:#fff}.site-stay-followup-page :is(button,.btn):disabled{opacity:.6;cursor:wait}.site-stay-recovery-choice{display:grid;gap:.6rem}.site-stay-recovery-choice select{max-width:100%;padding:.7rem;font:inherit;border:1px solid #cadbd5;border-radius:8px}.site-stay-form :focus-visible{outline:3px solid #a9c7c3;outline-offset:3px}@media(max-width:600px){.site-stay-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:.8rem;column-gap:1rem}.site-stay-actions{display:block}.site-stay-followup-main{margin:1rem auto}.site-stay-form .site-stay-followup-link{width:100%;text-align:center}}
.site-stay-contract{margin:1.5rem 0}.site-stay-contract-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:28rem;overflow:auto;padding:1rem;border:1px solid #cddbd8;border-radius:10px;line-height:1.6;background:#fafcfb}.site-stay-contract label{display:flex;align-items:flex-start;gap:.75rem;line-height:1.5;margin:1rem 0}.site-stay-contract input[type=checkbox]{flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.15rem 0;accent-color:#183a35}

.site-stay-execution{margin-block:1rem;overflow-wrap:anywhere}.site-stay-execution[hidden]{display:none}.site-stay-execution ol{padding-inline-start:1.4rem}.site-stay-execution li{padding:.7rem 0;border-bottom:1px solid #ddd}.site-stay-execution li p{margin:.3rem 0}.site-stay-execution button,.site-stay-execution select,.site-stay-execution a.btn{min-height:44px;margin:.35rem;max-width:100%}.site-stay-execution label{display:grid;gap:.5rem}.site-stay-execution select{width:100%;padding:.65rem;border:1px solid #aaa;border-radius:.5rem}

.stay-journey-title{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin:0 0 1.25rem}
.stay-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0;margin:0 0 1.5rem;list-style:none;counter-reset:stay-step}
.stay-journey-steps li{display:flex;align-items:center;gap:.55rem;padding:.75rem .6rem;border-bottom:3px solid #d6e1db;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere;counter-increment:stay-step}
.stay-journey-steps li:before{content:counter(stay-step);display:grid;place-items:center;flex:0 0 1.6rem;height:1.6rem;border:1px solid #839e91;border-radius:50%;font-weight:700}
.stay-journey-steps [aria-current=step]{font-weight:700;border-color:#365e4f;background:#f0f5f1;border-radius:.6rem .6rem 0 0}
.stay-journey-steps [aria-current=step]:before{background:#365e4f;color:#fff}
.stay-journey-unit{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.2rem;align-items:start;margin:1.25rem 0 1.75rem;padding:1rem;border:1px solid #d9e1d9;border-radius:14px;background:#fbfaf6}
.stay-journey-unit>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}
.stay-journey-unit:has(>img[hidden]){grid-template-columns:1fr}
.stay-journey-unit h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.3;margin:0 0 .5rem}
.stay-journey-unit p{line-height:1.6;margin:.5rem 0;white-space:pre-line;overflow-wrap:anywhere}
.stay-journey-unit [data-journey-capacity]{font-size:.9rem;font-weight:600}
.site-stay-form[data-stay-journey] small{font-size:.875rem;line-height:1.45;color:#52665c}
.stay-journey-documents{padding:1.1rem;margin:1.5rem 0;border:1px solid #d7e0d8;border-radius:12px;background:#fafbf8;overflow-wrap:anywhere}
.stay-journey-documents h3{font-size:1.15rem;margin:0 0 .6rem}
.stay-journey-documents p{line-height:1.6;margin:.5rem 0 1rem}
.stay-journey-documents ul{list-style:none;padding:0;margin:.8rem 0}
.stay-journey-documents li{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #dce3dc;padding:.5rem 0}
.stay-journey-documents li>span{min-width:0;overflow-wrap:anywhere}
.stay-journey-documents li>.btn{flex:0 0 auto}
.stay-journey-file{display:grid;gap:.6rem;font-weight:600}
.stay-journey-file input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:44px;font:inherit;font-weight:400}
.stay-journey-file input::file-selector-button{font:inherit;padding:.65rem .8rem;border:1px solid #9eafa3;border-radius:.5rem;background:#fff;color:#183a35;margin-inline-end:.75rem;cursor:pointer}
.stay-journey-contract-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.site-stay-form[data-stay-journey] .site-stay-contract{padding:clamp(.85rem,3vw,1.4rem);border:1px solid #cddace;border-radius:14px;background:#fff}
.site-stay-form[data-stay-journey] .site-stay-contract h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.35;margin:0 0 .8rem}
.site-stay-form[data-stay-journey] .site-stay-contract>p{line-height:1.6}
.site-stay-form[data-stay-journey] .site-stay-contract-text{max-height:min(28rem,55vh);overscroll-behavior:contain;scrollbar-gutter:stable}
.site-stay-form[data-stay-journey] .site-stay-contract label:has(input:disabled){color:#6b766e}
.site-stay-form[data-stay-journey] :is(button,a.btn){min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.site-stay-form[data-stay-journey] button:disabled{opacity:.55;cursor:not-allowed}
.site-stay-form[data-stay-journey][aria-busy=true] button:disabled{cursor:wait}
.stay-journey-contract-status{padding:1rem;border-inline-start:4px solid #6b896f;background:#eef4ed;line-height:1.6;border-radius:.4rem}
@media(max-width:600px){.stay-journey-steps{gap:.3rem}.stay-journey-steps li{display:block;padding:.65rem .4rem;font-size:.78rem}.stay-journey-steps li:before{margin-bottom:.5rem}.stay-journey-unit{grid-template-columns:1fr;padding:.85rem}.stay-journey-unit>img{max-height:220px}.stay-journey-documents{padding:.85rem}.stay-journey-documents li{display:block}.stay-journey-documents li>.btn{width:auto;min-width:100px}.stay-journey-contract-actions{display:block}.site-stay-form[data-stay-journey] .site-stay-contract-text{padding:.8rem}.site-stay-form[data-stay-journey] .site-stay-contract{margin-inline:0}.site-stay-form[data-stay-journey] [data-journey-guest-summary]{grid-template-columns:1fr}.site-stay-form[data-stay-journey] [data-journey-guest-summary] dd{text-align:left;margin-bottom:.65rem}}
.site-stay-form .stay-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.site-stay-form[data-stay-flow-v2] [data-stay-selection]{padding:clamp(1rem,3vw,1.6rem);border:1px solid #d6ded6;border-radius:14px;background:#fffdfa}
.site-stay-form[data-stay-flow-v2] [data-stay-summary]{margin-block:1rem 1.5rem;border:1px solid #d6ded6;background:#fffdfa;border-radius:14px;padding:clamp(1rem,3vw,1.6rem)}
.site-stay-form[data-stay-flow-v2] [data-stay-continue]{display:block;margin-inline-start:auto}
.site-stay-form[data-stay-payment-page] [data-stay-selection]{display:none}
.site-stay-form[data-stay-payment-page] [data-stay-guest]{border-top:0;margin-top:1rem;padding-top:0}
.site-stay-form[data-stay-payment-page] [data-stay-summary]{order:0}
.site-stay-payment-element{position:relative;margin:2rem 0;padding:clamp(1rem,3vw,1.5rem);border:1px solid #cddace;border-radius:14px;background:#fff}
.site-stay-wallets[data-state="loading"]{position:absolute;inset-inline:clamp(1rem,3vw,1.5rem);visibility:hidden;pointer-events:none}
.site-stay-wallets[data-state="unavailable"]{display:none}
.site-stay-wallets[aria-disabled="true"]{pointer-events:none}
.site-stay-wallets>p:first-child,.site-stay-stripe-total{font-weight:600}
.site-stay-wallet-separator{display:flex;align-items:center;gap:12px;margin:20px 0;text-align:center}
.site-stay-wallet-separator:before,.site-stay-wallet-separator:after{content:"";flex:1;height:1px;background:#cddace}
.site-stay-payment-element h3{font:600 1.35rem/1.3 Georgia,serif;margin:0 0 1rem}
.site-stay-payment-element [data-payment-element-mount]{min-height:80px;margin:1rem 0}
@media(max-width:600px){.site-stay-form[data-stay-flow-v2] [data-stay-selection],.site-stay-form[data-stay-flow-v2] [data-stay-summary]{padding:1rem}.site-stay-form[data-stay-flow-v2] [data-stay-continue]{width:100%}}

/* The published Villa journey keeps the editorial gallery beside the live quote. */
.module-stay-booking .module-text-container:has(.site-stay-form[data-stay-flow-v2]){max-width:1220px}
.site-stay-form[data-stay-flow-v2]{max-width:1180px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);column-gap:clamp(1.25rem,4vw,3rem);align-items:start}
.site-stay-form[data-stay-flow-v2]>:is(.stay-journey-title,.stay-journey-steps){grid-column:1/-1}
.site-stay-form[data-stay-flow-v2] .stay-journey-story{grid-column:1;grid-row:3/7;min-width:0}
.site-stay-form[data-stay-flow-v2] [data-stay-selection]{grid-column:2;grid-row:3}
.site-stay-form[data-stay-flow-v2] [data-stay-summary]{grid-column:2;grid-row:4}
.site-stay-form[data-stay-flow-v2] [data-stay-continue]{grid-column:2;grid-row:5;width:100%}
.site-stay-form[data-stay-flow-v2] .stay-journey-unit{display:block;margin:0 0 1.5rem;padding:0;border:0;background:none}
.site-stay-form[data-stay-flow-v2] .stay-journey-unit>div:last-child{padding:.7rem .2rem}
.stay-journey-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;overflow:hidden;border-radius:12px;background:#e9ede7}
.stay-journey-photo{display:block;border:0;padding:0;margin:0!important;background:transparent;cursor:zoom-in;min-width:0;overflow:hidden}
.stay-journey-gallery .stay-journey-photo:first-child{grid-column:1/-1}
.stay-journey-gallery img{display:block;width:100%;height:175px;object-fit:cover}
.stay-journey-gallery .stay-journey-photo:first-child img{height:280px}
.stay-journey-gallery .stay-journey-photo:only-child img{height:350px}
.stay-journey-viewer{border:0;border-radius:10px;padding:1rem;background:#141b17;color:#fff;max-width:min(1100px,94vw);max-height:94vh}
.stay-journey-viewer::backdrop{background:rgba(0,0,0,.86)}
.stay-journey-viewer img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:.75rem auto}
.stay-journey-viewer>div{display:flex;justify-content:space-between;gap:1rem}
.stay-journey-viewer button{color:#fff;background:#233e32;border:1px solid #b8c9be;border-radius:.4rem;padding:.5rem .8rem;cursor:pointer}
.stay-journey-editorial{border-top:1px solid #d8e0d8;padding:1.1rem .2rem;line-height:1.6}
.stay-journey-editorial h3{font:600 1.35rem/1.3 Georgia,serif;margin:0 0 .8rem}
.stay-journey-editorial h4{font-size:1rem;margin:.85rem 0 .2rem}
.stay-journey-editorial p{margin:.2rem 0 .65rem}
.stay-journey-editorial details{border-bottom:1px solid #d8e0d8;padding:.7rem 0}
.stay-journey-editorial summary{font-weight:600;cursor:pointer}
.site-stay-followup-main:has(.site-stay-form[data-stay-payment-page]){max-width:1210px}
.site-stay-payment-page{background:var(--bg);color:var(--text);font-family:Inter,sans-serif}
.stay-payment-brand{padding:1rem max(3vw,16px);background:rgba(248,244,239,.96);border-bottom:1px solid var(--line)}
.stay-payment-brand a{display:inline-flex;align-items:center;color:var(--text);font:700 clamp(1.3rem,2vw,1.8rem)/1.2 'Cormorant Garamond',Georgia,serif;text-decoration:none}
.stay-payment-brand img{max-width:180px;max-height:60px;object-fit:contain}
.site-stay-payment-page :is(h1,.stay-journey-title,.stay-journey-unit h3){font-family:'Cormorant Garamond',Georgia,serif;color:var(--text)}
.site-stay-payment-page :is(.btn-primary,.site-stay-form[data-stay-flow-v2] .btn-primary){background:var(--accent);border-color:var(--accent);color:#fff}
.site-stay-payment-page :is(.site-stay-payment-element,.site-stay-summary,.site-stay-form[data-stay-journey] .site-stay-contract){border-color:var(--line);background:var(--surface)}
.site-stay-form[data-stay-payment-page] [data-stay-guest]{grid-column:1;grid-row:3/7}
.site-stay-form[data-stay-payment-page] [data-stay-summary]{grid-column:2;grid-row:3 / span 7;align-self:start;position:sticky;top:1.5rem}
.site-stay-form[data-stay-payment-page] [data-payment-element-panel]{grid-column:1;grid-row:7;margin-top:1rem}
.site-stay-form[data-stay-payment-page] [data-stay-contract-accepted]{grid-column:1;grid-row:8}
.stay-journey-accepted{border-inline-start:4px solid #527666;background:#eef4ed;padding:1rem;border-radius:.4rem;margin:.5rem 0 1rem}
.stay-journey-accepted p{margin:0 0 .6rem}
.site-stay-form[data-stay-payment-page] [data-journey-unit]{display:none}
.site-stay-form[data-stay-payment-page]:has([data-stay-guest][hidden]) [data-stay-contract-accepted]{grid-row:3}
.site-stay-form[data-stay-payment-page]:has([data-stay-guest][hidden]) [data-payment-element-panel]{grid-row:4}
.site-stay-form[data-stay-flow-v2]>[data-stay-status],.site-stay-form[data-stay-flow-v2]>.site-stay-result{grid-column:1/-1}
@media(max-width:850px){.site-stay-form[data-stay-flow-v2]{display:block;max-width:780px}.site-stay-form[data-stay-flow-v2] [data-stay-summary]{position:static}.stay-journey-gallery img{height:130px}.stay-journey-gallery .stay-journey-photo:first-child img{height:230px}.stay-journey-gallery .stay-journey-photo:only-child img{height:230px}}

/* Guided controls keep the site's branding and its editorial gallery. */
.site-stay-form {--stay-control-ink:var(--text,#173c35);--stay-control-primary:var(--accent,#206f66);min-width:0;color:var(--stay-control-ink)}
.site-stay-form .site-stay-field :is(input,select) {border-radius:12px;border-color:var(--line,#cbded5);min-height:50px;line-height:1.5}
.site-stay-form .site-stay-field label {font-size:.94rem;line-height:1.5}
.site-stay-form :is(input,select,button,a.btn):focus-visible {outline:3px solid var(--stay-control-primary);outline-offset:3px}
.site-stay-form :is(button,a.btn) {min-height:46px;border-radius:12px;line-height:1.5;white-space:normal}
.site-stay-form[data-stay-flow-v2] [data-stay-selection],.site-stay-form[data-stay-flow-v2] [data-stay-summary],.site-stay-form .site-stay-contract,.site-stay-payment-element {border-radius:18px;border-color:var(--line,#d6e5dc)}
.site-stay-form .site-stay-summary {border-radius:16px;font-size:.95rem;line-height:1.65}
.site-stay-form .site-stay-hold {border-radius:14px;font-size:.94rem}
.site-stay-form [data-stay-status] {border-radius:14px;font-size:.95rem;line-height:1.65;border:1px solid var(--line,#d6e5dc)}
.site-stay-form .site-stay-actions {gap:8px}
.site-stay-form .site-stay-followup-link {min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
.site-stay-form .stay-journey-steps {gap:10px}
.site-stay-form .stay-journey-steps li {border:1px solid var(--line,#d6e5dc);border-radius:12px;line-height:1.5;padding:12px;font-size:.89rem}
.site-stay-form .stay-journey-steps [aria-current=step] {background:#edf6f1;border-color:#8db5a5;color:#173c35}
.site-stay-form .stay-journey-steps [aria-current=step]:before {background:var(--stay-control-primary);border-color:var(--stay-control-primary);color:#fff}
.site-stay-form .site-stay-contract-text {border-radius:14px;line-height:1.75;padding:18px;scrollbar-gutter:stable}
.site-stay-form .site-stay-contract label {min-height:44px;padding:10px 0;line-height:1.65;gap:12px}
.site-stay-form .site-stay-contract input[type=checkbox] {width:20px;height:20px;accent-color:var(--stay-control-primary)}
.site-stay-form .stay-journey-contract-status,.site-stay-form .stay-journey-accepted {border-radius:12px;font-size:.94rem;line-height:1.65}
.site-stay-form .stay-journey-documents {border-radius:16px}
.site-stay-form .stay-journey-photo {border-radius:0;min-height:44px}
.site-stay-form .stay-journey-viewer button {min-width:44px;min-height:44px}
.site-stay-followup-page:not(.site-stay-payment-page) {background:#f4f7f5;color:#173c35}
.site-stay-followup-page:not(.site-stay-payment-page) .site-stay-followup-main>h1 {font-family:system-ui,sans-serif;font-weight:700;letter-spacing:-.035em;font-size:clamp(2rem,4vw,2.7rem)}
.site-stay-followup-page .site-stay-form {border-radius:22px;box-shadow:0 10px 32px #173c3508}
.site-stay-followup-page:not(.site-stay-payment-page) .btn-primary {background:#206f66;border-color:#206f66}
.site-stay-form[aria-busy=true] :is(button,.btn):disabled {cursor:wait;opacity:.72}
@media(max-width:600px){.site-stay-form .stay-journey-steps {gap:6px}.site-stay-form .stay-journey-steps li {padding:10px 8px;font-size:.8rem}.site-stay-form .site-stay-contract-text {padding:14px}.site-stay-form .site-stay-actions {display:grid;grid-template-columns:1fr}.site-stay-form .site-stay-actions :is(button,a) {margin:0;justify-content:center}.site-stay-form .site-stay-summary {font-size:.9rem}}
