.booking-page{padding-top:var(--header-h)}.booking-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}.booking-hero{background:var(--dark-green);color:#fff;padding:76px 0 62px}.booking-hero .eyebrow{color:#d6c8ad}.booking-hero h1{font:300 clamp(44px,7vw,82px)/1.05 var(--font-display);max-width:850px}.booking-hero h1 em{color:#d9c7a6}.booking-hero>div>p:not(.eyebrow){max-width:650px;color:#e5e8e4}.booking-search{display:grid;grid-template-columns:1.3fr 1fr 1fr .6fr auto;gap:12px;align-items:end;margin-top:36px;padding:18px;background:#fff;color:var(--dark-grey)}.booking-search label,.auth-form label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.booking-search input,.booking-search select,.auth-form input{width:100%;min-height:48px;border:1px solid #d8d4cc;background:#fff;padding:10px 12px;color:#252525;font:14px var(--font-mono)}.booking-primary{border:0;background:var(--red);color:#fff;min-height:48px;padding:0 24px;font:12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.booking-primary:disabled{opacity:.55;cursor:wait}.booking-content{padding:70px 0 85px}.booking-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.booking-results-head h2,.guest-grid h2{font:300 clamp(34px,5vw,52px)/1.1 var(--font-display);color:var(--dark-green)}#resultCount{font-size:12px;color:var(--bright-grey)}.property-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.property-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.property-card img{width:100%;height:190px;object-fit:cover;background:#e8e1d5}.property-card-body{padding:22px;display:flex;flex:1;flex-direction:column;gap:8px}.property-card .eyebrow{margin:0}.property-card h3{font:300 27px/1.15 var(--font-display);color:var(--dark-green)}.property-card p{font-size:13px;color:var(--bright-grey);margin:0}.unit-list{display:grid;gap:10px;margin-top:12px}.unit-row{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.unit-row strong{display:block;color:var(--dark-green);font-size:14px}.unit-row button{border:1px solid var(--dark-green);background:transparent;padding:9px 12px;font:11px var(--font-mono);cursor:pointer}.booking-empty{grid-column:1/-1;padding:36px;background:#fff;border:1px dashed var(--line);color:var(--bright-grey);font-size:14px}.booking-message{font-size:13px;margin-top:12px;min-height:18px;color:inherit}.booking-message.error{color:#a52a24}.booking-message.success{color:#17633a}.guest-section{background:var(--dark-crem);padding:75px 0}.guest-grid{display:grid;grid-template-columns:1fr minmax(320px,480px);gap:60px;align-items:start}.guest-grid>div:first-child>p:not(.eyebrow){max-width:500px;font-size:14px;color:var(--bright-grey)}.guest-card{background:#fff;padding:28px;border:1px solid var(--line)}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}.auth-tabs button{background:none;border:0;padding:12px 18px;font:12px var(--font-mono);cursor:pointer;color:var(--bright-grey)}.auth-tabs button.active{color:var(--dark-green);border-bottom:2px solid var(--red)}.auth-form{display:grid;gap:16px}.auth-form small{font-size:10px;color:var(--bright-grey);text-transform:none;letter-spacing:0}.booking-secondary{background:transparent;border:1px solid var(--line);padding:10px 15px;font:11px var(--font-mono);cursor:pointer}.booking-history-title{margin:25px 0 12px;font:24px var(--font-display);color:var(--dark-green)}.history-row{padding:12px 0;border-top:1px solid var(--line);font-size:12px}.history-row strong{display:block;color:var(--dark-green)}.booking-footer{background:#171b18;color:#fff;padding:25px 0}.booking-footer>div{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px}.booking-footer a:first-child{font:26px var(--font-display)}@media(max-width:900px){.booking-search{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-search button{grid-column:1/-1}.property-results{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-grid{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.booking-wrap{width:calc(100% - 32px)}.booking-hero{padding:55px 0 40px}.booking-search{grid-template-columns:1fr}.property-results{grid-template-columns:1fr}.booking-results-head{align-items:start;flex-direction:column}.guest-card{padding:20px}.booking-footer>div{align-items:flex-start;flex-direction:column}.booking-page .primary-nav{display:none}}
.manual-checkout{margin-top:22px;padding:22px;border:1px solid var(--line);background:#fbfaf7}.payment-details{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:8px 14px;margin:18px 0;font-size:13px}.payment-details dt{font-weight:600;color:var(--dark-green)}.payment-details dd{margin:0;overflow-wrap:anywhere}.payment-caution{font-size:12px;color:var(--bright-grey);margin-top:16px}.manual-checkout textarea{width:100%;padding:12px;border:1px solid var(--line);font:13px inherit}@media(max-width:500px){.payment-details{grid-template-columns:1fr;gap:4px}.payment-details dd{margin-bottom:8px}}
.property-card-link{align-self:flex-start;margin-top:2px;font:11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dark-green);border-bottom:1px solid var(--red);padding-bottom:2px;text-decoration:none}
.property-card-link:hover{color:var(--red)}
.unit-row--highlight{background:#fdf6e6;box-shadow:inset 3px 0 0 var(--red);padding-left:10px}
#searchMessage a{color:inherit;text-decoration:underline}
