/**
 * AutoFiix v9.9.64 — Confirmation Parts Finder Polish
 * One presentation layer. No builder geometry, scaling, sticky mobile header,
 * or viewport transforms.
 */


/* Site-wide estimator trigger. Scoped to one explicit class so themes and
 * page builders keep control of every other link and button. */
html body a.af-estimator-trigger,
html body button.af-estimator-trigger {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:100%!important;
  min-height:52px!important;
  padding:14px 26px!important;
  border:1px solid #8f1b13!important;
  border-radius:10px!important;
  background:#b42318!important;
  color:#fff!important;
  box-sizing:border-box!important;
  box-shadow:0 5px 14px rgba(180,35,24,.20)!important;
  font:750 17px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  text-align:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html body a.af-estimator-trigger:hover,
html body button.af-estimator-trigger:hover {
  border-color:#741b13!important;
  background:#8f1b13!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(143,27,19,.24)!important;
  transform:translateY(-1px)!important;
}
html body a.af-estimator-trigger:focus-visible,
html body button.af-estimator-trigger:focus-visible {
  outline:3px solid rgba(180,35,24,.28)!important;
  outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce) {
  html body a.af-estimator-trigger,
  html body button.af-estimator-trigger { transition:none!important; }
  html body a.af-estimator-trigger:hover,
  html body button.af-estimator-trigger:hover { transform:none!important; }
}

html body #af-modal#af-modal,
html body #af-modal#af-modal * { box-sizing:border-box; }

html body #af-modal#af-modal {
  --af-accent:#b42318;
  --af-accent-dark:#8f1b13;
  --af-accent-soft:#fff1f0;
  --af-ink:#111827;
  --af-copy:#1f2937;
  --af-muted:#374151;
  --af-line:#d0d5dd;
  --af-line-dark:#98a2b3;
  --af-page:#f2f4f7;
  --af-surface:#fff;
  --af-soft:#f7f8fa;
  --af-success:#16875b;
  --af-success-soft:#eaf8f2;
  --af-danger:#c9342f;
  --af-danger-soft:#fff0ef;
  --af-focus:#b42318;
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:none;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  overflow:hidden!important;
  background:rgba(32,39,48,.64)!important;
  color:var(--af-ink)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.45!important;
  -webkit-font-smoothing:auto;
  text-rendering:optimizeLegibility;
}
html body #af-modal#af-modal[style*="display: flex"],
html body #af-modal#af-modal[style*="display:flex"] { display:flex!important; }

html body #af-modal#af-modal .af-modal-content,
html body #af-modal#af-modal .af-body,
html body #af-modal#af-modal .af-service-scroll,
html body #af-modal#af-modal .af-book-panel {
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
html body #af-modal#af-modal :where(.af-price,.af-calc-range,.af-action-summary-value,.af-booking-context-price) {
  text-shadow:0 1px 0 rgba(255,255,255,.08);
}
@media(prefers-reduced-motion:reduce) {
  html body #af-modal#af-modal .af-modal-content,
  html body #af-modal#af-modal .af-body,
  html body #af-modal#af-modal .af-service-scroll,
  html body #af-modal#af-modal .af-book-panel { scroll-behavior:auto!important; }
}

html body #af-modal#af-modal .af-modal-frame {
  width:min(800px,calc(100vw - 48px))!important;
  max-width:min(800px,calc(100vw - 48px))!important;
  height:min(710px,calc(100vh - 48px))!important;
  max-height:min(710px,calc(100vh - 48px))!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  zoom:1!important;
}
@supports(height:100dvh) {
  html body #af-modal#af-modal .af-modal-frame {
    height:min(710px,calc(100dvh - 48px))!important;
    max-height:min(710px,calc(100dvh - 48px))!important;
  }
}
html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
  width:min(840px,calc(100vw - 48px))!important;
  max-width:min(840px,calc(100vw - 48px))!important;
}

html body #af-modal#af-modal .af-modal-container {
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  border:1px solid #bfc6cf!important;
  border-radius:5px!important;
  background:var(--af-surface)!important;
  box-shadow:0 18px 48px rgba(24,31,40,.28),0 3px 10px rgba(24,31,40,.16)!important;
  transform:none!important;
  zoom:1!important;
}

/* Compact modal identity bar */
html body #af-modal#af-modal .af-modal-toolbar {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:46px!important;
  padding:7px 10px 7px 14px!important;
  flex:0 0 auto!important;
  border:0!important;
  border-bottom:1px solid var(--af-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-modal-info {
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-modal-info-icon {
  display:grid!important;
  place-items:center!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:3px!important;
  background:var(--af-accent)!important;
  color:#fff!important;
  font-size:0!important;
  font-weight:800!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-modal-info-icon:after {
  content:"AF";
  font-size:10px;
  letter-spacing:-.2px;
}
html body #af-modal#af-modal .af-modal-info-copy {
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-modal-kicker {
  overflow:hidden!important;
  color:var(--af-ink)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  text-overflow:ellipsis!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
html body #af-modal#af-modal .af-modal-helper {
  overflow:hidden!important;
  color:var(--af-muted)!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.25!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body #af-modal#af-modal .af-modal-close {
  display:inline-grid!important;
  place-items:center!important;
  min-width:34px!important;
  width:auto!important;
  min-height:32px!important;
  padding:5px 9px!important;
  flex:0 0 auto!important;
  border:1px solid var(--af-line)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#374151!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-modal-close:hover {
  border-color:var(--af-accent)!important;
  background:var(--af-accent-soft)!important;
  color:var(--af-accent-dark)!important;
}

html body #af-modal#af-modal .af-modal-content {
  display:flex!important;
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
html body #af-modal#af-modal .af-estimator-root,
html body #af-modal#af-modal .af-shell {
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:1.45!important;
  box-shadow:none!important;
  transform:none!important;
  zoom:1!important;
}
html body #af-modal#af-modal .af-head { display:none!important; }
html body #af-modal#af-modal .af-body {
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:0 24px 18px!important;
  background:#fff!important;
  scrollbar-width:thin;
  scrollbar-color:#b7bec7 #eef0f2;
}
html body #af-modal#af-modal .af-body::-webkit-scrollbar { width:8px; }
html body #af-modal#af-modal .af-body::-webkit-scrollbar-track { background:#eef0f2; }
html body #af-modal#af-modal .af-body::-webkit-scrollbar-thumb {
  border:2px solid #eef0f2;
  border-radius:99px;
  background:#b7bec7;
}

html body #af-modal#af-modal .af-viewport-screen,
html body #af-modal#af-modal .af-booking-screen {
  display:flex!important;
  flex-direction:column!important;
  gap:15px!important;
  width:100%!important;
  min-height:100%!important;
}
html body #af-modal#af-modal .af-screen-main,
html body #af-modal#af-modal .af-panel-main {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Bookly-style top step rail */
html body #af-modal#af-modal .af-prog {
  width:100%!important;
  margin:0!important;
  padding:16px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-stepper {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:3px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body #af-modal#af-modal .af-stepper-item {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  min-height:34px!important;
  padding:5px 3px 8px!important;
  border:0!important;
  border-bottom:4px solid #cfd4da!important;
  background:transparent!important;
  color:#374151!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-stepper-item:after { display:none!important; }
html body #af-modal#af-modal .af-stepper-item.is-active,
html body #af-modal#af-modal .af-stepper-item.is-complete {
  border-bottom-color:var(--af-accent)!important;
  color:var(--af-accent-dark)!important;
}
html body #af-modal#af-modal .af-stepper-number {
  display:inline!important;
  width:auto!important;
  height:auto!important;
  flex:0 0 auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-stepper-copy {
  display:block!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-stepper-label {
  display:block!important;
  overflow:hidden!important;
  color:inherit!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.1!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
html body #af-modal#af-modal .af-stepper-caption,
html body #af-modal#af-modal .af-prog-top,
html body #af-modal#af-modal .af-bar { display:none!important; }

/* Typography */
html body #af-modal#af-modal .af-h2,
html body #af-modal#af-modal .af-section-title,
html body #af-modal#af-modal .af-panel-title,
html body #af-modal#af-modal .af-form-heading,
html body #af-modal#af-modal .af-review-card-title,
html body #af-modal#af-modal .af-otp-title,
html body #af-modal#af-modal .af-waitlist-title {
  margin:0!important;
  color:var(--af-ink)!important;
  font-size:20px!important;
  font-weight:650!important;
  line-height:1.25!important;
  letter-spacing:-.15px!important;
}
html body #af-modal#af-modal .af-p,
html body #af-modal#af-modal .af-section-subtitle,
html body #af-modal#af-modal .af-panel-description,
html body #af-modal#af-modal .af-otp-copy,
html body #af-modal#af-modal .af-waitlist-copy {
  margin:5px 0 0!important;
  color:var(--af-copy)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.5!important;
}
html body #af-modal#af-modal .af-compact-hero {
  display:block!important;
  margin:0!important;
  padding:0!important;
}
html body #af-modal#af-modal .af-compact-hero-icon { display:none!important; }

/* Surfaces and general cards */
html body #af-modal#af-modal :is(
  .af-location-card,.af-panel-surface,.af-form-card,.af-review-section,
  .af-summary-card,.af-review-card,.af-otp-card,.af-waitlist-card,
  .af-parts-finder-card,.af-month-calendar,.af-selected-day-summary
) {
  border:1px solid var(--af-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-location-card,
html body #af-modal#af-modal .af-panel-surface,
html body #af-modal#af-modal .af-form-card,
html body #af-modal#af-modal .af-review-section { padding:16px!important; }
html body #af-modal#af-modal .af-panel-heading,
html body #af-modal#af-modal .af-section-head {
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:0 0 11px!important;
  border-bottom:1px solid #eceef1!important;
}
html body #af-modal#af-modal .af-panel-heading-copy,
html body #af-modal#af-modal .af-section-copy { min-width:0!important; }

/* Fields */
html body #af-modal#af-modal .af-location-label,
html body #af-modal#af-modal .af-field-label,
html body #af-modal#af-modal .af-vehicle-field-label {
  display:block!important;
  margin:0 0 6px!important;
  color:#1f2937!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
html body #af-modal#af-modal .af-vehicle-field-label b {
  display:none!important;
}
html body #af-modal#af-modal .af-input,
html body #af-modal#af-modal .af-input-app,
html body #af-modal#af-modal .af-textarea,
html body #af-modal#af-modal select,
html body #af-modal#af-modal input[type="text"],
html body #af-modal#af-modal input[type="email"],
html body #af-modal#af-modal input[type="tel"],
html body #af-modal#af-modal input[type="number"],
html body #af-modal#af-modal textarea {
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid var(--af-line-dark)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.3!important;
  box-shadow:inset 0 1px 1px rgba(22,28,36,.04)!important;
  outline:0!important;
}
html body #af-modal#af-modal .af-textarea,
html body #af-modal#af-modal textarea { min-height:70px!important; resize:vertical!important; }
html body #af-modal#af-modal :is(.af-input,.af-input-app,.af-textarea,select,input,textarea):focus {
  border-color:var(--af-accent)!important;
  box-shadow:0 0 0 2px rgba(180,35,24,.16)!important;
}
html body #af-modal#af-modal :is(.af-input,.af-input-app,select,input,textarea):disabled {
  border-color:#dde1e6!important;
  background:#f1f3f5!important;
  color:#667085!important;
  opacity:1!important;
}
html body #af-modal#af-modal ::placeholder { color:#667085!important; opacity:1!important; }
html body #af-modal#af-modal .af-zip-panel { max-width:260px!important; }
html body #af-modal#af-modal .af-location-card { display:grid!important; gap:10px!important; }
html body #af-modal#af-modal .af-location-benefits {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 16px!important;
  color:var(--af-muted)!important;
  font-size:11.5px!important;
}
html body #af-modal#af-modal .af-location-benefits span:before {
  content:"✓";
  margin-right:5px;
  color:var(--af-success);
  font-weight:800;
}
html body #af-modal#af-modal .af-mini-links {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-top:10px!important;
  color:var(--af-muted)!important;
  font-size:11.5px!important;
}
html body #af-modal#af-modal .af-mini-link {
  padding:0!important;
  border:0!important;
  background:none!important;
  color:var(--af-accent-dark)!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  font-weight:650!important;
  text-decoration:underline!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-panel-error,
html body #af-modal#af-modal .af-field-feedback,
html body #af-modal#af-modal .af-book-msg {
  display:block!important;
  margin-top:5px!important;
  color:var(--af-danger)!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.35!important;
}
html body #af-modal#af-modal .af-field-feedback:empty,
html body #af-modal#af-modal .af-panel-error:empty,
html body #af-modal#af-modal .af-book-msg:empty { display:none!important; }

