/*
 * AmeliaExtension - Custom Booking Flow frontend styles.
 * Copyright (c) 2026 Frey Gabor. All rights reserved.
 * Developed by Frey Gabor - https://freygabor.com/
 * Licensed under GPL-2.0-or-later.
 */
.acbf-app{--acbf-primary:#6d5dfc;--acbf-accent:#14b8a6;--acbf-bg:#f5f7fb;--acbf-surface:#fff;--acbf-text:#172033;--acbf-muted:#667085;--acbf-border:#e4e7ec;--acbf-radius:18px;--acbf-font:inherit;max-width:var(--acbf-content-width,980px);margin-inline:auto;color:var(--acbf-text);font-family:var(--acbf-font);line-height:1.5;container-type:inline-size}
.acbf-app *{box-sizing:border-box}.acbf-theme-dark{--acbf-bg:#0c101b!important;--acbf-surface:#161c2a!important;--acbf-text:#f5f7ff!important;--acbf-muted:#a8b0c5!important;--acbf-border:#2a3347!important}.acbf-theme-auto{color-scheme:light dark}@media(prefers-color-scheme:dark){.acbf-theme-auto{--acbf-bg:#0c101b!important;--acbf-surface:#161c2a!important;--acbf-text:#f5f7ff!important;--acbf-muted:#a8b0c5!important;--acbf-border:#2a3347!important}}
.acbf-loading,.acbf-public-notice{display:flex;align-items:center;justify-content:center;gap:12px;min-height:140px;padding:24px;border:1px solid var(--acbf-border,#e4e7ec);border-radius:18px;background:var(--acbf-surface,#fff);color:var(--acbf-text,#172033)}.acbf-spinner{width:22px;height:22px;border:3px solid var(--acbf-border);border-top-color:var(--acbf-primary);border-radius:50%;animation:acbf-spin .8s linear infinite}@keyframes acbf-spin{to{transform:rotate(360deg)}}
.acbf-shell{overflow:hidden;border:1px solid var(--acbf-border);border-radius:calc(var(--acbf-radius) + 6px);background:var(--acbf-bg);box-shadow:0 24px 70px rgba(16,24,40,.12)}.acbf-header{padding:24px 28px 18px;border-bottom:1px solid var(--acbf-border);background:var(--acbf-surface)}.acbf-brand{display:flex;align-items:center;justify-content:space-between;gap:16px}.acbf-brand h2{margin:0;font-size:clamp(20px,2.2vw,28px);line-height:1.2;color:var(--acbf-text)}.acbf-brand p{margin:5px 0 0;color:var(--acbf-muted);font-size:14px}.acbf-step-count{white-space:nowrap;padding:7px 11px;border:1px solid var(--acbf-border);border-radius:999px;color:var(--acbf-muted);font-size:12px;font-weight:700}
.acbf-progress{display:flex;gap:7px;margin-top:19px}.acbf-progress button{position:relative;flex:1;height:5px;padding:0;border:0;border-radius:999px;background:var(--acbf-border);cursor:pointer}.acbf-progress button::after{content:attr(aria-label);position:absolute;top:10px;left:50%;z-index:5;display:none;width:max-content;max-width:160px;transform:translateX(-50%);padding:5px 8px;border-radius:7px;background:var(--acbf-text);color:var(--acbf-surface);font-size:11px}.acbf-progress button:hover::after,.acbf-progress button:focus-visible::after{display:block}.acbf-progress button.is-complete,.acbf-progress button.is-current{background:var(--acbf-primary)}.acbf-progress button.is-current{box-shadow:0 0 0 3px color-mix(in srgb,var(--acbf-primary) 18%,transparent)}
.acbf-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;padding:24px}.acbf-stage,.acbf-summary{border:1px solid var(--acbf-border);border-radius:var(--acbf-radius);background:var(--acbf-surface)}.acbf-stage{min-height:480px;padding:clamp(22px,4vw,42px)}.acbf-stage-head{margin-bottom:26px}.acbf-stage-head h3{margin:0 0 7px;color:var(--acbf-text);font-size:clamp(22px,3vw,34px);line-height:1.17}.acbf-stage-head p{margin:0;color:var(--acbf-muted)}.acbf-stage-body{animation:acbf-in .25s ease}@keyframes acbf-in{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:none}}
.acbf-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.acbf-select-card{position:relative;display:flex;min-height:112px;gap:14px;align-items:center;width:100%;padding:16px;border:1px solid var(--acbf-border);border-radius:calc(var(--acbf-radius) - 4px);background:var(--acbf-surface);color:var(--acbf-text);text-align:left;cursor:pointer;transition:.18s ease}.acbf-select-card:hover{border-color:color-mix(in srgb,var(--acbf-primary) 65%,var(--acbf-border));transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,40,.09)}.acbf-select-card.is-selected{border-color:var(--acbf-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--acbf-primary) 15%,transparent)}.acbf-card-image{flex:0 0 70px;width:70px;height:70px;overflow:hidden;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--acbf-primary) 14%,var(--acbf-bg)),color-mix(in srgb,var(--acbf-accent) 13%,var(--acbf-bg)));display:grid;place-items:center;font-size:25px}.acbf-card-image img{width:100%;height:100%;object-fit:cover}.acbf-card-copy{min-width:0}.acbf-card-copy strong{display:block;margin-bottom:3px;font-size:15px}.acbf-card-copy small{display:block;color:var(--acbf-muted);font-size:12px}.acbf-card-price{display:block;margin-top:7px;color:var(--acbf-primary);font-size:13px;font-weight:750}.acbf-check{position:absolute;top:10px;right:10px;width:21px;height:21px;display:grid;place-items:center;border:1px solid var(--acbf-border);border-radius:50%;font-size:12px;color:transparent}.is-selected .acbf-check{border-color:var(--acbf-primary);background:var(--acbf-primary);color:#fff}
.acbf-option-grid,.acbf-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.acbf-option,.acbf-time{padding:14px 10px;border:1px solid var(--acbf-border);border-radius:12px;background:var(--acbf-surface);color:var(--acbf-text);font:inherit;font-weight:700;cursor:pointer}.acbf-option:hover,.acbf-time:hover,.acbf-option.is-selected,.acbf-time.is-selected{border-color:var(--acbf-primary);background:color-mix(in srgb,var(--acbf-primary) 8%,var(--acbf-surface));color:var(--acbf-primary)}
.acbf-time.is-booked{position:relative;overflow:hidden;min-height:55px;border-color:color-mix(in srgb,#d92d20 28%,var(--acbf-border));background:color-mix(in srgb,#d92d20 5%,var(--acbf-surface));color:var(--acbf-muted);cursor:not-allowed;opacity:.82}.acbf-time.is-booked span{display:block;text-decoration:line-through}.acbf-time.is-booked em{position:absolute;inset:auto -28px 6px auto;width:100px;transform:rotate(-14deg);background:#d92d20;color:#fff;font-size:9px;font-style:normal;letter-spacing:.08em;line-height:17px;text-align:center}.acbf-time.is-booked:hover{border-color:color-mix(in srgb,#d92d20 28%,var(--acbf-border));background:color-mix(in srgb,#d92d20 5%,var(--acbf-surface));color:var(--acbf-muted)}
.acbf-option strong,.acbf-option small{display:block}.acbf-option small{margin-top:3px;color:var(--acbf-muted);font-size:12px}.acbf-extra-list{display:grid;gap:11px}.acbf-extra{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--acbf-border);border-radius:13px;background:var(--acbf-surface)}.acbf-extra.is-selected{border-color:var(--acbf-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--acbf-primary) 12%,transparent)}.acbf-extra-copy strong,.acbf-extra-copy small,.acbf-extra-copy span{display:block}.acbf-extra-copy small{margin-top:3px;color:var(--acbf-muted);font-size:12px}.acbf-extra-copy span{margin-top:6px;color:var(--acbf-primary);font-size:12px;font-weight:750}.acbf-extra input{width:76px;min-height:44px;padding:8px;border:1px solid var(--acbf-border);border-radius:10px;background:var(--acbf-bg);color:var(--acbf-text);font:inherit;text-align:center}.acbf-deposit-choice{display:flex;align-items:center;gap:9px;margin-top:15px;color:var(--acbf-text);font-size:13px;font-weight:700}.acbf-deposit-choice input{width:18px;height:18px}
.acbf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.acbf-field{display:flex;flex-direction:column;gap:7px}.acbf-field.acbf-wide{grid-column:1/-1}.acbf-field label{font-size:13px;font-weight:700}.acbf-field input,.acbf-field select,.acbf-field textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--acbf-border);border-radius:11px;outline:0;background:var(--acbf-bg);color:var(--acbf-text);font:inherit}.acbf-field textarea{min-height:100px;resize:vertical}.acbf-field input:focus,.acbf-field select:focus,.acbf-field textarea:focus{border-color:var(--acbf-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--acbf-primary) 13%,transparent)}.acbf-date-input{max-width:360px}.acbf-inline{display:flex;gap:10px}.acbf-inline input{flex:1}.acbf-inline button{flex:0 0 auto}.acbf-help{margin:13px 0 0;color:var(--acbf-muted);font-size:13px}.acbf-empty{padding:22px;border:1px dashed var(--acbf-border);border-radius:12px;color:var(--acbf-muted);text-align:center}
.acbf-field.is-invalid label{color:#d92d20}.acbf-field.is-invalid input,.acbf-field.is-invalid select,.acbf-field.is-invalid textarea{border-color:#d92d20;background:color-mix(in srgb,#d92d20 5%,var(--acbf-surface));box-shadow:0 0 0 4px color-mix(in srgb,#d92d20 15%,transparent)}.acbf-field-error{color:#d92d20;font-size:12px;font-weight:700}
.acbf-calendar{width:100%;max-width:720px;margin-inline:auto}.acbf-calendar-toolbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:20px}.acbf-calendar-toolbar strong{color:var(--acbf-text);font-size:20px;text-align:center;text-transform:capitalize}.acbf-calendar-toolbar button{display:grid;place-items:center;width:44px;height:42px;padding:0;border:1px solid var(--acbf-border);border-radius:10px;background:var(--acbf-surface);color:var(--acbf-text);font-size:27px;line-height:1;cursor:pointer}.acbf-calendar-toolbar button:hover{border-color:var(--acbf-primary);color:var(--acbf-primary)}.acbf-calendar-weekdays,.acbf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.acbf-calendar-weekdays{margin-bottom:8px}.acbf-calendar-weekdays span{padding:5px 0;color:var(--acbf-muted);font-size:13px;font-weight:750;text-align:center}.acbf-calendar-grid{transition:opacity .16s ease}.acbf-calendar-grid.is-loading{opacity:.42;pointer-events:none}.acbf-calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1.22;min-height:48px;padding:5px;border:1px solid var(--acbf-border);border-radius:10px;background:color-mix(in srgb,var(--acbf-muted) 7%,var(--acbf-surface));color:var(--acbf-muted);font:inherit;font-size:16px;cursor:default}.acbf-calendar-day.is-available{border-color:color-mix(in srgb,var(--acbf-primary) 78%,#fff);background:color-mix(in srgb,var(--acbf-primary) 11%,var(--acbf-surface));color:var(--acbf-primary);font-weight:750;cursor:pointer}.acbf-calendar-day.is-available:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--acbf-primary) 18%,var(--acbf-surface));box-shadow:0 7px 18px color-mix(in srgb,var(--acbf-primary) 16%,transparent)}.acbf-calendar-day.is-selected{border-color:var(--acbf-primary);background:var(--acbf-primary);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--acbf-primary) 19%,transparent)}.acbf-calendar-day.is-outside{opacity:.35}.acbf-calendar-day.is-today:after{content:'';position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--acbf-primary)}.acbf-calendar-day.is-selected:after{background:#fff}.acbf-calendar-day[disabled]{opacity:.52}.acbf-calendar-day.is-outside[disabled]{opacity:.2}.acbf-calendar-key{display:flex;justify-content:flex-end;gap:17px;margin-top:14px;color:var(--acbf-muted);font-size:11px}.acbf-calendar-key span{display:flex;align-items:center;gap:6px}.acbf-calendar-key i{width:12px;height:12px;border:1px solid var(--acbf-border);border-radius:3px;background:color-mix(in srgb,var(--acbf-muted) 7%,var(--acbf-surface))}.acbf-calendar-key i.is-available{border-color:var(--acbf-primary);background:color-mix(in srgb,var(--acbf-primary) 11%,var(--acbf-surface))}
.acbf-summary{position:sticky;top:24px;align-self:start;overflow:hidden}.acbf-summary-head{padding:18px 19px;border-bottom:1px solid var(--acbf-border)}.acbf-summary-head h4{margin:0;color:var(--acbf-text);font-size:16px}.acbf-summary-list{padding:9px 19px}.acbf-summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--acbf-border);font-size:13px}.acbf-summary-row span:first-child{color:var(--acbf-muted)}.acbf-summary-row strong{text-align:right}.acbf-summary-discount{display:flex;justify-content:space-between;gap:12px;margin:0 13px 12px;padding:10px;border:1px solid color-mix(in srgb,#079455 35%,var(--acbf-border));border-radius:10px;background:color-mix(in srgb,#079455 9%,var(--acbf-surface));color:#067647;font-size:13px;box-shadow:0 0 18px color-mix(in srgb,#079455 17%,transparent)}.acbf-summary-discount[hidden]{display:none}.acbf-total{display:flex;justify-content:space-between;padding:17px 19px;background:color-mix(in srgb,var(--acbf-primary) 6%,var(--acbf-surface));font-size:17px}.acbf-total strong{color:var(--acbf-primary)}
.acbf-discount-box{padding:18px;border:1px solid var(--acbf-border);border-radius:14px}.acbf-discount-box.is-applied{border-color:color-mix(in srgb,#079455 48%,var(--acbf-border));box-shadow:0 0 0 4px color-mix(in srgb,#079455 12%,transparent),0 14px 34px color-mix(in srgb,#079455 12%,transparent)}.acbf-discount-applied{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px;border-radius:11px;background:color-mix(in srgb,#079455 10%,var(--acbf-surface));color:#067647}.acbf-discount-applied>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#079455;color:#fff;font-weight:900}.acbf-discount-applied strong,.acbf-discount-applied small{display:block}.acbf-discount-applied small{margin-top:2px;color:#067647}.acbf-review{display:grid;gap:2px;border:1px solid var(--acbf-border);border-radius:14px;overflow:hidden}.acbf-review-row{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:13px 16px;background:var(--acbf-bg)}.acbf-review-row span{color:var(--acbf-muted)}.acbf-review-row strong{font-weight:650}.acbf-review-discount{border-block:1px solid color-mix(in srgb,#079455 35%,var(--acbf-border));background:color-mix(in srgb,#079455 10%,var(--acbf-surface));box-shadow:inset 0 0 22px color-mix(in srgb,#079455 10%,transparent)}.acbf-review-discount span,.acbf-review-discount strong{color:#067647}.acbf-review-total{background:color-mix(in srgb,var(--acbf-primary) 8%,var(--acbf-surface));font-size:17px}.acbf-review-total strong{color:var(--acbf-primary)}.acbf-success{text-align:center;padding:25px 10px}.acbf-success-icon{width:74px;height:74px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--acbf-accent) 14%,var(--acbf-surface));color:var(--acbf-accent);font-size:34px}.acbf-success h3{margin:0 0 8px;font-size:30px}.acbf-success p{color:var(--acbf-muted)}.acbf-confirmed-details{max-width:650px;margin:24px auto;overflow:hidden;border:1px solid var(--acbf-border);border-radius:14px;text-align:left}.acbf-confirmed-details>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:12px 15px;border-bottom:1px solid var(--acbf-border);background:var(--acbf-bg)}.acbf-confirmed-details>div:last-child{border-bottom:0}.acbf-confirmed-details span{color:var(--acbf-muted)}.acbf-confirmed-details strong{text-align:right}.acbf-confirmed-details .acbf-confirmed-discount{background:color-mix(in srgb,#079455 10%,var(--acbf-surface));box-shadow:inset 0 0 20px color-mix(in srgb,#079455 10%,transparent)}.acbf-confirmed-discount span,.acbf-confirmed-discount strong{color:#067647}.acbf-confirmed-details .acbf-confirmed-total{background:color-mix(in srgb,var(--acbf-primary) 8%,var(--acbf-surface));font-size:17px}.acbf-confirmed-total strong{color:var(--acbf-primary)}.acbf-manage-booking{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.acbf-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px;border-top:1px solid var(--acbf-border);background:var(--acbf-surface)}.acbf-actions{display:flex;gap:10px;margin-left:auto}.acbf-button{min-height:46px;padding:10px 18px;border:1px solid var(--acbf-border);border-radius:12px;background:var(--acbf-surface);color:var(--acbf-text);font:inherit;font-weight:750;cursor:pointer}.acbf-button:hover{transform:translateY(-1px)}.acbf-button-primary{border-color:var(--acbf-primary);background:var(--acbf-primary);color:#fff;box-shadow:0 9px 22px color-mix(in srgb,var(--acbf-primary) 28%,transparent)}.acbf-button[disabled]{opacity:.5;cursor:not-allowed;transform:none}.acbf-status{min-height:20px;color:var(--acbf-muted);font-size:13px}.acbf-status.is-error{color:#d92d20}.acbf-status.is-success{color:#079455}
.acbf-gateway-box{margin-top:16px;padding:17px;border:1px solid var(--acbf-border);border-radius:13px;background:var(--acbf-bg)}.acbf-gateway-box>strong{display:block;margin-bottom:12px}.acbf-stripe-card{min-height:48px;padding:14px;border:1px solid var(--acbf-border);border-radius:10px;background:#fff}.acbf-paypal-buttons{max-width:460px;min-height:45px}.acbf-person-pricing{margin-top:17px;padding:14px;border:1px solid var(--acbf-border);border-radius:12px;background:color-mix(in srgb,var(--acbf-primary) 6%,var(--acbf-surface))}.acbf-person-pricing>strong{display:block;margin-bottom:9px;font-size:13px}.acbf-person-pricing>div{display:flex;flex-wrap:wrap;gap:7px}.acbf-person-pricing span{padding:6px 9px;border:1px solid var(--acbf-border);border-radius:999px;background:var(--acbf-surface);font-size:11px;font-weight:700}.acbf-step-layout>.acbf-card-grid{grid-template-columns:repeat(var(--acbf-step-columns,2),minmax(0,1fr))}.acbf-step-list>.acbf-card-grid,.acbf-step-list .acbf-option-grid{grid-template-columns:1fr}.acbf-step-compact .acbf-select-card{min-height:76px;padding:11px}.acbf-step-compact .acbf-card-image{flex-basis:48px;width:48px;height:48px}.acbf-button-plain{background:transparent;color:var(--acbf-primary);box-shadow:none}.acbf-button-text{border-color:transparent;background:transparent;color:var(--acbf-primary);box-shadow:none}.acbf-cards-outline .acbf-select-card{background:transparent;box-shadow:none}.acbf-cards-flat .acbf-select-card{border-color:transparent;background:var(--acbf-bg);box-shadow:none}.acbf-summary-left .acbf-stage{order:2}.acbf-summary-left .acbf-summary{order:1}.acbf-summary-hidden .acbf-layout{grid-template-columns:1fr}.acbf-summary-hidden .acbf-summary{display:none}.acbf-navigation-minimal .acbf-progress{display:none}.acbf-navigation-sidebar .acbf-header{display:none}.acbf-navigation-sidebar .acbf-layout{grid-template-columns:220px minmax(0,1fr) 280px}.acbf-navigation-sidebar .acbf-stage:before{content:'Booking journey';display:block;margin-bottom:20px;padding-bottom:13px;border-bottom:1px solid var(--acbf-border);color:var(--acbf-primary);font-weight:800}
@container(max-width:760px){.acbf-layout{grid-template-columns:1fr}.acbf-summary{position:static;order:-1}.acbf-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.acbf-card-grid{grid-template-columns:1fr}.acbf-option-grid,.acbf-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.acbf-shell{border-radius:0}.acbf-header{padding:18px 16px 15px}.acbf-brand{align-items:flex-start}.acbf-layout{padding:12px;gap:12px}.acbf-stage{min-height:430px;padding:23px 17px}.acbf-summary-list{grid-template-columns:1fr}.acbf-summary-row:nth-child(n+4){display:none}.acbf-form-grid{grid-template-columns:1fr}.acbf-field.acbf-wide{grid-column:auto}.acbf-option-grid,.acbf-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acbf-calendar-weekdays,.acbf-calendar-grid{gap:4px}.acbf-calendar-weekdays span{font-size:10px}.acbf-calendar-day{min-height:38px;border-radius:7px;font-size:13px}.acbf-calendar-toolbar{margin-bottom:13px}.acbf-calendar-toolbar strong{font-size:17px}.acbf-calendar-key{justify-content:flex-start}.acbf-footer{position:sticky;bottom:0;z-index:10;padding:12px}.acbf-status{display:none}.acbf-actions{width:100%}.acbf-button{flex:1}.acbf-review-row{grid-template-columns:1fr;gap:3px}.acbf-card-image{flex-basis:60px;width:60px;height:60px}}
@media(prefers-reduced-motion:reduce){.acbf-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:620px){.acbf-confirmed-details>div{grid-template-columns:1fr;gap:3px}.acbf-confirmed-details strong{text-align:left}.acbf-discount-applied{align-items:flex-start}.acbf-inline{align-items:stretch;flex-direction:column}}

/* Employee-aware time choices and final booking progress. */
.acbf-time{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0}.acbf-time-value{display:block}.acbf-time small{display:block;max-width:100%;overflow-wrap:anywhere;color:var(--acbf-muted);font-size:10px;font-weight:650;line-height:1.2;text-align:center;white-space:normal}.acbf-time.is-selected small{color:currentColor}.acbf-shell{position:relative}.acbf-processing{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;background:rgba(12,16,27,.58);backdrop-filter:blur(7px)}.acbf-processing[hidden]{display:none}.acbf-processing-card{width:min(390px,100%);padding:32px 26px;border:1px solid color-mix(in srgb,var(--acbf-primary) 30%,var(--acbf-border));border-radius:20px;background:var(--acbf-surface);color:var(--acbf-text);box-shadow:0 28px 80px rgba(0,0,0,.3);text-align:center}.acbf-processing-card strong{display:block;margin-top:18px;font-size:21px}.acbf-processing-card p{margin:7px 0 0;color:var(--acbf-muted);font-size:14px}.acbf-processing-spinner{display:block;width:62px;height:62px;margin:auto;border:6px solid color-mix(in srgb,var(--acbf-primary) 16%,var(--acbf-border));border-top-color:var(--acbf-primary);border-right-color:var(--acbf-accent);border-radius:50%;animation:acbf-spin .75s linear infinite}.acbf-processing-spinner i{display:none}
.acbf-time.is-waitlist{border-color:#d5a62f;background:color-mix(in srgb,#f5b942 13%,var(--acbf-surface));color:#8a5b00}.acbf-time.is-waitlist:hover,.acbf-time.is-waitlist.is-selected{border-color:#b97a00;background:color-mix(in srgb,#f5b942 22%,var(--acbf-surface));color:#704900;box-shadow:0 7px 20px color-mix(in srgb,#d5a62f 20%,transparent)}.acbf-time.is-waitlist em{display:block;color:currentColor;font-size:9px;font-style:normal;font-weight:800;line-height:1.2;text-align:center}.acbf-calendar-day.is-waitlist{border-color:#d5a62f;border-style:dashed;background:color-mix(in srgb,#f5b942 12%,var(--acbf-surface));color:#8a5b00;font-weight:750;cursor:pointer}.acbf-calendar-day.is-waitlist:hover{transform:translateY(-1px);background:color-mix(in srgb,#f5b942 20%,var(--acbf-surface));box-shadow:0 7px 18px color-mix(in srgb,#d5a62f 18%,transparent)}.acbf-calendar-day.is-waitlist small{position:absolute;right:2px;bottom:2px;left:2px;overflow:hidden;font-size:7px;font-weight:800;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.acbf-calendar-key i.is-waitlist{border-color:#d5a62f;border-style:dashed;background:color-mix(in srgb,#f5b942 12%,var(--acbf-surface))}.acbf-success.is-waitlist .acbf-success-icon{background:color-mix(in srgb,#f5b942 18%,var(--acbf-surface));color:#8a5b00}.acbf-confirmed-details .acbf-confirmed-waitlist{background:color-mix(in srgb,#f5b942 12%,var(--acbf-surface));box-shadow:inset 0 0 20px color-mix(in srgb,#d5a62f 10%,transparent)}.acbf-confirmed-waitlist span,.acbf-confirmed-waitlist strong{color:#8a5b00}

/* Prevent theme and multi-column rules from forcing the booking form outside a phone viewport. */
.acbf-app,.acbf-shell,.acbf-layout,.acbf-stage,.acbf-stage-body,.acbf-step-layout{max-width:100%;min-width:0}.acbf-card-copy{overflow:hidden}.acbf-card-copy strong,.acbf-card-copy small{max-width:100%;overflow-wrap:anywhere;word-break:normal}.acbf-select-card{min-width:0;overflow:hidden}
@container(max-width:760px){.acbf-step-layout>.acbf-card-grid{grid-template-columns:1fr}.acbf-navigation-sidebar .acbf-layout{grid-template-columns:1fr}.acbf-option-grid,.acbf-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.acbf-app{width:100%;overflow:hidden}.acbf-layout{padding:8px}.acbf-stage{min-height:0;padding:20px 14px}.acbf-stage-head{margin-bottom:20px}.acbf-stage-head h3{font-size:22px}.acbf-stage-head p{font-size:14px}.acbf-step-layout>.acbf-card-grid{grid-template-columns:1fr!important}.acbf-select-card{gap:11px;min-height:96px;padding:13px}.acbf-card-image{flex-basis:54px;width:54px;height:54px;border-radius:10px}.acbf-card-copy strong{padding-right:20px;font-size:14px;line-height:1.3}.acbf-card-copy small{font-size:11px;line-height:1.35}.acbf-check{top:8px;right:8px}.acbf-calendar-toolbar{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.acbf-calendar-toolbar button{width:40px;height:40px}.acbf-calendar-weekdays,.acbf-calendar-grid{gap:3px}.acbf-calendar-day{min-width:0;min-height:36px;padding:2px}.acbf-calendar-key{flex-wrap:wrap;gap:10px}.acbf-footer{padding:11px 52px 11px 10px}.acbf-actions{min-width:0;gap:8px}.acbf-button{min-width:0;padding-inline:12px}.acbf-time{min-height:58px;padding:11px 6px}.acbf-time small{font-size:9px}.acbf-processing-card{padding:28px 20px}.acbf-processing-card strong{font-size:19px}}
