.fb-booking-widget{--fb-accent:#0071e3;--fb-bg:#f5f5f7;--fb-card:rgba(255,255,255,.92);--fb-text:#1d1d1f;--fb-muted:#6e6e73;--fb-line:rgba(0,0,0,.09);--fb-soft:rgba(0,0,0,.045);--fb-radius:20px;--fb-control-radius:13px;--fb-shadow:0 1px 2px rgba(0,0,0,.03),0 18px 54px rgba(0,0,0,.08);max-width:1180px;margin:32px auto;color:var(--fb-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.45}.fb-radius-compact{--fb-radius:12px;--fb-control-radius:9px}.fb-radius-round{--fb-radius:28px;--fb-control-radius:18px}.fb-shell{background:var(--fb-bg);border:1px solid var(--fb-line);border-radius:calc(var(--fb-radius) + 6px);padding:clamp(20px,3.5vw,42px);box-shadow:var(--fb-shadow);overflow:hidden}.fb-public-header{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:32px}.fb-public-identity{display:flex;gap:16px;align-items:center}.fb-public-logo{max-width:64px;max-height:64px;object-fit:contain}.fb-eyebrow,.fb-step-kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fb-accent);margin-bottom:6px}.fb-public-header h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;line-height:1.05;margin:0}.fb-public-header p,.fb-panel-heading p{color:var(--fb-muted);margin:8px 0 0;max-width:620px}.fb-progress{display:flex;align-items:center;gap:6px}.fb-progress button{appearance:none;border:0;background:transparent;color:var(--fb-muted);padding:8px 6px;font:inherit;font-size:13px;display:flex;align-items:center;gap:7px;cursor:pointer}.fb-progress button span{width:28px;height:28px;border-radius:999px;border:1px solid var(--fb-line);background:var(--fb-card);display:grid;place-items:center;font-weight:700}.fb-progress button.is-active{color:var(--fb-text);font-weight:650}.fb-progress button.is-active span,.fb-progress button.is-complete span{background:var(--fb-accent);border-color:var(--fb-accent);color:#fff}.fb-progress button:disabled{cursor:default;opacity:.55}.fb-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.fb-panel,.fb-summary,.fb-confirmation{background:var(--fb-card);border:1px solid var(--fb-line);border-radius:var(--fb-radius);box-shadow:0 10px 34px rgba(0,0,0,.045);backdrop-filter:saturate(140%) blur(16px)}.fb-panel{padding:clamp(22px,3vw,34px)}.fb-panel-heading{margin-bottom:24px}.fb-panel-heading h3{font-size:26px;letter-spacing:-.025em;margin:0}.fb-field{display:block;margin:0 0 18px}.fb-field>span,.fb-booking-form label>span{display:block;font-size:14px;font-weight:650;margin-bottom:7px}.fb-booking-form input,.fb-booking-form select,.fb-booking-form textarea{box-sizing:border-box;width:100%;min-height:48px;padding:11px 14px;border:1px solid rgba(0,0,0,.14);border-radius:var(--fb-control-radius);background:rgba(255,255,255,.88);color:var(--fb-text);font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.fb-booking-form textarea{min-height:110px;resize:vertical}.fb-booking-form input:focus,.fb-booking-form select:focus,.fb-booking-form textarea:focus{outline:0;border-color:var(--fb-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--fb-accent) 16%,transparent)}.fb-booking-fields-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fb-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.fb-resource-card{appearance:none;text-align:left;border:1px solid var(--fb-line);border-radius:calc(var(--fb-control-radius) + 4px);background:rgba(255,255,255,.74);padding:18px;min-height:178px;color:var(--fb-text);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.fb-resource-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08);border-color:rgba(0,0,0,.16)}.fb-resource-card.is-selected{border-color:var(--fb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fb-accent) 12%,transparent)}.fb-resource-card-top{display:flex;justify-content:space-between;align-items:center}.fb-resource-icon{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--fb-accent) 10%,white);color:var(--fb-accent);display:grid;place-items:center;font-weight:750}.fb-resource-arrow{font-size:20px;color:var(--fb-muted)}.fb-resource-card>strong{font-size:18px;letter-spacing:-.01em}.fb-resource-description,.fb-resource-meta,.fb-muted{color:var(--fb-muted);font-size:13px}.fb-resource-meta{margin-top:auto}.fb-resource-details,.fb-addons{margin-top:18px;padding:18px;border-radius:var(--fb-control-radius);background:var(--fb-soft);border:1px solid var(--fb-line)}.fb-resource-details p{margin:0 0 8px}.fb-resource-details p:last-child{margin-bottom:0}.fb-subheading h4,.fb-slot-header h4{margin:0;font-size:16px}.fb-subheading p{margin:3px 0 14px;color:var(--fb-muted);font-size:13px}.fb-choice-card{display:flex!important;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--fb-line);border-radius:var(--fb-control-radius);background:rgba(255,255,255,.7);margin:8px 0!important;cursor:pointer}.fb-choice-card span{display:flex!important;flex-direction:column}.fb-choice-card small{color:var(--fb-muted);margin-top:2px}.fb-booking-form input[type="checkbox"],.fb-booking-form input[type="radio"]{width:auto;min-width:18px;min-height:18px;padding:0;margin-top:2px;accent-color:var(--fb-accent)}.fb-slot-header{display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px}.fb-slot-header span{font-size:13px;color:var(--fb-muted)}.fb-slots{display:flex;flex-direction:column;gap:15px;min-height:90px}.fb-slot-group{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:start}.fb-slot-group-label{padding-top:11px;color:var(--fb-muted);font-size:13px;font-weight:650}.fb-slot-row{display:flex;flex-wrap:wrap;gap:8px}.fb-slot{appearance:none;min-height:44px;padding:9px 13px;border:1px solid var(--fb-line);border-radius:12px;background:rgba(255,255,255,.78);color:var(--fb-text);font:inherit;font-size:14px;cursor:pointer;transition:.15s ease}.fb-slot:hover{border-color:var(--fb-accent)}.fb-slot.is-selected{background:var(--fb-accent);border-color:var(--fb-accent);color:#fff;box-shadow:0 7px 20px color-mix(in srgb,var(--fb-accent) 24%,transparent)}.fb-slot.is-selected::before{content:"✓";font-weight:800;margin-right:6px}.fb-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.fb-button{appearance:none;min-height:48px;border-radius:var(--fb-control-radius);padding:11px 18px;font:inherit;font-weight:700;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.fb-button:active{transform:scale(.985)}.fb-button-primary{background:var(--fb-accent);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--fb-accent) 25%,transparent)}.fb-button-secondary{background:rgba(255,255,255,.7);color:var(--fb-text);border-color:var(--fb-line)}.fb-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.fb-button.is-loading{opacity:.7;cursor:wait}.fb-billing-details{margin:18px 0;border:1px solid var(--fb-line);border-radius:var(--fb-control-radius);background:var(--fb-soft);overflow:hidden}.fb-billing-details summary{cursor:pointer;padding:15px 16px;font-weight:700;display:flex;justify-content:space-between}.fb-billing-details summary span{font-size:12px;color:var(--fb-muted);font-weight:500}.fb-details-body{padding:2px 16px 16px}.fb-payment-methods{border:0;padding:0;margin:20px 0}.fb-payment-methods legend{font-size:14px;font-weight:700;margin-bottom:8px}.fb-summary{position:sticky;top:28px;padding:24px}.fb-summary-head h3{font-size:20px;line-height:1.2;margin:0 0 22px}.fb-summary-list{margin:0}.fb-summary-list>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--fb-line)}.fb-summary-list dt{color:var(--fb-muted);font-size:13px}.fb-summary-list dd{margin:0;text-align:right;font-size:13px;font-weight:650}.fb-summary-extras{display:flex;flex-direction:column;gap:5px;padding:12px 0;color:var(--fb-muted);font-size:12px}.fb-price-summary{margin-top:16px;padding-top:16px;border-top:1px solid var(--fb-line);display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px}.fb-price-summary>span{font-weight:650}.fb-price-summary strong{font-size:24px;letter-spacing:-.03em}.fb-price-summary small{grid-column:1/-1;color:var(--fb-muted);font-size:12px}.fb-summary-note{margin:18px 0 0;color:var(--fb-muted);font-size:11px;line-height:1.5}.fb-empty-state,.fb-loading-card{color:var(--fb-muted);font-size:14px;padding:14px 0}.fb-booking-message{margin:0 0 18px;border-radius:14px}.fb-booking-message.is-error,.fb-booking-message.is-success{padding:14px 16px}.fb-booking-message.is-error{background:#fff0f0;color:#9d1c1c;border:1px solid rgba(157,28,28,.15)}.fb-booking-message.is-success{background:#effaf2;color:#17642a;border:1px solid rgba(23,100,42,.14)}.fb-confirmation{max-width:650px;margin:30px auto;padding:clamp(30px,5vw,54px);text-align:center}.fb-success-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:999px;background:#e8f8ec;color:#167a32;display:grid;place-items:center;font-size:28px;font-weight:800}.fb-confirmation h3{font-size:30px;margin:0 0 10px}.fb-confirmation p{color:var(--fb-muted)}.fb-confirmation-number{margin:24px auto;max-width:320px;padding:16px;border-radius:14px;background:var(--fb-soft)}.fb-confirmation-number span{display:block;color:var(--fb-muted);font-size:12px}.fb-confirmation-number strong{display:block;margin-top:5px;font-size:20px}.fb-powered-by{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;color:var(--fb-muted);font-size:11px}.fb-as-mark{width:24px;height:24px;border-radius:8px;background:var(--fb-text);color:var(--fb-bg);display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:-.03em}.fb-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.fb-booking-widget button:focus-visible,.fb-booking-widget input:focus-visible,.fb-booking-widget select:focus-visible,.fb-booking-widget textarea:focus-visible,.fb-booking-widget summary:focus-visible{outline:3px solid color-mix(in srgb,var(--fb-accent) 65%,#fff);outline-offset:3px}
.fb-theme-dark{--fb-bg:#141416;--fb-card:rgba(31,31,34,.92);--fb-text:#f5f5f7;--fb-muted:#a1a1a6;--fb-line:rgba(255,255,255,.11);--fb-soft:rgba(255,255,255,.06);--fb-shadow:0 18px 54px rgba(0,0,0,.3)}.fb-theme-dark .fb-booking-form input,.fb-theme-dark .fb-booking-form select,.fb-theme-dark .fb-booking-form textarea,.fb-theme-dark .fb-resource-card,.fb-theme-dark .fb-choice-card,.fb-theme-dark .fb-slot,.fb-theme-dark .fb-button-secondary{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.14);color:var(--fb-text)}
@media(max-width:900px){.fb-public-header{align-items:flex-start;flex-direction:column}.fb-booking-layout{grid-template-columns:1fr}.fb-summary{position:relative;top:auto;order:-1}.fb-progress{width:100%;justify-content:space-between}.fb-progress button{font-size:0}.fb-progress button span{font-size:12px}.fb-resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.fb-booking-widget{margin:12px 0}.fb-shell{padding:16px;border-radius:18px}.fb-public-header{margin-bottom:22px}.fb-public-header h2{font-size:30px}.fb-booking-fields-inline,.fb-resource-grid{grid-template-columns:1fr}.fb-panel,.fb-summary{padding:20px}.fb-slot-group{grid-template-columns:1fr}.fb-slot-group-label{padding-top:0}.fb-step-actions{position:sticky;bottom:8px;background:color-mix(in srgb,var(--fb-card) 94%,transparent);padding:10px;margin-left:-8px;margin-right:-8px;border-radius:16px;backdrop-filter:blur(16px)}.fb-button{flex:1}.fb-summary{display:none}.fb-progress{gap:0}}
@media(prefers-reduced-motion:reduce){.fb-booking-widget *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Stock-controlled equipment/services introduced in 0.9.0. */
.fb-inventory-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--fb-border,rgba(0,0,0,.09));border-radius:16px;background:var(--fb-card,rgba(255,255,255,.88));}
.fb-inventory-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.fb-inventory-copy strong{font-size:.98rem}.fb-inventory-copy small{color:var(--fb-muted,#6e6e73);line-height:1.35}.fb-inventory-price{font-weight:600;color:var(--fb-text,#1d1d1f)!important}
.fb-quantity-control{display:grid;grid-template-columns:36px 52px 36px;align-items:center;border:1px solid var(--fb-border,rgba(0,0,0,.12));border-radius:12px;overflow:hidden;background:var(--fb-surface,#fff);flex:0 0 auto}.fb-quantity-control input{width:52px!important;min-height:36px!important;border:0!important;border-left:1px solid var(--fb-border,rgba(0,0,0,.08))!important;border-right:1px solid var(--fb-border,rgba(0,0,0,.08))!important;border-radius:0!important;padding:0!important;text-align:center;box-shadow:none!important;-moz-appearance:textfield}.fb-quantity-control input::-webkit-outer-spin-button,.fb-quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fb-qty-button{width:36px;height:36px;border:0;background:transparent;color:inherit;font-size:1.2rem;cursor:pointer}.fb-qty-button:hover{background:rgba(0,0,0,.045)}.fb-qty-button:focus-visible{outline:2px solid var(--fb-accent,#0071e3);outline-offset:-2px}
@media (max-width:640px){.fb-inventory-card{align-items:flex-start}.fb-quantity-control{grid-template-columns:34px 46px 34px}.fb-quantity-control input{width:46px!important}.fb-qty-button{width:34px}}

/* 0.9.4 official AS Support powered-by identity. Customer-facing colors stay configurable. */
.fb-powered-by .fb-as-support-logo{
    display:inline-grid;
    grid-template-areas:"brand";
    align-items:center;
    justify-items:center;
    width:72px;
    min-width:72px;
    height:24px;
    overflow:hidden;
    border-radius:5px;
}
.fb-powered-by .fb-as-support-logo>img,
.fb-powered-by .fb-as-support-logo-fallback{grid-area:brand}
.fb-powered-by .fb-as-support-logo>img{
    position:relative;
    z-index:2;
    width:72px;
    height:24px;
    object-fit:contain;
    background:var(--fb-card);
}
.fb-powered-by .fb-as-support-logo-fallback{
    position:relative;
    z-index:1;
    width:72px;
    height:24px;
    display:grid;
    place-items:center;
    font-size:9px;
    font-weight:800;
    color:var(--fb-text);
    background:var(--fb-card);
}
.fb-powered-logo{flex:0 0 auto}
.fb-powered-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;border-radius:8px;padding:3px 5px}.fb-powered-link:hover,.fb-powered-link:focus{color:var(--fb-text)}.fb-powered-link:focus-visible{outline:3px solid color-mix(in srgb,var(--fb-accent) 55%,#fff);outline-offset:3px}

/* 0.9.11: safe public theme resolution and contrast tokens.
 * Auto starts light and becomes dark only when booking.js detects that the
 * website itself explicitly uses a dark theme. The visitor's OS preference is
 * deliberately not a trigger. */
.fb-booking-widget,
.fb-theme-light,
.fb-theme-auto{
    --fb-bg:#f5f5f7;
    --fb-card:#ffffff;
    --fb-text:#1d1d1f;
    --fb-muted:#59595f;
    --fb-line:#d2d2d7;
    --fb-soft:#f0f0f2;
    --fb-control-bg:#ffffff;
    --fb-control-border:#b8b8bd;
    --fb-accent-text:var(--fb-accent-text-light,var(--fb-accent));
    --fb-surface:var(--fb-card);
    --fb-border:var(--fb-line);
    color-scheme:light;
}
.fb-theme-dark,
.fb-theme-auto.fb-site-dark{
    --fb-bg:#151517;
    --fb-card:#232326;
    --fb-text:#f7f7f8;
    --fb-muted:#c5c5ca;
    --fb-line:#4a4a50;
    --fb-soft:#2b2b2f;
    --fb-control-bg:#303034;
    --fb-control-border:#626269;
    --fb-accent-text:var(--fb-accent-text-dark,#7cc4ff);
    --fb-surface:var(--fb-card);
    --fb-border:var(--fb-line);
    --fb-shadow:0 18px 54px rgba(0,0,0,.32);
    color-scheme:dark;
}

/* Protect plugin typography from page-theme heading/link colours. */
.fb-booking-widget .fb-public-header h2,
.fb-booking-widget .fb-panel-heading h3,
.fb-booking-widget .fb-summary-head h3,
.fb-booking-widget .fb-subheading h4,
.fb-booking-widget .fb-slot-header h4,
.fb-booking-widget .fb-confirmation h3,
.fb-booking-widget .fb-resource-card>strong,
.fb-booking-widget .fb-inventory-copy strong,
.fb-booking-widget .fb-field>span,
.fb-booking-widget .fb-booking-form label>span,
.fb-booking-widget .fb-payment-methods legend,
.fb-booking-widget .fb-summary-list dd,
.fb-booking-widget .fb-price-summary>span,
.fb-booking-widget .fb-price-summary strong{
    color:var(--fb-text);
}
.fb-booking-widget .fb-eyebrow,
.fb-booking-widget .fb-step-kicker{
    color:var(--fb-accent-text);
}
.fb-booking-widget .fb-public-header p,
.fb-booking-widget .fb-panel-heading p,
.fb-booking-widget .fb-resource-description,
.fb-booking-widget .fb-resource-meta,
.fb-booking-widget .fb-muted,
.fb-booking-widget .fb-subheading p,
.fb-booking-widget .fb-choice-card small,
.fb-booking-widget .fb-slot-header span,
.fb-booking-widget .fb-slot-group-label,
.fb-booking-widget .fb-summary-list dt,
.fb-booking-widget .fb-summary-extras,
.fb-booking-widget .fb-price-summary small,
.fb-booking-widget .fb-summary-note,
.fb-booking-widget .fb-empty-state,
.fb-booking-widget .fb-loading-card,
.fb-booking-widget .fb-confirmation p,
.fb-booking-widget .fb-confirmation-number span,
.fb-booking-widget .fb-powered-by,
.fb-booking-widget .fb-inventory-copy small{
    color:var(--fb-muted);
}

.fb-booking-widget .fb-shell{background:var(--fb-bg);border-color:var(--fb-line);color:var(--fb-text)}
.fb-booking-widget .fb-panel,
.fb-booking-widget .fb-summary,
.fb-booking-widget .fb-confirmation{background:var(--fb-card);border-color:var(--fb-line);color:var(--fb-text)}
.fb-booking-widget .fb-booking-form input:not([type="checkbox"]):not([type="radio"]),
.fb-booking-widget .fb-booking-form select,
.fb-booking-widget .fb-booking-form textarea,
.fb-booking-widget .fb-resource-card,
.fb-booking-widget .fb-choice-card,
.fb-booking-widget .fb-slot,
.fb-booking-widget .fb-button-secondary,
.fb-booking-widget .fb-quantity-control{
    background:var(--fb-control-bg);
    border-color:var(--fb-control-border);
    color:var(--fb-text);
}
.fb-booking-widget .fb-resource-details,
.fb-booking-widget .fb-addons,
.fb-booking-widget .fb-billing-details,
.fb-booking-widget .fb-confirmation-number,
.fb-booking-widget .fb-inventory-card{
    background:var(--fb-soft);
    border-color:var(--fb-line);
    color:var(--fb-text);
}
.fb-booking-widget .fb-progress button{color:var(--fb-muted)}
.fb-booking-widget .fb-progress button.is-active{color:var(--fb-text)}
.fb-booking-widget .fb-progress button span{background:var(--fb-card);border-color:var(--fb-line);color:var(--fb-text)}
.fb-booking-widget .fb-progress button.is-active span,
.fb-booking-widget .fb-progress button.is-complete span,
.fb-booking-widget .fb-slot.is-selected,
.fb-booking-widget .fb-button-primary{
    background:var(--fb-accent);
    border-color:var(--fb-accent);
    color:var(--fb-accent-foreground,#fff);
}
.fb-booking-widget .fb-resource-card.is-selected{border-color:var(--fb-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--fb-accent) 18%,transparent)}
.fb-booking-widget .fb-resource-icon{color:var(--fb-accent-text);background:color-mix(in srgb,var(--fb-accent) 13%,var(--fb-card))}
.fb-booking-widget .fb-resource-arrow{color:var(--fb-muted)}
.fb-booking-widget .fb-slot:hover{border-color:var(--fb-accent-text)}
.fb-booking-widget .fb-button-primary{box-shadow:0 8px 24px color-mix(in srgb,var(--fb-accent) 28%,transparent)}
.fb-booking-widget .fb-powered-link{color:var(--fb-muted)}
.fb-booking-widget .fb-powered-link:hover,
.fb-booking-widget .fb-powered-link:focus{color:var(--fb-text)}
.fb-booking-widget .fb-powered-by .fb-as-support-logo>img,
.fb-booking-widget .fb-powered-by .fb-as-support-logo-fallback{background:var(--fb-card)}

/* Keep native controls legible when the surrounding site enforces another colour scheme. */
.fb-theme-light input,
.fb-theme-light select,
.fb-theme-light textarea,
.fb-theme-auto:not(.fb-site-dark) input,
.fb-theme-auto:not(.fb-site-dark) select,
.fb-theme-auto:not(.fb-site-dark) textarea{color-scheme:light}
.fb-theme-dark input,
.fb-theme-dark select,
.fb-theme-dark textarea,
.fb-theme-auto.fb-site-dark input,
.fb-theme-auto.fb-site-dark select,
.fb-theme-auto.fb-site-dark textarea{color-scheme:dark}



/* 0.9.12: cleaner date/slot flow and room context. */
.fb-booking-widget .fb-resource-details{
    margin:4px 0 18px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--fb-muted);
}
.fb-booking-widget .fb-resource-details p{margin:0 0 6px}
.fb-booking-widget .fb-resource-details p:last-child{margin-bottom:0}
.fb-booking-widget .fb-resource-meta-line{font-size:13px;font-weight:650;color:var(--fb-muted)}
.fb-booking-widget .fb-slot-section[hidden]{display:none!important}
.fb-booking-widget .fb-field-help{display:block;margin-top:7px;color:var(--fb-muted);font-size:12px;line-height:1.45}

/* 0.9.13: unavailable payment methods must stay hidden even though choice cards use display:flex!important. */
.fb-booking-widget .fb-payment-methods[hidden],
.fb-booking-widget .fb-choice-card[hidden]{display:none!important}


/* 0.9.16: hidden states must win over component display rules. */
.fb-booking-widget .fb-booking-layout[hidden],
.fb-booking-widget .fb-public-header[hidden],
.fb-booking-widget .fb-confirmation[hidden],
.fb-booking-widget .fb-location-field[hidden]{display:none!important}

/* 0.9.20: premium inventory quantity stepper. */
.fb-booking-widget .fb-quantity-control{
    display:grid;
    grid-template-columns:42px 50px 42px;
    gap:8px;
    align-items:center;
    flex:0 0 auto;
    border:0;
    border-radius:0;
    overflow:visible;
    background:transparent;
    box-shadow:none;
}
.fb-booking-widget .fb-quantity-control input{
    box-sizing:border-box;
    width:50px!important;
    min-width:50px!important;
    min-height:42px!important;
    height:42px;
    padding:0 6px!important;
    border:1px solid var(--fb-control-border)!important;
    border-radius:10px!important;
    background:var(--fb-control-bg)!important;
    color:var(--fb-text)!important;
    box-shadow:none!important;
    text-align:center;
    font:inherit;
    font-weight:650;
    line-height:1;
    -moz-appearance:textfield;
}
.fb-booking-widget .fb-quantity-control input:focus{
    outline:0;
    border-color:var(--fb-accent-text)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--fb-accent) 16%,transparent)!important;
}
.fb-booking-widget .fb-qty-button{
    appearance:none;
    box-sizing:border-box;
    width:42px;
    min-width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    border:1px solid var(--fb-control-border);
    border-radius:10px;
    background:var(--fb-control-bg);
    color:var(--fb-text);
    box-shadow:0 1px 2px rgba(0,0,0,.03);
    display:grid;
    place-items:center;
    font:inherit;
    font-size:20px;
    font-weight:500;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease,opacity .15s ease;
}
.fb-booking-widget .fb-qty-button:hover:not(:disabled){
    background:color-mix(in srgb,var(--fb-accent) 8%,var(--fb-control-bg));
    border-color:var(--fb-accent-text);
    color:var(--fb-accent-text);
}
.fb-booking-widget .fb-qty-button:active:not(:disabled){transform:scale(.96)}
.fb-booking-widget .fb-qty-button:focus-visible{
    outline:3px solid color-mix(in srgb,var(--fb-accent) 32%,transparent);
    outline-offset:2px;
    border-color:var(--fb-accent-text);
}
.fb-booking-widget .fb-qty-button:disabled{
    opacity:.38;
    cursor:not-allowed;
    background:var(--fb-soft);
    color:var(--fb-muted);
    border-color:var(--fb-line);
    box-shadow:none;
}
@media(max-width:640px){
    .fb-booking-widget .fb-inventory-card{gap:14px}
    .fb-booking-widget .fb-quantity-control{grid-template-columns:42px 48px 42px;gap:7px}
    .fb-booking-widget .fb-quantity-control input{width:48px!important;min-width:48px!important}
}

