/* The canonical property configurator uses the discovery planner's quiet
   choices and three spacing tiers. Operational booking styles stay in site.css. */
.property-booking [hidden]{display:none!important}
.property-booking .book-hero{padding-bottom:var(--sp-break)}
.property-booking .book-hero .lead{max-width:54ch;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.65}
.property-booking .qprop{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:var(--sp-flow)}
.property-booking .qprop-top,.property-booking .qprop-lab{margin-bottom:calc(var(--sp-bound) - var(--sp-flow))}
.property-booking .qproperty-axes{margin-bottom:calc(var(--sp-break) - var(--sp-flow))}
.property-booking .qprop>.qassume{margin-top:calc(var(--sp-bound) - var(--sp-flow))}
.property-booking .qprops.is-multi .qprop{padding:clamp(20px,3vw,28px);border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.property-booking .qproperty-choices{display:grid;gap:var(--sp-break)}
.property-booking .qproperty-choices fieldset{border:0;padding:0;margin:0;min-width:0}
.property-booking .qproperty-choices legend{font:400 clamp(24px,2.5vw,30px)/1.2 var(--display);padding:0;margin:0 0 .5em}
.property-booking .qproperty-choices p{font:400 1rem/1.55 var(--body);color:var(--ink-soft);max-width:58ch;margin:var(--sp-bound) 0 0}
.property-booking .qaxis-buttons{display:flex;flex-wrap:wrap;gap:var(--sp-bound)}
.property-booking .qaxis-buttons button{display:flex;align-items:center;gap:10px;flex:1 1 150px}
.property-booking .qaxis-buttons button,.property-booking .qshoot{min-height:52px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;line-height:1.4;text-align:left;cursor:pointer}
.property-booking .qaxis-buttons button[aria-pressed=true],.property-booking .qshoot[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.property-booking .qaxis-buttons button:focus-visible,.property-booking .qshoot:focus-visible,.property-booking .qshoot-compare:focus-visible,.property-booking .qshoot-comparison button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.property-booking .qaxis-icon{display:block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.property-booking .qshoot-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-bound)}
.property-booking .qshoot{display:grid;align-content:start;gap:var(--sp-bound);min-width:0}
.property-booking .qshoot-title{display:flex;align-items:flex-start;gap:10px;min-width:0}
.property-booking .qshoot b{font:400 1.5rem/1.2 var(--display);overflow-wrap:anywhere}
.property-booking .qshoot small{font:400 1rem/1.55 var(--body)}
.property-booking .qshoot strong{font:400 1.25rem/1.3 var(--lum-font-money,var(--display))}
.property-booking .cf-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--brass-ink);font:500 1rem/1.4 var(--body);text-decoration:underline;text-underline-offset:4px}
.property-booking .qshoot-compare{border:0;padding:6px 0;margin-top:var(--sp-bound);background:transparent;cursor:pointer;text-align:left}
.property-booking .qshoot-compare .qaxis-icon{width:20px;height:20px}
.property-booking .qproperty-choices .qlisting-tip{padding:16px;border-radius:14px;background:var(--sand);color:var(--ink)}
.property-booking .qlisting-tip a{display:inline-flex;align-items:center;min-height:44px;color:var(--brass-ink);text-decoration:underline;text-underline-offset:4px}
.property-booking .qproperty-choices .qaxis-error{color:var(--bad);font-weight:600}
.property-booking .qtypes{grid-template-columns:minmax(0,1fr);gap:var(--sp-bound)}
.property-booking .qtype{display:flex;align-items:center;justify-items:start;gap:var(--sp-bound);min-height:78px;padding:14px 16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:none}
.property-booking .qtype .qchoice-icon{width:32px;height:32px}
.property-booking .qtype .qchoice-icon svg{width:28px;height:28px}
.property-booking .qtype b{font-size:1.5rem;line-height:1.2}
.property-booking .qtype small{font-size:1rem;line-height:1.45}
.property-booking .qtype .qchoice-check{position:static;flex:none}
.property-booking .qtype.is-on{background:var(--sand);border-color:var(--brass);box-shadow:none}
.property-booking .qtiers{grid-template-columns:minmax(0,1fr);gap:var(--sp-bound)}
.property-booking .qtier-card{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:visible}
.property-booking .qtier-card.is-on{border-color:var(--brass);background:var(--sand)}
.property-booking .qtier{width:100%;grid-template-columns:minmax(0,1fr) auto;border:0;border-radius:18px;background:transparent;box-shadow:none;padding:22px;gap:var(--sp-bound)}
.property-booking .qtier.is-on{background:transparent;box-shadow:none}
.property-booking .qtier-top{grid-column:1/-1;flex-wrap:wrap;margin:0}
.property-booking .qtier-n{grid-column:1;grid-row:2;font-size:1.875rem;line-height:1.2}
.property-booking .qtier-amt{grid-column:2;grid-row:2;text-align:end;font-size:2rem;line-height:1.2;margin:0}
.property-booking .qtier-line,.property-booking .qtier-note{font-size:1rem;line-height:1.55}
.property-booking .qtier-example{min-width:0;padding:0}
.property-booking .qtier-example.is-expanding{overflow:hidden;overflow:clip}
.property-booking .qtier-example-content{padding:0 22px 22px}
.property-booking .qtier-example p{max-width:60ch;font-size:1rem;line-height:1.6;margin:0}
.property-booking .qbooking-example-media{min-width:0;margin:var(--sp-flow) 0}
.property-booking .qbooking-example-media>img{display:block;width:100%;height:auto;border-radius:14px}
.property-booking .qbooking-example-media figcaption{font:400 1rem/1.5 var(--body);margin-top:var(--sp-bound);color:var(--ink-soft)}
.property-booking .qspeeds{grid-template-columns:repeat(2,minmax(0,1fr))}
.property-booking .qnote,.property-booking .qc-sub,.property-booking .o-d,.property-booking .qstep-l small{font-size:1rem;line-height:1.55}
.property-booking .qshoot-comparison{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:clamp(22px,4vw,32px);border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink)}
.property-booking .qshoot-comparison::backdrop{background:rgba(21,18,13,.65);backdrop-filter:blur(8px)}
.property-booking .qshoot-comparison h2{font:400 clamp(28px,4vw,36px)/1.15 var(--display);margin:0 44px .7em 0}
.property-booking .qshoot-comparison-options{display:grid;gap:var(--sp-flow)}
.property-booking .qshoot-comparison h3{display:flex;align-items:center;gap:10px;font:400 1.5rem/1.2 var(--display);margin:0 0 .4em}
.property-booking .qshoot-comparison h3 svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.property-booking .qshoot-comparison p{max-width:54ch;font:400 1rem/1.55 var(--body);color:var(--ink-soft);margin:0}
.property-booking .qshoot-comparison .qshoot-comparison-intro{color:var(--ink);margin-bottom:var(--sp-break)}
.property-booking .qshoot-comparison .qshoot-comparison-price{color:var(--ink);font-weight:600;margin-top:var(--sp-bound)}
.property-booking .qshoot-comparison>p:last-child{margin-top:var(--sp-break)}
.property-booking [data-qshoot-close]{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font:inherit;padding:10px;cursor:pointer}
.property-booking [data-qshoot-close] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(max-width:650px){.property-booking .qshoot-options,.property-booking .qspeeds{grid-template-columns:minmax(0,1fr)}}
@container(max-width:17.5rem){.property-booking .qtier{grid-template-columns:minmax(0,1fr)}.property-booking .qtier-n,.property-booking .qtier-amt{grid-column:1;grid-row:auto;text-align:start}}

@media(max-width:360px){.property-booking .qtier-amt{margin-block-start:calc(var(--sp-flow) - var(--sp-bound))}}