/* Vehicle */
html body #af-modal#af-modal .af-vehicle-note,
html body #af-modal#af-modal .af-compact-info,
html body #af-modal#af-modal .af-info,
html body #af-modal#af-modal .af-labor-policy {
  margin:12px 0!important;
  padding:10px 12px!important;
  border:1px solid #e0e4e9!important;
  border-left:3px solid var(--af-accent)!important;
  border-radius:3px!important;
  background:#fafbfc!important;
  color:var(--af-copy)!important;
  font-size:12px!important;
  line-height:1.45!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-vehicle-selects {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
html body #af-modal#af-modal .af-vehicle-field { display:block!important; min-width:0!important; }

/* Category grid */
html body #af-modal#af-modal .af-category-heading {
  display:grid!important;
  gap:5px!important;
  margin-bottom:12px!important;
}
html body #af-modal#af-modal .af-category-vehicle {
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:5px 8px!important;
  border:1px solid #d9dde3!important;
  border-radius:3px!important;
  background:#f7f8fa!important;
  color:#1f2937!important;
  font-size:11.5px!important;
  font-weight:600!important;
}
html body #af-modal#af-modal .af-category-vehicle svg { width:15px!important;height:15px!important;stroke:currentColor!important; }
html body #af-modal#af-modal .af-category-help { margin:0!important;color:var(--af-copy)!important;font-size:12.5px!important; }
html body #af-modal#af-modal .af-category-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
html body #af-modal#af-modal .af-cat {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  min-height:72px!important;
  padding:11px!important;
  border:1px solid var(--af-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  text-align:left!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-cat:hover,
html body #af-modal#af-modal .af-cat.is-selected,
html body #af-modal#af-modal .af-cat[aria-pressed="true"] {
  border-color:var(--af-accent)!important;
  background:var(--af-accent-soft)!important;
}
html body #af-modal#af-modal .af-cat-ic {
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  margin:0!important;
  border-radius:3px!important;
  background:#f1f3f5!important;
  color:#1f2937!important;
}
html body #af-modal#af-modal .af-cat:hover .af-cat-ic,
html body #af-modal#af-modal .af-cat.is-selected .af-cat-ic { background:#fff!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-cat-ic svg { width:18px!important;height:18px!important;stroke:currentColor!important; }
html body #af-modal#af-modal .af-category-copy { display:grid!important;gap:2px!important;min-width:0!important; }
html body #af-modal#af-modal .af-cat-name { color:var(--af-ink)!important;font-size:14px!important;font-weight:700!important;line-height:1.3!important; }
html body #af-modal#af-modal .af-cat-desc { color:var(--af-muted)!important;font-size:11.5px!important;font-weight:500!important;line-height:1.4!important; }
html body #af-modal#af-modal .af-cat-check,
html body #af-modal#af-modal .af-popular { display:none!important; }

/* Services */
html body #af-modal#af-modal .af-service-scroll { overflow:visible!important; }
html body #af-modal#af-modal .af-service-list {
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
html body #af-modal#af-modal .af-svc {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:12px 13px!important;
  border:1px solid var(--af-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-svc:hover,
html body #af-modal#af-modal .af-svc.is-selected,
html body #af-modal#af-modal .af-svc[aria-pressed="true"] {
  border-color:var(--af-accent)!important;
  background:var(--af-accent-soft)!important;
}
html body #af-modal#af-modal .af-svc-row {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
}
html body #af-modal#af-modal .af-svc-main { display:grid!important;gap:3px!important;min-width:0!important;text-align:left!important; }
html body #af-modal#af-modal .af-svc-side { display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important; }
html body #af-modal#af-modal .af-svc-name { color:var(--af-ink)!important;font-size:14px!important;font-weight:700!important;line-height:1.35!important; }
html body #af-modal#af-modal .af-svc-meta { color:var(--af-muted)!important;font-size:11.5px!important;font-weight:500!important;line-height:1.4!important; }
html body #af-modal#af-modal .af-price-wrap {
  display:grid!important;
  justify-items:end!important;
  gap:1px!important;
  min-width:104px!important;
  text-align:right!important;
}
html body #af-modal#af-modal .af-price,
html body #af-modal#af-modal .af-summary-price,
html body #af-modal#af-modal .af-summary-total,
html body #af-modal#af-modal .af-booking-context-price {
  color:var(--af-accent-dark)!important;
  font-size:21px!important;
  font-weight:850!important;
  line-height:1.05!important;
  letter-spacing:-.35px!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
html body #af-modal#af-modal .af-price-label {
  color:var(--af-copy)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
html body #af-modal#af-modal .af-indicator {
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  border:1px solid #aeb5be!important;
  border-radius:3px!important;
  background:#fff!important;
}
html body #af-modal#af-modal .af-svc.is-selected .af-indicator,
html body #af-modal#af-modal .af-svc[aria-pressed="true"] .af-indicator {
  border-color:var(--af-accent)!important;
  background:var(--af-accent)!important;
  color:#fff!important;
}
html body #af-modal#af-modal .af-indicator-check { font-size:12px!important; }
html body #af-modal#af-modal .af-tag,
html body #af-modal#af-modal .af-badge,
html body #af-modal#af-modal .af-chip,
html body #af-modal#af-modal .af-status-badge {
  display:inline-flex!important;
  align-items:center!important;
  min-height:20px!important;
  padding:2px 6px!important;
  border:1px solid #d7dce2!important;
  border-radius:3px!important;
  background:#f6f7f8!important;
  color:#374151!important;
  font-size:9.5px!important;
  font-weight:650!important;
  line-height:1!important;
}
html body #af-modal#af-modal .af-sticky-calc,
html body #af-modal#af-modal #af-sticky-calc {
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:11px 13px!important;
  border:1px solid #d9dde3!important;
  border-radius:4px!important;
  background:#f7f8fa!important;
  color:var(--af-ink)!important;
  box-shadow:none!important;
  z-index:auto!important;
}
html body #af-modal#af-modal .af-calc-label { color:#e4e7ec!important;font-size:10px!important;font-weight:750!important;text-transform:uppercase!important;letter-spacing:.55px!important; }
html body #af-modal#af-modal .af-calc-range { color:#fff!important;font-size:24px!important;font-weight:850!important;line-height:1.05!important;letter-spacing:-.4px!important;font-variant-numeric:tabular-nums!important; }

/* Booking context and substeps */
html body #af-modal#af-modal .af-booking-header { display:grid!important;gap:10px!important;padding-top:14px!important; }
html body #af-modal#af-modal .af-booking-context {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:15px!important;
  padding:11px 13px!important;
  border:1px solid var(--af-line)!important;
  border-radius:4px!important;
  background:#fafbfc!important;
}
html body #af-modal#af-modal .af-booking-context-copy { min-width:0!important; }
html body #af-modal#af-modal .af-booking-context-kicker,
html body #af-modal#af-modal .af-booking-context-estimate-label,
html body #af-modal#af-modal .af-booking-context-estimate-note {
  display:block!important;
  color:var(--af-muted)!important;
  font-size:9.5px!important;
  font-weight:650!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
  letter-spacing:.35px!important;
}
html body #af-modal#af-modal .af-booking-context-title { color:var(--af-ink)!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important; }
html body #af-modal#af-modal .af-booking-context-meta { overflow:hidden!important;color:var(--af-copy)!important;font-size:11px!important;text-overflow:ellipsis!important;white-space:nowrap!important; }
html body #af-modal#af-modal .af-booking-context-estimate {
  display:grid!important;
  gap:2px!important;
  min-width:190px!important;
  padding:10px 12px!important;
  border:1px solid #101828!important;
  border-radius:4px!important;
  background:#101828!important;
  text-align:right!important;
}
html body #af-modal#af-modal .af-booking-context-estimate .af-booking-context-estimate-label,
html body #af-modal#af-modal .af-booking-context-estimate .af-booking-context-estimate-note { color:#d0d5dd!important; }
html body #af-modal#af-modal .af-booking-context-estimate .af-booking-context-price { color:#fff!important;font-size:25px!important; }
html body #af-modal#af-modal .af-book-stage-nav {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:3px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html body #af-modal#af-modal .af-book-stage-nav:before { display:none!important; }
html body #af-modal#af-modal .af-stage-pill {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  min-height:31px!important;
  padding:5px 4px 7px!important;
  border:0!important;
  border-bottom:3px solid #d0d5db!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4b5563!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-stage-pill.is-active,
html body #af-modal#af-modal .af-stage-pill.is-complete { border-bottom-color:var(--af-accent)!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-stage-number { display:inline!important;width:auto!important;height:auto!important;border:0!important;background:transparent!important;color:inherit!important;font-size:10.5px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-stage-copy { display:block!important;min-width:0!important; }
html body #af-modal#af-modal .af-stage-label { display:block!important;color:inherit!important;font-size:10.5px!important;font-weight:700!important;line-height:1.1!important;white-space:nowrap!important; }
html body #af-modal#af-modal .af-stage-help { display:none!important; }
html body #af-modal#af-modal .af-book-panels { display:block!important;min-height:0!important; }
html body #af-modal#af-modal .af-book-panel { display:none!important;min-height:100%!important; }
html body #af-modal#af-modal .af-book-panel.is-active { display:flex!important;flex-direction:column!important;gap:14px!important; }
html body #af-modal#af-modal .af-contact-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px 13px!important;
}
html body #af-modal#af-modal .af-input-group { min-width:0!important; }
html body #af-modal#af-modal .af-input-group--wide { grid-column:1/-1!important; }

/* Calendar */
html body #af-modal#af-modal .af-time-layout,
html body #af-modal#af-modal .af-slots-wrap,
html body #af-modal#af-modal .af-slot-browser,
html body #af-modal#af-modal .af-month-calendar { width:100%!important;max-width:none!important;margin:0!important; }
html body #af-modal#af-modal .af-calendar-toolbar {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px!important;
  border-bottom:1px solid #e3e6ea!important;
}
html body #af-modal#af-modal .af-calendar-month-copy { color:var(--af-ink)!important;font-size:15px!important;font-weight:800!important;text-align:center!important; }
html body #af-modal#af-modal .af-calendar-month-copy span { display:block!important;color:var(--af-muted)!important;font-size:11px!important;font-weight:500!important; }
html body #af-modal#af-modal .af-calendar-nav {
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid var(--af-line)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#374151!important;
  font-size:14px!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-calendar-nav:hover { border-color:var(--af-accent)!important;background:var(--af-accent-soft)!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-calendar-weekdays,
html body #af-modal#af-modal .af-calendar-grid {
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:4px!important;
  padding:0 10px!important;
}
html body #af-modal#af-modal .af-calendar-weekdays { padding-top:9px!important;padding-bottom:6px!important; }
html body #af-modal#af-modal .af-calendar-weekdays span { color:#4b5563!important;font-size:10.5px!important;font-weight:750!important;text-align:center!important;text-transform:uppercase!important; }
html body #af-modal#af-modal .af-calendar-grid { padding-bottom:10px!important; }
html body #af-modal#af-modal .af-calendar-day {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  min-width:0!important;
  min-height:49px!important;
  padding:4px 2px!important;
  border:1px solid #dce0e5!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#1f2937!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-calendar-day:not(:disabled) { border-color:#d8a4a0!important;background:#fff7f6!important;color:#101828!important; }
html body #af-modal#af-modal .af-calendar-day:hover:not(:disabled) { border-color:var(--af-accent)!important;background:var(--af-accent-soft)!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-calendar-day.is-selected,
html body #af-modal#af-modal .af-calendar-day[aria-pressed="true"] { border-color:var(--af-accent)!important;background:var(--af-accent)!important;color:#fff!important; }
html body #af-modal#af-modal .af-calendar-day:disabled { border-color:#e5e8eb!important;background:#f1f3f5!important;color:#7b8491!important;opacity:1!important;cursor:not-allowed!important; }
html body #af-modal#af-modal .af-calendar-day-number { font-size:13.5px!important;font-weight:800!important;line-height:1.2!important; }
html body #af-modal#af-modal .af-calendar-day-status { font-size:9px!important;font-weight:650!important;line-height:1.15!important; }
html body #af-modal#af-modal .af-calendar-legend { display:flex!important;flex-wrap:wrap!important;gap:6px 13px!important;margin:8px 10px 10px!important;color:var(--af-muted)!important;font-size:10.5px!important; }
html body #af-modal#af-modal .af-selected-day-summary { margin-top:10px!important;padding:10px 12px!important;background:#fafbfc!important; }
html body #af-modal#af-modal .af-selected-day-copy { color:var(--af-copy)!important;font-size:11px!important; }
html body #af-modal#af-modal .af-selected-day-metrics { display:flex!important;flex-wrap:wrap!important;gap:6px!important; }
html body #af-modal#af-modal .af-day-metric { padding:3px 6px!important;border:1px solid #dde1e6!important;border-radius:3px!important;background:#fff!important;color:#374151!important;font-size:10.5px!important; }
html body #af-modal#af-modal .af-selected-day-slots { margin-top:10px!important; }
html body #af-modal#af-modal .af-slot-grid {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  margin:0!important;
}
html body #af-modal#af-modal .af-slot,
html body #af-modal#af-modal .af-day-tab {
  min-width:0!important;
  min-height:40px!important;
  padding:7px 8px!important;
  border:1px solid var(--af-line)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#1f2937!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.2!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-slot:hover:not(:disabled),
