.booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin-top:30px}.booking-card{padding:32px;border:1px solid var(--line,#e8ddd2);background:#fff}.booking-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;margin:0 0 20px}.booking-card h3:not(:first-child){margin-top:30px}label{display:block;font-size:.9rem;font-weight:600;margin:18px 0 8px}input,select,textarea{width:100%;min-height:48px;border:1px solid #b6a79b;border-radius:3px;padding:12px;font:inherit;background:#fff;color:#2d211c}input[type=checkbox]{width:19px;min-height:19px;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.5;font-weight:400}.check a{text-decoration:underline}.slots{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.slot{min-height:46px;min-width:76px;background:#fff;border:1px solid #9c623c;color:#432d22;border-radius:3px;cursor:pointer}.slot[aria-pressed=true]{background:#432d22;color:#fff}.small{font-size:.78rem;line-height:1.6}.booking-review{padding:18px;background:#faf7f1;margin:22px 0;line-height:1.7}.booking-card .btn{width:100%;margin-top:12px}.booking-card button:disabled{opacity:.6;cursor:wait}#booking-status{line-height:1.7}#booking-status.error{color:#922b21}#booking-form[hidden],[hidden]{display:none!important}.booking-review strong{color:#432d22}.reservation{max-width:760px;margin:60px auto;padding:32px;background:white;border:1px solid #e8ddd2}.reservation h1{font-size:2.4rem}.reservation .btn{margin:15px 0}.timer{font-variant-numeric:tabular-nums;font-size:1.2rem;color:#432d22}.status-label{padding:8px 12px;background:#eee5d9;display:inline-block}#edit-button{border:0;background:none;cursor:pointer;padding:15px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9c623c;outline-offset:3px}@media(max-width:700px){.booking-grid{grid-template-columns:1fr}.booking-card{padding:22px}.reservation{margin:20px 16px;padding:24px}}
.booking-dialog{width:min(1080px,calc(100% - 32px));max-height:90dvh;margin:auto;padding:28px;border:1px solid #e8ddd2;border-radius:8px;background:#faf7f1;color:#2d211c;overflow:auto}.booking-dialog::backdrop{background:rgb(45 33 28 / 60%)}.booking-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.booking-dialog-head h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:0}.booking-dialog-head .btn{flex-shrink:0}.booking-dialog #booking-status{padding:18px;background:#fff;border:1px solid #e8ddd2}.booking-dialog .booking-grid{margin-top:20px}body:has(.booking-dialog[open]){overflow:hidden}@media(max-width:700px){.booking-dialog{padding:18px;max-height:92dvh}.booking-dialog-head{align-items:flex-start}.booking-dialog-head .btn{padding:0 12px;min-height:44px}}

.hero-price{font-size:.88rem!important;line-height:1.6}.hero-price strong{display:block;color:#432d22}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.prices-section{background:#fff}.price-card{display:flex;flex-direction:column;padding:30px;border:1px solid #d9c7b7;background:#faf7f1;border-radius:5px}.price-card h3{font-family:Georgia,serif;font-size:1.6rem}.price-card .eyebrow{margin-bottom:12px}.price-total{font-size:2.2rem;font-weight:700;color:#432d22;margin-bottom:4px}.price-caption{font-size:.8rem}.price-card ul{padding-left:20px;line-height:1.8;font-size:.88rem;flex:1}.price-card li{margin-bottom:9px}.price-card .btn{margin-top:18px}.price-conditions{margin-top:28px;padding:26px;border-left:4px solid #9c623c;background:#faf7f1}.price-conditions h3{font-size:1.3rem}.price-conditions a,.faq a,.booking-travel a{text-decoration:underline;text-underline-offset:3px}.booking-travel{padding:16px;background:#faf7f1;border-left:3px solid #9c623c;font-size:.85rem}.footer-links{flex-wrap:wrap}.hero-copy .hero-price{margin-top:0;margin-bottom:22px}@media(max-width:900px){.price-grid{grid-template-columns:1fr}.price-card{padding:24px}.links{gap:14px}}

.package-schedule{margin-top:20px;padding:18px;background:#faf7f1;border:1px solid #d9c7b7}.package-schedule h3{font-size:1.15rem}.scheduled-session{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e8ddd2;font-size:.85rem}.booking-card .remove-session{width:auto;margin:0;padding:8px;background:#fff;border:1px solid #9c623c;cursor:pointer;flex-shrink:0}.booking-card .slot:disabled{opacity:1;cursor:default;background:#432d22;color:#fff}#reservation-sessions{padding:18px;background:#faf7f1;border:1px solid #e8ddd2;margin-top:20px}#reservation-sessions h2{font-size:1.4rem}
