[hidden]{display:none!important}.reservation-content{max-width:1100px}.booking-rate{margin-top:26px!important;font-size:20px!important}.booking-rate strong{font:500 64px/1.1 var(--serif)}.booking-layout{max-width:1300px;margin:45px auto 0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start;text-align:left}.booking-layout .availability{margin:0;max-width:none;padding:32px 24px}.booking-layout .calendar-months{gap:18px}.booking-form{background:var(--ivory);color:var(--ink);padding:32px;position:relative}.booking-form h3{font-size:36px;line-height:1.2;margin:8px 0 24px}.booking-form label,.admin-form label{display:block;font-size:14px;font-weight:500;line-height:1.5;margin:15px 0}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-fields label{min-width:0;margin-top:0}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form select,.admin-form input:not([type=checkbox]),.admin-form textarea{display:block;width:100%;min-width:0;border:1px solid #adb7a7;border-radius:0;background:white;color:var(--ink);padding:12px 10px;font:400 16px/1.5 var(--sans);margin-top:7px;min-height:48px}.booking-form input:focus,.booking-form select:focus,.admin-form input:focus,.admin-form textarea:focus{outline:2px solid var(--forest);outline-offset:2px}.field-hint{display:block;font-size:14px;font-weight:400;color:var(--muted)}.stay-total{display:flex;flex-direction:column;border-block:1px solid var(--line);padding:17px 0;margin:22px 0 8px;font-size:14px}.stay-total strong{font-family:var(--serif);font-size:32px;line-height:1.3}.form-note{font-size:14px!important;line-height:1.6!important;color:var(--muted);margin-top:12px!important}.payment-choices{border:0;padding:0;margin:22px 0 8px;display:flex;flex-wrap:wrap;gap:8px}.payment-choices legend{font-size:14px;font-weight:500;margin-bottom:10px}.payment-choices label{border:1px solid #b8c1b0;display:flex;gap:6px;align-items:center;padding:9px 10px;margin:0;cursor:pointer}.payment-choices label:has(:checked){background:var(--forest);border-color:var(--forest);color:white}.booking-form input[type=radio],.booking-form input[type=checkbox],.admin-form input[type=checkbox]{accent-color:var(--forest);width:18px;height:18px;flex-shrink:0}.booking-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.booking-consent input{margin-top:2px}.booking-submit{width:100%;background:var(--forest);color:white;margin-top:16px!important}.button:disabled{opacity:.45;cursor:not-allowed}.form-error,#booking-status{font-size:14px;line-height:1.6;margin-top:12px;min-height:1em}.form-error{color:#933d28}.booking-honeypot{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}.calendar-months td button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:38px;background:transparent;border:1px solid #bbc6b5;font-size:14px;padding:0}.calendar-months td button:disabled{color:#83897e;border-color:transparent;cursor:default}.calendar-months .day-blocked button{background:#d3d6ca;color:#59634f;text-decoration:line-through}.calendar-months .day-selected button,.legend-selected{background:var(--forest)!important;color:white!important;border-color:var(--forest)!important}.calendar-months .day-between button{background:#dce5d3;border-color:#dce5d3}.calendar-months .day-departure button{border:2px solid var(--forest)}.calendar-months td button:focus-visible{outline:2px solid #927c4e;outline-offset:2px}.booking-note{text-align:center}.owner-link{font-size:14px;text-decoration:underline}.booking-page{background:var(--ivory);padding:35px max(6vw,20px);min-height:100vh}.booking-page-header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.booking-page-header .brand{font-family:var(--serif);font-size:27px}.booking-page h1{font:400 clamp(2.5rem,6vw,4rem)/1.1 var(--serif);margin:0 0 20px}.booking-page h2{font-size:30px;margin:20px 0 12px}.booking-panel{max-width:820px;margin:0 auto;background:white;border:1px solid var(--line);padding:35px}.booking-panel p+p{margin-top:14px}.booking-panel .button,.admin-actions .button{background:var(--forest);color:white;margin:10px 8px 0 0}.receipt-reference{font-size:14px;letter-spacing:.08em;color:var(--muted)}.receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0;padding:20px 0;border-block:1px solid var(--line)}.receipt-details dt{font-size:14px;color:var(--muted)}.receipt-details dd{margin:0;font-size:18px}.receipt-terms{white-space:pre-wrap;font-size:16px}.receipt-links{display:flex;gap:10px;flex-wrap:wrap}.receipt-links a[aria-disabled=true]{pointer-events:none;opacity:.45}.receipt-links a:focus-visible{outline:2px solid var(--bronze)}.admin-summary{background:#e8ecdf;padding:22px;margin-bottom:25px}.admin-summary p+p{margin-top:10px}.admin-summary input{width:100%;font:14px var(--sans);padding:10px;border:1px solid #adb7a7}.admin-card{border:1px solid var(--line);background:white;padding:26px;margin-bottom:20px}.admin-card h2{margin:0 0 10px}.admin-card p{overflow-wrap:anywhere}.admin-card details{margin-top:15px}.admin-card summary{cursor:pointer}.admin-form{max-width:780px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-actions .secondary{background:transparent;border:1px solid var(--forest);color:var(--forest)}.admin-list{max-width:1100px;margin:auto}.admin-filters{display:flex;gap:12px;align-items:center;margin:25px 0;flex-wrap:wrap}.admin-filters select{font:16px var(--sans);padding:10px}.admin-status{font-size:14px}.admin-card a{text-decoration:underline}.admin-help{font-size:14px;color:var(--muted);line-height:1.6}.receipt-status{padding:20px;background:#e8ecdf;margin:20px 0}.booking-page button{min-height:44px}.booking-page input[type=checkbox]{accent-color:var(--forest)}
@media(max-width:1100px){.booking-layout{grid-template-columns:1fr;max-width:850px}.booking-form{padding:32px}.booking-layout .availability{padding:32px}.booking-fields{gap:20px}.booking-layout .calendar-months{gap:25px}}
@media(max-width:620px){.booking-layout{margin-top:30px}.booking-form,.booking-layout .availability{padding:24px 15px}.booking-rate strong{font-size:56px}.booking-form .booking-fields{grid-template-columns:1fr;gap:0}.booking-form .booking-fields label{margin-top:12px}.booking-panel{padding:25px 18px}.booking-page-header{align-items:flex-start;flex-direction:column;gap:12px}.booking-page-header .brand{font-size:24px}.receipt-details{grid-template-columns:1fr}.admin-card{padding:22px 16px}.payment-choices{gap:7px}.payment-choices label{padding:10px 8px}.receipt-links{flex-direction:column}.receipt-links a{width:100%;text-align:center}.calendar-months td button{height:42px}}