html body #af-modal#af-modal .af-day-tab:hover { border-color:var(--af-accent)!important;background:var(--af-accent-soft)!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-slot.is-selected,
html body #af-modal#af-modal .af-slot[aria-pressed="true"],
html body #af-modal#af-modal .af-day-tab.is-active { border-color:var(--af-accent)!important;background:var(--af-accent)!important;color:#fff!important; }
html body #af-modal#af-modal .af-slot:disabled { border-color:#e5e8eb!important;background:#f1f3f5!important;color:#7b8491!important;opacity:1!important;cursor:not-allowed!important; }
html body #af-modal#af-modal .af-slot-time { font-size:11px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-slot-state,
html body #af-modal#af-modal .af-day-tab-status { font-size:8.5px!important;font-weight:500!important; }
html body #af-modal#af-modal .af-slots-loading,
html body #af-modal#af-modal .af-day-empty { padding:18px!important;border:1px dashed #c9ced5!important;border-radius:3px!important;background:#fafbfc!important;color:var(--af-copy)!important;font-size:12px!important;text-align:center!important; }

/* Review */
html body #af-modal#af-modal .af-confirm-appointment {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:11px!important;
  padding:10px 12px!important;
  border:1px solid #d9dde3!important;
  border-radius:3px!important;
  background:#fafbfc!important;
}
html body #af-modal#af-modal .af-confirm-appointment-label { display:block!important;color:var(--af-muted)!important;font-size:9px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.35px!important; }
html body #af-modal#af-modal .af-confirm-appointment-date,
html body #af-modal#af-modal .af-confirm-appointment-time { color:var(--af-ink)!important;font-size:12px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-review-layout-v2 { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important; }
html body #af-modal#af-modal .af-review-column { display:grid!important;align-content:start!important;gap:10px!important;min-width:0!important; }
html body #af-modal#af-modal .af-review-section { padding:12px!important; }
html body #af-modal#af-modal .af-review-section-title { display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:8px!important;color:#1f2937!important;font-size:11px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-review-total {
  color:var(--af-accent-dark)!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.3px!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
html body #af-modal#af-modal .af-review-services { display:grid!important;gap:5px!important; }
html body #af-modal#af-modal .af-review-service { display:flex!important;align-items:flex-start!important;gap:6px!important;color:var(--af-copy)!important;font-size:10.5px!important;line-height:1.35!important; }
html body #af-modal#af-modal .af-payment-grid { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important; }
html body #af-modal#af-modal .af-pay-radio { position:absolute!important;opacity:0!important;pointer-events:none!important; }
html body #af-modal#af-modal .af-pay-label {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  min-height:49px!important;
  padding:5px 3px!important;
  border:1px solid var(--af-line)!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#374151!important;
  font-size:9.5px!important;
  font-weight:600!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal .af-pay-radio:checked + .af-pay-label { border-color:var(--af-accent)!important;background:var(--af-accent-soft)!important;color:var(--af-accent-dark)!important; }
html body #af-modal#af-modal .af-pay-icon { font-size:14px!important;line-height:1!important; }
html body #af-modal#af-modal .af-parts-card {
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:9px!important;
  border:1px solid #e0e4e9!important;
  border-radius:3px!important;
  background:#fafbfc!important;
  color:var(--af-copy)!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-parts-card input { width:17px!important;height:17px!important;flex:0 0 17px!important;margin:1px 0 0!important;accent-color:var(--af-accent)!important; }
html body #af-modal#af-modal .af-parts-card label { color:var(--af-copy)!important;font-size:10px!important;line-height:1.4!important; }
html body #af-modal#af-modal .af-confirm-note { margin:6px 0 0!important;color:var(--af-muted)!important;font-size:10.5px!important; }
html body #af-modal#af-modal .af-turnstile-wrap { max-width:100%!important;overflow:hidden!important; }

/* Buttons and action row */
html body #af-modal#af-modal :is(
  .af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button
) {
  min-height:42px!important;
  padding:9px 18px!important;
  border:1px solid var(--af-accent-dark)!important;
  border-radius:3px!important;
  background:var(--af-accent)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.1px!important;
  text-transform:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:background .12s ease,border-color .12s ease!important;
}
html body #af-modal#af-modal :is(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button):hover { border-color:#8f1d15!important;background:var(--af-accent-dark)!important; }
html body #af-modal#af-modal :is(.af-btn,.af-action-primary,.af-book):disabled { border-color:#d4d8dd!important;background:#e2e5e8!important;color:#667085!important;box-shadow:none!important;cursor:not-allowed!important; }
html body #af-modal#af-modal :is(
  .af-action-secondary,.af-back-link,.af-back-btn,.af-booking-back,.af-otp-back
) {
  min-height:42px!important;
  padding:9px 15px!important;
  border:1px solid #aeb5be!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#374151!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.2!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
html body #af-modal#af-modal :is(.af-action-secondary,.af-back-link,.af-back-btn):hover { border-color:#7f8791!important;background:#f5f6f7!important; }
html body #af-modal#af-modal .af-screen-actions {
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:100%!important;
  margin:auto 0 0!important;
  padding:13px 0 0!important;
  border-top:1px solid #eceef1!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-screen-actions .af-action-secondary { margin-right:0!important; }
html body #af-modal#af-modal .af-screen-actions .af-action-primary { min-width:126px!important; }
html body #af-modal#af-modal .af-action-summary {
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:2px 12px!important;
  min-width:250px!important;
  margin-right:auto!important;
  padding:10px 14px!important;
  border:1px solid #101828!important;
  border-left:5px solid var(--af-accent)!important;
  border-radius:4px!important;
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 5px 16px rgba(16,24,40,.14)!important;
}
html body #af-modal#af-modal .af-action-summary-label {
  color:#d0d5dd!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.2!important;
  letter-spacing:.5px!important;
  text-transform:uppercase!important;
}
html body #af-modal#af-modal .af-action-summary-value {
  grid-row:1/3!important;
  grid-column:2!important;
  justify-self:end!important;
  color:#fff!important;
  font-size:25px!important;
  font-weight:850!important;
  line-height:1.05!important;
  letter-spacing:-.45px!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
html body #af-modal#af-modal .af-action-summary-value.is-empty { color:#f2f4f7!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important; }
html body #af-modal#af-modal .af-action-summary-note { color:#98a2b3!important;font-size:9.5px!important;font-weight:600!important;line-height:1.2!important; }

/* Success, OTP and close dialog */
html body #af-modal#af-modal .af-success-card,
html body #af-modal#af-modal .af-otp-card,
html body #af-modal#af-modal .af-waitlist-card { max-width:570px!important;margin:18px auto!important;padding:22px!important;text-align:center!important; }
html body #af-modal#af-modal .af-success-icon { display:grid!important;place-items:center!important;width:48px!important;height:48px!important;margin:0 auto 12px!important;border-radius:50%!important;background:var(--af-success)!important;color:#fff!important;font-size:20px!important;box-shadow:none!important; }
html body #af-modal#af-modal .af-success-actions { display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;margin-top:14px!important; }
html body #af-modal#af-modal .af-close-dialog { position:absolute!important;inset:0!important;z-index:1000!important;display:grid!important;place-items:center!important;padding:18px!important; }
html body #af-modal#af-modal .af-close-dialog[hidden] { display:none!important; }
html body #af-modal#af-modal .af-close-dialog__backdrop { position:absolute!important;inset:0!important;background:rgba(31,38,47,.55)!important; }
html body #af-modal#af-modal .af-close-dialog__panel { position:relative!important;z-index:1!important;width:min(410px,100%)!important;padding:20px!important;border:1px solid #bdc4cd!important;border-radius:5px!important;background:#fff!important;color:var(--af-ink)!important;box-shadow:0 16px 44px rgba(24,31,40,.26)!important; }
html body #af-modal#af-modal .af-close-dialog__icon { display:none!important; }
html body #af-modal#af-modal .af-close-dialog__title { margin:0!important;color:var(--af-ink)!important;font-size:17px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-close-dialog__description { margin:7px 0 0!important;color:var(--af-copy)!important;font-size:12px!important;line-height:1.5!important; }
html body #af-modal#af-modal .af-close-dialog__actions { display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:16px!important; }
html body #af-modal#af-modal .af-close-dialog__keep,
html body #af-modal#af-modal .af-close-dialog__discard { min-height:40px!important;padding:8px 12px!important;border-radius:3px!important;font-family:inherit!important;font-size:11.5px!important;font-weight:700!important; }
html body #af-modal#af-modal .af-close-dialog__keep { border:1px solid var(--af-accent-dark)!important;background:var(--af-accent)!important;color:#fff!important; }
html body #af-modal#af-modal .af-close-dialog__discard { border:1px solid #aeb5be!important;background:#fff!important;color:#374151!important; }

html body #af-modal#af-modal :where(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline:2px solid var(--af-focus)!important;
  outline-offset:2px!important;
}

/* Tablet */
@media(max-width:900px) {
  html body #af-modal#af-modal { padding:14px!important; }
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:calc(100vh - 28px)!important;
    max-height:calc(100vh - 28px)!important;
  }
  @supports(height:100dvh) {
    html body #af-modal#af-modal .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
      height:calc(100dvh - 28px)!important;
      max-height:calc(100dvh - 28px)!important;
    }
  }
  html body #af-modal#af-modal .af-body { padding-left:18px!important;padding-right:18px!important; }
  html body #af-modal#af-modal .af-category-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-slot-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-review-layout-v2 { grid-template-columns:1fr!important; }
}

/* Phone and narrow WebViews: normal document flow, no sticky header */
@media(max-width:640px) {
  html body #af-modal#af-modal {
    align-items:stretch!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    max-height:100vh!important;
  }
  @supports(height:100dvh) {
    html body #af-modal#af-modal .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
      height:100dvh!important;
      max-height:100dvh!important;
    }
  }
  html body #af-modal#af-modal .af-modal-container {
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html body #af-modal#af-modal .af-modal-toolbar {
    position:static!important;
    min-height:44px!important;
    padding:6px 8px 6px 11px!important;
  }
  html body #af-modal#af-modal .af-modal-info-copy { display:block!important; }
  html body #af-modal#af-modal .af-modal-kicker { font-size:12px!important; }
  html body #af-modal#af-modal .af-modal-helper { display:none!important; }
  html body #af-modal#af-modal .af-modal-close { min-height:32px!important;padding:5px 8px!important;font-size:11px!important; }
  html body #af-modal#af-modal .af-modal-content,
  html body #af-modal#af-modal .af-estimator-root,
  html body #af-modal#af-modal .af-shell {
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html body #af-modal#af-modal .af-body {
    flex:1 1 auto!important;
    height:100%!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:0 13px calc(18px + env(safe-area-inset-bottom))!important;
  }
  html body #af-modal#af-modal .af-viewport-screen,
  html body #af-modal#af-modal .af-booking-screen { gap:13px!important;min-height:100%!important; }
  html body #af-modal#af-modal .af-prog { padding-top:12px!important; }
  html body #af-modal#af-modal .af-stepper-item { min-height:31px!important;padding:4px 1px 7px!important;gap:2px!important; }
  html body #af-modal#af-modal .af-stepper-number,
  html body #af-modal#af-modal .af-stepper-label { font-size:10.5px!important; }
  html body #af-modal#af-modal .af-h2,
  html body #af-modal#af-modal .af-section-title,
  html body #af-modal#af-modal .af-panel-title { font-size:19px!important; }
  html body #af-modal#af-modal .af-p,
  html body #af-modal#af-modal .af-section-subtitle,
  html body #af-modal#af-modal .af-panel-description { font-size:12.5px!important; }
  html body #af-modal#af-modal .af-location-card,
  html body #af-modal#af-modal .af-panel-surface,
  html body #af-modal#af-modal .af-form-card,
  html body #af-modal#af-modal .af-review-section { padding:13px!important; }
  html body #af-modal#af-modal .af-input,
  html body #af-modal#af-modal .af-input-app,
  html body #af-modal#af-modal select,
  html body #af-modal#af-modal input,
  html body #af-modal#af-modal textarea { min-height:46px!important;font-size:16px!important; }
  html body #af-modal#af-modal .af-vehicle-selects,
  html body #af-modal#af-modal .af-contact-grid,
  html body #af-modal#af-modal .af-category-grid,
  html body #af-modal#af-modal .af-review-layout-v2 { grid-template-columns:1fr!important; }
  html body #af-modal#af-modal .af-cat { min-height:65px!important; }
  html body #af-modal#af-modal .af-svc-row { align-items:flex-start!important;gap:9px!important; }
  html body #af-modal#af-modal .af-svc-side { align-items:flex-end!important;flex-direction:column!important;gap:6px!important; }
  html body #af-modal#af-modal .af-booking-context { align-items:flex-start!important;flex-direction:column!important;gap:7px!important; }
  html body #af-modal#af-modal .af-booking-context-estimate { min-width:0!important;text-align:left!important; }
  html body #af-modal#af-modal .af-booking-context-meta { white-space:normal!important; }
  html body #af-modal#af-modal .af-stage-number,
  html body #af-modal#af-modal .af-stage-label { font-size:9px!important; }
  html body #af-modal#af-modal .af-calendar-weekdays,
  html body #af-modal#af-modal .af-calendar-grid { gap:3px!important;padding-left:7px!important;padding-right:7px!important; }
  html body #af-modal#af-modal .af-calendar-day { min-height:42px!important; }
  html body #af-modal#af-modal .af-calendar-day-status { display:none!important; }
  html body #af-modal#af-modal .af-slot-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-payment-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-confirm-appointment { align-items:flex-start!important;flex-direction:column!important;gap:4px!important; }
  html body #af-modal#af-modal .af-screen-actions {
    flex-wrap:wrap!important;
    padding-top:11px!important;
    padding-bottom:calc(2px + env(safe-area-inset-bottom))!important;
  }
  html body #af-modal#af-modal .af-screen-actions :is(.af-action-primary,.af-action-secondary) {
    min-height:46px!important;
    font-size:13px!important;
  }
  html body #af-modal#af-modal .af-action-summary { order:-1!important;grid-template-columns:1fr auto!important;width:100%!important;min-width:0!important;margin:0!important;padding:11px 13px!important; }
  html body #af-modal#af-modal .af-action-summary-value { font-size:23px!important; }
  html body #af-modal#af-modal .af-screen-actions .af-action-primary { flex:1 1 170px!important;min-width:0!important; }
  html body #af-modal#af-modal .af-screen-actions .af-action-secondary { flex:0 1 auto!important; }
}

