.booking [hidden]{display:none!important}.booking{margin-top:2rem;max-width:34rem}.booking__loading{color:var(--color-ink-soft)}.booking__fields{display:grid;gap:1.25rem}.booking__field{display:grid;gap:.4rem}.booking__label{font-family:var(--font-body);font-size:var(--text-body);font-weight:700;letter-spacing:.01em;line-height:1.35;color:var(--color-ink)}.booking__field input[type=text],.booking__field input[type=email],.booking__field input[type=tel],.booking__field textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body)}.booking__field textarea{min-height:5rem;resize:vertical}.booking__field input:focus-visible,.booking__field textarea:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px;border-color:var(--color-accent-text)}.booking__field--address{border:0;margin:0;padding:0;gap:.75rem;min-width:0}.booking__field--address legend{padding:0}.booking__address-part{display:grid;gap:.4rem}.booking__label--sub{font-weight:500;font-size:.9em;color:var(--color-ink-soft)}.booking__address-row{display:grid;gap:.75rem}@media(min-width:30rem){.booking__address-row{grid-template-columns:2fr 1fr 1fr}}.booking__field--checkbox,.booking__choice{display:flex;align-items:flex-start;gap:.6rem}.booking__field--checkbox input,.booking__choice input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--color-purple);flex:none}.booking__checkbox-label a{color:var(--color-accent-text);font-weight:700;text-decoration:underline}.booking__field--packages{border:0;padding:0;margin:0 0 1.5rem}.booking__field--packages legend{padding:0;margin-bottom:.6rem}.booking__package{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer}.booking__week+.booking__week,.booking__package+.booking__package{margin-top:.5rem}.booking__package:has(input:checked){border-color:var(--color-accent-text);background:var(--color-accent-soft)}.booking__package input{width:1.1rem;height:1.1rem;accent-color:var(--color-purple);flex:none}.booking__package-price{margin-left:auto;font-family:var(--font-body);font-weight:700;color:var(--color-ink)}.booking__week-rates{display:grid;gap:.4rem;padding:.6rem 0 .2rem 1.7rem}.booking__rate{display:flex;align-items:center;gap:.6rem}.booking__rate-name{color:var(--color-ink)}.booking__rate .booking__package-price{margin-left:auto}.booking__qty{flex:none;width:4.5rem;padding:.45rem .5rem;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);text-align:center}.booking__qty:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px;border-color:var(--color-accent-text)}.booking__week-status,.booking__weeks-note{color:var(--color-ink-soft);font-size:var(--text-label)}.booking__weeks-note{margin:0 0 .6rem}.booking__hint{color:var(--color-ink-soft);font-size:var(--text-label)}.booking__total{margin-top:1.5rem;font-weight:700;color:var(--color-ink)}.booking__choices{display:grid;gap:.5rem}.booking__soldout{display:grid;justify-items:start;gap:1rem}.booking__week--full .booking__package{opacity:.6;cursor:default}.booking__soldout p{color:var(--color-ink-soft)}.booking__fallback p{margin-bottom:1rem;color:var(--color-ink-soft)}.booking__submit{margin-top:1.75rem}.booking__field-error{color:var(--color-accent-text);font-size:var(--text-label);font-weight:700}.booking__error{margin-top:1.5rem;color:var(--color-accent-text);font-weight:700}.booking__error a{text-decoration:underline}.book__facts[data-astro-cid-25e4o6db]{white-space:pre-line;margin:.25rem 0 0;font-family:var(--font-body);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.book__note[data-astro-cid-25e4o6db]{max-width:54ch;margin:.5rem 0 0;color:var(--color-ink-soft)}.book__lead[data-astro-cid-25e4o6db]{max-width:54ch;margin-top:1.25rem;color:var(--color-ink-soft)}
