.ex-booking{--booking-gap:var(--space-6,1.5rem);color:inherit;min-width:0}.ex-booking-intro{display:flex;align-items:baseline;justify-content:space-between;gap:var(--booking-gap);margin-bottom:var(--booking-gap)}.ex-booking-intro h2{font-family:var(--font-body);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:400;line-height:1.5;margin:0}.ex-booking-intro p{font-size:.875rem;line-height:1.7;margin:0;max-width:36rem}.ex-booking-form{display:flex;align-items:stretch;flex-wrap:wrap;border-top:1px solid var(--color-border,currentColor);border-bottom:1px solid var(--color-border,currentColor);padding-block:1rem;gap:1rem 0}.ex-booking-field{flex:1 1 120px;min-width:0;display:flex;flex-direction:column;gap:.65rem;padding:.4rem 1.25rem;border-inline-end:1px solid var(--color-border,currentColor)}.ex-booking-field:has(input){flex-basis:180px}.ex-booking-field:first-child{padding-inline-start:0}.ex-booking-field>span{font-size:.75rem;letter-spacing:.03em}.ex-booking-field input,.ex-booking-field select{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;background:transparent;color:inherit;border:0;border-radius:var(--radius-input,.25rem);font:inherit;font-size:1rem;padding:.25rem;cursor:pointer;color-scheme:light}.ex-booking-field input:focus-visible,.ex-booking-field select:focus-visible{outline:2px solid currentColor;outline-offset:3px}.ex-booking-field:focus-within>span{font-weight:600}.ex-booking-submit{margin-inline-start:1.25rem;align-self:center;min-height:56px;gap:1.5rem;white-space:nowrap;flex-shrink:0}.ex-booking-submit span{display:inline-block;transition:transform .25s ease}.ex-booking-submit:hover span{transform:translate(2px,-2px)}.ex-booking-submit:active{transform:translateY(1px)}.ex-booking-caption,.ex-booking-feedback{font-size:.8rem;line-height:1.7;margin-top:1rem}.ex-booking-feedback:empty{display:none}.ex-booking-summary{padding:1rem 0;border-bottom:1px solid var(--color-border,currentColor)}.ex-booking-summary p{margin:.5rem 0 0}.ex-booking[data-booking-layout=card] .ex-booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ex-booking[data-booking-layout=card] .ex-booking-field{padding:0;border:0}.ex-booking[data-booking-layout=card] .ex-booking-submit{grid-column:1/-1;margin:0}@media (max-width:767px){.ex-booking-intro{display:block}.ex-booking-intro p{margin-top:.5rem}.ex-booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ex-booking-field,.ex-booking-field:first-child{padding:0;border:0}.ex-booking-submit{grid-column:1/-1;margin:0;width:100%}.ex-booking-field input{font-size:.9rem}}@media (prefers-reduced-motion:reduce){.ex-booking-submit,.ex-booking-submit span{transition:none!important;transform:none!important}}.ex-booking[data-title-size=sm] .ex-booking-intro h2{font-size:1.25rem}.ex-booking[data-title-size=lg] .ex-booking-intro h2{font-size:clamp(1.5rem,3vw,2.25rem)}.ex-booking[data-title-size=xl] .ex-booking-intro h2{font-size:clamp(1.75rem,3.5vw,2.75rem)}.ex-booking[data-text-size=sm] .ex-booking-intro p{font-size:.8rem}.ex-booking[data-text-size=lg] .ex-booking-intro p{font-size:1rem}.ex-booking{container-type:inline-size}@container (min-width: 560px) and (max-width: 980px){.ex-booking-intro{display:block}.ex-booking-intro p{margin-top:.5rem}.ex-booking-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ex-booking-field,.ex-booking-field:first-child{padding:0;border:0}.ex-booking-submit{margin:0;width:100%;align-self:end}}@container (max-width: 559px){.ex-booking-intro{display:block}.ex-booking-intro p{margin-top:.5rem}.ex-booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ex-booking-field,.ex-booking-field:first-child{padding:0;border:0}.ex-booking-submit{margin:0;width:100%;grid-column:1/-1}}.ex-booking-date{flex-basis:180px}.ex-booking-date-trigger{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.25rem;background:transparent;color:inherit;border:0;font:inherit;text-align:start;cursor:pointer}.ex-booking-calendar{position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:1.25rem;border:1px solid var(--color-border,#ccc);border-radius:var(--radius-card,8px);background:var(--background,#fff);color:var(--foreground,#222);box-shadow:0 20px 80px #0003}.ex-booking-calendar::backdrop{background:#0005}.ex-booking-calendar header,.ex-booking-calendar nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.ex-booking-calendar button{background:transparent;color:inherit;border:0;min-height:40px;min-width:36px;font:inherit;cursor:pointer;border-radius:var(--radius-button,4px)}.ex-booking-calendar button:hover:not(:disabled){background:var(--muted,#eee)}.ex-booking-calendar button:disabled{opacity:.28;cursor:default}.ex-booking-calendar button[aria-pressed=true]{background:var(--primary,#333);color:var(--primary-foreground,#fff)}.ex-booking-calendar button[aria-current=date]{box-shadow:inset 0 0 0 1px currentColor}.ex-booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.ex-booking-calendar-grid>span{font-size:.75rem;padding-block:.35rem}.ex-booking-calendar button:focus-visible,.ex-booking-date-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}