@media(max-width:480px) {
  html body #af-modal#af-modal .af-svc-row { display:grid!important;grid-template-columns:minmax(0,1fr) auto!important; }
  html body #af-modal#af-modal .af-svc-side { align-items:flex-end!important; }
  html body #af-modal#af-modal .af-price { font-size:19px!important; }
  html body #af-modal#af-modal .af-price-wrap { min-width:94px!important; }
  html body #af-modal#af-modal .af-booking-context-estimate { width:100%!important;min-width:0!important;text-align:left!important; }
  html body #af-modal#af-modal .af-booking-context-estimate .af-booking-context-price { font-size:24px!important; }
}

@media(max-width:360px) {
  html body #af-modal#af-modal .af-body { padding-left:9px!important;padding-right:9px!important; }
  html body #af-modal#af-modal .af-stepper-label { font-size:8.5px!important; }
  html body #af-modal#af-modal .af-slot-grid { grid-template-columns:1fr 1fr!important;gap:5px!important; }
  html body #af-modal#af-modal .af-calendar-day-number { font-size:11px!important; }
}

@media(prefers-reduced-motion:reduce) {
  html body #af-modal#af-modal *,
  html body #af-modal#af-modal *:before,
  html body #af-modal#af-modal *:after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
@media(forced-colors:active) {
  html body #af-modal#af-modal .af-modal-container,
  html body #af-modal#af-modal :is(.af-cat,.af-svc,.af-panel-surface,.af-location-card,.af-month-calendar) { border:1px solid CanvasText!important; }
  html body #af-modal#af-modal :where(button,input,select,textarea):focus-visible { outline:3px solid Highlight!important; }
}

/* Content-sized desktop modal: compact like the supplied booking concept. */
@media(min-width:641px) {
  html body #af-modal#af-modal .af-modal-frame {
    width:min(760px,calc(100vw - 48px))!important;
    max-width:min(760px,calc(100vw - 48px))!important;
    height:min(620px,calc(100vh - 48px))!important;
    max-height:min(620px,calc(100vh - 48px))!important;
  }
  html body #af-modal#af-modal[data-af-screen="zip"] .af-modal-frame {
    height:min(430px,calc(100vh - 48px))!important;
    max-height:min(430px,calc(100vh - 48px))!important;
  }
  html body #af-modal#af-modal[data-af-screen="vehicle"] .af-modal-frame {
    height:min(500px,calc(100vh - 48px))!important;
    max-height:min(500px,calc(100vh - 48px))!important;
  }
  html body #af-modal#af-modal[data-af-screen="category"] .af-modal-frame {
    height:min(580px,calc(100vh - 48px))!important;
    max-height:min(580px,calc(100vh - 48px))!important;
  }
  html body #af-modal#af-modal[data-af-screen="services"] .af-modal-frame {
    height:min(650px,calc(100vh - 48px))!important;
    max-height:min(650px,calc(100vh - 48px))!important;
  }
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
    width:min(820px,calc(100vw - 48px))!important;
    max-width:min(820px,calc(100vw - 48px))!important;
    height:min(700px,calc(100vh - 48px))!important;
    max-height:min(700px,calc(100vh - 48px))!important;
  }
}
@media(min-width:641px) and (max-width:900px) {
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame {
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
}
@media(max-width:640px) {
  html body #af-modal#af-modal .af-viewport-screen,
  html body #af-modal#af-modal .af-booking-screen {
    min-height:0!important;
  }
  html body #af-modal#af-modal .af-screen-actions {
    margin:0!important;
  }
}

/* Calendar content hierarchy and slot-label separation. */
html body #af-modal#af-modal .af-calendar-time-template {
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
html body #af-modal#af-modal .af-day-availability-panel {
  display:grid!important;
  gap:9px!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-availability-panel-title > span,
html body #af-modal#af-modal .af-selected-day-copy {
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:3px 7px!important;
}
html body #af-modal#af-modal .af-availability-panel-title strong,
html body #af-modal#af-modal .af-selected-day-copy strong {
  color:var(--af-ink)!important;
  font-size:12px!important;
  font-weight:700!important;
}
html body #af-modal#af-modal .af-availability-panel-title small,
html body #af-modal#af-modal .af-selected-day-copy span {
  color:var(--af-copy)!important;
  font-size:10.5px!important;
  font-weight:400!important;
}
html body #af-modal#af-modal .af-day-metric {
  display:inline-flex!important;
  align-items:baseline!important;
  gap:2px!important;
}
html body #af-modal#af-modal .af-day-metric strong,
html body #af-modal#af-modal .af-day-metric small {
  font-size:9px!important;
  line-height:1!important;
}
html body #af-modal#af-modal .af-slot {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  text-align:center!important;
}
html body #af-modal#af-modal .af-slot-time,
html body #af-modal#af-modal .af-slot-state {
  display:block!important;
  width:100%!important;
}

html body #af-modal#af-modal .af-category-actions {
  align-items:center!important;
}
html body #af-modal#af-modal .af-category-action-hint {
  margin-left:auto!important;
  color:var(--af-muted)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.35!important;
  text-align:right!important;
}
html body #af-modal#af-modal .af-category-action-hint strong {
  color:var(--af-copy)!important;
  font-weight:650!important;
}
@media(max-width:640px) {
  html body #af-modal#af-modal .af-category-actions {
    align-items:stretch!important;
    flex-direction:column-reverse!important;
  }
  html body #af-modal#af-modal .af-category-action-hint {
    margin:0!important;
    text-align:left!important;
  }
}

/* --------------------------------------------------------------------------
 * v9.9.64 — Professional contrast, fixed workflow chrome, compact calendar,
 * and authoritative responsive containment.
 * -------------------------------------------------------------------------- */
html body #af-modal#af-modal {
  --af-brand:#9f1d1d;
  --af-brand-hover:#7f1d1d;
  --af-brand-active:#681717;
  --af-brand-soft:#fef2f2;
  --af-navy:#0f172a;
  --af-navy-2:#1e293b;
  --af-ink:#0f172a;
  --af-copy:#334155;
  --af-muted:#64748b;
  --af-line:#cbd5e1;
  --af-line-dark:#94a3b8;
  --af-page:#e9eef5;
  --af-soft:#f8fafc;
  --af-surface:#ffffff;
  --af-success:#047857;
  --af-success-soft:#ecfdf5;
  --af-warning:#a16207;
  --af-warning-soft:#fffbeb;
  --af-danger:#b91c1c;
  --af-danger-soft:#fef2f2;
  --af-focus:#c2410c;
  padding:16px!important;
  background:rgba(15,23,42,.78)!important;
  color:var(--af-ink)!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
html body #af-modal#af-modal,
html body #af-modal#af-modal * { box-sizing:border-box!important; }
html body #af-modal#af-modal :where(.af-modal-frame,.af-modal-container,.af-modal-content,.af-estimator-root,.af-shell,.af-body,.af-viewport-screen,.af-booking-screen,.af-booking-header,.af-book-panels,.af-book-panel,.af-panel-main,.af-panel-surface,.af-screen-main,.af-screen-actions,.af-calendar-time-template,.af-month-calendar,.af-day-availability-panel,.af-review-layout-v2,.af-review-column) {
  min-width:0!important;
  max-width:100%!important;
}
html body #af-modal#af-modal :where(button,a,input,select,textarea,label,strong,span,div) {
  overflow-wrap:anywhere;
}

/* Modal frame and permanently visible Exit control. */
html body #af-modal#af-modal .af-modal-frame,
html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
  width:min(960px,calc(100vw - 32px))!important;
  max-width:min(960px,calc(100vw - 32px))!important;
  height:min(760px,calc(100vh - 32px))!important;
  max-height:min(760px,calc(100vh - 32px))!important;
}
@supports(height:100dvh) {
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
    height:min(760px,calc(100dvh - 32px))!important;
    max-height:min(760px,calc(100dvh - 32px))!important;
  }
}
html body #af-modal#af-modal .af-modal-container {
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:12px!important;
  background:var(--af-surface)!important;
  box-shadow:0 28px 80px rgba(2,6,23,.42),0 8px 24px rgba(2,6,23,.2)!important;
  isolation:isolate!important;
}
html body #af-modal#af-modal .af-modal-toolbar {
  position:relative!important;
  z-index:100!important;
  min-height:56px!important;
  padding:9px 12px 9px 16px!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  background:linear-gradient(135deg,var(--af-navy),var(--af-navy-2))!important;
  color:#fff!important;
  box-shadow:0 2px 10px rgba(15,23,42,.16)!important;
}
html body #af-modal#af-modal .af-modal-info-icon {
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  border:1px solid rgba(255,255,255,.3)!important;
  border-radius:7px!important;
  background:var(--af-brand)!important;
  color:#fff!important;
}
html body #af-modal#af-modal .af-modal-kicker { color:#fff!important;font-size:13px!important;font-weight:800!important; }
html body #af-modal#af-modal .af-modal-helper { color:#cbd5e1!important;font-size:11px!important;font-weight:550!important; }
html body #af-modal#af-modal .af-modal-close {
  position:relative!important;
  z-index:101!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:72px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:7px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-modal-close:before { content:"×";font-size:18px;line-height:1;font-weight:500; }
html body #af-modal#af-modal .af-modal-close:hover { border-color:#fff!important;background:#fff!important;color:var(--af-navy)!important; }

/* Scroll architecture: the toolbar and action buttons never leave the frame. */
html body #af-modal#af-modal .af-modal-content,
html body #af-modal#af-modal .af-estimator-root,
html body #af-modal#af-modal .af-shell { min-height:0!important;overflow:hidden!important; }
html body #af-modal#af-modal .af-body {
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:0 20px 18px!important;
  background:#fff!important;
  scroll-behavior:smooth!important;
  scroll-padding-block:14px 92px!important;
  overscroll-behavior:contain!important;
}
html body #af-modal#af-modal[data-af-screen="booking"] .af-body {
  overflow:hidden!important;
  padding-bottom:14px!important;
}
html body #af-modal#af-modal .af-viewport-screen,
html body #af-modal#af-modal .af-booking-screen { width:100%!important;gap:14px!important; }
html body #af-modal#af-modal[data-af-screen="booking"] .af-booking-screen {
  height:100%!important;
  min-height:0!important;
}
html body #af-modal#af-modal .af-booking-header { flex:0 0 auto!important;gap:8px!important;padding-top:12px!important; }
html body #af-modal#af-modal .af-book-panels { flex:1 1 auto!important;min-height:0!important;overflow:hidden!important; }
html body #af-modal#af-modal .af-book-panel { height:100%!important;min-height:0!important;overflow:hidden!important; }
html body #af-modal#af-modal .af-book-panel.is-active {
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
}
html body #af-modal#af-modal .af-panel-main {
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:0 4px 10px 0!important;
  scroll-behavior:smooth!important;
  scroll-padding-block:10px 20px!important;
  overscroll-behavior:contain!important;
}
html body #af-modal#af-modal .af-panel-surface { width:100%!important; }

