.booking-shell{max-width:52rem;margin:0 auto;padding:clamp(24px,5vw,64px) clamp(16px,4vw,40px);color:var(--color-ink,#171719);background:var(--color-paper,#fbfbfa);box-sizing:border-box}.booking-shell h1{font-family:Onest,sans-serif;font-size:clamp(2.25rem,4.8vw,4rem);font-weight:300;line-height:1.1;margin-bottom:32px}.booking-shell h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:300;margin:32px 0 16px}.booking-shell p{max-width:65ch;line-height:1.55}.booking-progress{display:flex;gap:8px 20px;flex-wrap:wrap;list-style:none;padding:0;counter-reset:booking-step;margin:0 0 32px}.booking-progress li{counter-increment:booking-step;padding:8px 0;display:inline-flex;gap:8px;color:#515154;font-size:14px}.booking-progress li::before{content:counter(booking-step) ".";flex:none}.booking-progress [aria-current]{color:#171719;font-weight:550;text-decoration:underline;text-underline-offset:6px}.booking-shell form{margin:24px 0}.booking-shell label{display:block;font-weight:500;margin:24px 0 8px}.booking-shell input:not([type=hidden]):not([type=checkbox]),.booking-shell select,.booking-shell textarea{display:block;width:100%;max-width:100%;min-height:48px;border:1px solid #77777b;background:#fff;color:#171719;border-radius:0;padding:12px;font:inherit;box-sizing:border-box}.booking-shell textarea{min-height:100px}.booking-shell input::placeholder{color:#55555b;opacity:1}.booking-shell .button{min-height:48px;padding:12px 16px;white-space:normal;line-height:1.4;text-align:center;font:inherit;box-sizing:border-box;border:1px solid #77777b;color:#171719;background:#fff;cursor:pointer;text-decoration:none}.booking-shell .button-primary{display:block;background:#171719;color:#fff;border-color:#171719;margin-top:32px;width:100%}.booking-shell .button:hover{background:#e9e7e2}.booking-shell .button-primary:hover{background:#fff;color:#171719}.booking-shell :focus-visible{outline:3px solid #9a7127;outline-offset:3px}.booking-shell :disabled{background:#e8e7e4;color:#55555b;cursor:default;border-color:#d2d0ca}.booking-days,.booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-shell .booking-check{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-weight:400}.booking-check input{min-width:24px;width:24px;height:24px;margin:0;accent-color:#171719}.booking-summary{margin:24px 0;border-top:1px solid #c8c6c1}.booking-summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;padding:16px 0;border-bottom:1px solid #c8c6c1}.booking-summary dt{font-weight:500;overflow-wrap:anywhere}.booking-summary dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.booking-error{border:1px solid #a22828;background:#fff0f0;color:#7c1818;padding:16px}.booking-shell .booking-trap{display:none}.booking-shell .text-link{min-height:44px;display:inline-flex;align-items:center;color:#171719}.booking-shell ::selection{background:#d0a85a;color:#171719}.booking-shell input{caret-color:#171719}.booking-times{font-variant-numeric:tabular-nums}.booking-shell [data-loading]{opacity:.7}
@media(max-width:600px){.booking-days{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-times{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary>div{display:block}.booking-summary dd{margin-top:8px}.booking-progress{gap:4px 16px}.booking-progress li{font-size:13px}.booking-shell h1{margin-bottom:24px}}

.booking-shell select{appearance:none;-webkit-appearance:none;height:48px;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23171719' stroke-width='2'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}

.booking-selection{overflow-wrap:anywhere;padding:12px 16px;color:#171719;background:#f7f7f7;line-height:1.6}
