.booking-search{display:block;width:100%;min-width:0;color:var(--ink)}
.booking-search .button{white-space:normal}
.booking-search .stay-form label:nth-child(-n+2){grid-column:auto}
.stay-form{display:grid;grid-template-columns:1.4fr 1.4fr .8fr .8fr .8fr auto;gap:14px;align-items:end}
.stay-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:600}
.stay-form input,.stay-form select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);font-size:16px}
.stay-form input:focus-visible,.stay-form select:focus-visible{outline:3px solid var(--terracotta-dark);outline-offset:2px}
.stay-submit{width:100%;min-height:48px}.stay-promo-applied,.stay-promo,.stay-needs,.stay-needs-note{grid-column:1/-1}.stay-promo-applied{display:flex;align-items:flex-start;gap:10px;max-width:760px;margin:0;padding:13px 15px;border-left:4px solid var(--terracotta-dark);border-radius:4px;background:#edf4ee;font-size:14px;line-height:1.5}.stay-promo-applied span{font-size:18px;line-height:1.2;color:var(--terracotta-dark)}.stay-needs{max-width:600px}.stay-needs-note{font-size:14px;margin:0;color:var(--muted)}
.stay-promo{font-size:14px;max-width:600px}.stay-promo summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.stay-error{grid-column:1/-1;border-left:4px solid var(--terracotta-dark);padding:12px;margin:0;color:var(--ink);font-size:16px}.stay-error[hidden],.stay-results[hidden],.chat-booking[hidden]{display:none}
.stay-note{font-size:14px;color:var(--muted);margin:12px 0}.stay-status{font-size:16px;overflow-wrap:anywhere}.stay-recovery-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:14px 0}.stay-recovery-actions .button{flex:1 1 220px}.stay-results{margin-top:24px}.stay-results h2{font-size:26px}
.stay-option-list{display:grid;gap:20px}.stay-option{display:grid;grid-template-columns:220px minmax(0,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--white)}
.stay-option>img{width:100%;height:100%;max-height:420px;object-fit:cover}.stay-option-body{padding:24px}.stay-option h3{margin:0;font-size:24px}.stay-option p{font-size:16px}.stay-option details{font-size:14px}.stay-option summary{cursor:pointer;min-height:44px;text-decoration:underline}.stay-option dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:6px 0}.stay-option dd{margin:0}.stay-rate{display:grid;gap:4px}.stay-rate strong{font-size:28px}.stay-rate span{font-size:14px;color:var(--muted)}
.stay-handoff{border-left:4px solid var(--terracotta-dark);background:var(--white);padding:24px}.stay-handoff .eyebrow{font-size:14px}.stay-handoff p{font-size:16px}
.reservation-workspace{max-width:1192px;margin:36px auto 72px;padding:0 24px}.reservation-heading{max-width:800px;margin-bottom:28px}.reservation-heading h1{font:500 clamp(32px,5vw,52px)/1.15 var(--display);letter-spacing:-1.5px}.reservation-heading p{font-size:18px}.reservation-help{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:24px;padding:18px 20px;background:#f5f0e8;border-radius:8px}.reservation-help .text-link{font-weight:700}
.booking-page .availability-cta{display:none}.chat-dialog{max-height:85vh;overflow:auto}.chat-booking{margin:20px 0}.chat-booking .stay-form{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-booking .stay-submit{grid-column:1/-1}.chat-booking .stay-option{display:block}.chat-booking .stay-option>img{height:160px}.chat-booking .stay-option-body{padding:16px}
.booking-search button:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:1000px){.stay-form{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-submit{grid-column:1/-1}.stay-option{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:650px){.stay-form{gap:12px 10px}.booking-search .stay-form label:nth-child(-n+2),.stay-form label:has(input[name="rooms"]){grid-column:1/-1}.stay-option{grid-template-columns:1fr}.stay-option>img{height:190px}.stay-option-body{padding:18px}.reservation-workspace{padding:0 18px}.stay-handoff{padding:18px}}
@media(max-width:360px){.stay-form,.chat-booking .stay-form{grid-template-columns:1fr}.stay-form label{grid-column:1}}
.stay-promo-applied[hidden]{display:none!important}