/**
 * MOVA tools ↔ PropAtlas UI Kit bridge (2026-07-31 / bind1)
 * Real kit components under tool roots (PaDate / PaCombo / choice-card / pa-money).
 * Fonts stay Manrope/Fraunces; pa / choice-card tokens remapped under tool roots.
 */

/* MOVA is always a light product surface — lock kit text/icon tokens even if
   a parent theme or stale CSS would push dark (near-white) control colors. */
html[data-mova-base],
html[data-mova-site],
.kit-tool,
.elig-widget,
.hf-wizard,
.calc-panel-spoke,
.apply-card:not(.apply-card--navy),
.apply-hero__form,
.mova-widget.kit-tool,
.footer-news-form.kit-tool {
  --pa-ctrl-bg: #ffffff;
  --pa-ctrl-bg-muted: #f4f6f9;
  --pa-ctrl-border: #d5dce8;
  --pa-ctrl-border-strong: #b8c3d6;
  --pa-ctrl-text: #0b1f35;
  --pa-ctrl-text-sec: #5b6b82;
  --pa-ctrl-text-muted: #8a97ab;
  --pa-ctrl-shadow: 0 1px 2px rgba(11, 31, 53, 0.04);
  --pa-ctrl-shadow-focus: 0 0 0 3px rgba(23, 103, 232, 0.18);
}

