/* AgencyFix visual booking popup (afx-booking.js) + the [afx_book] band. Uses the .afx tokens with fallbacks. */
.afxbk{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:#0a0c10}
.afxbk[hidden]{display:none}
.afxbk-backdrop{position:absolute;inset:0;background:rgba(10,12,16,.6)}
.afxbk-panel{position:relative;box-sizing:border-box;width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:20px;padding:22px 22px 26px;box-shadow:0 24px 80px rgba(10,12,16,.35);outline:none}
.afxbk-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.afxbk-title{margin:0;font-size:1.35rem;line-height:1.2;font-weight:800}
.afxbk-sub{margin:4px 0 0;color:#5d6573;font-size:.92rem}
.afxbk-x{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:#f6f8fc;font-size:28px;line-height:1;cursor:pointer;color:#0a0c10}
.afxbk-x:focus-visible,.afxbk-day:focus-visible,.afxbk-time:focus-visible,.afxbk-link:focus-visible,.afxbk button:focus-visible{outline:3px solid #6366f1;outline-offset:2px}
.afxbk-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.afxbk-body{margin-top:16px}
.afxbk-loading{color:#5d6573;padding:28px 0;text-align:center}
.afxbk-error{background:#fff4e5;border:1px solid #f5c26b;color:#7a4b00;border-radius:12px;padding:10px 12px;margin:0 0 14px}
.afxbk-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory}
.afxbk-day{flex:none;scroll-snap-align:start;min-width:72px;min-height:64px;border:1px solid #e7eaf1;border-radius:14px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#0a0c10;font:inherit}
.afxbk-day[aria-pressed="true"]{background:#0a0c10;border-color:#0a0c10;color:#fff}
.afxbk-dow{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.8}
.afxbk-date{font-weight:700}
.afxbk-dayhead{margin:14px 0 10px;font-size:1rem;font-weight:700}
.afxbk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.afxbk-time{min-height:48px;border:1px solid #6366f1;border-radius:12px;background:#fff;color:#4f46e5;font:inherit;font-weight:700;cursor:pointer}
.afxbk-time:hover{background:#eef1f8}
.afxbk-zone,.afxbk-help,.afxbk-fine{color:#5d6573;font-size:.88rem;margin:12px 0 0}
.afxbk-link{border:0;background:none;padding:0;color:#4f46e5;font:inherit;text-decoration:underline;cursor:pointer}
.afxbk-chosen{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between;background:#f6f8fc;border-radius:12px;padding:12px;margin-bottom:14px}
.afxbk-form{display:block}
.afxbk-field{margin:0 0 12px}
.afxbk-field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}
.afxbk-field input,.afxbk-field textarea,.afxbk-field select{box-sizing:border-box;width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #cfd5e2;border-radius:12px;background:#fff;color:#0a0c10}
.afxbk-field [aria-invalid="true"]{border-color:#c2410c;box-shadow:0 0 0 2px rgba(194,65,12,.15)}
.afxbk-field small{display:block;color:#5d6573;margin-top:4px}
.afxbk-more{margin:4px 0 14px;border:1px solid #e7eaf1;border-radius:12px;padding:10px 12px}
.afxbk-more summary{cursor:pointer;font-weight:600;min-height:28px}
.afxbk-more[open] summary{margin-bottom:10px}
.afxbk-check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;margin:-4px 0 12px}
.afxbk-check input{width:20px;height:20px;flex:none;margin-top:2px}
.afxbk-submit,.afxbk-actions .btn{width:100%;min-height:52px;font-size:1.05rem}
.afxbk-actions{display:grid;gap:10px;margin-top:6px}
.afxbk .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;font-weight:700;border:0;cursor:pointer;padding:12px 18px;text-decoration:none}
.afxbk .btn-primary{background:#4f46e5;color:#fff}
.afxbk .btn-primary[disabled]{opacity:.7;cursor:wait}
.afxbk .btn-light{background:#eef1f8;color:#0a0c10}
.afxbk-done{text-align:center}
.afxbk-check-big{width:64px;height:64px;margin:4px auto 10px;border-radius:50%;background:#059669;color:#fff;font-size:36px;line-height:64px;font-weight:800}
.afxbk-when{font-size:1.1rem;font-weight:700}
body.afxbk-open{overflow:hidden}
@media (max-width:640px){
  .afxbk{align-items:flex-end}
  .afxbk-panel{width:100vw;max-height:calc(100dvh - 12px);border-radius:20px 20px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom))}
}
/* [afx_book] band */
.afx .afxbook-band{text-align:center}
.afx .afxbook-band .btn-row{justify-content:center}
.afx .afxbook-band .afxbook-note{color:var(--muted,#5d6573);font-size:.95rem;margin-top:10px}
