.booking-wrap{max-width:1050px;margin:auto;padding:28px 20px}.booking-public{margin:0;background:#f4f3ed;color:#10291f;font:16px/1.55 system-ui,sans-serif}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.booking-header a,.booking-public a{color:#19563f}.booking-hero{padding:44px 0 24px}.booking-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.12;margin:12px 0}.booking-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-card{background:white;border:1px solid #dfe5df;border-radius:20px;padding:24px;margin-bottom:20px}.booking-card h2{margin-top:0}.booking-price{font-size:32px;font-weight:800}.booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.booking-form label{display:flex;flex-direction:column;gap:7px;font-weight:600}.booking-form input,.booking-form select{box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #bdc9c1;border-radius:8px;background:white;color:#10291f;font:inherit}.booking-form .booking-wide{grid-column:1/-1}.booking-button{display:inline-block;background:#19563f;color:white!important;border:0;border-radius:9px;padding:12px 20px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.booking-note{color:#536259;font-size:14px}.booking-alert{background:#fff0ed;border:1px solid #e3b5ab;border-radius:10px;padding:16px;margin-bottom:18px}.booking-pill{display:inline-block;padding:4px 10px;background:#e8f1e9;border-radius:20px;font-size:13px}.booking-table{overflow:auto}.booking-table table{width:100%;border-collapse:collapse;min-width:720px}.booking-table th,.booking-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #e3e8e4}.booking-table small{display:block}.booking-check{display:flex!important;flex-direction:row!important;align-items:flex-start;font-weight:400!important}.booking-check input{width:20px;min-height:20px;flex:0 0 20px}.booking-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.booking-card summary{cursor:pointer;font-weight:700}.booking-card details form{margin-top:20px}@media(max-width:650px){.booking-grid,.booking-form{grid-template-columns:1fr}.booking-card{padding:18px}.booking-wrap{padding:20px 14px}}