/* Strong but harmonious typography and surfaces. */
html body #af-modal#af-modal :where(.af-h2,.af-section-title,.af-panel-title,.af-form-heading,.af-review-card-title,.af-otp-title,.af-waitlist-title,.af-booking-context-title,.af-calendar-month-copy strong,.af-review-section-title,.af-success-main h2) {
  color:var(--af-ink)!important;
}
html body #af-modal#af-modal :where(.af-p,.af-section-subtitle,.af-panel-description,.af-otp-copy,.af-waitlist-copy,.af-booking-context-meta,.af-confirm-note,.af-selected-day-copy span,.af-availability-panel-title small) {
  color:var(--af-copy)!important;
}
html body #af-modal#af-modal :where(.af-location-card,.af-panel-surface,.af-form-card,.af-review-section,.af-summary-card,.af-review-card,.af-otp-card,.af-waitlist-card,.af-parts-finder-card,.af-month-calendar,.af-selected-day-summary,.af-day-availability-panel) {
  border-color:var(--af-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
html body #af-modal#af-modal .af-panel-surface { padding:15px!important; }
html body #af-modal#af-modal .af-panel-heading { margin-bottom:12px!important;padding-bottom:10px!important;border-bottom-color:#e2e8f0!important; }
html body #af-modal#af-modal :where(.af-input,.af-input-app,.af-textarea,select,input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea) {
  max-width:100%!important;
  min-width:0!important;
  border-color:var(--af-line-dark)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}
html body #af-modal#af-modal :where(.af-input,.af-input-app,.af-textarea,select,input,textarea):focus {
  border-color:var(--af-brand)!important;
  box-shadow:0 0 0 3px rgba(159,29,29,.14)!important;
}

/* Context and progress use navy text with red only as a deliberate accent. */
html body #af-modal#af-modal .af-booking-context {
  gap:12px!important;
  padding:10px 12px!important;
  border-color:#d8e0ea!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
html body #af-modal#af-modal .af-booking-context-estimate,
html body #af-modal#af-modal .af-action-summary {
  border:1px solid var(--af-navy)!important;
  border-left:4px solid var(--af-brand)!important;
  border-radius:9px!important;
  background:var(--af-navy)!important;
  color:#fff!important;
}
html body #af-modal#af-modal .af-booking-context-estimate { min-width:205px!important;padding:9px 12px!important; }
html body #af-modal#af-modal .af-booking-context-price { color:#fff!important;font-size:24px!important; }
html body #af-modal#af-modal .af-booking-context-estimate :where(.af-booking-context-estimate-label,.af-booking-context-estimate-note),
html body #af-modal#af-modal .af-action-summary :where(.af-action-summary-label,.af-action-summary-note) { color:#cbd5e1!important; }
html body #af-modal#af-modal :where(.af-stepper-item,.af-stage-pill) { color:#64748b!important;border-bottom-color:#cbd5e1!important; }
html body #af-modal#af-modal :where(.af-stepper-item.is-active,.af-stepper-item.is-complete,.af-stage-pill.is-active,.af-stage-pill.is-complete) {
  color:var(--af-ink)!important;
  border-bottom-color:var(--af-brand)!important;
}

/* Calendar: compact, navigable, and stable without expanding the modal. */
html body #af-modal#af-modal .af-time-layout,
html body #af-modal#af-modal .af-slots-wrap,
html body #af-modal#af-modal .af-slot-browser { min-width:0!important;max-width:100%!important; }
html body #af-modal#af-modal .af-calendar-time-template {
  display:grid!important;
  grid-template-columns:minmax(360px,1.08fr) minmax(270px,.92fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-month-calendar {
  width:100%!important;
  max-width:480px!important;
  align-self:start!important;
  justify-self:center!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
html body #af-modal#af-modal .af-calendar-toolbar { min-height:42px!important;padding:6px 8px!important;background:#f8fafc!important; }
html body #af-modal#af-modal .af-calendar-nav {
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid var(--af-line)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  font-size:22px!important;
}
html body #af-modal#af-modal .af-calendar-nav:hover:not(:disabled) { border-color:var(--af-brand)!important;background:var(--af-brand-soft)!important;color:var(--af-brand)!important; }
html body #af-modal#af-modal .af-calendar-month-copy { color:var(--af-ink)!important;font-size:14px!important; }
html body #af-modal#af-modal .af-calendar-month-copy span { color:var(--af-muted)!important;font-size:10px!important; }
html body #af-modal#af-modal .af-calendar-legend { margin:5px 8px!important;gap:5px 10px!important;color:var(--af-copy)!important; }
html body #af-modal#af-modal .af-calendar-weekdays,
html body #af-modal#af-modal .af-calendar-grid { gap:4px!important;padding-left:8px!important;padding-right:8px!important; }
html body #af-modal#af-modal .af-calendar-weekdays { padding-top:4px!important;padding-bottom:3px!important;color:var(--af-muted)!important; }
html body #af-modal#af-modal .af-calendar-grid { padding-bottom:8px!important; }
html body #af-modal#af-modal .af-calendar-day,
html body #af-modal#af-modal .af-calendar-grid[data-calendar-weeks="6"] .af-calendar-day {
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  padding:2px!important;
  border:1px solid #e2e8f0!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  box-shadow:none!important;
}
html body #af-modal#af-modal .af-calendar-day-number { font-size:12px!important;font-weight:750!important; }
html body #af-modal#af-modal .af-calendar-day-status { color:var(--af-muted)!important;font-size:7.5px!important;font-weight:650!important; }
html body #af-modal#af-modal .af-calendar-day:not(:disabled):hover { border-color:var(--af-brand)!important;background:var(--af-brand-soft)!important;color:var(--af-ink)!important; }
html body #af-modal#af-modal .af-calendar-day.is-selected,
html body #af-modal#af-modal .af-calendar-day[aria-selected="true"] {
  border-color:var(--af-brand-hover)!important;
  background:var(--af-brand)!important;
  color:#fff!important;
  box-shadow:0 0 0 2px rgba(159,29,29,.15)!important;
}
html body #af-modal#af-modal .af-calendar-day.is-selected .af-calendar-day-status,
html body #af-modal#af-modal .af-calendar-day[aria-selected="true"] .af-calendar-day-status { color:#fee2e2!important; }
html body #af-modal#af-modal .af-calendar-day:disabled { opacity:.46!important;background:#f8fafc!important; }
html body #af-modal#af-modal .af-day-availability-panel {
  align-content:start!important;
  gap:8px!important;
  max-height:356px!important;
  padding:12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#f8fafc!important;
  scroll-behavior:smooth!important;
  overscroll-behavior:contain!important;
}
html body #af-modal#af-modal .af-selected-day-summary { margin:0!important;padding:10px!important; }
html body #af-modal#af-modal .af-selected-day-metrics { flex-wrap:wrap!important; }
html body #af-modal#af-modal .af-slot-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important; }
html body #af-modal#af-modal .af-slot {
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:7px 5px!important;
  border:1px solid var(--af-line)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
}
html body #af-modal#af-modal .af-slot:hover { border-color:var(--af-brand)!important;background:var(--af-brand-soft)!important; }
html body #af-modal#af-modal .af-slot.is-selected { border-color:var(--af-brand-hover)!important;background:var(--af-brand)!important;color:#fff!important; }
html body #af-modal#af-modal .af-time-selection { max-width:100%!important;padding:9px 10px!important;border-radius:7px!important;background:#ecfdf5!important;color:#065f46!important; }

/* Review/final step. */
html body #af-modal#af-modal .af-confirm-appointment {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:6px 12px!important;
  max-width:100%!important;
  padding:10px 12px!important;
  overflow:hidden!important;
  border:1px solid #d8e0ea!important;
  border-left:4px solid var(--af-brand)!important;
  border-radius:9px!important;
  background:#f8fafc!important;
}
html body #af-modal#af-modal .af-confirm-appointment-copy,
html body #af-modal#af-modal .af-confirm-appointment-date,
html body #af-modal#af-modal .af-confirm-appointment-time { min-width:0!important;max-width:100%!important;color:var(--af-ink)!important; }
html body #af-modal#af-modal .af-confirm-appointment-label { display:inline!important;color:var(--af-muted)!important; }
html body #af-modal#af-modal .af-confirm-appointment-date { display:inline!important; }
html body #af-modal#af-modal .af-review-layout-v2 { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important; }
html body #af-modal#af-modal .af-review-column { gap:10px!important; }
html body #af-modal#af-modal .af-review-section { padding:12px!important; }
html body #af-modal#af-modal .af-review-total { color:var(--af-ink)!important;font-size:21px!important; }
html body #af-modal#af-modal .af-payment-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important; }
html body #af-modal#af-modal .af-pay-label { max-width:100%!important;border-radius:7px!important;color:var(--af-copy)!important; }
html body #af-modal#af-modal .af-pay-radio:checked + .af-pay-label { border-color:var(--af-brand)!important;background:var(--af-brand-soft)!important;color:var(--af-brand-hover)!important; }
html body #af-modal#af-modal .af-parts-card { min-width:0!important;border-radius:8px!important;background:#f8fafc!important; }
html body #af-modal#af-modal .af-parts-card label { color:var(--af-copy)!important;font-size:11px!important;line-height:1.48!important; }
html body #af-modal#af-modal .af-turnstile-wrap { width:100%!important;max-width:100%!important;min-height:65px;overflow:hidden!important; }
html body #af-modal#af-modal .af-book-msg > * { max-width:100%!important; }
html body #af-modal#af-modal .af-otp-card { width:min(440px,100%)!important;margin:10px auto!important;padding:18px!important; }
html body #af-modal#af-modal .af-otp-input { width:min(220px,100%)!important;margin-inline:auto!important;text-align:center!important;font-size:22px!important;letter-spacing:.28em!important; }

/* Action bars are always contained and always visible during booking. */
html body #af-modal#af-modal .af-screen-actions {
  position:relative!important;
  z-index:20!important;
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,auto) minmax(180px,1fr) minmax(0,auto)!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:auto 0 0!important;
  padding:12px 0 0!important;
  border-top:1px solid #e2e8f0!important;
  background:#fff!important;
}
html body #af-modal#af-modal[data-af-screen="booking"] .af-screen-actions {
  position:sticky!important;
  bottom:0!important;
  margin-top:0!important;
  padding:11px 0 0!important;
  box-shadow:0 -8px 16px rgba(255,255,255,.94)!important;
}
html body #af-modal#af-modal .af-screen-actions > * { min-width:0!important;max-width:100%!important; }
html body #af-modal#af-modal .af-action-summary { width:100%!important;min-width:0!important;margin:0!important;padding:9px 12px!important; }
html body #af-modal#af-modal .af-action-summary-value { color:#fff!important;white-space:normal!important; }
html body #af-modal#af-modal :where(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close) {
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:9px 16px!important;
  border:1px solid var(--af-brand-hover)!important;
  border-radius:7px!important;
  background:var(--af-brand)!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.25!important;
  white-space:normal!important;
}
html body #af-modal#af-modal :where(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close):hover:not(:disabled) { border-color:var(--af-brand-active)!important;background:var(--af-brand-hover)!important; }
html body #af-modal#af-modal :where(.af-action-secondary,.af-back-link,.af-back-btn,.af-booking-back,.af-otp-back) {
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:9px 14px!important;
  border:1px solid var(--af-line-dark)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  font-weight:750!important;
  white-space:normal!important;
}
html body #af-modal#af-modal :where(.af-action-primary,.af-btn,.af-book):disabled { border-color:#cbd5e1!important;background:#e2e8f0!important;color:#64748b!important; }
html body #af-modal#af-modal :where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:3px solid rgba(194,65,12,.52)!important;outline-offset:2px!important; }

/* Completion screen must be scrollable and the Done control must remain usable. */
html body #af-modal#af-modal[data-af-screen="success"] .af-body { overflow-y:auto!important;padding-bottom:20px!important; }
html body #af-modal#af-modal .af-success-screen { display:flex!important;flex-direction:column!important;min-height:100%!important;padding:20px 0!important; }
html body #af-modal#af-modal .af-success-main { width:min(680px,100%)!important;margin:auto!important;text-align:center!important; }
html body #af-modal#af-modal .af-success-card,
html body #af-modal#af-modal .af-parts-finder-card { max-width:100%!important; }
html body #af-modal#af-modal .af-success-actions { position:sticky!important;bottom:0!important;z-index:10!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;margin-top:14px!important;padding:12px 0 max(2px,env(safe-area-inset-bottom))!important;background:linear-gradient(to bottom,rgba(255,255,255,.86),#fff 28%)!important; }
html body #af-modal#af-modal .af-success-actions > * { flex:1 1 180px!important;max-width:100%!important;min-width:0!important; }

