/* AutoFiix v10.1.17 owned modal: Step 3 summary-gap compaction with balanced summary-strip sizing only; all prior viewport, smart-flow, and gateway behavior preserved. */
@font-face{font-family:"AutoFiix Inter";src:url("../fonts/autofiix-inter-latin-variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}

html.afq-owned-modal-open,body.afq-owned-modal-open{overflow:hidden!important;overscroll-behavior:none!important}
@media (min-width:768px) and (min-height:621px){html.afq-owned-modal-open{scrollbar-gutter:stable}}
.afq-concept-modal[hidden],.afq-concept-modal [hidden]{display:none!important}
.afq-concept-modal,.afq-concept-modal *{box-sizing:border-box}
.afq-concept-modal{--afq-blue:#0759d9;--afq-blue-dark:#0649b5;--afq-blue-active:#043d99;--afq-blue-soft:#eef5ff;--afq-ink:#111827;--afq-muted:#667085;--afq-border:#d9e0e8;--afq-surface:#fff;--afq-soft:#f7f9fc;--afq-success:#129b57;--afq-warning:#9b5b00;position:fixed!important;inset:0!important;z-index:2147482000!important;display:grid!important;place-items:center!important;min-width:0!important;min-height:0!important;padding:28px!important;overflow:hidden!important;font-family:"AutoFiix Inter",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;color:var(--afq-ink)!important;line-height:1.35!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;isolation:isolate}
.afq-concept-modal>.afq-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62)}
.afq-concept-modal .afq-modal-dialog{position:relative;z-index:1;width:calc(100vw - 56px);width:min(820px,calc(100vw - 56px));height:calc(100vh - 56px);height:min(700px,calc(100vh - 56px));height:min(700px,calc(100svh - 56px));height:min(700px,calc(100dvh - 56px));max-width:820px;max-height:700px;min-width:0;min-height:0;margin:0!important;padding:0!important;overflow:hidden!important;contain:layout paint;border:1px solid rgba(255,255,255,.58);border-radius:20px;background:#fff;box-shadow:0 24px 68px rgba(15,23,42,.24),0 2px 10px rgba(15,23,42,.08)}
.afq-concept-modal .afq-modal-scroll,.afq-concept-modal [data-afq-app-root],.afq-concept-modal .afq-professional-shell,.afq-concept-modal .afq-booking-app{width:100%;height:100%;min-width:0;min-height:0}
.afq-concept-modal .afq-modal-scroll{overflow:hidden!important}
.afq-concept-modal button,.afq-concept-modal input,.afq-concept-modal select{max-width:100%;margin:0;font:inherit}
.afq-concept-modal button{text-transform:none;letter-spacing:normal;line-height:1.2;box-shadow:none}
.afq-concept-modal button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.afq-concept-modal button:focus-visible{outline:3px solid rgba(7,89,217,.22);outline-offset:2px}
.afq-concept-modal input:focus-visible,.afq-concept-modal select:focus-visible,.afq-concept-modal textarea:focus-visible{outline:none!important;outline-offset:0!important}

/* Programmatic step-heading focus is used for screen-reader context only.
 * Do not draw a browser/OS focus rectangle around non-interactive headings.
 * Interactive controls keep the visible :focus-visible treatment above. */
.afq-concept-modal [data-afq-programmatic-focus="1"]:focus,
.afq-concept-modal [data-afq-programmatic-focus="1"]:focus-visible{outline:none!important;box-shadow:none!important}
.afq-concept-modal .afq-booking-app{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff}

/* Header */
.afq-concept-modal .afq-app-header{display:grid;grid-template-columns:50px minmax(0,1fr) 40px 40px;align-items:center;gap:10px;min-height:84px;padding:12px 20px;background:linear-gradient(135deg,#0a60de 0%,#0647b5 100%);color:#fff;border-radius:19px 19px 0 0}
.afq-concept-modal .afq-brand-icon{display:grid;place-items:center;width:42px;height:42px;color:#fff}
.afq-concept-modal .afq-brand-icon svg{width:42px;height:42px}
.afq-concept-modal .afq-brand-copy{min-width:0}
.afq-concept-modal .afq-brand-copy h1{max-width:100%;margin:0;font-size:23px;line-height:1.05;font-weight:780;letter-spacing:-.02em;color:#fff;white-space:normal;overflow-wrap:anywhere}
.afq-concept-modal .afq-brand-copy p{max-width:100%;margin:5px 0 0;font-size:14px;line-height:1.2;font-weight:450;color:rgba(255,255,255,.96);white-space:normal;overflow-wrap:anywhere}
.afq-concept-modal .afq-icon-button{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:2px solid rgba(255,255,255,.9);border-radius:999px;background:transparent;color:#fff;font-size:22px;line-height:1;font-weight:600}
.afq-concept-modal .afq-close-button{border-color:rgba(255,255,255,.45);font-size:0;line-height:0}
.afq-concept-modal .afq-close-button svg{display:block;width:18px;height:18px;max-width:none;pointer-events:none}

/* Progress */
.afq-concept-modal .afq-stepper{display:grid;grid-template-columns:auto minmax(20px,1fr) auto minmax(20px,1fr) auto minmax(20px,1fr) auto minmax(20px,1fr) auto;align-items:start;min-height:74px;padding:11px 28px 9px;background:#fff;border-bottom:1px solid #e7ebf0}
.afq-concept-modal .afq-step{display:grid;justify-items:center;gap:5px;min-width:72px;color:#475467;font-size:12px;font-weight:560;white-space:nowrap}
.afq-concept-modal .afq-step-dot{display:grid;place-items:center;width:31px;height:31px;border:2px solid #cbd3df;border-radius:999px;background:#fff;color:#475467;font-size:15px;font-weight:760}
.afq-concept-modal .afq-step.is-active{color:var(--afq-blue)}
.afq-concept-modal .afq-step.is-active .afq-step-dot{border-color:var(--afq-blue);color:var(--afq-blue);box-shadow:0 0 0 4px rgba(7,89,217,.07)}
.afq-concept-modal .afq-step.is-complete{color:#344054}
.afq-concept-modal .afq-step.is-complete .afq-step-dot{border-color:var(--afq-blue);background:var(--afq-blue);color:#fff}
.afq-concept-modal .afq-step-line{height:2px;margin-top:15px;background:#d8dee8;border-radius:999px}
.afq-concept-modal .afq-step-line.is-complete{background:var(--afq-blue)}

/* Content / panels */
.afq-concept-modal .afq-content-scroll{min-height:0;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;overflow-anchor:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-behavior:auto;scroll-padding-block:14px 24px;scrollbar-width:none;-ms-overflow-style:none;padding:20px 24px 24px;background:#f8fafc}
.afq-concept-modal .afq-booking-app[data-step="3"] .afq-content-scroll{padding-bottom:10px}
.afq-concept-modal .afq-content-scroll::-webkit-scrollbar,.afq-concept-modal .afq-footer-message::-webkit-scrollbar{width:0;height:0;display:none}
.afq-concept-modal .afq-step-page{width:100%;max-width:772px;min-width:0;margin:0 auto}
.afq-concept-modal .afq-service-page[data-smart-phase="estimate"]{display:flex;min-height:100%;flex-direction:column}
.afq-concept-modal .afq-service-page[data-smart-phase="estimate"] .afq-estimate-section{margin-top:auto;margin-bottom:0;padding-top:8px}
.afq-concept-modal .afq-panel{width:100%;padding:0}
.afq-concept-modal .afq-panel-narrow{max-width:540px;margin:16px auto}
.afq-concept-modal .afq-section-heading{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;margin-bottom:18px}
.afq-concept-modal .afq-heading-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--afq-blue-soft);color:var(--afq-blue);font-size:22px;font-weight:800}
.afq-concept-modal .afq-heading-icon svg{width:31px;height:31px}
.afq-concept-modal h2,.afq-concept-modal h3,.afq-concept-modal p{margin-top:0}
.afq-concept-modal .afq-section-heading h2{margin:0;color:#101828;font-size:22px;line-height:1.15;font-weight:760;letter-spacing:-.015em}
.afq-concept-modal .afq-section-heading p{margin:4px 0 0;color:var(--afq-muted);font-size:14px;line-height:1.45}
.afq-concept-modal .afq-flow-section{margin-bottom:25px;scroll-margin-block:14px 20px}
.afq-concept-modal .afq-flow-section>h2,.afq-concept-modal .afq-flow-smart-head>h2{margin:0 0 12px;color:#111827;font-size:19px;font-weight:760;letter-spacing:-.01em}
.afq-concept-modal .afq-flow-smart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.afq-concept-modal .afq-flow-smart-head>h2{flex:1;min-width:0}
.afq-concept-modal .afq-smart-choice{display:none;align-items:center;gap:7px;min-width:0;margin:0 0 12px;padding:7px 9px;border:1px solid #d8e5f7;border-radius:9px;background:#f7faff}
.afq-concept-modal .afq-smart-choice>span{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:999px;background:var(--afq-success);color:#fff;font-size:10px;font-weight:800}
.afq-concept-modal .afq-smart-choice>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172b4d;font-size:12px;font-weight:720}
.afq-concept-modal .afq-smart-choice>button{margin-left:auto;padding:2px 0;border:0;background:transparent;color:var(--afq-blue);font-size:11px;font-weight:700}
.afq-concept-modal .afq-smart-body{min-width:0}
.afq-concept-modal .afq-smart-section.is-active>.afq-flow-smart-head>h2{color:#111827}
.afq-concept-modal .afq-field-grid>*,.afq-concept-modal .afq-context-card>*,.afq-concept-modal .afq-selection-card>*,.afq-concept-modal .afq-service-card>*,.afq-concept-modal .afq-parts-card>*,.afq-concept-modal .afq-estimate-card>*,.afq-concept-modal .afq-appointment-card>*,.afq-concept-modal .afq-security-flow>*{min-width:0;max-width:100%}

/* Fields */
.afq-concept-modal .afq-field{min-width:0}
.afq-concept-modal .afq-field label{display:block;margin:0 0 7px;color:#344054;font-size:13px;font-weight:680}
.afq-concept-modal .afq-field input,.afq-concept-modal .afq-field select{display:block;width:100%;height:50px;min-height:50px;padding:0 14px;border:1px solid #cfd7e3;border-radius:10px;background:#fff;color:#101828;font-size:16px;line-height:1;box-shadow:0 1px 2px rgba(16,24,40,.03);appearance:auto;-webkit-appearance:auto}
.afq-concept-modal .afq-field input::placeholder{color:#98a2b3}
.afq-concept-modal .afq-field input:focus,.afq-concept-modal .afq-field select:focus{outline:none!important;border-color:var(--afq-blue);box-shadow:0 0 0 2px rgba(7,89,217,.14)}
.afq-concept-modal .afq-field input:focus-visible,.afq-concept-modal .afq-field select:focus-visible{outline:none!important;box-shadow:0 0 0 2px rgba(7,89,217,.14)}
.afq-concept-modal .afq-field input:-webkit-autofill,.afq-concept-modal .afq-field input:-webkit-autofill:hover{-webkit-text-fill-color:#101828!important;caret-color:#101828!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important}
.afq-concept-modal .afq-field input:-webkit-autofill:focus{-webkit-text-fill-color:#101828!important;caret-color:#101828!important;-webkit-box-shadow:0 0 0 1000px #fff inset,0 0 0 2px rgba(7,89,217,.14)!important;box-shadow:0 0 0 1000px #fff inset,0 0 0 2px rgba(7,89,217,.14)!important}
.afq-concept-modal .afq-field input:autofill{background:#fff!important;color:#101828!important}
.afq-concept-modal .afq-field input.is-invalid{border-color:#d92d20;background:#fffafa}
.afq-concept-modal .afq-field select:disabled{background:#f2f4f7;color:#98a2b3;opacity:1;cursor:not-allowed}
.afq-concept-modal .afq-field-error{display:block;min-height:17px;margin-top:5px;color:#b42318;font-size:11.5px;line-height:1.25}
.afq-concept-modal .afq-field-grid{display:grid;gap:15px}
.afq-concept-modal .afq-field-grid.afq-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.afq-concept-modal .afq-field-grid.afq-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.afq-concept-modal .afq-info-note{max-width:100%;margin-top:15px;padding:11px 13px;border:1px solid #dce6f4;border-radius:10px;background:#f5f9ff;color:#526174;font-size:12px;white-space:normal;overflow-wrap:anywhere}

/* Status / vehicle */
.afq-concept-modal .afq-status-card,.afq-concept-modal .afq-context-card,.afq-concept-modal .afq-selection-card{border:1px solid #cfe0f7;border-radius:12px;background:#f5f9ff}
.afq-concept-modal .afq-status-card{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;margin-top:10px;padding:13px 14px}
.afq-concept-modal .afq-status-check,.afq-concept-modal .afq-selection-check{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--afq-success);color:#fff;font-size:13px;font-weight:800}
.afq-concept-modal .afq-status-card strong,.afq-concept-modal .afq-context-card strong,.afq-concept-modal .afq-selection-card strong{display:block;color:#101828;font-size:13px;font-weight:700}
.afq-concept-modal .afq-status-card span:last-child,.afq-concept-modal .afq-context-card small,.afq-concept-modal .afq-selection-card small{display:block;margin-top:2px;color:#667085;font-size:12px}
.afq-concept-modal .afq-context-card{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:20px;padding:10px 12px}
.afq-concept-modal .afq-context-card>span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--afq-success);color:#fff;font-size:12px;font-weight:800}
.afq-concept-modal .afq-context-card button{padding:5px 7px;border:0;background:transparent;color:var(--afq-blue);font-size:12px;font-weight:650}
.afq-concept-modal .afq-vehicle-card{padding:18px;border:1px solid #dfe5ec;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.045)}
.afq-concept-modal .afq-selection-card{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:11px;align-items:center;margin-top:15px;padding:12px 13px}
.afq-concept-modal .afq-selection-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf2ff;color:var(--afq-blue)}
.afq-concept-modal .afq-selection-icon svg{width:30px;height:30px}

/* Category and services */
.afq-concept-modal .afq-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.afq-concept-modal .afq-category-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:9px 12px;border:1px solid #d8dfe8;border-radius:12px;background:#fff;color:#26364d;font-size:13px;font-weight:630;box-shadow:0 2px 8px rgba(16,24,40,.04)}
.afq-concept-modal .afq-category-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px}
.afq-concept-modal .afq-category-icon svg{width:24px;height:24px}
.afq-concept-modal .afq-category-button.is-selected{border-color:var(--afq-blue);background:linear-gradient(135deg,#0c61e4,#0752c9);color:#fff;box-shadow:0 7px 16px rgba(7,89,217,.18)}
.afq-concept-modal .afq-service-list{display:grid;gap:11px}
.afq-concept-modal .afq-service-card{display:grid;grid-template-columns:62px minmax(0,1fr) 28px;gap:14px;align-items:center;width:100%;min-height:94px;padding:14px 16px;border:1px solid #d8dfe8;border-radius:14px;background:#fff;color:#101828;text-align:left;box-shadow:0 3px 12px rgba(16,24,40,.045)}
.afq-concept-modal .afq-service-card.is-selected{border:2px solid var(--afq-blue);padding:13px 15px;background:linear-gradient(90deg,#f3f7ff,#fff);box-shadow:0 7px 18px rgba(7,89,217,.08)}
.afq-concept-modal .afq-service-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:13px;background:#eff5ff;color:var(--afq-blue)}
.afq-concept-modal .afq-service-icon svg{width:47px;height:47px}
.afq-concept-modal .afq-service-copy{min-width:0;max-width:100%;overflow:hidden}
.afq-concept-modal .afq-service-copy strong{display:block;max-width:100%;color:#101828;font-size:17px;line-height:1.15;font-weight:760;white-space:normal;overflow-wrap:anywhere}
.afq-concept-modal .afq-service-copy small{display:block;max-width:100%;margin-top:5px;color:#667085;font-size:13px;line-height:1.35;font-weight:430;white-space:normal;overflow-wrap:anywhere}
.afq-concept-modal .afq-radio-mark{display:block;width:25px;height:25px;border:2px solid #98a2b3;border-radius:999px;background:#fff}
.afq-concept-modal .afq-service-card.is-selected .afq-radio-mark{border:7px solid var(--afq-blue)}
.afq-concept-modal .afq-brake-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:-2px 0 4px 76px;padding:10px;border:1px solid #d8e3f3;border-radius:11px;background:#f7faff}
.afq-concept-modal .afq-brake-choice{min-height:44px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#344054;font-weight:650}
.afq-concept-modal .afq-brake-choice.is-selected{border-color:var(--afq-blue);background:var(--afq-blue);color:#fff}
.afq-concept-modal .afq-empty-state{padding:17px;border:1px dashed #cbd5e1;border-radius:11px;background:#fff;color:#667085;font-size:13px;text-align:center}

/* Parts / estimate */
.afq-concept-modal .afq-parts-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border:1px solid #d8dfe8;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.04)}
.afq-concept-modal .afq-parts-icon{display:grid;place-items:center;width:54px;height:54px;color:#172b4d}
.afq-concept-modal .afq-parts-icon svg{width:48px;height:48px}
.afq-concept-modal .afq-segmented{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.afq-concept-modal .afq-segmented button{min-height:48px;border:1px solid #d0d7e2;border-radius:9px;background:#fff;color:#101828;font-size:15px;font-weight:720}
.afq-concept-modal .afq-segmented button.is-selected{border-color:var(--afq-blue);background:linear-gradient(135deg,#0b61e4,#0752c9);color:#fff}
.afq-concept-modal .afq-parts-controls p{margin:8px 0 0;color:#667085;font-size:12px}
.afq-concept-modal .afq-warning-card{margin-top:9px;padding:10px 12px;border:1px solid #fedf89;border-radius:9px;background:#fffaeb;color:#934c00;font-size:12px;font-weight:620}
.afq-concept-modal .afq-estimate-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:17px;padding:17px;border:1px solid #d8dfe8;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.04)}
.afq-concept-modal .afq-estimate-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:999px;background:var(--afq-blue);color:#fff}
.afq-concept-modal .afq-estimate-icon svg{width:42px;height:42px}
.afq-concept-modal .afq-estimate-details>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.35fr);gap:12px;padding:3px 0;font-size:13px}
.afq-concept-modal .afq-estimate-details span{color:#475467}
.afq-concept-modal .afq-estimate-details strong{min-width:0;color:#101828;font-weight:650;text-align:right;overflow-wrap:anywhere}
.afq-concept-modal .afq-estimate-details hr{height:1px;margin:8px 0;border:0;background:#e3e8ef}
.afq-concept-modal .afq-estimate-details .afq-labor-row{align-items:center}
.afq-concept-modal .afq-estimate-details .afq-labor-row>strong:first-child{text-align:left;font-size:14px}
.afq-concept-modal .afq-estimate-details .afq-labor-row>strong:last-child{color:var(--afq-blue);font-size:24px;font-weight:820}
.afq-concept-modal .afq-estimate-details p{margin:6px 0 0;color:#667085;font-size:11.5px}
.afq-concept-modal .afq-history-card{display:grid;grid-template-columns:1fr 1px 1.4fr 1px 1fr 22px;gap:8px;align-items:stretch;min-height:58px;margin-top:10px;padding:10px 12px;border:1px solid #dfe5ec;border-radius:11px;background:#fff}
.afq-concept-modal .afq-history-card>div{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;align-content:center;align-items:start}
.afq-concept-modal .afq-history-card>div>span{grid-row:1/3;display:grid;place-items:center;width:19px;height:19px;border-radius:999px;background:var(--afq-success);color:#fff;font-size:11px}
.afq-concept-modal .afq-history-card strong{min-width:0;font-size:12.25px;line-height:1.22;font-weight:720;overflow-wrap:anywhere}
.afq-concept-modal .afq-history-card>div{position:relative}
.afq-concept-modal .afq-history-card button{position:absolute;z-index:2;inset:0;width:100%;height:100%;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:transparent;font-size:0;line-height:1;cursor:pointer}
.afq-concept-modal .afq-history-card button>span{position:absolute;left:26px;bottom:0;color:var(--afq-blue);font-size:11.5px;line-height:1.2}
.afq-concept-modal .afq-history-card button:focus-visible{outline:2px solid var(--afq-blue);outline-offset:2px;border-radius:6px}
.afq-concept-modal .afq-history-card>i{width:1px;background:#d9e0e8}
.afq-concept-modal .afq-history-chevron{display:grid;place-items:center;align-self:center;width:22px;height:22px;color:#172b4d}.afq-concept-modal .afq-history-chevron svg{display:block;width:18px;height:18px}

/* Appointment / review */
.afq-concept-modal .afq-appointment-card,.afq-concept-modal .afq-review-card,.afq-concept-modal .afq-verification-card,.afq-concept-modal .afq-turnstile-card{border:1px solid #d9e0e8;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.035)}
.afq-concept-modal .afq-appointment-card{padding:16px}
.afq-concept-modal .afq-card-title{display:grid;grid-template-columns:43px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:13px}
.afq-concept-modal .afq-card-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eef5ff;color:var(--afq-blue)}
.afq-concept-modal .afq-card-title svg{width:29px;height:29px}
.afq-concept-modal .afq-card-title strong{display:block;font-size:15px}
.afq-concept-modal .afq-card-title small{display:block;margin-top:2px;color:#667085;font-size:11.5px}
.afq-concept-modal .afq-selected-appointment{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:center;margin-top:12px;padding:10px;border:1px solid #b7e6cd;border-radius:9px;background:#f0fbf5}
.afq-concept-modal .afq-selected-appointment>span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--afq-success);color:#fff;font-size:12px}
.afq-concept-modal .afq-selected-appointment strong{display:block;font-size:12px}.afq-concept-modal .afq-selected-appointment small{display:block;margin-top:2px;color:#527060;font-size:11px}
.afq-concept-modal .afq-selected-appointment.appointment-unavailable{border-color:#f0b9b9;background:#fff4f4}
.afq-concept-modal .afq-selected-appointment.appointment-unavailable>span{background:#c73535}
.afq-concept-modal .afq-selected-appointment.appointment-unavailable small{color:#8e3c3c}
.afq-concept-modal .afq-review-title{margin:18px 0 9px;font-size:15px}
.afq-concept-modal .afq-review-card{overflow:hidden}
.afq-concept-modal .afq-review-row{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12px;padding:9px 12px;border-bottom:1px solid #eef1f5;font-size:12px}
.afq-concept-modal .afq-review-row:last-child{border-bottom:0}.afq-concept-modal .afq-review-row span{min-width:0;color:#667085;overflow-wrap:anywhere}.afq-concept-modal .afq-review-row strong{min-width:0;text-align:right;overflow-wrap:anywhere}
.afq-concept-modal .afq-verification-card{scroll-margin-block:14px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:8px;padding:11px}
.afq-concept-modal .afq-verification-card strong{display:block;font-size:13px}.afq-concept-modal .afq-verification-card small{display:block;margin-top:2px;color:#667085;font-size:11.5px}
.afq-concept-modal .afq-otp-controls{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.afq-concept-modal .afq-otp-entry{display:flex;gap:7px;align-items:center}
.afq-concept-modal .afq-otp-entry input{width:108px;height:40px;padding:0 10px;border:1px solid #cfd7e3;border-radius:8px;font-size:16px;letter-spacing:.12em;text-align:center}
.afq-concept-modal .afq-secondary-button,.afq-concept-modal .afq-primary-small{min-height:40px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:700}
.afq-concept-modal .afq-secondary-button{border:1px solid #cbd5e1;background:#fff;color:#344054}.afq-concept-modal .afq-primary-small{border:1px solid var(--afq-blue);background:var(--afq-blue);color:#fff}
.afq-concept-modal .afq-verified-badge{padding:7px 9px;border-radius:999px;background:#eaf9f0;color:#08783f;font-size:11px;font-weight:750}
.afq-concept-modal .afq-turnstile-card{margin-top:8px;padding:11px}.afq-concept-modal .afq-turnstile-card>strong{display:block;margin-bottom:9px;font-size:13px}.afq-concept-modal [data-turnstile-status]{margin-bottom:5px;color:#08783f;font-size:11.5px}.afq-concept-modal .afq-turnstile-card [data-action="retry-turnstile"]{margin-top:9px}
.afq-concept-modal .afq-no-payment{margin-top:12px;padding:10px 12px;border-radius:9px;background:#f6f8fb;color:#667085;font-size:11.5px;text-align:center}

/* Compact, ordered Step 5 */
.afq-concept-modal .afq-step-five-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(330px,1.04fr);gap:14px;align-items:start}
.afq-concept-modal .afq-step-five-grid.is-review-only{grid-template-columns:minmax(0,1fr)}
.afq-concept-modal .afq-review-column,.afq-concept-modal .afq-security-flow{min-width:0}
.afq-concept-modal .afq-review-glance{display:grid;gap:0;margin-top:10px;overflow:hidden;border:1px solid #d9e0e8;border-radius:11px;background:#fff}
.afq-concept-modal .afq-review-glance>div{display:grid;grid-template-columns:34% minmax(0,1fr);gap:9px;padding:8px 10px;border-bottom:1px solid #eef1f5;font-size:11.5px}
.afq-concept-modal .afq-review-glance>div:last-child{border-bottom:0}.afq-concept-modal .afq-review-glance span{color:#667085}.afq-concept-modal .afq-review-glance strong{text-align:right;overflow-wrap:anywhere}
.afq-concept-modal .afq-review-details{margin-top:10px;border:1px solid #d9e0e8;border-radius:11px;background:#fff;overflow:hidden}
.afq-concept-modal .afq-review-details>summary{min-height:44px;padding:12px 13px;color:var(--afq-blue);font-size:12px;font-weight:760;cursor:pointer;list-style-position:inside}
.afq-concept-modal .afq-review-details[open]>summary{border-bottom:1px solid #eef1f5}.afq-concept-modal .afq-review-details .afq-review-card{border:0;border-radius:0;box-shadow:none}
.afq-concept-modal .afq-security-flow{padding:13px;border:1px solid #dce3ec;border-radius:13px;background:#f7faff}
.afq-concept-modal .afq-security-flow-heading h3{margin:0;font-size:17px}.afq-concept-modal .afq-security-flow-heading p{margin:3px 0 0;color:#667085;font-size:11.5px}
.afq-concept-modal .afq-verification-progress{display:grid;grid-template-columns:auto minmax(24px,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:8px 9px;border:1px solid #dce4ee;border-radius:10px;background:#fff}
.afq-concept-modal .afq-verification-progress>div{display:flex;align-items:center;gap:6px;color:#667085;font-size:11px;white-space:nowrap}
.afq-concept-modal .afq-verification-progress>div>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cfd8e5;border-radius:999px;background:#fff;color:#667085;font-weight:800}
.afq-concept-modal .afq-verification-progress>i{height:1px;background:#d5deea}
.afq-concept-modal .afq-verification-progress>div.is-active{color:#17365f}.afq-concept-modal .afq-verification-progress>div.is-active>span{border-color:var(--afq-blue);background:var(--afq-blue);color:#fff}
.afq-concept-modal .afq-verification-progress>div.is-complete{color:#08783f}.afq-concept-modal .afq-verification-progress>div.is-complete>span{border-color:#8fe0b5;background:#eaf9f0;color:#08783f}
.afq-concept-modal .afq-verification-progress.is-single{grid-template-columns:auto;justify-content:start}
.afq-concept-modal .afq-security-flow .afq-turnstile-card,.afq-concept-modal .afq-security-flow .afq-verification-card{margin-top:10px}
.afq-concept-modal .afq-security-flow .afq-verification-card{grid-template-columns:1fr;padding:12px}
.afq-concept-modal .afq-security-flow .afq-otp-controls{display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%;justify-content:stretch}
.afq-concept-modal .afq-security-flow .afq-otp-controls>[data-action="send-otp"]{justify-self:start;max-width:100%}
.afq-concept-modal .afq-security-flow .afq-otp-entry{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;max-width:100%;gap:8px}
.afq-concept-modal .afq-security-flow .afq-otp-entry input{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:48px;min-height:48px;padding-inline:10px;font-size:18px;line-height:1;letter-spacing:.14em}
.afq-concept-modal .afq-security-flow .afq-otp-entry .afq-primary-small{width:auto;min-width:86px;max-width:100%;white-space:nowrap;justify-self:end}
.afq-concept-modal .afq-security-flow .afq-primary-small,.afq-concept-modal .afq-security-flow .afq-secondary-button{min-height:48px;padding-inline:14px;font-size:13px}
.afq-concept-modal .afq-security-flow .afq-verified-badge{justify-self:start}
.afq-concept-modal .afq-security-flow .afq-no-payment{margin-top:10px}

/* Footer */
.afq-concept-modal .afq-app-footer{position:relative;z-index:2;min-height:80px;padding:5px 18px 9px;background:#fff;border-top:1px solid #e4e8ee;box-shadow:0 -8px 22px rgba(16,24,40,.04)}
.afq-concept-modal .afq-footer-message{height:auto;min-height:20px;max-height:54px;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;color:#b42318;font-size:11px;line-height:16px;text-align:center;white-space:normal;overflow-wrap:anywhere}
.afq-concept-modal .afq-footer-message.is-success{color:#08783f}.afq-concept-modal .afq-footer-message.is-info{color:#475467}
.afq-concept-modal .afq-footer-message:empty{display:none!important;min-height:0!important}

.afq-concept-modal .afq-footer-actions{display:grid;grid-template-columns:minmax(118px,.8fr) minmax(0,1.7fr);gap:10px;max-width:772px;margin:0 auto}
.afq-concept-modal .afq-back-button,.afq-concept-modal .afq-continue-button,.afq-concept-modal .afq-primary-button{min-height:50px;border-radius:11px;font-size:14.5px;font-weight:760}
.afq-concept-modal .afq-back-button{border:2px solid var(--afq-blue);background:#fff;color:var(--afq-blue)}
.afq-concept-modal .afq-continue-button,.afq-concept-modal .afq-primary-button{border:2px solid var(--afq-blue);background:var(--afq-blue);color:#fff;box-shadow:0 7px 18px rgba(7,89,217,.16)}
.afq-concept-modal .afq-back-button:disabled,.afq-concept-modal .afq-continue-button:disabled{opacity:.45;cursor:not-allowed}
.afq-concept-modal .afq-primary-button:disabled,.afq-concept-modal .afq-primary-small:disabled,.afq-concept-modal .afq-secondary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* Confirmation/help */
.afq-concept-modal .afq-confirmation-card{max-width:600px;margin:40px auto;padding:28px;border:1px solid #d9e0e8;border-radius:16px;background:#fff;text-align:center;box-shadow:0 8px 28px rgba(16,24,40,.06)}
.afq-concept-modal .afq-confirm-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:999px;background:#e9f9f0;color:#0b8f4c;font-size:28px;font-weight:800}.afq-concept-modal .afq-confirmation-card h2{margin-bottom:7px}.afq-concept-modal .afq-confirmation-card p{color:#667085}.afq-concept-modal .afq-confirmation-card .afq-review-card{margin:18px 0}.afq-concept-modal .afq-confirmation-card .afq-primary-button{width:100%}
.afq-concept-modal .afq-help-panel{position:absolute;z-index:5;top:80px;right:18px;width:min(330px,calc(100% - 36px));padding:16px 17px;border:1px solid #dce3ec;border-radius:13px;background:#fff;box-shadow:0 18px 50px rgba(16,24,40,.2)}
.afq-concept-modal .afq-help-panel>button{position:absolute;top:1px;right:1px;width:44px;height:44px;border:0;background:transparent;color:#667085;font-size:22px}.afq-concept-modal .afq-help-panel h3{margin:0 44px 7px 0;font-size:16px}.afq-concept-modal .afq-help-panel p{margin:0;color:#667085;font-size:12px;line-height:1.5}

@media (hover:hover){
  .afq-concept-modal .afq-category-button:hover,.afq-concept-modal .afq-service-card:hover,.afq-concept-modal .afq-date-button:hover,.afq-concept-modal .afq-time-button:hover{border-color:#8bb5ef;background:#f8fbff}
  .afq-concept-modal .afq-back-button:hover{background:#f3f7ff}
}


/* Final commercial polish: make the first step feel intentionally composed, not empty. */
@media (min-width:768px) and (min-height:721px){
  .afq-concept-modal .afq-step-page[data-step-page="1"]{min-height:100%;display:grid;align-items:center}
}
.afq-concept-modal .afq-app-footer[data-step="1"] .afq-footer-actions{grid-template-columns:1fr}
.afq-concept-modal .afq-app-footer[data-step="1"] .afq-back-button{display:none!important}

/* Keep theme/browser hover transitions from repainting blue actions as white. */
.afq-concept-modal .afq-continue-button,.afq-concept-modal .afq-primary-button,.afq-concept-modal .afq-primary-small,.afq-concept-modal .afq-category-button.is-selected,.afq-concept-modal .afq-segmented button.is-selected,.afq-concept-modal .afq-brake-choice.is-selected{-webkit-appearance:none!important;appearance:none!important;border-color:var(--afq-blue)!important;background:var(--afq-blue)!important;background-image:none!important;color:#fff!important;filter:none!important;transition:none!important}
.afq-concept-modal .afq-continue-button:hover,.afq-concept-modal .afq-primary-button:hover,.afq-concept-modal .afq-primary-small:hover,.afq-concept-modal .afq-category-button.is-selected:hover,.afq-concept-modal .afq-segmented button.is-selected:hover,.afq-concept-modal .afq-brake-choice.is-selected:hover{border-color:var(--afq-blue-dark)!important;background:var(--afq-blue-dark)!important;background-image:none!important;color:#fff!important}
.afq-concept-modal .afq-continue-button:focus,.afq-concept-modal .afq-continue-button:focus-visible,.afq-concept-modal .afq-primary-button:focus,.afq-concept-modal .afq-primary-button:focus-visible,.afq-concept-modal .afq-primary-small:focus,.afq-concept-modal .afq-primary-small:focus-visible,.afq-concept-modal .afq-category-button.is-selected:focus,.afq-concept-modal .afq-category-button.is-selected:focus-visible,.afq-concept-modal .afq-segmented button.is-selected:focus,.afq-concept-modal .afq-segmented button.is-selected:focus-visible,.afq-concept-modal .afq-brake-choice.is-selected:focus,.afq-concept-modal .afq-brake-choice.is-selected:focus-visible{border-color:var(--afq-blue-dark)!important;background:var(--afq-blue)!important;background-image:none!important;color:#fff!important}
.afq-concept-modal .afq-continue-button:active,.afq-concept-modal .afq-primary-button:active,.afq-concept-modal .afq-primary-small:active,.afq-concept-modal .afq-category-button.is-selected:active,.afq-concept-modal .afq-segmented button.is-selected:active,.afq-concept-modal .afq-brake-choice.is-selected:active{border-color:var(--afq-blue-active)!important;background:var(--afq-blue-active)!important;background-image:none!important;color:#fff!important}

@media (min-width:768px) and (max-width:1100px){
  .afq-concept-modal{padding:22px!important}
  .afq-concept-modal .afq-modal-dialog{width:calc(100vw - 44px);width:min(720px,calc(100vw - 44px));height:calc(100vh - 44px);height:min(740px,calc(100vh - 44px));height:min(740px,calc(100svh - 44px));height:min(740px,calc(100dvh - 44px));max-width:720px;max-height:740px;border-radius:19px}
  .afq-concept-modal .afq-app-header{border-radius:19px 19px 0 0}
  .afq-concept-modal .afq-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
}


@media (max-width:767px){
  .afq-concept-modal{padding:0!important;place-items:stretch!important;background:#fff}
  .afq-concept-modal>.afq-modal-backdrop{display:none}
  .afq-concept-modal .afq-modal-dialog{width:100%;max-width:none;height:100vh;height:-webkit-fill-available;height:100svh;height:100dvh;max-height:none;min-height:0;border:0;border-radius:0;box-shadow:none;contain:layout paint}
  .afq-concept-modal .afq-app-header{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:6px;min-height:78px;padding:10px 13px calc(10px + env(safe-area-inset-top,0px));border-radius:0;position:relative;z-index:4}
  .afq-concept-modal .afq-close-button{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .afq-concept-modal .afq-brand-icon{width:42px;height:42px}.afq-concept-modal .afq-brand-icon svg{width:39px;height:39px}.afq-concept-modal .afq-brand-copy h1{font-size:20px}.afq-concept-modal .afq-brand-copy p{margin-top:3px;font-size:12.5px}.afq-concept-modal .afq-icon-button{width:44px;height:44px;min-width:44px;min-height:44px;font-size:18px}.afq-concept-modal .afq-close-button{font-size:0;line-height:0}.afq-concept-modal .afq-close-button svg{width:17px;height:17px}
  .afq-concept-modal .afq-stepper{min-height:70px;padding:10px 11px 8px;grid-template-columns:auto minmax(9px,1fr) auto minmax(9px,1fr) auto minmax(9px,1fr) auto minmax(9px,1fr) auto}.afq-concept-modal .afq-step{min-width:48px;gap:3px;font-size:9.5px}.afq-concept-modal .afq-step-dot{width:29px;height:29px;font-size:12px}.afq-concept-modal .afq-step-line{margin-top:14px}
  .afq-concept-modal .afq-content-scroll{padding:14px 14px 22px;scroll-padding-block:10px 20px;scrollbar-gutter:auto}.afq-concept-modal .afq-panel-narrow{margin:8px auto}.afq-concept-modal .afq-section-heading{grid-template-columns:40px minmax(0,1fr);gap:9px;margin-bottom:12px}.afq-concept-modal .afq-heading-icon{width:38px;height:38px;border-radius:11px}.afq-concept-modal .afq-heading-icon svg{width:27px;height:27px}.afq-concept-modal .afq-section-heading h2{font-size:19px}.afq-concept-modal .afq-section-heading p{font-size:12.5px}.afq-concept-modal .afq-flow-section{margin-bottom:20px}.afq-concept-modal .afq-flow-section>h2,.afq-concept-modal .afq-flow-smart-head>h2{font-size:17px;margin-bottom:9px}
  /* Keep completed Step 3 sections visible on phones, matching the approved compact workflow reference. */
  .afq-concept-modal .afq-service-page .afq-smart-section.is-complete:not(.is-active){margin-bottom:20px;padding:0;border:0;border-radius:0;background:transparent}
  .afq-concept-modal .afq-service-page .afq-smart-section.is-complete:not(.is-active)>.afq-flow-smart-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .afq-concept-modal .afq-service-page .afq-smart-section.is-complete:not(.is-active)>.afq-flow-smart-head>h2{margin:0 0 9px;color:#111827;font-size:17px;font-weight:760;text-transform:none;letter-spacing:-.01em}
  .afq-concept-modal .afq-service-page .afq-smart-section.is-complete:not(.is-active)>.afq-flow-smart-head>.afq-smart-choice{display:none!important}
  .afq-concept-modal .afq-service-page .afq-smart-section.is-complete:not(.is-active)>.afq-smart-body{display:block!important}
  .afq-concept-modal .afq-service-page .afq-smart-section.is-active{scroll-margin-top:4px}
  .afq-concept-modal .afq-field-grid.afq-two,.afq-concept-modal .afq-field-grid.afq-three{grid-template-columns:1fr;gap:9px}.afq-concept-modal .afq-field input,.afq-concept-modal .afq-field select{height:46px;min-height:46px;font-size:16px}.afq-concept-modal .afq-field-error{min-height:12px;font-size:10.5px}
  /* Step 2: compact the phone layout without shrinking touch targets below 44px. */
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-context-card{margin-bottom:12px;padding:8px 10px}
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-context-card button{min-height:44px;padding:8px 9px}
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-vehicle-card{padding:13px 14px;border-radius:13px}
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-field label{margin-bottom:5px}
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-selection-card{min-height:64px;margin-top:10px;padding:9px 11px}
  .afq-concept-modal .afq-step-page[data-step-page="2"] .afq-selection-icon{width:36px;height:36px;border-radius:10px}.afq-concept-modal .afq-step-page[data-step-page="2"] .afq-selection-icon svg{width:27px;height:27px}
  /* Step 3: two-column phone categories for larger labels and reliable touch targets. */
  .afq-concept-modal .afq-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .afq-concept-modal .afq-category-button{min-width:0;min-height:50px;padding:7px 10px;gap:7px;border-radius:10px;font-size:11.5px;line-height:1.15;font-weight:680;white-space:normal;overflow:visible;text-align:center;justify-content:center}
  .afq-concept-modal .afq-category-icon{width:19px;height:19px;flex:0 0 19px}.afq-concept-modal .afq-category-icon svg{width:19px;height:19px}
  .afq-concept-modal .afq-category-button>span:last-child{min-width:0;overflow-wrap:anywhere}
  .afq-concept-modal .afq-service-card{grid-template-columns:52px minmax(0,1fr) 24px;gap:10px;min-height:94px;padding:12px}.afq-concept-modal .afq-service-card.is-selected{padding:11px}.afq-concept-modal .afq-service-icon{width:42px;height:42px;border-radius:0;background:transparent}.afq-concept-modal .afq-service-icon svg{width:41px;height:41px}.afq-concept-modal .afq-service-copy strong{font-size:15px}.afq-concept-modal .afq-service-copy small{font-size:11.5px}.afq-concept-modal .afq-radio-mark{width:22px;height:22px}.afq-concept-modal .afq-brake-options{margin-left:0;grid-template-columns:repeat(3,minmax(0,1fr))}
  .afq-concept-modal .afq-parts-card{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px}.afq-concept-modal .afq-parts-icon{width:45px;height:45px}.afq-concept-modal .afq-parts-icon svg{width:41px;height:41px}.afq-concept-modal .afq-segmented button{min-height:46px;font-size:14px}
  .afq-concept-modal .afq-estimate-card{grid-template-columns:58px minmax(0,1fr);gap:11px;padding:13px}.afq-concept-modal .afq-estimate-icon{width:54px;height:54px}.afq-concept-modal .afq-estimate-icon svg{width:31px;height:31px}.afq-concept-modal .afq-estimate-details>div{grid-template-columns:39% minmax(0,1fr);gap:8px;font-size:11.5px}.afq-concept-modal .afq-estimate-details .afq-labor-row>strong:last-child{font-size:21px}.afq-concept-modal .afq-history-card{grid-template-columns:1fr 1px 1.42fr 1px 1fr 20px;gap:6px;min-height:60px;padding:10px 9px}.afq-concept-modal .afq-history-card>div{grid-template-columns:19px minmax(0,1fr);column-gap:5px;align-content:center}.afq-concept-modal .afq-history-card>div>span{width:18px;height:18px;font-size:10px}.afq-concept-modal .afq-history-card strong{font-size:11.25px;line-height:1.2}.afq-concept-modal .afq-history-card button>span{font-size:10.75px;line-height:1.2}
  .afq-concept-modal .afq-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.afq-concept-modal .afq-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.afq-concept-modal .afq-step-five-grid{grid-template-columns:1fr;gap:12px}.afq-concept-modal .afq-review-row{grid-template-columns:39% minmax(0,1fr);gap:8px;padding:9px 10px;font-size:11.5px}.afq-concept-modal .afq-security-flow{padding:12px}.afq-concept-modal .afq-verification-card{grid-template-columns:1fr;padding:12px}.afq-concept-modal .afq-otp-controls,.afq-concept-modal .afq-otp-entry{width:100%;min-width:0;max-width:100%}.afq-concept-modal .afq-otp-entry input{width:100%;min-width:0;max-width:100%}.afq-concept-modal .afq-verified-badge{justify-self:start}
  .afq-concept-modal .afq-app-footer{min-height:72px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}.afq-concept-modal .afq-footer-message{min-height:18px;max-height:48px;font-size:10px;line-height:15px}.afq-concept-modal .afq-footer-actions{grid-template-columns:minmax(94px,.82fr) minmax(0,1.55fr);gap:8px}.afq-concept-modal .afq-back-button,.afq-concept-modal .afq-continue-button{min-height:49px;border-radius:9px;font-size:13.5px}.afq-concept-modal .afq-help-panel{top:72px;right:10px;width:calc(100% - 20px)}
}

/* v10.1.12 mobile viewport + focus-scroll safety.
 *
 * IMPORTANT: the dialog itself stays on CSS 100dvh/100svh sizing. We do not
 * assign visualViewport.height to the dialog. Edge Android can report a much
 * shorter VisualViewport while its keyboard/autofill accessory is open; using
 * that value for modal height caused the half-screen dialog and white gap.
 *
 * While an editable control is focused, the footer is temporarily collapsed
 * so the form gets more usable height. Extra scroll room exists only during
 * that focus session, then disappears as soon as the keyboard/input focus ends.
 */
@media (max-width:767px){
  .afq-concept-modal .afq-modal-dialog{
    transform:none!important;
  }

  /* Normal phone flow: no persistent keyboard spacer. */
  .afq-concept-modal .afq-step-page[data-step-page="2"]{padding-bottom:40px}
  .afq-concept-modal .afq-step-page[data-step-page="3"]{padding-bottom:4px}
  .afq-concept-modal .afq-step-page[data-step-page="4"],
  .afq-concept-modal .afq-step-page[data-step-page="5"]{padding-bottom:24px}

  .afq-concept-modal .afq-service-page[data-smart-phase="estimate"]{display:block;min-height:0}
  .afq-concept-modal .afq-service-page[data-smart-phase="estimate"] .afq-estimate-section{margin-top:0;padding-top:0}
  .afq-concept-modal .afq-step-page[data-step-page="3"] .afq-smart-section{scroll-margin-block:10px 24px}

  /*
   * Focus/keyboard session. The footer comes back immediately after Done/blur.
   * This keeps Exit/header visible without sacrificing another 72px to buttons
   * that cannot be used while the software keyboard is covering the lower area.
   */
  .afq-concept-modal.afq-mobile-input-active .afq-app-footer{display:none!important}
  .afq-concept-modal.afq-mobile-input-active .afq-step-page[data-step-page="4"],
  .afq-concept-modal.afq-mobile-input-active .afq-step-page[data-step-page="5"]{
    padding-bottom:max(220px,44dvh)
  }
  .afq-concept-modal.afq-mobile-input-active .afq-content-scroll{
    scroll-padding-top:14px;
    scroll-padding-bottom:max(220px,44dvh)
  }

  .afq-concept-modal .afq-step-page[data-step-page="4"] .afq-field,
  .afq-concept-modal .afq-step-page[data-step-page="5"] .afq-verification-card,
  .afq-concept-modal .afq-step-page[data-step-page="5"] .afq-turnstile-card{scroll-margin-block:14px 28px}

  /*
   * One deliberate focus treatment only. This prevents the Edge appearance of
   * border + browser outline + CSS ring stacking into a thick blue rectangle.
   */
  .afq-concept-modal .afq-field input,
  .afq-concept-modal .afq-field select,
  .afq-concept-modal .afq-otp-entry input{
    -webkit-tap-highlight-color:transparent;
  }
  .afq-concept-modal .afq-otp-entry input:focus,
  .afq-concept-modal .afq-otp-entry input:focus-visible{
    outline:none!important;
    border-color:var(--afq-blue)!important;
    box-shadow:0 0 0 2px rgba(7,89,217,.14)!important;
  }
}

@media (max-width:420px){
  /* Step 3 selection strip: compact, readable, and balanced; remove empty area rather than oversized type. */
  .afq-concept-modal .afq-history-card{grid-template-columns:.95fr 1px 1.38fr 1px .95fr 18px;gap:5px;min-height:60px;padding:9px 7px}
  .afq-concept-modal .afq-history-card>div{grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto;column-gap:5px;align-content:center;align-items:start}
  .afq-concept-modal .afq-history-card>div>span{grid-row:1/3;width:17px;height:17px;font-size:9px}
  .afq-concept-modal .afq-history-card strong{font-size:10.75px;line-height:1.18}
  .afq-concept-modal .afq-history-card button>span{left:22px;font-size:10.25px;line-height:1.18}
  .afq-concept-modal .afq-history-chevron{width:18px;height:18px}.afq-concept-modal .afq-history-chevron svg{width:16px;height:16px}
  .afq-concept-modal .afq-verification-progress{gap:5px;padding-inline:8px}
  .afq-concept-modal .afq-verification-progress>div{gap:4px;font-size:10px}
  .afq-concept-modal .afq-verification-progress>div>span{width:23px;height:23px}
}

@media (max-width:360px){
  .afq-concept-modal .afq-step{min-width:42px;font-size:8.7px}.afq-concept-modal .afq-step-dot{width:27px;height:27px}.afq-concept-modal .afq-step-line{margin-top:13px}.afq-concept-modal .afq-content-scroll{padding-inline:11px}.afq-concept-modal .afq-footer-actions{grid-template-columns:88px minmax(0,1fr)}.afq-concept-modal .afq-back-button span{display:none}
  .afq-concept-modal .afq-history-card{grid-template-columns:.92fr 1px 1.36fr 1px .92fr 17px;gap:4px;min-height:60px;padding:9px 6px}.afq-concept-modal .afq-history-card>div{grid-template-columns:17px minmax(0,1fr);column-gap:4px}.afq-concept-modal .afq-history-card>div>span{width:16px;height:16px}.afq-concept-modal .afq-history-card strong{font-size:10.25px;line-height:1.18}.afq-concept-modal .afq-history-card button>span{left:21px;font-size:9.75px;line-height:1.18}
  /* Very small phones keep the same two-column category layout with slightly tighter spacing. */
  .afq-concept-modal .afq-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .afq-concept-modal .afq-category-button{min-height:48px;padding:6px 8px;gap:6px;font-size:11px;text-align:center;justify-content:center}
}

@media (min-width:768px) and (max-height:720px){
  .afq-concept-modal{padding:18px!important}
  .afq-concept-modal .afq-modal-dialog{height:calc(100vh - 36px);height:calc(100svh - 36px);height:calc(100dvh - 36px);max-height:none}
  .afq-concept-modal .afq-app-header{min-height:76px;padding-block:10px}
  .afq-concept-modal .afq-brand-icon{width:42px;height:42px}.afq-concept-modal .afq-brand-icon svg{width:39px;height:39px}.afq-concept-modal .afq-brand-copy h1{font-size:22px}.afq-concept-modal .afq-brand-copy p{font-size:13px}
  .afq-concept-modal .afq-stepper{min-height:68px;padding:9px 26px 8px}.afq-concept-modal .afq-step-dot{width:30px;height:30px;font-size:13px}.afq-concept-modal .afq-step-line{margin-top:14px}
  .afq-concept-modal .afq-content-scroll{padding-top:17px;padding-bottom:20px}
  .afq-concept-modal .afq-app-footer{min-height:78px;padding-top:4px;padding-bottom:8px}.afq-concept-modal .afq-back-button,.afq-concept-modal .afq-continue-button{min-height:46px}
}

@media (max-height:620px) and (orientation:landscape){
  .afq-concept-modal{padding:0!important}.afq-concept-modal .afq-modal-dialog{width:100%;max-width:none;height:100vh;height:-webkit-fill-available;height:100svh;height:100dvh;max-height:none;border-radius:0}.afq-concept-modal .afq-app-header{min-height:54px;padding:6px 12px}.afq-concept-modal .afq-brand-icon{width:32px;height:32px}.afq-concept-modal .afq-brand-icon svg{width:30px;height:30px}.afq-concept-modal .afq-brand-copy h1{font-size:17px}.afq-concept-modal .afq-brand-copy p{font-size:10.5px}.afq-concept-modal .afq-stepper{min-height:50px;padding:4px 10px}.afq-concept-modal .afq-step{font-size:8.5px}.afq-concept-modal .afq-step-dot{width:24px;height:24px;font-size:10px}.afq-concept-modal .afq-step-line{margin-top:11px}.afq-concept-modal .afq-content-scroll{padding-top:11px;padding-bottom:13px}.afq-concept-modal .afq-app-footer{min-height:68px;padding-top:3px;padding-bottom:4px}.afq-concept-modal .afq-footer-message{min-height:14px;max-height:36px;line-height:12px}.afq-concept-modal .afq-back-button,.afq-concept-modal .afq-continue-button{min-height:44px}
}


/* v10.1.5 adaptive desktop/tablet modal sizing test.
 * Desktop/tablet size from intrinsic step content; the viewport is only a safety cap.
 * No JavaScript height measurement is used. Mobile remains the controlled full-screen flow. */
@media (min-width:768px) and (min-height:621px){
  .afq-concept-modal{--afq-adaptive-modal-vgap:56px}
  .afq-concept-modal .afq-modal-dialog{
    display:flex;
    flex-direction:column;
    height:auto;
    max-height:calc(100vh - var(--afq-adaptive-modal-vgap));
    max-height:calc(100svh - var(--afq-adaptive-modal-vgap));
    max-height:calc(100dvh - var(--afq-adaptive-modal-vgap));
  }
  .afq-concept-modal .afq-modal-scroll,
  .afq-concept-modal [data-afq-app-root],
  .afq-concept-modal .afq-professional-shell{
    width:100%;
    height:auto;
    min-height:0;
  }
  .afq-concept-modal .afq-modal-scroll{display:flex;flex-direction:column;overflow:hidden!important}
  .afq-concept-modal [data-afq-app-root],
  .afq-concept-modal .afq-professional-shell{display:flex;flex-direction:column}
  .afq-concept-modal .afq-booking-app{
    display:flex;
    flex-direction:column;
    width:100%;
    height:auto;
    min-height:0;
    max-height:calc(100vh - var(--afq-adaptive-modal-vgap));
    max-height:calc(100svh - var(--afq-adaptive-modal-vgap));
    max-height:calc(100dvh - var(--afq-adaptive-modal-vgap));
  }
  .afq-concept-modal .afq-app-header,
  .afq-concept-modal .afq-stepper,
  .afq-concept-modal .afq-app-footer{flex:0 0 auto}
  .afq-concept-modal .afq-content-scroll{flex:0 1 auto;min-height:0;overflow-y:auto!important}
  /* The former fixed-shell Step 1 centering would intentionally create empty height. */
  .afq-concept-modal .afq-step-page[data-step-page="1"]{min-height:0;display:block;align-items:initial}
}
@media (min-width:768px) and (max-width:1100px) and (min-height:621px){
  .afq-concept-modal{--afq-adaptive-modal-vgap:44px}
}
@media (min-width:768px) and (min-height:621px) and (max-height:720px){
  .afq-concept-modal{--afq-adaptive-modal-vgap:36px}
}

@media (prefers-reduced-motion:reduce){.afq-concept-modal *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v10.1.8: real form owner for browser profile autofill; wrapper is layout-neutral. */
.afq-concept-modal .afq-customer-form{display:block;margin:0;padding:0;border:0;min-width:0}
/* v10.1.31 — keep the confirmed status readable across QuickCal layouts.
 * The label intentionally does not reuse QuickCal's breakpoint-dependent
 * .button-timeslot or .button-text classes. */
html body .booked-calendar-wrap .afqcv-slot-booked,
html body .booked-calendar .afqcv-slot-booked {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-width: 92px !important;
  min-height: 40px !important;
  padding: 8px 14px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: none !important;
  cursor: default !important;
}

html body .booked-calendar-wrap .afqcv-slot-booked .afqcv-booked-label,
html body .booked-calendar .afqcv-slot-booked .afqcv-booked-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}
