/* Booking layout on the existing Hacienda Horizon guest.css design. */
.booking-site{color-scheme:light}
.booking-site main{max-width:960px}
.booking-site header .brand{color:inherit;text-decoration:none}
.booking-site .intro{max-width:760px;padding-bottom:4px}
.booking-site .intro .eyebrow{margin:8px 0 12px;color:#16735b;letter-spacing:.12em}
.booking-site #booking-status{font-size:13px;color:#68758b;margin:6px 0 20px}
.booking-site #booking-error{color:#9b372c;padding:12px 16px;background:#fff1ed;border:1px solid #e9b8aa;border-radius:10px;margin:12px 0}
.booking-site .step-card{padding:26px;margin:20px 0 28px}
.booking-site .booking-details,.booking-site .booking-review,.booking-site .booking-confirmation{max-width:780px;margin-left:auto;margin-right:auto}
.booking-site .booking-details h2,.booking-site .booking-review h2{margin:0 0 16px}
.booking-site #property-label{max-width:400px;margin-bottom:20px}
.booking-site button{min-height:46px}
.booking-site button:where(:not(#continue):not(#send-request):not([type=submit])){color:#16735b;background:#eef7f3;border:1px solid #cce5dc}
.booking-site #continue,.booking-site #send-request,.booking-site button[type=submit]{background:#16735b;color:#fff}
.booking-site .calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.booking-site #calendar-instruction{font-size:15px;font-weight:650;text-align:center}
.booking-site #booking-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.booking-site .month-title{text-align:center;font-size:16px;font-weight:650;margin:12px 0 20px}
.booking-site .month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.booking-site .month-grid>span{text-align:center;color:#68758b;font-size:12px;margin-bottom:5px}
.booking-site .month-grid .day{padding:5px;min-width:0;min-height:44px;font-weight:500;color:#34425b;background:#fff;border:1px solid #e0e7e4;border-radius:9px}
.booking-site .month-grid .day.blocked{background:repeating-linear-gradient(135deg,#f4f6f5,#f4f6f5 4px,#e5ebe8 5px,#f4f6f5 6px);color:#68758b;text-decoration:line-through}
.booking-site .month-grid .day.unknown{border-style:dashed}
.booking-site .month-grid .day.selected{background:#16735b;color:#fff;border-color:#16735b}
.booking-site .month-grid .day.range{background:#e7f3ed;border-color:#cce5dc}
.booking-site .legend{font-size:12px;margin:22px 0 16px}
.booking-site #selected-dates,.booking-site #form-dates{padding:14px 18px;border:1px solid #d8e9e2;background:#edf6f2;border-radius:10px;color:#34425b;font-size:14px;line-height:1.6}
.booking-site .fields{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0;gap:20px}
.booking-site textarea{display:block;width:100%;margin-top:5px;font:inherit;font-size:16px;color:#18233c;background:#fafcfb;padding:12px 14px;border:1px solid #dbe1ec;border-radius:10px;resize:vertical}
.booking-site textarea:focus{outline:3px solid #a9d7c7;outline-offset:2px}
.booking-site .fields label:has(textarea){grid-column:1/-1}
.booking-site .actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 0}
.booking-site .check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;padding:16px 18px;background:#edf6f2;border:1px solid #d8e9e2;border-radius:10px;margin:22px 0}
.booking-site .check input{flex:0 0 18px;width:18px;margin-top:4px;min-height:18px}
.booking-site #review-content{background:#f6faf8;border:1px solid #e0e9e5;border-radius:10px;padding:16px 20px;margin:20px 0}
.booking-site #review-content p{color:#34425b;overflow-wrap:anywhere}
.booking-site #review-content p:first-child{font-weight:650}
.booking-site a{color:#16735b;text-underline-offset:3px}
.booking-site.legal-page main{max-width:780px}
@media(max-width:580px){
 .booking-site .intro{padding-top:24px}
 .booking-site .step-card{padding:18px;margin:16px 0 24px}
 .booking-site #booking-months,.booking-site .fields{grid-template-columns:1fr}
 .booking-site #booking-months{gap:24px}
 .booking-site .calendar-nav button{padding:10px 14px}
 .booking-site .month-grid{gap:4px}
 .booking-site .month-grid .day{min-height:42px}
 .booking-site .actions{flex-direction:column-reverse}
 .booking-site .actions button,.booking-site #continue{width:100%}
 .booking-site #selected-dates,.booking-site #form-dates{padding:12px 14px}
}
