@layer blocks{.block-booking-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);gap:var(--space-4);top:calc(var(--header-height) + var(--space-6));flex-direction:column;display:flex;position:sticky}.block-booking-card__sheet{display:contents}.block-booking-card__title{font-size:var(--text-lg);color:var(--color-text);margin:0;font-weight:600}.block-booking-card__form{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.block-booking-card__field{gap:var(--space-1);flex-direction:column;display:flex}.block-booking-card__field--range,.block-booking-card__field--picker{grid-column:1/-1}.block-booking-card__label{font-size:var(--text-xs);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600}.block-booking-card__field input{width:100%;padding:var(--space-2) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);min-height:2.5rem}.block-booking-card__field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.block-booking-card__quote{gap:var(--space-2);flex-direction:column;display:flex}.block-booking-card__quote[hidden]{display:none}.block-booking-card__quote-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text);display:flex}.block-booking-card__quote-row--muted{color:var(--color-text-subtle);font-size:var(--text-xs)}.block-booking-card__quote-row--total{padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px solid var(--color-border);font-weight:600;font-size:var(--text-base)}.block-booking-card__quote-row--discount{color:var(--color-success);font-weight:500}.block-booking-card__unavailable{color:var(--color-danger);font-size:var(--text-sm);margin:0}.block-booking-card__hint{color:var(--color-text-subtle);font-size:var(--text-sm);margin:0}.block-booking-card__cta{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-primary);color:var(--color-primary-contrast);border:1px solid var(--color-primary);border-radius:var(--radius-md);font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.block-booking-card__cta[hidden]{display:none}.block-booking-card__cta:hover:not([disabled]){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.block-booking-card__cta[disabled]{cursor:not-allowed;background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text-subtle);box-shadow:none}.block-booking-card__cart-success-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-primary-soft);color:var(--color-primary-soft-contrast);border-radius:var(--radius-md);font-size:var(--text-sm);display:flex}.block-booking-card__cart-view{color:var(--color-primary-soft-contrast);font-weight:600;text-decoration:underline}.block-booking-card__cart-warning{color:var(--color-warning);font-size:var(--text-sm);margin:0}.block-booking-card__inquiry{text-align:center;font-size:var(--text-xs);color:var(--color-text-subtle);margin:0}.block-booking-card__inquiry a{color:var(--color-text);text-decoration:underline}.block-booking-card__mobile-bar,.block-booking-card__backdrop,.block-booking-card__sheet-close{display:none}@media (width<=47.9375rem){body:has(.block-booking-card){padding-bottom:5rem}.block-booking-card{box-shadow:none;background:0 0;border:0;padding:0;position:static}.block-booking-card__sheet{z-index:60;gap:var(--space-4);max-height:88vh;padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));background:var(--color-surface-raised);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-direction:column;transition:transform .28s;display:flex;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -12px 40px -12px #0000004d}.block-booking-card.is-expanded .block-booking-card__sheet{transform:translateY(0)}.block-booking-card__sheet-close{width:2.25rem;height:2.25rem;margin-bottom:calc(-1 * var(--space-2));background:var(--color-surface-muted);color:var(--color-text);font-size:var(--text-lg);cursor:pointer;border:0;border-radius:999px;flex:none;align-self:flex-end;line-height:1;display:block}.block-booking-card__backdrop{z-index:55;opacity:0;pointer-events:none;background:#00000073;transition:opacity .28s;display:block;position:fixed;inset:0}.block-booking-card.is-expanded .block-booking-card__backdrop{opacity:1;pointer-events:auto}.block-booking-card__mobile-bar{z-index:50;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--color-bg);border-top:1px solid var(--color-border);transition:transform .22s;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 28px -10px #0000002e}.block-booking-card.is-expanded .block-booking-card__mobile-bar{transform:translateY(110%)}.block-booking-card__mobile-bar-info{text-align:left;min-width:0;color:var(--color-text);cursor:pointer;background:0 0;border:0;flex:auto;padding:0}.block-booking-card__mobile-bar-summary{min-width:0;font-weight:600;font-size:var(--text-sm);color:var(--color-text);line-height:1.3;display:block}.block-booking-card__mobile-bar-cta{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:600;font-size:var(--text-sm);cursor:pointer;border:0;flex:none}.block-booking-card__mobile-bar-cta:disabled{opacity:.5;cursor:not-allowed}.block-booking-card__sheet .flatpickr-calendar.inline{width:100%;max-width:100%;margin-top:var(--space-2);box-shadow:none;background:0 0;border:0;padding:0}}}