/* Hard lock: light-surface inputs/icons never inherit near-white text */
.kit-tool .pa-input,
.kit-tool .pa-select,
.kit-tool .pa-textarea,
.kit-tool .wiz-input,
.kit-tool select.wiz-input,
.kit-tool .pa-date__text,
.kit-tool .pa-combo__trigger,
.kit-tool .elig-currency,
.elig-widget .pa-input,
.elig-widget .elig-currency,
.elig-widget .wiz-input,
.hf-wizard .pa-input,
.hf-wizard .wiz-input,
.apply-card:not(.apply-card--navy) input,
.apply-card:not(.apply-card--navy) select,
.apply-card:not(.apply-card--navy) textarea {
  color: var(--pa-ctrl-text, #0b1f35);
  -webkit-text-fill-color: var(--pa-ctrl-text, #0b1f35);
  caret-color: var(--pa-ctrl-text, #0b1f35);
}
.kit-tool .pa-field__ico,
.kit-tool .pa-date__ico,
.kit-tool .pa-combo__ico,
.elig-widget .pa-field__ico,
.hf-wizard .pa-field__ico {
  color: var(--pa-ctrl-text-muted, #8a97ab);
}
.kit-tool .pa-field__control:focus-within .pa-field__ico,
.elig-widget .pa-field__control:focus-within .pa-field__ico,
.hf-wizard .pa-field__control:focus-within .pa-field__ico {
  color: var(--pa-ctrl-blue, #1767e8);
}

.elig-widget.pa-density--compact,
.hf-wizard.pa-density--compact,
.calc-panel-spoke.pa-density--compact,
.apply-card.pa-density--compact,
.apply-hero__form.pa-density--compact,
.mova-widget.pa-density--compact.kit-tool,
.footer-news-form.kit-tool {
  --pa-ctrl-font: var(--font);
  --pa-ctrl-display: var(--display);
  --pa-ctrl-h: var(--touch-min);
  --pa-ctrl-h-sm: var(--touch-min-sm);
  --pa-ctrl-radius: var(--radius-ctrl);
  --pa-ctrl-font-size: var(--touch-font, 13px);
  --pa-ctrl-label-size: 11px;
  --pa-ctrl-navy: var(--kit-navy);
  --pa-ctrl-blue: var(--kit-blue);
  --pa-ctrl-gold: var(--kit-gold);
  --pa-font-sans: var(--font);
  --pa-border-light: var(--line, #d8dee8);
  --pa-border-medium: #c7d0de;
  --pa-surface-white: var(--card, #fff);
  --pa-text-primary: var(--ink, #0f172a);
  --pa-info: var(--kit-blue);
  --pa-success: #21c878;
}

/* ── Kit-aligned text controls ── */
.pa-density--compact .elig-currency,
.pa-density--compact .wiz-input,
.pa-density--compact select.wiz-input,
.pa-density--compact .elig-rate-wrap input[type="number"],
.pa-density--compact .elig-years-box input,
.pa-density--compact.apply-card .field input,
.pa-density--compact.apply-card .field select,
.pa-density--compact.apply-card .field textarea,
.pa-density--compact.apply-card .apply-phone input,
.pa-density--compact.apply-card .apply-phone select,
.pa-density--compact.apply-hero__form .field input,
.pa-density--compact.apply-hero__form .field select,
.pa-density--compact.apply-hero__form .field textarea {
  min-height: var(--touch-min);
  border-radius: var(--radius-ctrl);
  font-size: var(--touch-font, 13px);
  box-sizing: border-box;
}

/* ── pa-field wrappers (IDs preserved for JS) ── */
.pa-density--compact .pa-field,
.pa-density--compact .wiz-field.pa-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin: 0 0 12px;
}
.pa-density--compact .pa-field__label,
.pa-density--compact .elig-field > label,
.pa-density--compact .wiz-label,
.pa-density--compact .wiz-label.pa-field__label,
.pa-density--compact.apply-card .field > label,
.pa-density--compact.apply-hero__form .field > label,
.pa-density--compact.apply-hero__form .pa-field__label {
  font-size: var(--pa-ctrl-label-size, 11px);
  font-weight: 600;
  color: var(--muted, #475569);
  letter-spacing: 0.01em;
}

.pa-density--compact .pa-field__control {
  display: flex;
  align-items: center;
  min-height: var(--touch-min);
  background: var(--card, #fff);
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  box-sizing: border-box;
}
.pa-density--compact .pa-field__control:focus-within {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
}
.pa-density--compact .pa-field__control .elig-currency,
.pa-density--compact .pa-field__control .wiz-input,
.pa-density--compact .pa-field__control .pa-input,
.pa-density--compact .pa-field__control .pa-select,
.pa-density--compact .pa-field__control .pa-textarea,
.pa-density--compact .pa-field__control input,
.pa-density--compact .pa-field__control select,
.pa-density--compact .pa-field__control textarea {
  border: 0;
  background: transparent;
  width: 100%;
  min-height: calc(var(--touch-min) - 2px);
  padding: 0 12px;
  outline: none;
  box-shadow: none;
  font: inherit;
  color: inherit;
}
.pa-density--compact .pa-field__control textarea {
  min-height: 88px;
  padding: 10px 12px;
  resize: vertical;
}
.pa-density--compact .pa-field__control--phone,
.pa-density--compact .apply-phone.pa-field__control {
  display: flex;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.pa-density--compact .apply-phone__dial {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  background: var(--bg-soft, #f0f4fa);
  border-right: 1px solid var(--line, #d8dee8);
  font-size: 12px;
  font-weight: 700;
  color: var(--navy-800, #0f2445);
}

/* Bare wiz-input (no pa-field__control wrap — safe for nested suffix rows) */
.pa-density--compact .wiz-field > .wiz-input,
.pa-density--compact .wiz-field > select.wiz-input,
.pa-density--compact .pa-field > .wiz-input,
.pa-density--compact .pa-field > select.wiz-input {
  display: block;
  width: 100%;
  min-height: var(--touch-min);
  padding: 0 12px;
  background: var(--card, #fff);
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  font-size: var(--touch-font, 13px);
  font-family: var(--font);
  box-sizing: border-box;
}
.pa-density--compact .wiz-field > .wiz-input:focus,
.pa-density--compact .wiz-field > select.wiz-input:focus {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
  outline: none;
}

/* Suffix money / % inputs */
.pa-density--compact .wiz-input-suffix {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: var(--touch-min);
  background: var(--card, #fff);
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  overflow: hidden;
}
.pa-density--compact .wiz-input-suffix:focus-within {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
}
.pa-density--compact .wiz-input-suffix .wiz-input {
  border: 0;
  background: transparent;
  flex: 1;
  min-height: calc(var(--touch-min) - 2px);
  box-shadow: none;
}
.pa-density--compact .wiz-input-suffix__tag {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  background: var(--bg-soft, #f0f4fa);
  border-left: 1px solid var(--line, #d8dee8);
  font-size: 11px;
  font-weight: 700;
  color: var(--muted, #475569);
}

/* Apply hero glass forms (cashback / careers) */
.apply-hero__form.kit-tool.pa-density--compact {
  border-radius: var(--radius-card, 16px);
}
.apply-hero__form.kit-tool.pa-density--compact .apply-form__lead {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink, #0f172a);
  margin: 0 0 14px;
}
.apply-hero__form.kit-tool.pa-density--compact .field.pa-field,
.apply-hero__form.kit-tool.pa-density--compact .pa-field {
  margin-bottom: 12px;
}

/* Primary CTA inside kit tools → pa-btn language */
.kit-tool .btn.btn-primary,
.kit-tool button.pa-btn-primary,
.pa-density--compact .btn.btn-primary {
  min-height: var(--touch-min);
  border-radius: var(--radius-ctrl);
  font-size: var(--touch-font, 13px);
  font-weight: 700;
  letter-spacing: 0.01em;
  font-family: var(--font);
}

/* Slider calcs — compact label row + kit field chrome */
.calc-panel-spoke.pa-density--compact .field.pa-field,
.calc-panel-spoke.pa-density--compact .field {
  margin-bottom: 14px;
}
.calc-panel-spoke.pa-density--compact .field-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 6px;
}
.calc-panel-spoke.pa-density--compact .field-top label,
.calc-panel-spoke.pa-density--compact .pa-field__label {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #475569);
}
.calc-panel-spoke.pa-density--compact .field-top output {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink, #0f172a);
}
.calc-panel-spoke.pa-density--compact input[type="range"] {
  width: 100%;
  accent-color: var(--kit-blue);
}

/* Choice tiles inside tools → UI Kit choice-card language */
.kit-tool .mova-choice-cards {
  display: grid;
  gap: 12px;
}
.kit-tool .mova-choice-card {
  position: relative;
  border-radius: 16px;
  border: 1px solid var(--pa-border-light, #d8dee8);
  background: var(--pa-surface-white, #fff);
  box-shadow: 0 8px 22px rgba(6, 24, 55, 0.06);
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  cursor: pointer;
  font-family: var(--font);
}
.kit-tool .mova-choice-card:hover {
  border-color: var(--pa-border-medium, #c7d0de);
  transform: translateY(-1px);
}
.kit-tool .mova-choice-card.is-selected,
.kit-tool .mova-choice-card:has(input:checked) {
  border-color: rgba(33, 200, 120, 0.55);
  box-shadow: 0 10px 28px rgba(6, 24, 55, 0.08), 0 0 0 2px rgba(33, 200, 120, 0.22);
}
.kit-tool .mova-choice-card__tick {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--pa-success, #21c878);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: none;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.kit-tool .mova-choice-card.is-selected .mova-choice-card__tick,
.kit-tool .mova-choice-card:has(input:checked) .mova-choice-card__tick {
  display: inline-flex;
}
.kit-tool .mova-choice-card__label {
  font-size: 12px;
  font-weight: 700;
  color: var(--pa-text-primary, #0f172a);
}

/* Footer newsletter — light kit control */
.footer-news-form.kit-tool {
  --touch-min: 40px;
}
.footer-news-form.kit-tool input[type="email"] {
  min-height: var(--touch-min);
  border-radius: var(--radius-ctrl);
  font-size: 13px;
  border: 1px solid var(--line, #d8dee8);
  font-family: var(--font);
}
.footer-news-form.kit-tool input[type="email"]:focus {
  border-color: var(--kit-blue);
  outline: none;
  box-shadow: var(--shadow-focus);
}
.footer-news-form.kit-tool .btn,
.footer-news-form.kit-tool button {
  min-height: var(--touch-min);
  border-radius: var(--radius-ctrl);
  font-size: 13px;
  font-weight: 700;
}

/* Partner hub: do NOT compact hero promo cards */
.hero-promo-card {
  /* marketing density — untouched */
}

/* ═══════════════════════════════════════════════════════════
   Home #calculator holo wizard — full UI Kit field language
   (overrides style.css absolute suffix / 16px iOS font inside kit shell)
   ═══════════════════════════════════════════════════════════ */
#hfWizardRoot.kit-tool.pa-density--compact {
  --touch-font: 13px;
}

#hfWizardRoot.kit-tool.pa-density--compact .wiz-label,
#hfWizardRoot.kit-tool.pa-density--compact .pa-field__label {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #475569);
  letter-spacing: 0.01em;
}

/* Money / % suffix — kit money control (beat absolute tag layout) */
#hfWizardRoot.kit-tool.pa-density--compact .wiz-input-suffix,
#hfWizardRoot.kit-tool.pa-density--compact .pa-field__control--money {
  display: flex !important;
  align-items: stretch;
  position: relative;
  width: 100%;
  min-height: var(--touch-min);
  padding: 0 !important;
  background: #fff;
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  overflow: hidden;
  box-sizing: border-box;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-input-suffix:focus-within,
#hfWizardRoot.kit-tool.pa-density--compact .pa-field__control--money:focus-within {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-input-suffix .wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .wiz-input-suffix .pa-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: calc(var(--touch-min) - 2px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-input-suffix__tag {
  position: static !important;
  transform: none !important;
  right: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  padding: 0 12px !important;
  margin: 0;
  background: var(--bg-soft, #f0f4fa);
  border-left: 1px solid var(--line, #d8dee8);
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--muted, #475569);
}

/* Date wrap → pa-field control chrome */
#hfWizardRoot.kit-tool.pa-density--compact .wiz-date-wrap {
  display: flex;
  align-items: center;
  min-height: var(--touch-min);
  background: #fff;
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  box-sizing: border-box;
  overflow: hidden;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-date-wrap:focus-within {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-date-wrap .wiz-input {
  border: 0 !important;
  box-shadow: none !important;
  min-height: calc(var(--touch-min) - 2px) !important;
  font-size: 13px !important;
  padding: 0 12px !important;
  background: transparent !important;
  width: 100%;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-date-ph {
  font-size: 13px !important;
  left: 12px;
  color: var(--muted, #64748b);
}

/* Phone → kit split control */
#hfWizardRoot.kit-tool.pa-density--compact .wiz-phone {
  display: flex;
  align-items: stretch;
  min-height: var(--touch-min);
  border: 1px solid var(--line, #d8dee8);
  border-radius: var(--radius-ctrl);
  background: #fff;
  overflow: hidden;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-phone:focus-within {
  border-color: var(--kit-blue);
  box-shadow: var(--shadow-focus);
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-phone__dial {
  background: var(--bg-soft, #f0f4fa);
  font-size: 12px;
  font-weight: 700;
  min-width: 4.25rem;
  padding: 0 10px;
}
#hfWizardRoot.kit-tool.pa-density--compact .wiz-phone .wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .wiz-phone__input {
  min-height: calc(var(--touch-min) - 2px) !important;
  font-size: 13px !important;
  padding: 0 12px !important;
}

/* Bare email / select / text in wizard steps */
#hfWizardRoot.kit-tool.pa-density--compact .pa-field > .wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .wiz-field > .wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .pa-field > select.wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .wiz-field > select.wiz-input {
  min-height: var(--touch-min) !important;
  font-size: 13px !important;
  border: 1px solid var(--line, #d8dee8) !important;
  border-radius: var(--radius-ctrl) !important;
  padding: 0 12px !important;
  background: #fff !important;
}
#hfWizardRoot.kit-tool.pa-density--compact .hf-panel__content--step7 .wiz-input,
#hfWizardRoot.kit-tool.pa-density--compact .hf-panel__content--step7 select.wiz-input {
  min-height: var(--touch-min) !important;
  font-size: 13px !important;
}

/* Holo choice tiles → UI Kit choice-card language */
#hfWizardRoot.kit-tool .holo-card {
  border-radius: 16px;
  border: 1px solid var(--pa-border-light, #d8dee8);
  box-shadow: 0 8px 22px rgba(6, 24, 55, 0.06);
  font-family: var(--font);
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  overflow: hidden;
}
#hfWizardRoot.kit-tool .holo-card:hover {
  border-color: var(--pa-border-medium, #c7d0de);
  transform: translateY(-1px);
}
#hfWizardRoot.kit-tool .holo-card.is-selected,
#hfWizardRoot.kit-tool .holo-card:has(input:checked) {
  border-color: rgba(33, 200, 120, 0.55);
  box-shadow: 0 10px 28px rgba(6, 24, 55, 0.08), 0 0 0 2px rgba(33, 200, 120, 0.22);
}
#hfWizardRoot.kit-tool .holo-card--photo .holo-card__body > strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--pa-text-primary, #0f172a);
}
#hfWizardRoot.kit-tool .holo-card--photo .holo-card__body > small {
  font-size: 12px;
  color: var(--muted, #66738a);
}
#hfWizardRoot.kit-tool .holo-card--photo .holo-card__rule {
  width: 40px;
  height: 3px;
  border-radius: 2px;
  background: var(--kit-gold, #c9a35a);
}

/* Contact preference mini-tiles */
#hfWizardRoot.kit-tool .hf-contact-pref__card {
  border-radius: 12px;
  border: 1px solid var(--line, #d8dee8);
  min-height: var(--touch-min);
  font-family: var(--font);
}
#hfWizardRoot.kit-tool .hf-contact-pref input:checked + .hf-contact-pref__card {
  border-color: rgba(33, 200, 120, 0.55);
  box-shadow: 0 0 0 2px rgba(33, 200, 120, 0.2);
}

/* Wizard CTAs — kit control height (override MOVA pill .btn) */
#hfWizardRoot.kit-tool .hf-btn-next,
#hfWizardRoot.kit-tool .hf-btn-back,
#hfWizardRoot.kit-tool #hfRestart,
#hfWizardRoot.kit-tool .hf-actions .btn,
#hfWizardRoot.kit-tool .hf-actions .pa-btn {
  min-height: var(--touch-min) !important;
  border-radius: var(--radius-ctrl) !important;
  font-size: 13px !important;
  font-weight: 700;
}

/* Bound choice-card hosts (radios stay for wizard JS) */
#hfWizardRoot .kit-choice-radio {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Choice grids must span wizard / spoke field width — not pa-field--m (288px) */
#hfWizardRoot .pa-field:has(.holo-cards),
#hfWizardRoot .pa-field:has(.choice-card-grid),
#hfWizardRoot .wiz-field:has(.holo-cards),
#hfWizardRoot .wiz-field--purpose,
.kit-tool .pa-field:has(.mova-choice-cards),
.kit-tool .pa-field:has(.choice-card-grid),
.kit-tool .elig-field:has(.mova-choice-cards),
.kit-tool .elig-field:has(.choice-card-grid) {
  max-width: none !important;
  width: 100%;
  flex: 1 1 auto;
}
#hfWizardRoot .choice-card-host,
.kit-tool .choice-card-host {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: none;
}
#hfWizardRoot .choice-card-host > .choice-card,
.kit-tool .choice-card-host > .choice-card {
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
  font-family: var(--font, Manrope, system-ui, sans-serif);
}
.kit-tool .kit-choice-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}
/* 12-col span: choice-card-grid alone OR pa-span-grid. Elig squares skip this (2/3 + S/M/L %). */
.kit-tool:not(.elig-widget) .mova-choice-cards.choice-card-grid,
.kit-tool .mova-choice-cards.pa-span-grid {
  display: grid;
  width: 100%;
  gap: var(--pa-span-gap, 12px);
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch;
}
.kit-tool .choice-card-host.pa-span {
  width: 100%;
  min-width: 0;
}
.kit-tool .choice-card-host.pa-span > .choice-card {
  height: 100%;
}
/* Photo tiles: no avatar icon over image (spoke product cards) */
.kit-tool .choice-card--photo .choice-card__icon {
  display: none !important;
}
.kit-tool .choice-card--photo .choice-card__body {
  padding: 12px 12px 16px;
}
.kit-tool .choice-card--photo .choice-card__title {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}
.kit-tool .choice-card--photo .choice-card__title::after {
  width: 36px;
  height: 2px;
  margin: 8px auto 0;
}
.kit-tool .choice-card__check {
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}
@media (max-width: 720px) {
  .kit-tool .mova-choice-cards.pa-span-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
/* Text / yes-no tiles — no empty 148px media band */
#hfWizardRoot .choice-card--compact {
  --cc-icon-size: 40px;
  min-height: 0;
}
#hfWizardRoot .choice-card--compact .choice-card__media {
  display: none !important;
}
#hfWizardRoot .choice-card--compact .choice-card__icon {
  margin: 14px auto 0;
  border-width: 2px;
}
#hfWizardRoot .choice-card--compact .choice-card__icon i,
#hfWizardRoot .choice-card--compact .choice-card__icon svg {
  width: 20px;
  height: 20px;
}
#hfWizardRoot .choice-card--compact .choice-card__body {
  padding: 10px 12px 16px;
}
#hfWizardRoot .choice-card--compact .choice-card__title {
  font-size: 14px;
  margin: 0;
}
#hfWizardRoot .choice-card--compact .choice-card__title::after {
  width: 36px;
  height: 2px;
  margin: 8px auto 0;
}
#hfWizardRoot .choice-card--compact .choice-card__desc {
  margin-top: 8px;
  font-size: 12px;
}
#hfWizardRoot .choice-card--compact .choice-card__check {
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
}
#hfWizardRoot .holo-cards--choice .choice-card--compact .choice-card__icon,
#hfWizardRoot .holo-cards--debts .choice-card--compact .choice-card__icon {
  --cc-icon-size: 36px;
  margin-top: 12px;
}
#hfWizardRoot .holo-cards,
#hfWizardRoot .holo-cards.choice-card-grid,
#hfWizardRoot .choice-card-grid.holo-cards {
  display: grid;
  width: 100%;
  gap: 12px;
  align-items: stretch;
}
/* Product span grid (12-col) wins over legacy 2/3 templates */
#hfWizardRoot .holo-cards.pa-span-grid,
#hfWizardRoot .pa-span-grid.holo-cards {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: var(--pa-span-gap, 12px);
}
#hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--3,
#hfWizardRoot .holo-cards.choice-card-grid:not(.pa-span-grid).holo-cards--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
#hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--2,
#hfWizardRoot .holo-cards.choice-card-grid:not(.pa-span-grid).holo-cards--2,
#hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--purpose4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#hfWizardRoot .choice-card-host.pa-span {
  width: 100%;
  min-width: 0;
}
#hfWizardRoot .choice-card-host.pa-span > .choice-card {
  height: 100%;
}
#hfWizardRoot,
.kit-tool[data-pa-product],
.elig-widget[data-pa-product],
.calc-panel-spoke[data-pa-product] {
  --pa-type-font: var(--font, Manrope, system-ui, sans-serif);
}
#hfWizardRoot .hf-panel__title,
#hfWizardRoot .pa-type-h1 {
  font-family: var(--pa-type-font);
  font-size: var(--pa-type-h1, 1.375rem);
}
@media (max-width: 720px) {
  #hfWizardRoot .holo-cards.pa-span-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  #hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--3,
  #hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--2,
  #hfWizardRoot .holo-cards:not(.pa-span-grid).holo-cards--purpose4 {
    grid-template-columns: 1fr;
  }
}

/* PaDate / pa-money / pa-phone inherit compact density */
#hfWizardRoot.pa-density--compact {
  --pa-ctrl-h: var(--touch-min);
  --pa-ctrl-font-size: 13px;
  --pa-ctrl-font: var(--font);
}
#hfWizardRoot .pa-date,
#hfWizardRoot .pa-phone,
#hfWizardRoot .pa-field__control--money {
  font-family: var(--font);
}