/* Tablet. */
@media(max-width:900px) {
  html body #af-modal#af-modal { padding:10px!important; }
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    height:calc(100vh - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }
  @supports(height:100dvh) {
    html body #af-modal#af-modal .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
      height:calc(100dvh - 20px)!important;
      max-height:calc(100dvh - 20px)!important;
    }
  }
  html body #af-modal#af-modal .af-body { padding-inline:16px!important; }
  html body #af-modal#af-modal .af-calendar-time-template { grid-template-columns:minmax(330px,1fr) minmax(240px,.82fr)!important; }
  html body #af-modal#af-modal .af-review-layout-v2 { grid-template-columns:1fr!important; }
}

/* Phone: full-screen frame, compact header, internal panel scrolling. */
@media(max-width:720px) {
  html body #af-modal#af-modal { align-items:stretch!important;padding:0!important;background:#fff!important; }
  html body #af-modal#af-modal .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
  html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
    width:100vw!important;
    max-width:100vw!important;
    height:100vh!important;
    max-height:100vh!important;
  }
  @supports(height:100dvh) {
    html body #af-modal#af-modal .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="booking"] .af-modal-frame,
    html body #af-modal#af-modal[data-af-screen="success"] .af-modal-frame {
      height:100dvh!important;
      max-height:100dvh!important;
    }
  }
  html body #af-modal#af-modal .af-modal-container { border:0!important;border-radius:0!important;box-shadow:none!important; }
  html body #af-modal#af-modal .af-modal-toolbar { min-height:52px!important;padding:7px 8px 7px 11px!important; }
  html body #af-modal#af-modal .af-modal-info-icon { width:30px!important;height:30px!important;flex-basis:30px!important; }
  html body #af-modal#af-modal .af-modal-info-copy { display:block!important; }
  html body #af-modal#af-modal .af-modal-kicker { max-width:190px!important;font-size:11.5px!important; }
  html body #af-modal#af-modal .af-modal-helper { display:none!important; }
  html body #af-modal#af-modal .af-modal-close { min-width:66px!important;min-height:38px!important;padding:7px 10px!important; }
  html body #af-modal#af-modal .af-body { padding:0 12px calc(12px + env(safe-area-inset-bottom))!important; }
  html body #af-modal#af-modal .af-booking-header { gap:6px!important;padding-top:8px!important; }
  html body #af-modal#af-modal .af-booking-context { display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;padding:7px 9px!important; }
  html body #af-modal#af-modal .af-booking-context-kicker,
  html body #af-modal#af-modal .af-booking-context-meta,
  html body #af-modal#af-modal .af-booking-context-estimate-label,
  html body #af-modal#af-modal .af-booking-context-estimate-note { display:none!important; }
  html body #af-modal#af-modal .af-booking-context-title { font-size:11.5px!important; }
  html body #af-modal#af-modal .af-booking-context-estimate { min-width:102px!important;padding:6px 8px!important;text-align:right!important; }
  html body #af-modal#af-modal .af-booking-context-price { font-size:17px!important; }
  html body #af-modal#af-modal .af-stage-pill { min-height:27px!important;padding:3px 2px 5px!important; }
  html body #af-modal#af-modal .af-stage-help { display:none!important; }
  html body #af-modal#af-modal .af-stage-number,
  html body #af-modal#af-modal .af-stage-label { font-size:9.5px!important; }
  html body #af-modal#af-modal .af-panel-main { padding-right:0!important;padding-bottom:8px!important; }
  html body #af-modal#af-modal .af-panel-surface { padding:10px!important; }
  html body #af-modal#af-modal .af-panel-heading { margin-bottom:8px!important;padding-bottom:7px!important; }
  html body #af-modal#af-modal .af-panel-title { font-size:17px!important; }
  html body #af-modal#af-modal .af-panel-description { margin-top:2px!important;font-size:11.5px!important;line-height:1.35!important; }
  html body #af-modal#af-modal .af-calendar-time-template { grid-template-columns:minmax(0,1fr)!important;gap:8px!important; }
  html body #af-modal#af-modal .af-month-calendar { max-width:440px!important; }
  html body #af-modal#af-modal .af-calendar-legend,
  html body #af-modal#af-modal .af-calendar-day-status,
  html body #af-modal#af-modal .af-calendar-month-copy span { display:none!important; }
  html body #af-modal#af-modal .af-calendar-toolbar { min-height:38px!important;padding:3px 6px!important; }
  html body #af-modal#af-modal .af-calendar-nav { width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important; }
  html body #af-modal#af-modal .af-calendar-weekdays,
  html body #af-modal#af-modal .af-calendar-grid { gap:3px!important;padding-left:6px!important;padding-right:6px!important; }
  html body #af-modal#af-modal .af-calendar-grid { padding-bottom:6px!important; }
  html body #af-modal#af-modal .af-calendar-day,
  html body #af-modal#af-modal .af-calendar-grid[data-calendar-weeks="6"] .af-calendar-day { min-height:34px!important;height:34px!important;border-radius:6px!important; }
  html body #af-modal#af-modal .af-day-availability-panel { max-height:none!important;padding:9px!important;overflow:visible!important; }
  html body #af-modal#af-modal .af-slot-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-review-layout-v2 { grid-template-columns:1fr!important;gap:8px!important; }
  html body #af-modal#af-modal .af-payment-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html body #af-modal#af-modal .af-confirm-appointment { align-items:flex-start!important;flex-direction:column!important;gap:3px!important;padding:8px 9px!important; }
  html body #af-modal#af-modal .af-screen-actions {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding-top:9px!important;
    padding-bottom:max(2px,env(safe-area-inset-bottom))!important;
  }
  html body #af-modal#af-modal .af-action-summary { grid-column:1/-1!important;grid-row:1!important; }
  html body #af-modal#af-modal .af-screen-actions :where(.af-action-primary,.af-action-secondary,.af-btn,.af-book,.af-waitlist-btn,.af-otp-button) { width:100%!important; }
  html body #af-modal#af-modal .af-success-actions > * { flex-basis:100%!important; }
}

@media(max-width:390px), (max-height:650px) {
  html body #af-modal#af-modal .af-body { padding-left:9px!important;padding-right:9px!important; }
  html body #af-modal#af-modal .af-modal-kicker { max-width:170px!important; }
  html body #af-modal#af-modal .af-panel-surface { padding:8px!important; }
  html body #af-modal#af-modal .af-panel-description { display:none!important; }
  html body #af-modal#af-modal .af-calendar-day,
  html body #af-modal#af-modal .af-calendar-grid[data-calendar-weeks="6"] .af-calendar-day { min-height:30px!important;height:30px!important; }
  html body #af-modal#af-modal .af-calendar-day-number { font-size:10.5px!important; }
  html body #af-modal#af-modal .af-screen-actions { grid-template-columns:minmax(0,1fr)!important; }
  html body #af-modal#af-modal .af-action-summary { grid-column:1!important; }
  html body #af-modal#af-modal .af-screen-actions :where(.af-action-primary,.af-action-secondary) { min-height:42px!important; }
}

@media(prefers-reduced-motion:reduce) {
  html body #af-modal#af-modal *,
  html body #af-modal#af-modal *:before,
  html body #af-modal#af-modal *:after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}

/* Completion actions: keep secondary links visually consistent and fully contained. */
html body #af-modal#af-modal .af-success-actions a {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:9px 14px!important;
  border:1px solid var(--af-line-dark)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--af-ink)!important;
  font-weight:750!important;
  line-height:1.25!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
html body #af-modal#af-modal .af-success-actions a:hover,
html body #af-modal#af-modal .af-success-actions a:focus-visible {
  border-color:var(--af-brand)!important;
  background:var(--af-brand-soft)!important;
  color:var(--af-brand-hover)!important;
}
html body #af-modal#af-modal .af-success-actions span:empty {
  display:none!important;
}


/* --------------------------------------------------------------------------
 * v9.9.64 — High-end visual polish. Presentation only; workflow logic intact.
 * -------------------------------------------------------------------------- */
html body #af-modal#af-modal {
  --af-brand:#a61f24;
  --af-brand-hover:#86191d;
  --af-brand-active:#6f1418;
  --af-brand-soft:#fff5f4;
  --af-brand-ring:rgba(166,31,36,.18);
  --af-navy:#14213d;
  --af-navy-2:#1d2d4b;
  --af-ink:#101828;
  --af-copy:#344054;
  --af-muted:#667085;
  --af-line:#d7dee8;
  --af-line-dark:#aeb9c8;
  --af-page:#f3f6fa;
  --af-soft:#f8fafc;
  --af-surface:#fff;
  background:
    radial-gradient(circle at 18% 8%,rgba(255,255,255,.10),transparent 34%),
    radial-gradient(circle at 88% 92%,rgba(166,31,36,.10),transparent 34%),
    rgba(12,22,40,.82)!important;
  letter-spacing:0!important;
}
html body #af-modal#af-modal .af-modal-container {
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 34px 90px rgba(3,10,24,.48),0 12px 32px rgba(3,10,24,.24)!important;
}
html body #af-modal#af-modal .af-modal-toolbar {
  min-height:58px!important;
  padding:10px 13px 10px 17px!important;
  background:linear-gradient(135deg,#101b31 0%,#182945 55%,#213452 100%)!important;
  border-bottom-color:rgba(255,255,255,.12)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.18)!important;
}
html body #af-modal#af-modal .af-modal-info-icon {
  border-radius:9px!important;
  background:linear-gradient(145deg,#c52d33,#8f181d)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 14px rgba(166,31,36,.30)!important;
}
html body #af-modal#af-modal .af-modal-kicker { letter-spacing:-.08px!important; }
html body #af-modal#af-modal .af-modal-helper { color:#d6deea!important; }
html body #af-modal#af-modal .af-modal-close {
  border-color:rgba(255,255,255,.50)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.07)!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
html body #af-modal#af-modal .af-modal-close:hover { transform:translateY(-1px)!important; }
html body #af-modal#af-modal .af-modal-content,
html body #af-modal#af-modal .af-body { background:linear-gradient(180deg,#fbfcfe 0%,#f5f7fa 100%)!important; }
html body #af-modal#af-modal .af-body { scrollbar-color:#aab4c2 #edf1f5!important; }
html body #af-modal#af-modal .af-body::-webkit-scrollbar-track { background:#edf1f5!important; }
html body #af-modal#af-modal .af-body::-webkit-scrollbar-thumb { background:#aab4c2!important;border-color:#edf1f5!important; }

/* Elevated, consistent surfaces and typography. */
html body #af-modal#af-modal :where(.af-location-card,.af-panel-surface,.af-form-card,.af-review-section,.af-summary-card,.af-review-card,.af-otp-card,.af-waitlist-card,.af-parts-finder-card,.af-month-calendar,.af-selected-day-summary,.af-day-availability-panel,.af-close-dialog__panel) {
  border-color:var(--af-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(16,24,40,.055),0 1px 2px rgba(16,24,40,.04)!important;
}
html body #af-modal#af-modal .af-panel-surface { padding:17px!important; }
html body #af-modal#af-modal :where(.af-h2,.af-section-title,.af-panel-title,.af-form-heading,.af-review-card-title,.af-otp-title,.af-waitlist-title,.af-success-main h2) {
  letter-spacing:-.32px!important;
  font-weight:800!important;
}
html body #af-modal#af-modal :where(.af-p,.af-section-subtitle,.af-panel-description,.af-confirm-note,.af-otp-copy,.af-waitlist-copy) {
  color:var(--af-copy)!important;
  line-height:1.55!important;
}
html body #af-modal#af-modal .af-panel-heading { border-bottom-color:#e7ebf0!important; }
html body #af-modal#af-modal .af-field-label,
html body #af-modal#af-modal .af-vehicle-field-label { color:#25324a!important;font-weight:720!important; }
html body #af-modal#af-modal :where(.af-input,.af-input-app,.af-textarea,select,input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea) {
  min-height:46px!important;
  border-color:#b9c3d1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
html body #af-modal#af-modal :where(.af-input,.af-input-app,.af-textarea,select,input,textarea):focus {
  border-color:var(--af-brand)!important;
  box-shadow:0 0 0 4px var(--af-brand-ring)!important;
}

