.booking-page{background:#f7f6f1;color:#20231e;min-height:70vh}.booking-hero{padding:76px 8vw 70px;background:linear-gradient(115deg,#14251c 0%,#203b2b 58%,#314d35 100%);color:#fff}.booking-hero .section-kicker{color:#e3bd63}.booking-hero h1,.booking-heading h2,.format-card h3{font-family:'Teko',sans-serif;text-transform:uppercase;letter-spacing:-.025em}.booking-hero h1{font-size:clamp(3.5rem,8vw,6.5rem);line-height:.87;margin:12px 0 22px}.booking-hero h1 span{color:#e3bd63}.booking-hero>p:not(.section-kicker){max-width:520px;color:#e4e7e1;line-height:1.7;margin-bottom:25px}.booking-section,.request-section{padding:70px 8vw}.booking-heading{max-width:760px;margin:0 auto 34px;text-align:center}.booking-heading .section-kicker{color:#997722}.booking-heading h2{font-size:clamp(2.8rem,5vw,4.1rem);line-height:.95;margin:9px 0 12px}.booking-heading>p:last-child{color:#686a64;line-height:1.6}.format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1080px;margin:auto}.format-card{background:#fff;border:1px solid #e7e4db;border-radius:8px;padding:27px;box-shadow:0 8px 20px rgba(28,35,28,.035);scroll-margin-top:24px;display:flex;flex-direction:column;align-items:flex-start}.format-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f4eddb;color:#836318;font-size:1.3rem}.format-tag{font-size:.62rem;letter-spacing:.13em;color:#8e742e;font-weight:800;margin:22px 0 3px}.format-card h3{font-size:2.2rem;margin:0;line-height:1}.format-card>p:not(.format-tag){line-height:1.55;color:#555950;margin:12px 0}.format-card .pending-detail{font-size:.77rem;color:#797b73!important;margin:0 0 22px!important}.format-card .button{margin-top:auto}.format-birthday{border-color:#d7c58f}.request-section{background:#fff;border-top:1px solid #e9e6de}.request-section form{max-width:900px;margin:0 auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.booking-page label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:700;color:#343831}.booking-page input:not([type=checkbox]):not([type=radio]),.booking-page select,.booking-page textarea{width:100%;min-height:46px;border:1px solid #d9d9d1;background:#fff;border-radius:4px;padding:10px 12px;font:inherit;color:#222}.booking-page textarea{resize:vertical}.dietary-fieldset,.payment-fieldset{border:1px solid #e3e2da;border-radius:6px;padding:20px;margin:25px 0}.booking-page legend{font-weight:800;padding:0 8px}.dietary-fieldset>p{color:#74766f;font-size:.78rem}.dietary-options{display:grid;gap:14px}.check-option,.payment-option{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;padding:10px 12px;background:#f8f8f4;border-radius:4px;cursor:pointer}.check-option input,.payment-option input{width:17px;height:17px;accent-color:#2e633c;flex:0 0 auto}.conditional-field{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(200px,1.3fr);gap:14px;margin:0 0 4px 28px}.conditional-field[hidden]{display:none}.payment-fieldset{display:grid;gap:12px}.payment-fieldset legend{margin-bottom:10px}.payment-option{align-items:flex-start!important}.payment-option strong,.payment-option small{display:block}.payment-option small{font-weight:400;color:#73766e;margin-top:4px;line-height:1.5}.preview-warning{background:#fff5db;border-left:3px solid #cba74f;padding:14px 16px;color:#65552d;font-size:.82rem;line-height:1.55}.submit-preview{opacity:.58;cursor:not-allowed}.form-status{min-height:1.2em;color:#555}.booking-footer{background:#fff;color:#20231e;border-top:1px solid #e6e4dc}.booking-footer a{color:#20231e}
@media(max-width:680px){.booking-hero{padding:56px 7vw}.booking-section,.request-section{padding:55px 6vw}.format-grid,.form-grid{grid-template-columns:1fr}.format-card{padding:22px}.conditional-field{grid-template-columns:1fr;margin-left:0}.booking-heading{text-align:left}.payment-option{padding:11px 8px}}
button.day{width:100%;text-align:left;font:inherit;background:#fff}button.day.free{cursor:pointer}button.day.free:hover,button.day.free:focus-visible{outline:2px solid #3e754c;outline-offset:1px;filter:brightness(.97)}.booking-calendar .booking-heading{max-width:760px}
[hidden]{display:none!important}.schedule-choice{max-width:620px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px;padding:25px;background:#f7f6f1;border:1px solid #e5e1d8;border-radius:6px}.schedule-choice label{grid-column:1/-1;font-weight:700}.schedule-choice select{min-height:46px;border:1px solid #d9d9d1;background:#fff;border-radius:4px;padding:10px 12px;font:inherit}.schedule-choice button{white-space:nowrap}.schedule-status{grid-column:1/-1;margin:0;color:#754b20;font-size:.83rem;line-height:1.45}.calendar-choice-status{margin:14px 0 0;color:#754b20;font-weight:700;font-size:.9rem}.booking-calendar .booking-heading{max-width:760px}.booking-section[hidden],.schedule-section[hidden],.request-section[hidden]{display:none!important}
@media(max-width:500px){.schedule-choice{grid-template-columns:1fr;padding:19px}.schedule-choice label{grid-column:auto}.schedule-choice button{width:100%}}
.format-card .button:disabled{opacity:.55;cursor:not-allowed}
.birthday-procedure{max-width:760px;margin:0 auto 20px;padding:20px 24px;background:#f4eddb;border-left:4px solid #b58d32;border-radius:4px;line-height:1.55}
.birthday-procedure h3{margin:0 0 8px;font-size:1.15rem}
.birthday-procedure ul{margin:0 0 10px;padding-left:22px}
.birthday-procedure p{margin:0;color:#665c43;font-size:.86rem}
.birthday-procedure[hidden],.birthday-children-field[hidden]{display:none!important}
