.booking-page{--ink:#173a32;--red:#bb382d;--gold:#e6bb51;color:var(--ink);background-color:#f5ecd9;background-image:linear-gradient(#173a3208 1px,#0000 1px),linear-gradient(90deg,#173a3208 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:44px 44px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.booking-hero{grid-template-columns:1fr auto;align-items:end;gap:60px;width:min(1120px,100% - 48px);margin:auto;padding:70px 0 50px;display:grid}.booking-hero a{font-weight:700}.booking-hero p{color:var(--red);letter-spacing:.13em;margin:34px 0 10px;font:600 12px Oswald,sans-serif}.booking-hero h1{text-transform:uppercase;font:700 clamp(54px,7vw,92px)/.86 Oswald,sans-serif}.booking-hero h1 em{color:var(--red);text-transform:none;font:italic 700 .75em/1.05 Playfair Display,serif;display:block}.booking-hero>div>span{max-width:560px;margin-top:24px;font-size:17px;line-height:1.6;display:block}.booking-hero aside{border:1px solid var(--ink);background:var(--gold);box-shadow:7px 7px var(--ink);grid-template-columns:auto auto;align-items:center;gap:5px 16px;padding:24px 28px;display:grid}.booking-hero aside b,.booking-hero aside i{font:700 44px/1 Oswald,sans-serif}.booking-hero aside i{color:var(--red);font-style:normal}.booking-hero aside span{letter-spacing:.08em;font:600 11px/1.25 Oswald,sans-serif}.booking-wrap{width:min(1120px,100% - 48px);margin:auto;padding-bottom:100px}.booking-form{border:1px solid var(--ink);background:#fff8e8;box-shadow:10px 12px #173a3226}.booking-step{border-bottom:1px solid #173a3233;padding:34px 42px}.booking-step>header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.booking-step>header>b{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:35px;height:35px;font:700 13px Oswald,sans-serif;display:grid}.booking-step header span{color:var(--red);letter-spacing:.12em;font:600 10px Oswald,sans-serif}.booking-step h2{font:600 28px/1 Oswald,sans-serif}.booking-date-row,.booking-fields{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.booking-date-row{grid-template-columns:1fr 1fr;max-width:700px}.booking-form label{flex-direction:column;gap:8px;display:flex}.booking-form label>span{letter-spacing:.08em;text-transform:uppercase;font:600 11px Oswald,sans-serif}.booking-form input,.booking-form select,.booking-form textarea{width:100%;color:var(--ink);font:inherit;background:#f1e5cf;border:1px solid #173a3245;outline:none;padding:14px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #e6bb514f}.booking-wide{grid-column:1/-1}.booking-slots{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.booking-slots button{min-height:64px;color:var(--ink);cursor:pointer;background:#f1e5cf;border:1px solid #173a323d;transition:all .18s}.booking-slots button strong,.booking-slots button small{display:block}.booking-slots button strong{font:700 18px Oswald,sans-serif}.booking-slots button small{margin-top:3px;font-size:9px}.booking-slots button:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px)}.booking-slots button.is-selected{background:var(--ink);color:#fff;box-shadow:3px 3px var(--gold)}.booking-slots button:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}.booking-loading{color:#173a3299;padding:20px}.booking-error{border-left:4px solid var(--red);color:var(--red);background:#bb382d16;margin:20px 42px 0;padding:13px;font-weight:700}.booking-submit{justify-content:space-between;align-items:center;gap:25px;padding:28px 42px;display:flex}.booking-submit p span,.booking-submit p strong{display:block}.booking-submit p strong{text-transform:capitalize;font:600 18px Oswald,sans-serif}.booking-submit p span{margin-top:4px;font-size:12px}.booking-submit button{background:var(--red);color:#fff5df;min-width:270px;box-shadow:4px 4px var(--ink);cursor:pointer;border:0;justify-content:space-between;padding:19px 22px;font:600 16px Oswald,sans-serif;display:flex}.booking-submit button:disabled{opacity:.55;cursor:not-allowed}.booking-confirmation{text-align:center;border:1px solid var(--ink);max-width:750px;box-shadow:10px 10px var(--gold);background:#fff8e8;margin:auto;padding:65px}.booking-confirmation>span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:70px;height:70px;margin:auto;font-size:30px;display:grid}.booking-confirmation>p{color:var(--red);letter-spacing:.13em;margin:22px 0 10px;font:600 12px Oswald,sans-serif}.booking-confirmation h2{text-transform:uppercase;font:700 60px/.9 Oswald,sans-serif}.booking-confirmation h2 em{color:var(--red);text-transform:none;font-family:Playfair Display,serif;display:block}.booking-confirmation dl{border-block:1px solid #173a3233;grid-template-columns:repeat(4,1fr);margin:34px 0;display:grid}.booking-confirmation dl div{padding:18px 8px}.booking-confirmation dt{text-transform:uppercase;font-size:10px}.booking-confirmation dd{text-transform:capitalize;font-weight:700}.booking-confirmation small,.booking-confirmation a{margin-top:16px;display:block}.booking-confirmation a{font-weight:700;text-decoration:underline}.booking-form button:focus-visible,.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (max-width:760px){.booking-hero{grid-template-columns:1fr;padding-top:42px}.booking-hero aside{display:none}.booking-step{padding:26px 20px}.booking-date-row,.booking-fields{grid-template-columns:1fr}.booking-slots{grid-template-columns:repeat(3,1fr)}.booking-submit{flex-direction:column;align-items:stretch;padding:24px 20px}.booking-submit button{width:100%;min-width:0}.booking-confirmation{padding:38px 20px}.booking-confirmation dl{grid-template-columns:1fr 1fr}.booking-wrap,.booking-hero{width:calc(100% - 30px)}}.booking-callout{background:#e6bb5124;border:1px dashed #173a3260;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:15px 18px;display:grid}.booking-callout>span{background:var(--gold);border-radius:50%;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.booking-callout p{font-size:12px;line-height:1.45}.booking-callout p strong{font:600 15px Oswald,sans-serif;display:block}.booking-callout a{color:var(--red);text-underline-offset:5px;padding:9px 0;font:700 14px Oswald,sans-serif;text-decoration:underline}.booking-callout a b{margin-left:6px}@media (max-width:650px){.booking-callout{grid-template-columns:auto 1fr}.booking-callout a{grid-column:1/-1}}.booking-consent{align-items:flex-start;margin:24px 42px 0;flex-direction:row!important;gap:11px!important;display:flex!important}.booking-consent input{height:18px;accent-color:var(--ink);flex:none;margin:1px 0 0;padding:0;width:18px!important}.booking-consent span{letter-spacing:0!important;text-transform:none!important;font:400 12px/1.5 Arial,sans-serif!important}.booking-consent a{text-underline-offset:2px;text-decoration:underline}@media (max-width:760px){.booking-consent{margin-inline:20px}}.booking-form .turnstile-field{margin:22px 42px 0}.booking-form .turnstile-field>div{max-width:100%}@media (max-width:760px){.booking-form .turnstile-field{margin-inline:20px}}.booking-confirmation .booking-email-note{max-width:520px;margin:22px auto 0;font-size:13px;line-height:1.55}@media (max-width:760px){.booking-hero a,.booking-callout a{align-items:center;min-height:44px;display:inline-flex}}.booking-date-row,.booking-fields{min-width:0}.booking-form label,.booking-form input,.booking-form select,.booking-form textarea{min-width:0;max-width:100%}.booking-error button{cursor:pointer;border:1px solid;min-height:44px;padding:8px 12px}.booking-slots button small{font-size:12px}.booking-form .turnstile-field{min-width:0}@media (max-width:380px){.booking-form input[type=date]{padding-inline:10px;font-size:15px}.booking-wrap,.booking-hero{width:calc(100% - 20px)}.booking-step{padding-inline:14px}}