/* Selection cards feel deliberate rather than flat. */
html body #af-modal#af-modal :where(.af-cat,.af-svc) {
  border-color:#d6dde7!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#fbfcfe)!important;
  box-shadow:0 3px 10px rgba(16,24,40,.035)!important;
  transition:border-color .17s ease,background-color .17s ease,box-shadow .17s ease,transform .17s ease!important;
}
html body #af-modal#af-modal :where(.af-cat,.af-svc):hover {
  border-color:#bd6c70!important;
  background:#fffafa!important;
  box-shadow:0 8px 20px rgba(16,24,40,.08)!important;
  transform:translateY(-1px)!important;
}
html body #af-modal#af-modal :where(.af-cat.is-selected,.af-svc.is-selected) {
  border-color:var(--af-brand)!important;
  background:linear-gradient(180deg,#fff8f7,#fff3f2)!important;
  box-shadow:0 0 0 2px var(--af-brand-ring),0 8px 20px rgba(16,24,40,.07)!important;
}
html body #af-modal#af-modal .af-cat-ic { border-radius:10px!important; }

/* Booking summary and progress. */
html body #af-modal#af-modal .af-booking-context {
  border-color:#dce3ec!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%)!important;
  box-shadow:0 7px 18px rgba(16,24,40,.05)!important;
}
html body #af-modal#af-modal .af-booking-context-estimate,
html body #af-modal#af-modal .af-action-summary {
  border-color:#0c172b!important;
  border-left-color:var(--af-brand)!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#0f1a30,#1b2a47)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.16)!important;
}
html body #af-modal#af-modal .af-stage-pill {
  border-bottom-width:3px!important;
  transition:color .16s ease,border-color .16s ease,background-color .16s ease!important;
}
html body #af-modal#af-modal .af-stage-pill.is-active {
  color:var(--af-brand-hover)!important;
  background:linear-gradient(180deg,transparent,#fff6f5)!important;
}

/* Calendar and time selection. */
html body #af-modal#af-modal .af-month-calendar { border-color:#d5dde8!important; }
html body #af-modal#af-modal .af-calendar-toolbar {
  min-height:46px!important;
  padding:7px 9px!important;
  background:linear-gradient(180deg,#fbfcfe,#f2f5f9)!important;
}
html body #af-modal#af-modal .af-calendar-nav {
  border-radius:10px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05)!important;
  transition:border-color .16s ease,background-color .16s ease,transform .16s ease!important;
}
html body #af-modal#af-modal .af-calendar-nav:hover:not(:disabled) { transform:translateY(-1px)!important; }
html body #af-modal#af-modal .af-calendar-weekdays span { color:#536176!important;font-weight:800!important;letter-spacing:.36px!important; }
html body #af-modal#af-modal .af-calendar-day,
html body #af-modal#af-modal .af-calendar-grid[data-calendar-weeks="6"] .af-calendar-day {
  border-color:#e1e6ed!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.025)!important;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
html body #af-modal#af-modal .af-calendar-day:not(:disabled) { border-color:#d9b3b5!important;background:#fffafa!important; }
html body #af-modal#af-modal .af-calendar-day:not(:disabled):hover { transform:translateY(-1px)!important;box-shadow:0 5px 12px rgba(16,24,40,.08)!important; }
html body #af-modal#af-modal .af-calendar-day.is-selected,
html body #af-modal#af-modal .af-calendar-day[aria-selected="true"],
html body #af-modal#af-modal .af-calendar-day[aria-pressed="true"] {
  border-color:#741318!important;
  background:linear-gradient(145deg,#bc2930,#92191e)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(166,31,36,.16),0 8px 16px rgba(166,31,36,.22)!important;
  transform:translateY(-1px)!important;
}
html body #af-modal#af-modal .af-calendar-day:disabled { border-color:#edf0f4!important;background:#f7f9fb!important;color:#a1aaba!important;opacity:1!important; }
html body #af-modal#af-modal .af-day-availability-panel { background:linear-gradient(180deg,#f8fafc,#f4f7fa)!important; }
html body #af-modal#af-modal .af-selected-day-summary { border-color:#d6dee8!important;background:#fff!important; }
html body #af-modal#af-modal .af-slot {
  min-height:48px!important;
  border-color:#cdd6e1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 6px rgba(16,24,40,.035)!important;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
html body #af-modal#af-modal .af-slot:hover:not(:disabled) { transform:translateY(-1px)!important;box-shadow:0 6px 14px rgba(16,24,40,.08)!important; }
html body #af-modal#af-modal .af-slot.is-selected,
html body #af-modal#af-modal .af-slot[aria-pressed="true"] {
  border-color:#741318!important;
  background:linear-gradient(145deg,#b9262d,#8e171c)!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(166,31,36,.14),0 7px 16px rgba(166,31,36,.20)!important;
}
html body #af-modal#af-modal .af-time-selection { border:1px solid #9ed8c1!important;background:#effaf5!important; }

/* Review, payment, confirmation. */
html body #af-modal#af-modal .af-confirm-appointment {
  border-color:#d7dee8!important;
  border-left-color:var(--af-brand)!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#fff,#f7f9fc)!important;
  box-shadow:0 5px 14px rgba(16,24,40,.045)!important;
}
html body #af-modal#af-modal .af-pay-label {
  min-height:50px!important;
  border-color:#cfd8e3!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 6px rgba(16,24,40,.03)!important;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
html body #af-modal#af-modal .af-pay-label:hover { border-color:#b97377!important;transform:translateY(-1px)!important; }
html body #af-modal#af-modal .af-pay-radio:checked + .af-pay-label {
  border-color:var(--af-brand)!important;
  background:#fff6f5!important;
  color:var(--af-brand-hover)!important;
  box-shadow:0 0 0 3px var(--af-brand-ring)!important;
}
html body #af-modal#af-modal .af-parts-card { border-color:#d8e0e9!important;background:#f8fafc!important; }
html body #af-modal#af-modal .af-otp-card { box-shadow:0 14px 32px rgba(16,24,40,.10)!important; }

/* Premium controls, restrained motion, and accessible focus. */
html body #af-modal#af-modal :where(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close) {
  min-height:46px!important;
  border-color:#741318!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#b8282f,#961a20)!important;
  box-shadow:0 7px 16px rgba(166,31,36,.20),inset 0 1px 0 rgba(255,255,255,.16)!important;
  transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease!important;
}
html body #af-modal#af-modal :where(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close):hover:not(:disabled) {
  background:linear-gradient(180deg,#a71f25,#7e151a)!important;
  box-shadow:0 9px 20px rgba(134,25,29,.25),inset 0 1px 0 rgba(255,255,255,.12)!important;
  transform:translateY(-1px)!important;
}
html body #af-modal#af-modal :where(.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close):active:not(:disabled) { transform:translateY(0)!important;box-shadow:0 3px 9px rgba(134,25,29,.18)!important; }
html body #af-modal#af-modal :where(.af-action-secondary,.af-back-link,.af-back-btn,.af-booking-back,.af-otp-back) {
  border-color:#aeb9c8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#24324a!important;
  box-shadow:0 2px 6px rgba(16,24,40,.035)!important;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
html body #af-modal#af-modal :where(.af-action-secondary,.af-back-link,.af-back-btn,.af-booking-back,.af-otp-back):hover {
  border-color:#78879b!important;
  background:#f8fafc!important;
  transform:translateY(-1px)!important;
}
html body #af-modal#af-modal :where(button,a,input,select,textarea):focus-visible {
  outline:3px solid rgba(166,31,36,.25)!important;
  outline-offset:2px!important;
}
html body #af-modal#af-modal .af-screen-actions {
  border-top-color:#e2e7ee!important;
  background:linear-gradient(180deg,rgba(251,252,254,.90),#fff 24%)!important;
}
html body #af-modal#af-modal .af-success-icon {
  background:linear-gradient(145deg,#0a8a61,#047857)!important;
  box-shadow:0 10px 24px rgba(4,120,87,.22)!important;
}

@media(max-width:720px) {
  html body #af-modal#af-modal { background:#fff!important; }
  html body #af-modal#af-modal .af-modal-container { border-radius:0!important; }
  html body #af-modal#af-modal .af-modal-toolbar { min-height:54px!important;padding-top:max(8px,env(safe-area-inset-top))!important; }
  html body #af-modal#af-modal .af-panel-surface { padding:12px!important; }
  html body #af-modal#af-modal :where(.af-location-card,.af-panel-surface,.af-form-card,.af-review-section,.af-summary-card,.af-review-card,.af-otp-card,.af-waitlist-card,.af-parts-finder-card,.af-month-calendar,.af-selected-day-summary,.af-day-availability-panel) { border-radius:11px!important;box-shadow:0 4px 14px rgba(16,24,40,.045)!important; }
  html body #af-modal#af-modal .af-calendar-day,
  html body #af-modal#af-modal .af-calendar-grid[data-calendar-weeks="6"] .af-calendar-day { border-radius:8px!important; }
}
@media(max-width:390px),(max-height:650px) {
  html body #af-modal#af-modal .af-panel-surface { padding:9px!important; }
  html body #af-modal#af-modal .af-booking-context { border-radius:10px!important; }
}
@media(prefers-reduced-motion:reduce) {
  html body #af-modal#af-modal :where(.af-modal-close,.af-cat,.af-svc,.af-calendar-nav,.af-calendar-day,.af-slot,.af-pay-label,.af-btn,.af-action-primary,.af-book,.af-waitlist-btn,.af-otp-button,.af-completion-close,.af-action-secondary,.af-back-link,.af-back-btn,.af-booking-back,.af-otp-back) { transition:none!important;transform:none!important; }
}


/* --------------------------------------------------------------------------
 * v9.9.64 — Confirmation vehicle emphasis and reliable retailer buttons.
 * -------------------------------------------------------------------------- */
html body #af-modal#af-modal .af-success-card {
  display:grid!important;
  justify-items:center!important;
  gap:5px!important;
  width:min(520px,100%)!important;
  border:1px solid #d6dee8!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  box-shadow:0 8px 24px rgba(16,24,40,.07)!important;
}
html body #af-modal#af-modal .af-success-date {
  color:#111827!important;
  font-size:clamp(19px,2vw,24px)!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
}
html body #af-modal#af-modal .af-success-time {
  margin-top:1px!important;
  color:var(--af-brand)!important;
  font-size:clamp(17px,1.7vw,21px)!important;
  font-weight:850!important;
  line-height:1.25!important;
}
html body #af-modal#af-modal .af-success-vehicle {
  margin-top:3px!important;
  color:#24324a!important;
  font-size:clamp(15px,1.45vw,18px)!important;
  font-weight:800!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
html body #af-modal#af-modal .af-parts-finder-card {
  width:min(620px,100%)!important;
  margin:16px auto 0!important;
  padding:18px!important;
  border:1px solid #d6dee8!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#24324a!important;
  box-shadow:0 8px 24px rgba(16,24,40,.065)!important;
  text-align:center!important;
  overflow:hidden!important;
}
html body #af-modal#af-modal .af-parts-finder-title {
  margin:0!important;
  color:#111827!important;
  font-size:19px!important;
  font-weight:850!important;
  line-height:1.3!important;
}
html body #af-modal#af-modal .af-parts-finder-intro {
  max-width:540px!important;
  margin:7px auto 14px!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.5!important;
}
html body #af-modal#af-modal .af-parts-finder-list {
  display:grid!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-parts-finder-item {
  display:grid!important;
  gap:11px!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid #e1e7ef!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
html body #af-modal#af-modal .af-parts-finder-part {
  min-width:0!important;
  color:#334155!important;
  font-size:15px!important;
  font-weight:650!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
}
html body #af-modal#af-modal .af-parts-finder-service,
html body #af-modal#af-modal .af-parts-finder-vehicle {
  color:#132238!important;
  font-weight:850!important;
}
html body #af-modal#af-modal .af-parts-finder-for {
  white-space:nowrap!important;
}
html body #af-modal#af-modal .af-parts-finder-buttons {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
html body #af-modal#af-modal .af-parts-finder-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:11px 14px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  box-sizing:border-box!important;
  box-shadow:0 5px 14px rgba(16,24,40,.14)!important;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
html body #af-modal#af-modal .af-parts-finder-button--autozone {
  border-color:#8f1b13!important;
  background:linear-gradient(180deg,#b42318 0%,#981d14 100%)!important;
}
html body #af-modal#af-modal .af-parts-finder-button--oreilly {
  border-color:#132238!important;
  background:linear-gradient(180deg,#243b5a 0%,#132238 100%)!important;
}
html body #af-modal#af-modal .af-parts-finder-button:hover,
html body #af-modal#af-modal .af-parts-finder-button:focus-visible {
  color:#fff!important;
  text-decoration:none!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 18px rgba(16,24,40,.18)!important;
}
html body #af-modal#af-modal .af-parts-finder-button--autozone:hover,
html body #af-modal#af-modal .af-parts-finder-button--autozone:focus-visible {
  background:#8f1b13!important;
}
html body #af-modal#af-modal .af-parts-finder-button--oreilly:hover,
html body #af-modal#af-modal .af-parts-finder-button--oreilly:focus-visible {
  background:#0b1728!important;
}
html body #af-modal#af-modal .af-parts-finder-disclaimer {
  max-width:560px!important;
  margin:13px auto 0!important;
  color:#475569!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.5!important;
}
@media(max-width:520px) {
  html body #af-modal#af-modal .af-success-card { padding:17px 13px!important; }
  html body #af-modal#af-modal .af-parts-finder-card { padding:14px 12px!important; }
  html body #af-modal#af-modal .af-parts-finder-item { padding:12px!important; }
  html body #af-modal#af-modal .af-parts-finder-buttons { grid-template-columns:minmax(0,1fr)!important; }
  html body #af-modal#af-modal .af-parts-finder-button { min-height:46px!important; }
}
@media(prefers-reduced-motion:reduce) {
  html body #af-modal#af-modal .af-parts-finder-button { transition:none!important;transform:none!important; }
}


