.booking{width:100%;max-width:var(--max-width-form);text-align:left;background-color:var(--color-bg);color:var(--color-text);padding:var(--space-10);box-shadow:var(--shadow-card);margin-inline:auto}.booking__form{gap:var(--space-8);flex-direction:column;display:flex}@media (width>=48em){.booking__form{gap:var(--space-10);grid-template-columns:1fr 1fr;align-items:start;display:grid}}.booking__calendar-col{gap:var(--space-4);flex-direction:column;display:flex}.booking__fields-col{gap:var(--space-6);flex-direction:column;display:flex}.booking__field{gap:var(--space-2);flex-direction:column;display:flex}.booking__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--weight-semibold);color:var(--color-text-subtle)}.booking__input{border:var(--border);padding:var(--space-3) var(--space-4);color:var(--color-text);font-family:inherit;font-size:var(--text-base);transition:var(--transition-input);background-color:#0000}.booking__input::placeholder{color:var(--color-text-faint)}.booking__input:focus{box-shadow:var(--shadow-focus);outline:none}.booking__radios{gap:var(--space-6);padding-top:var(--space-2);flex-flow:wrap;display:flex}.booking__radio{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);display:flex}.booking__radio input{appearance:auto;width:auto;height:auto;accent-color:var(--color-surface-dark);margin:0}.booking__radio:focus-within{outline:none}.booking__radio:focus-within input{outline:2px solid var(--color-text);outline-offset:2px}.calendar{border:var(--border);padding:var(--space-6);background-color:var(--color-bg-alt)}.calendar__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.calendar__month{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-base)}.calendar__nav{border:var(--border-light);color:var(--color-text);width:var(--space-8);height:var(--space-8);border-radius:var(--radius-input);cursor:pointer;transition:var(--transition-all);background:0 0;justify-content:center;align-items:center;display:flex}.calendar__nav:hover{background-color:var(--color-surface-dark);color:var(--color-bg)}.calendar__weekdays{text-align:center;margin-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);display:grid}.calendar__weekday{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase}.calendar__grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar__day{aspect-ratio:1;border-radius:var(--radius-day);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-surface);justify-content:center;align-items:center;display:flex}.calendar__day:hover:not(.calendar__day--empty):not(.calendar__day--past):not(.calendar__day--weekend):not(.calendar__day--selected){background-color:var(--color-hover)}.calendar__day--empty{pointer-events:none}.calendar__day--past{color:var(--color-disabled);cursor:default;pointer-events:none;text-decoration:line-through}.calendar__day--weekend{color:var(--color-disabled);opacity:.4;cursor:not-allowed;pointer-events:none}.calendar__day--today{background-color:var(--color-success-bg)}.calendar__day--selected{font-weight:var(--weight-semibold);background-color:var(--color-surface-dark)!important;color:var(--color-bg)!important;opacity:1!important}.times{gap:var(--space-2);flex-wrap:wrap;display:flex}.times__slot{border:var(--border);color:var(--color-text);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:var(--transition-all);background-color:#0000}.times__slot:hover{background-color:var(--color-hover)}.times__slot--selected{background-color:var(--color-surface-dark);color:var(--color-bg);border-color:var(--color-surface-dark)}.booking__turnstile{margin:var(--space-2) 0;justify-content:flex-start;display:flex}.booking__submit{border-radius:var(--radius-full);border:var(--border);padding:var(--space-4) var(--space-10);background-color:var(--color-surface-dark);text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-bg);cursor:pointer;transition:var(--transition-all);justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.booking__submit:hover:not(:disabled){color:var(--color-text);background-color:#0000}.booking__submit:disabled{opacity:.4;cursor:not-allowed}.booking__message{text-align:center;font-size:var(--text-base);padding:var(--space-4);border-radius:var(--radius-input)}.booking__message--success{background-color:var(--color-success-bg);color:var(--color-success);border:var(--border-width) solid var(--color-success-border)}.booking__message--error{background-color:var(--color-error-bg);color:var(--color-error);border:var(--border-width) solid var(--color-error-border)}
