/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
.booking-journey .booking-progress{gap:calc(var(--spacing,.25rem) * 2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 32px;padding:0;font-size:12px;list-style-type:none;display:grid}.booking-progress li{align-items:center;gap:calc(var(--spacing,.25rem) * 2);opacity:.75;text-align:center;flex-direction:column;display:flex;position:relative}.booking-progress li:after{content:"";pointer-events:none;background:#f5f1ea55;width:calc(100% - 32px);height:1px;position:absolute;top:14px;left:calc(50% + 20px)}.booking-progress li:last-child:after{display:none}.booking-progress-number{border:1px solid #f5f1ea88;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;display:inline-flex}.booking-progress li[aria-current=step],.booking-progress li[data-complete=true]{opacity:1}.booking-progress li[aria-current=step]{font-weight:600}.booking-progress li:is([aria-current=step],[data-complete=true]) .booking-progress-number{background:var(--ivory);color:var(--red);border-color:var(--ivory)}.booking-progress li[data-complete=true]:after{background:var(--ivory)}.booking-progress-back{align-items:center;gap:calc(var(--spacing,.25rem) * 2);width:100%;min-height:55px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;padding:0;display:flex}.booking-progress-back:not(:disabled):hover>span:last-child{text-underline-offset:4px;text-decoration:underline}.booking-progress-back:disabled{opacity:.5;cursor:not-allowed}.booking-stage-title{font-family:var(--serif);margin:0 0 20px;font-size:clamp(30px,5vw,38px);line-height:1.1}.booking-panel .booking-journey .booking-venue-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.booking-venue-grid>:is(.booking-date-field,.booking-party-field){padding:12px 15px 6px;font-size:12px;font-weight:500;line-height:1.5}.booking-panel .booking-venue-grid>.booking-party-field{border-left:1px solid var(--line)}.booking-panel .booking-date-trigger{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);width:100%;min-height:44px;color:var(--ivory);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:16px;display:flex}.booking-panel .booking-date-trigger svg{flex-shrink:0}.booking-panel .booking-party-field .app-select-trigger{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);width:100%;min-width:0;min-height:44px;color:var(--ivory);text-align:left;font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:4px;padding:8px 0;font-size:16px;display:flex}.booking-panel .booking-party-field .app-select-trigger:focus{outline:none}.booking-panel .booking-party-field .app-select-trigger:focus-visible{outline:1px solid var(--ivory);outline-offset:3px}.booking-party-field:has(.app-select-trigger:is(:hover,[data-state=open])){background:#f5f1ea0d}.booking-panel .app-select-trigger svg{flex-shrink:0}.app-select-trigger[data-state=open]>svg{transform:rotate(180deg)}.app-select-trigger:disabled{cursor:not-allowed;opacity:.5}.booking-journey .booking-text-button{min-height:44px;color:var(--ivory);text-underline-offset:5px;font:inherit;background:0 0;border:0;align-items:center;padding:8px 0;font-size:12px;text-decoration:underline;display:inline-flex}.booking-back{margin-bottom:14px}.booking-recap{margin-bottom:24px;font-size:13px;line-height:1.65}.booking-service{border:0;min-width:0;margin:24px 0;padding:0}.booking-service legend{margin-bottom:12px;font-size:13px;font-weight:600}.booking-times-grid{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width>=40rem){.booking-times-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.booking-time-button{min-height:48px;font:inherit;color:var(--ivory);background:0 0;border:1px solid #f5f1ea88;border-radius:4px;padding:10px;font-size:15px;transition:background .15s,color .15s}.booking-time-button:hover{background:var(--ivory);color:var(--red)}.booking-note{margin-top:20px;font-size:13px;display:block}.booking-note .optional{opacity:.8;margin-left:8px;font-size:11px}.booking-contact textarea{resize:vertical;width:100%;min-height:92px;font:inherit;color:var(--ivory);background:0 0;border:1px solid #f5f1ea77;border-radius:4px;margin-top:8px;padding:12px;font-size:16px}.booking-contact textarea::placeholder{color:#f5f1eabb}.booking-field-error{margin-top:6px;font-size:12px;line-height:1.5;display:block}.booking-contact [aria-invalid=true]{border-color:var(--ivory)}.booking-panel .booking-journey :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ivory);outline-offset:3px}.booking-result .booking-reference{overflow-wrap:anywhere}.booking-panel .booking-contact :is(input,textarea){width:100%;box-shadow:none;border:1px solid #f5f1ea77;border-radius:4px;margin-top:8px;padding:12px 14px;transition:border-color .15s,background .15s}.booking-panel .booking-contact :is(input,textarea):focus{border-color:var(--ivory);box-shadow:none;background:#f5f1ea0d}.booking-panel .booking-contact :is(input,textarea):focus:not(:focus-visible),.booking-panel .booking-slot-grid>label:focus-within,.booking-panel .booking-stage-title:focus{outline:none}:is(.booking-panel:has(.booking-result) .booking-welcome,.booking-panel:has(.booking-result[data-has-receipt=true]) .booking-call){display:none}.booking-result-heading{align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.booking-result-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.booking-panel .booking-result h3{text-wrap:balance;margin:0;font-size:32px}.booking-panel .booking-result .booking-result-status{text-align:left;margin:12px 0 0;font-size:14px;line-height:1.65}.booking-panel .booking-result .booking-result-details{column-gap:calc(var(--spacing,.25rem) * 6);row-gap:calc(var(--spacing,.25rem) * 5);border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;display:grid}.booking-panel .booking-result .booking-result-details>div{border:0;padding:0;display:block}.booking-result-date{grid-column:1/-1}.booking-result-details dt{margin:0 0 6px;font-size:12px}.booking-result-details dd{color:var(--ivory);font-size:18px;font-weight:500;line-height:1.4}.booking-panel .booking-result .booking-reference{text-align:left;margin:20px 0 0;font-size:11px}.booking-result-actions{align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-top:1px solid var(--line);flex-direction:column;margin-top:24px;padding-top:24px;display:flex}.booking-panel .booking-result-actions .button{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 3);width:100%;margin:0;display:flex}.booking-panel .booking-result-actions .booking-text-button{gap:8px}.booking-follow-up-note{color:var(--booking-muted);text-align:center;margin:0;font-size:12px;line-height:1.6}.app-select-content{z-index:80;min-width:var(--radix-select-trigger-width);max-width:calc(100vw - 32px);max-height:var(--radix-select-content-available-height);background:var(--ivory);color:var(--red);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);border-radius:12px;font-size:15px;line-height:1.5;overflow:hidden;box-shadow:0 16px 40px #1d1b1a33}.app-select-viewport{scrollbar-color:var(--red) var(--ivory);padding:6px}.app-select-item{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;outline:none;min-height:44px;padding:10px 12px;display:flex;position:relative}.app-select-item[data-state=checked]{background:var(--red);color:var(--ivory);font-weight:600}.app-select-item[data-highlighted]:not([data-state=checked]){background:#730e0412}.app-select-item:focus-visible{outline-offset:-3px;outline:1px solid}.app-select-item[data-disabled]{pointer-events:none;opacity:.5}.app-select-indicator,.app-select-scroll{justify-content:center;align-items:center;display:flex}.app-select-scroll{min-height:28px}.calendar-popover{z-index:80;width:332px;max-width:calc(100vw - 32px);max-height:var(--radix-popover-content-available-height);background:var(--ivory);color:var(--red);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);border-radius:12px;padding:12px;overflow:auto;box-shadow:0 16px 40px #1d1b1a33}.app-calendar{--calendar-cell:44px;font-size:13px}.app-calendar .rdp-months{position:relative}.app-calendar .rdp-month_caption{justify-content:center;align-items:center;height:44px;margin-bottom:10px;padding-inline:44px;font-weight:600;display:flex}.app-calendar .rdp-nav{pointer-events:none;inset-inline:0;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0}.app-calendar :is(.rdp-button_previous,.rdp-button_next,.rdp-day_button){width:var(--calendar-cell);height:var(--calendar-cell);color:var(--red);font:inherit;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-calendar .rdp-month_grid{table-layout:fixed;border-collapse:collapse;width:100%}.app-calendar .rdp-weekday{height:28px;color:var(--gray);text-align:center;font-size:11px;font-weight:500}.app-calendar .rdp-day{text-align:center;padding:0}.app-calendar .rdp-day_button{font-variant-numeric:tabular-nums;width:100%}.app-calendar :is(.rdp-button_previous,.rdp-button_next,.rdp-day_button):where(:hover):not(:disabled){background:#730e0410}.app-calendar .rdp-selected .rdp-day_button{background:var(--red);color:var(--ivory);font-weight:600}.app-calendar .rdp-today:not(.rdp-selected) .rdp-day_button{text-underline-offset:5px;text-decoration:underline}.app-calendar .rdp-outside:not(.rdp-disabled,.rdp-selected) .rdp-day_button{color:var(--gray)}.app-calendar button:is(:disabled,[aria-disabled=true]){opacity:.35;cursor:default}.app-calendar button:focus-visible{outline:2px solid var(--red);outline-offset:-2px}.app-calendar .rdp-selected .rdp-day_button:focus-visible{outline-color:var(--ivory);outline-offset:-3px}@media (width<=540px){.booking-journey .form-grid,.booking-panel .booking-journey .booking-venue-grid{grid-template-columns:minmax(0,1fr)}.booking-panel .booking-journey .booking-venue-grid>.booking-party-field{border-top:1px solid #f5f1ea55;border-left:0}.booking-journey .button-red{text-align:center;white-space:normal;justify-content:center;width:100%}.booking-journey .booking-progress{gap:6px;font-size:11px}.booking-panel .booking-result h3{font-size:28px}}@media (prefers-reduced-motion:reduce){.booking-time-button,.booking-panel .booking-contact :is(input,textarea){transition:none}}