/* --------------------------------------------------------------------------
 * v9.9.64 — Readability and retailer-link finalization.
 * -------------------------------------------------------------------------- */
html body #af-modal#af-modal {
  --af-brand:#b42318;
  --af-brand-hover:#912018;
  --af-brand-active:#761b16;
  --af-brand-soft:#fff4f2;
  --af-brand-ring:rgba(180,35,24,.18);
  --af-navy:#132238;
  --af-navy-2:#1d314d;
  --af-ink:#101828;
  --af-copy:#344054;
  --af-muted:#475467;
  --af-line:#d0d5dd;
  --af-line-dark:#98a2b3;
  --af-page:#f2f4f7;
  --af-soft:#f8fafc;
  font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-kerning:normal!important;
}
html body #af-modal#af-modal :where(.af-h2,.af-panel-title,.af-success-date,.af-success-time,.af-success-vehicle,.af-parts-finder-title,.af-parts-finder-service,.af-parts-finder-vehicle) {
  text-wrap:balance;
}
html body #af-modal#af-modal :where(.af-p,.af-panel-description,.af-success-help,.af-parts-finder-intro,.af-parts-finder-disclaimer) {
  color:var(--af-copy)!important;
  text-wrap:pretty;
}
html body #af-modal#af-modal :where(.af-success-date,.af-success-time,.af-success-vehicle,.af-parts-finder-title,.af-parts-finder-service,.af-parts-finder-vehicle,.af-parts-finder-button) {
  font-weight:800!important;
}
html body #af-modal#af-modal .af-success-card {
  border-color:#cfd8e3!important;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)!important;
}
html body #af-modal#af-modal .af-success-vehicle {
  color:var(--af-navy)!important;
  font-size:clamp(16px,1.5vw,19px)!important;
}
html body #af-modal#af-modal .af-parts-finder-card {
  border-color:#cfd8e3!important;
  background:#fff!important;
}
html body #af-modal#af-modal .af-parts-finder-item {
  border-color:#dbe2ea!important;
  background:#f8fafc!important;
}
html body #af-modal#af-modal .af-parts-finder-part {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  justify-content:center!important;
  column-gap:4px!important;
  row-gap:2px!important;
  color:var(--af-copy)!important;
  line-height:1.45!important;
}
html body #af-modal#af-modal .af-parts-finder-for {
  white-space:normal!important;
  color:var(--af-copy)!important;
}
html body #af-modal#af-modal .af-parts-finder-button {
  min-height:50px!important;
  border-radius:11px!important;
  font-size:15.5px!important;
  letter-spacing:.005em!important;
}
html body #af-modal#af-modal .af-parts-finder-button--autozone {
  border-color:#8f1b13!important;
  background:linear-gradient(180deg,#c02c20 0%,#a51f17 100%)!important;
}
html body #af-modal#af-modal .af-parts-finder-button--autozone:hover,
html body #af-modal#af-modal .af-parts-finder-button--autozone:focus-visible {
  background:#8f1b13!important;
}
html body #af-modal#af-modal .af-parts-finder-button--oreilly {
  border-color:#07542e!important;
  background:linear-gradient(180deg,#0d7a43 0%,#0b6338 100%)!important;
}
html body #af-modal#af-modal .af-parts-finder-button--oreilly:hover,
html body #af-modal#af-modal .af-parts-finder-button--oreilly:focus-visible {
  background:#07542e!important;
}
html body #af-modal#af-modal .af-external-icon {
  flex:0 0 auto!important;
  font-size:.9em!important;
  opacity:.9!important;
}
html body #af-modal#af-modal .af-parts-finder-button:focus-visible {
  outline:3px solid rgba(180,35,24,.22)!important;
  outline-offset:3px!important;
}
@media(max-width:520px) {
  html body #af-modal#af-modal .af-parts-finder-part { font-size:14.5px!important; }
  html body #af-modal#af-modal .af-parts-finder-button { min-height:48px!important;font-size:15px!important; }
}

/* v9.9.64 — Completion actions remain in normal document flow so the
 * disclaimer and retailer content are never obscured by a sticky footer. */
html body #af-modal#af-modal .af-success-actions {
  position:relative!important;
  bottom:auto!important;
  z-index:1!important;
  background:#fff!important;
}


/* v9.9.64 — verification retry persistence and breathing room */
html body #af-modal#af-modal .af-waitlist-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;align-content:center!important;gap:12px!important;width:min(640px,100%)!important;max-width:640px!important;margin:20px auto 4px!important;padding:24px clamp(18px,3vw,30px)!important;}
html body #af-modal#af-modal .af-waitlist-title{display:block!important;margin:0!important;color:var(--af-ink)!important;font-size:clamp(18px,2vw,22px)!important;line-height:1.25!important;text-align:center!important;}
html body #af-modal#af-modal .af-waitlist-copy{display:block!important;max-width:500px!important;margin:0!important;color:var(--af-copy)!important;font-size:13px!important;line-height:1.55!important;text-align:center!important;}
html body #af-modal#af-modal .af-waitlist-btn{margin:4px 0 0!important;padding:12px 22px!important;}
html body #af-modal#af-modal .af-book-msg{width:100%!important;margin-top:16px!important;padding-top:2px!important;}
html body #af-modal#af-modal .af-verification-progress{display:block!important;width:min(480px,100%)!important;margin:0 auto!important;padding:12px 16px!important;border:1px solid #edc0bd!important;border-radius:10px!important;background:#fff6f5!important;color:var(--af-brand-hover)!important;font-weight:750!important;line-height:1.45!important;text-align:center!important;}
html body #af-modal#af-modal .af-otp-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;gap:13px!important;width:min(500px,100%)!important;margin:12px auto 4px!important;padding:26px clamp(18px,3vw,30px)!important;}
html body #af-modal#af-modal .af-otp-title,html body #af-modal#af-modal .af-otp-copy{margin:0!important;}
html body #af-modal#af-modal .af-otp-copy{max-width:420px!important;font-size:13px!important;line-height:1.55!important;text-align:center!important;}
html body #af-modal#af-modal .af-otp-input{width:min(290px,100%)!important;min-height:54px!important;margin:1px auto 0!important;padding:10px 14px!important;border-width:2px!important;border-radius:9px!important;font-size:22px!important;line-height:1!important;letter-spacing:.24em!important;}
html body #af-modal#af-modal .af-otp-actions{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:center!important;gap:12px!important;width:100%!important;margin-top:3px!important;}
html body #af-modal#af-modal .af-otp-actions>*{flex:1 1 190px!important;min-width:0!important;max-width:100%!important;min-height:48px!important;padding:11px 18px!important;}
html body #af-modal#af-modal .af-otp-status{min-height:20px!important;margin-top:1px!important;font-size:12px!important;font-weight:750!important;line-height:1.45!important;text-align:center!important;}
html body #af-modal#af-modal .af-payment-grid{gap:9px!important;}
html body #af-modal#af-modal .af-pay-label{min-height:56px!important;padding:8px 6px!important;gap:4px!important;}
html body #af-modal#af-modal .af-confirm-note{margin-top:10px!important;}
html body #af-modal#af-modal .af-screen-actions{gap:12px!important;padding-top:14px!important;}
html body #af-modal#af-modal .af-screen-actions :where(.af-action-primary,.af-action-secondary){padding:11px 18px!important;}
html body #af-modal#af-modal[data-af-verification-active="true"] [data-book-panel="review"]>.af-screen-actions{display:none!important;}
@media(max-width:620px){html body #af-modal#af-modal .af-waitlist-card{gap:10px!important;padding:20px 16px!important;}html body #af-modal#af-modal .af-waitlist-btn{width:100%!important;}html body #af-modal#af-modal .af-otp-card{gap:11px!important;padding:21px 15px!important;}html body #af-modal#af-modal .af-otp-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}html body #af-modal#af-modal .af-otp-actions>*{width:100%!important;}}


/* v9.9.64 — Keep the cancellation waitlist inside the availability column.
 * Desktop users see the action immediately; phones place it before the calendar
 * whenever the entire booking window has no openings. */
html body #af-modal#af-modal .af-day-availability-panel.has-waitlist {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
html body #af-modal#af-modal .af-day-availability-panel.has-waitlist .af-availability-panel-title {
  flex:0 0 auto!important;
  margin:0!important;
}
html body #af-modal#af-modal .af-waitlist-card.af-waitlist-card--inline {
  order:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:stretch!important;
  align-content:start!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid #e3b6b2!important;
  border-left:4px solid var(--af-brand)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fffafa 0%,#fff5f4 100%)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.07)!important;
  text-align:left!important;
}
html body #af-modal#af-modal .af-waitlist-card--inline .af-waitlist-title {
  margin:0!important;
  color:var(--af-ink)!important;
  font-size:18px!important;
  line-height:1.28!important;
  text-align:left!important;
}
html body #af-modal#af-modal .af-waitlist-card--inline .af-waitlist-copy {
  max-width:none!important;
  margin:0!important;
  color:var(--af-copy)!important;
  font-size:13px!important;
  line-height:1.5!important;
  text-align:left!important;
}
html body #af-modal#af-modal .af-waitlist-card--inline .af-waitlist-btn {
  width:100%!important;
  min-height:48px!important;
  margin:3px 0 0!important;
  padding:12px 16px!important;
  white-space:normal!important;
}
html body #af-modal#af-modal .af-day-availability-panel.has-waitlist .af-selected-day-summary {
  order:2!important;
  margin:0!important;
}
html body #af-modal#af-modal .af-day-availability-panel.has-waitlist .af-selected-day-slots {
  order:3!important;
  margin:0!important;
}
html body #af-modal#af-modal .af-day-availability-panel.has-waitlist .af-time-selection {
  order:4!important;
}
html body #af-modal#af-modal .af-calendar-time-template.is-waitlist-only .af-month-calendar,
html body #af-modal#af-modal .af-calendar-time-template.is-waitlist-only .af-day-availability-panel {
  min-height:0!important;
}
html body #af-modal#af-modal .af-calendar-time-template.is-waitlist-only .af-day-availability-panel {
  align-self:stretch!important;
}
html body #af-modal#af-modal .af-action-primary:disabled:is([data-af-local-id="af-time-continue"]) {
  color:#475467!important;
}
@media(max-width:720px) {
  html body #af-modal#af-modal .af-calendar-time-template.is-waitlist-only .af-day-availability-panel {
    order:1!important;
    padding:10px!important;
    overflow:visible!important;
  }
  html body #af-modal#af-modal .af-calendar-time-template.is-waitlist-only .af-month-calendar {
    order:2!important;
  }
  html body #af-modal#af-modal .af-waitlist-card.af-waitlist-card--inline {
    padding:16px!important;
  }
  html body #af-modal#af-modal .af-waitlist-card--inline .af-waitlist-title {
    font-size:17px!important;
  }
}

/* Fresh-install safety: explain an unconfigured fleet instead of rendering
   empty vehicle selectors that look broken to customers. */
html body #af-modal#af-modal .af-setup-unavailable {
  width:min(100%,620px)!important;
  margin:clamp(18px,5vh,52px) auto!important;
  padding:clamp(22px,4vw,34px)!important;
  border:1px solid var(--af-line,#d0d5dd)!important;
  border-radius:18px!important;
  background:var(--af-surface,#fff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
  text-align:center!important;
}
html body #af-modal#af-modal .af-setup-unavailable__icon {
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  margin:0 auto 14px!important;
  border-radius:14px!important;
  background:var(--af-accent-soft,#fff1f0)!important;
  color:var(--af-accent,#b42318)!important;
  font-size:24px!important;
  font-weight:900!important;
}
html body #af-modal#af-modal .af-screen-actions--single {
  grid-template-columns:minmax(0,220px)!important;
  justify-content:start!important;
}
@media(max-width:640px) {
  html body #af-modal#af-modal .af-screen-actions--single {
    grid-template-columns:minmax(0,1fr)!important;
  }
}
