
/* =====================================================
   🛡️ v2.0.2 SCOPE SHIELD — all styles are plugin-scoped
   Nothing here affects: theme, Elementor, WooCommerce, other plugins
   Every rule starts with .aedbb-fypa or .aedbb-fypa-page
   ===================================================== */
/* Fonts: inherited from theme (Elementor Custom Fonts loads ABC Solar Display 700 + TT Norms Pro 400/500/700 woff2 globally) */

/* ============================================================
   AEDBB Find Your Perfect AED — Plugin Styles
   BEM-scoped under .aedbb-fypa to prevent theme conflicts
   ============================================================ */

.aedbb-fypa {
  --aedbb-green-dark: #003729;
  --aedbb-green-dark-2: #001A15;
  --aedbb-green-dark-3: #000806;
  --aedbb-cream: #FAFAF7;
  --aedbb-cream-2: #E7F9F3;
  --aedbb-green: #00B67A;
  --aedbb-green-2: #00875A;
  --aedbb-green-l: #E7F9F3;
  --aedbb-star: #FFCE00;
  --aedbb-ink: #0A1A15;
  --aedbb-ink-2: #003729;
  --aedbb-muted: #003729;
  --aedbb-border: #E5E7EB;
  --aedbb-border-2: rgba(0,55,41,0.2);
  --aedbb-f-display: 'ABC Solar Display', 'TT Norms Pro', 'Inter', system-ui, sans-serif;
  --aedbb-f: 'TT Norms Pro', 'Inter', system-ui, sans-serif;
  --aedbb-mono: 'SF Mono', Menlo, monospace;
  font-family: var(--aedbb-f);
  color: var(--aedbb-ink);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
.aedbb-fypa *, .aedbb-fypa *::before, .aedbb-fypa *::after { box-sizing: border-box; }
.aedbb-fypa-svg-defs { display: none; }
.aedbb-fypa-ico {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* HTML5 [hidden] attribute must win over inline-flex/grid/etc. on Next/Submit buttons */
.aedbb-fypa [hidden], .aedbb-fypa[hidden] { display: none !important; }

/* ============ HERO VARIANT ============ */
.aedbb-fypa--hero { padding: 40px 20px; }
.aedbb-fypa__hero-card {
  max-width: 1200px;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--aedbb-green-dark) 0%, var(--aedbb-green-dark-2) 60%, var(--aedbb-green-dark-3) 100%);
  color: #fff;
  border-radius: 22px;
  padding: 44px 56px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 55, 41, 0.18);
}
.aedbb-fypa__hero-card::before {
  content: ""; position: absolute; top: -80px; right: -60px;
  width: 340px; height: 340px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,182,122,0.22), transparent 70%);
  pointer-events: none;
}
.aedbb-fypa__hero-card::after {
  content: ""; position: absolute; bottom: -60px; left: -40px;
  width: 260px; height: 260px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,209,131,0.12), transparent 70%);
  pointer-events: none;
}
.aedbb-fypa__hero-inner { position: relative; }
.aedbb-fypa__hero-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--aedbb-green); color: #fff;
  padding: 6px 14px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 11px; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px;
  box-shadow: 0 4px 12px rgba(0,182,122,0.25);
}
.aedbb-fypa__hero-h {
  font-family: var(--aedbb-f-display); font-size: 46px; color: #fff !important;
  font-weight: 700; line-height: 1.05; letter-spacing: -0.025em;
  margin: 0 0 14px 0; max-width: 760px;
}
.aedbb-fypa__hero-h em { font-style: normal; color: var(--aedbb-green); font-weight: 800; }
.aedbb-fypa__hero-lede {
  color: rgba(255, 255, 255, 0.2); font-size: 16.5px; max-width: 680px;
  line-height: 1.65; margin: 0 0 26px 0; font-weight: 500;
}
.aedbb-fypa__hero-options {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px; margin-bottom: 22px; max-width: 1080px;
}
.aedbb-fypa__hero-opt {
  background: rgba(255,255,255,0.06); border: 1.5px solid rgba(255,255,255,0.14);
  border-radius: 12px; padding: 18px 12px; text-align: center;
  cursor: pointer; transition: all 0.15s ease; color: #fff; position: relative;
  display: block; margin: 0;
}
.aedbb-fypa__hero-opt:hover {
  background: rgba(0,182,122,0.18); border-color: var(--aedbb-green);
  transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,182,122,0.18);
}
.aedbb-fypa__hero-opt input { position: absolute; opacity: 0; pointer-events: none; }
.aedbb-fypa__hero-opt:has(input:checked) {
  background: var(--aedbb-green); border-color: var(--aedbb-green);
  box-shadow: 0 6px 18px rgba(0,182,122,0.32);
}
.aedbb-fypa__hero-opt-ic {
  display: flex; justify-content: center; align-items: center;
  margin-bottom: 8px; color: #fff;
}
.aedbb-fypa__hero-opt-l {
  font-size: 12.5px; font-weight: 600; color: #fff;
  letter-spacing: 0.01em; line-height: 1.3;
}
.aedbb-fypa__hero-trust {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
  color: rgba(255, 255, 255, 0.85); font-size: 13px; font-weight: 500;
}
.aedbb-fypa__hero-trust span { display: inline-flex; align-items: center; gap: 6px; }
.aedbb-fypa__hero-trust .aedbb-fypa-ico { color: var(--aedbb-green); }

/* Hero — expanded state */
.aedbb-fypa__hero-card.is-expanded .aedbb-fypa__hero-options,
.aedbb-fypa__hero-card.is-expanded .aedbb-fypa__hero-trust { display: none; }
.aedbb-fypa__hero-card.is-expanded .aedbb-fypa__hero-h { font-size: 32px; }
.aedbb-fypa__hero-full { display: none; margin-top: 14px; }
.aedbb-fypa__hero-card.is-expanded .aedbb-fypa__hero-full { display: block; }

/* Result state — clear all chrome so the recommendation is the only focus */
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-eyebrow,
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-h,
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-lede,
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-prog,
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-cta-row { display: none; }
.aedbb-fypa__full-card.is-showing-result .aedbb-fypa__full-center,
.aedbb-fypa__full-card.is-showing-result .aedbb-fypa__full-prog,
.aedbb-fypa__full-card.is-showing-result .aedbb-fypa__full-form { display: none; }

/* Tight, breathing padding around the result — balanced top + bottom (v1.4.3) */
.aedbb-fypa__hero-card.is-showing-result {
  padding: 24px 28px !important;
}
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-inner {
  margin: 0 !important;
  padding: 0 !important;
}
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-full {
  margin: 0 !important;
  padding: 0 !important;
}
.aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-result {
  margin: 0 !important;
  padding: 24px 26px !important;
}
.aedbb-fypa__full-card.is-showing-result {
  padding: 24px 28px !important;
}
.aedbb-fypa__full-card.is-showing-result .aedbb-fypa__full-result {
  margin: 0 !important;
}
.aedbb-fypa__full-card.is-showing-result .aedbb-fypa__full-dis {
  margin-top: 14px !important;
}

@media (max-width: 720px) {
  .aedbb-fypa__hero-card.is-showing-result {
    padding: 18px 14px !important;
  }
  .aedbb-fypa__hero-card.is-showing-result .aedbb-fypa__hero-result {
    padding: 20px 18px !important;
  }
  .aedbb-fypa__full-card.is-showing-result {
    padding: 18px 14px !important;
  }
}

.aedbb-fypa__hero-step { margin-bottom: 18px; border: 0; padding: 0; margin-left: 0; margin-right: 0; }
.aedbb-fypa__hero-step[hidden] { display: none; }
.aedbb-fypa__hero-step h4 {
  font-family: var(--aedbb-f-display); font-size: 22px; color: #fff !important;
  font-weight: 700; line-height: 1.25; margin: 0 0 12px 0;
  display: flex; align-items: center; gap: 10px;
}
.aedbb-fypa__num {
  background: var(--aedbb-green); color: #fff;
  width: 32px; height: 32px; display: grid; place-items: center;
  border-radius: 50%; font-family: var(--aedbb-mono);
  font-size: 12px; font-weight: 800; flex-shrink: 0;
}
.aedbb-fypa__hero-step .aedbb-fypa__opts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px;
}
.aedbb-fypa__hero-step .aedbb-fypa__opt {
  background: rgba(255,255,255,0.06); border: 1.5px solid rgba(255,255,255,0.16);
  border-radius: 8px; padding: 13px 15px;
  display: flex; align-items: center; gap: 12px;
  cursor: pointer; transition: all 0.15s ease; color: #fff;
  position: relative; margin: 0;
}
.aedbb-fypa__hero-step .aedbb-fypa__opt:hover {
  background: rgba(0,182,122,0.18); border-color: var(--aedbb-green);
}
.aedbb-fypa__hero-step .aedbb-fypa__opt input {
  position: absolute; opacity: 0; pointer-events: none;
}
.aedbb-fypa__hero-step .aedbb-fypa__opt:has(input:checked) {
  background: var(--aedbb-green); border-color: var(--aedbb-green);
}
.aedbb-fypa__hero-step .aedbb-fypa__opt-i {
  width: 28px; text-align: center; color: #fff;
  display: flex; justify-content: center;
}
.aedbb-fypa__hero-step .aedbb-fypa__opt-l {
  font-size: 13.5px; font-weight: 600; color: #fff;
}
.aedbb-fypa__hero-prog { margin-bottom: 14px; }
.aedbb-fypa__hero-prog-track {
  background: rgba(255,255,255,0.1); height: 5px;
  border-radius: 999px; overflow: hidden; margin-bottom: 6px;
}
.aedbb-fypa__hero-prog-fill {
  background: linear-gradient(90deg, var(--aedbb-green), var(--aedbb-star));
  height: 100%; width: 50%; transition: width 0.35s ease; border-radius: 999px;
}
.aedbb-fypa__hero-prog-lbl {
  font-family: var(--aedbb-mono); font-size: 10.5px; color: rgba(0,55,41,0.2);
  font-weight: 700; text-align: right;
  letter-spacing: 0.06em; text-transform: uppercase;
}

.aedbb-fypa__hero-cta-row {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin-top: 18px; align-items: center;
  justify-content: space-between;
}
/* Back stays left, Next/Submit always right */
.aedbb-fypa__hero-cta-row [data-aedbb-back] { margin-right: auto; }
.aedbb-fypa__hero-btn-pri,
.aedbb-fypa__hero-btn-sec {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 26px; border-radius: 8px; font-weight: 700;
  font-size: 14px; letter-spacing: 0.02em; transition: all 0.15s ease;
  border: none; cursor: pointer; font-family: var(--aedbb-f); line-height: 1.2;
}
.aedbb-fypa__hero-btn-pri {
  background: var(--aedbb-green); color: #fff;
  box-shadow: 0 6px 16px rgba(0,182,122,0.32);
}
.aedbb-fypa__hero-btn-pri:hover {
  background: var(--aedbb-green-2); color: #fff;
  transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,182,122,0.4);
}
.aedbb-fypa__hero-btn-sec {
  background: rgba(255,255,255,0.08); border: 1.5px solid rgba(255,255,255,0.22);
  color: #fff; padding: 12px 22px;
}
.aedbb-fypa__hero-btn-sec:hover { background: rgba(255,255,255,0.14); color: #fff; }

/* Hero result */
.aedbb-fypa__hero-result {
  display: none; background: #fff; color: var(--aedbb-ink);
  border-radius: 14px; padding: 28px 32px; margin-top: 14px;
}
.aedbb-fypa__hero-result.is-active { display: block; }

/* ============ FULL VARIANT ============ */
.aedbb-fypa--full { padding: 30px 18px; }
.aedbb-fypa__full-card {
  max-width: 880px; margin: 0 auto; background: #fff;
  border: 1px solid var(--aedbb-border); border-radius: 22px;
  padding: 32px 36px; box-shadow: 0 8px 24px rgba(0,55,41,0.08);
}
.aedbb-fypa__full-center { text-align: center; margin-bottom: 24px; }
.aedbb-fypa__full-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--aedbb-green-l); color: var(--aedbb-green-2);
  padding: 5px 13px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  border: 1px solid #E7F9F3; margin-bottom: 12px;
}
.aedbb-fypa__full-h {
  font-family: var(--aedbb-f-display); font-size: 34px; color: var(--aedbb-green-dark) !important;
  font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 6px 0;
}
.aedbb-fypa__full-lede {
  color: var(--aedbb-ink-2); font-size: 15px;
  line-height: 1.6; max-width: 600px; margin: 0 auto;
}
.aedbb-fypa__full-prog { margin-bottom: 22px; }
.aedbb-fypa__full-prog-track {
  background: var(--aedbb-green-light); height: 6px;
  border-radius: 999px; overflow: hidden; margin-bottom: 8px;
  border: 1px solid var(--aedbb-border);
}
.aedbb-fypa__full-prog-fill {
  background: linear-gradient(90deg, var(--aedbb-green), var(--aedbb-star));
  height: 100%; width: 25%; transition: width 0.35s ease; border-radius: 999px;
}
.aedbb-fypa__full-prog-lbl {
  font-family: var(--aedbb-mono); font-size: 11px; color: var(--aedbb-muted);
  font-weight: 700; text-align: right;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.aedbb-fypa__full-form { margin: 0; padding: 0; }
.aedbb-fypa__full-step { border: 0; padding: 0; margin: 0; }
.aedbb-fypa__full-step[hidden] { display: none; }
.aedbb-fypa__full-step h3 {
  font-family: var(--aedbb-f-display); font-size: 24px; color: var(--aedbb-green-dark) !important;
  font-weight: 700; line-height: 1.25; margin: 0 0 18px 0;
  display: flex; align-items: center; gap: 12px;
}
.aedbb-fypa__full-step h3 .aedbb-fypa__num {
  width: 36px; height: 36px; font-size: 13px;
  box-shadow: 0 4px 10px rgba(0,182,122,0.25);
}
.aedbb-fypa__full-step .aedbb-fypa__opts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px;
}
.aedbb-fypa__full-step .aedbb-fypa__opt {
  background: #fff; border: 1.5px solid var(--aedbb-border-2);
  border-radius: 8px; padding: 14px 16px;
  display: flex; align-items: center; gap: 13px;
  cursor: pointer; transition: all 0.15s ease;
  position: relative; min-height: 60px; margin: 0;
}
.aedbb-fypa__full-step .aedbb-fypa__opt:hover {
  border-color: var(--aedbb-green); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,55,41,0.06);
}
.aedbb-fypa__full-step .aedbb-fypa__opt input {
  position: absolute; opacity: 0; pointer-events: none;
}
.aedbb-fypa__full-step .aedbb-fypa__opt:has(input:checked) {
  border-color: var(--aedbb-green-dark); background: var(--aedbb-cream);
  box-shadow: 0 0 0 3px rgba(0,55,41,0.08);
}
.aedbb-fypa__full-step .aedbb-fypa__opt-i {
  width: 38px; height: 38px; display: grid; place-items: center;
  background: var(--aedbb-green-light); border-radius: 8px;
  flex-shrink: 0; color: var(--aedbb-green-dark);
}
.aedbb-fypa__full-step .aedbb-fypa__opt:has(input:checked) .aedbb-fypa__opt-i {
  background: var(--aedbb-green-l); color: var(--aedbb-green-2);
}
.aedbb-fypa__full-step .aedbb-fypa__opt-l {
  font-size: 14px; font-weight: 600; color: var(--aedbb-ink); line-height: 1.35;
}
.aedbb-fypa__full-step .aedbb-fypa__opt:has(input:checked) .aedbb-fypa__opt-l {
  color: var(--aedbb-green-dark); font-weight: 700;
}
.aedbb-fypa__full-nav {
  display: flex; gap: 10px; margin-top: 22px;
  justify-content: space-between; align-items: center;
}
/* Back stays left, Next/Submit always right */
.aedbb-fypa__full-nav [data-aedbb-back] { margin-right: auto; }
.aedbb-fypa__full-btn {
  font-family: var(--aedbb-f); font-size: 14px; font-weight: 700;
  padding: 12px 24px; border-radius: 8px; cursor: pointer;
  letter-spacing: 0.01em; border: 1.5px solid transparent;
  transition: all 0.15s; display: inline-flex; align-items: center; gap: 6px;
  line-height: 1.2;
}
.aedbb-fypa__full-btn--p {
  background: var(--aedbb-green); color: #fff; border-color: var(--aedbb-green);
  box-shadow: 0 4px 12px rgba(0,182,122,0.25);
}
.aedbb-fypa__full-btn--p:hover { background: var(--aedbb-green-2); transform: translateY(-1px); }
.aedbb-fypa__full-btn--g {
  background: #fff; color: var(--aedbb-green-dark); border-color: var(--aedbb-border-2);
}
.aedbb-fypa__full-btn--g:hover { border-color: var(--aedbb-green-dark); background: var(--aedbb-cream); }
.aedbb-fypa__full-btn[disabled] { opacity: 0.4; cursor: not-allowed; }

.aedbb-fypa__full-result {
  background: linear-gradient(180deg, var(--aedbb-green-light), #fff);
  border: 1.5px solid var(--aedbb-border); border-radius: 22px;
  padding: 24px 26px; margin-top: 18px;
  box-shadow: 0 8px 24px rgba(0,55,41,0.08);
}
.aedbb-fypa__full-result[hidden] { display: none; }

.aedbb-fypa__full-dis {
  font-family: var(--aedbb-mono); font-size: 11px; color: var(--aedbb-muted);
  margin: 18px 0 0 0; padding-top: 14px;
  border-top: 1px dashed var(--aedbb-border);
  line-height: 1.7; letter-spacing: 0.02em; text-align: center;
}

/* ============ INLINE VARIANT ============ */
.aedbb-fypa--inline { padding: 20px 0; }
.aedbb-fypa__inline-card {
  background: linear-gradient(135deg, var(--aedbb-green-dark), var(--aedbb-green-dark-2));
  color: #fff; border-radius: 14px; padding: 22px 26px;
  display: grid; grid-template-columns: auto 1fr auto; gap: 20px;
  align-items: center; box-shadow: 0 8px 24px rgba(0,55,41,0.18);
  position: relative; overflow: hidden; margin: 20px 0;
}
.aedbb-fypa__inline-card::before {
  content: ""; position: absolute; top: -40px; right: -30px;
  width: 160px; height: 160px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,182,122,0.22), transparent 70%);
  pointer-events: none;
}
.aedbb-fypa__inline-icon {
  position: relative; flex-shrink: 0; background: var(--aedbb-green);
  width: 60px; height: 60px; display: grid; place-items: center;
  border-radius: 50%; box-shadow: 0 6px 16px rgba(0,182,122,0.32); color: #fff;
}
.aedbb-fypa__inline-body { position: relative; min-width: 0; }
.aedbb-fypa__inline-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(0,182,122,0.22); color: #E7F9F3;
  padding: 3px 10px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 9.5px; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 6px; border: 1px solid rgba(0,182,122,0.4);
}
.aedbb-fypa__inline-h {
  font-family: var(--aedbb-f-display); font-size: 20px; color: #fff !important;
  font-weight: 700; line-height: 1.2; margin-bottom: 4px; letter-spacing: -0.01em;
}
.aedbb-fypa__inline-sub { color: rgba(0,55,41,0.2); font-size: 13px; line-height: 1.5; font-weight: 500; }
.aedbb-fypa__inline-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--aedbb-green); color: #fff !important;
  padding: 12px 22px; border-radius: 8px;
  font-weight: 700; font-size: 13.5px; letter-spacing: 0.02em;
  box-shadow: 0 6px 16px rgba(0,182,122,0.32);
  transition: all 0.15s; text-decoration: none !important; flex-shrink: 0;
  position: relative;
}
.aedbb-fypa__inline-cta:hover {
  background: var(--aedbb-green-2); color: #fff !important;
  text-decoration: none !important; transform: translateY(-1px);
}

/* ============ v1.4 — 2-COLUMN RESULT GRID ============ */
.aedbb-fypa__rec-head {
  text-align: center;
  margin-bottom: 18px;
  padding-bottom: 4px;
}
.aedbb-fypa__rec-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--aedbb-green); color: #fff;
  padding: 5px 14px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 10.5px; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 12px;
}
.aedbb-fypa__rec-h2 {
  font-family: var(--aedbb-f-display);
  font-size: 28px; color: var(--aedbb-green-dark) !important;
  font-weight: 700; line-height: 1.15; letter-spacing: -0.015em;
  margin: 0 0 10px 0;
}
.aedbb-fypa__rec-lede {
  font-size: 14.5px; color: var(--aedbb-ink-2);
  line-height: 1.6; max-width: 640px; margin: 0 auto;
  font-family: var(--aedbb-f-display); font-style: normal;
}

.aedbb-fypa__rec-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-bottom: 18px; align-items: stretch;
}
.aedbb-fypa__rec-grid.is-solo { grid-template-columns: 1fr; max-width: 540px; margin-left: auto; margin-right: auto; }

.aedbb-fypa__rec-card {
  background: #fff;
  border: 1.5px solid var(--aedbb-border);
  border-radius: 16px;
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,55,41,0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.aedbb-fypa__rec-card--top { border-color: var(--aedbb-green); box-shadow: 0 6px 18px rgba(0,182,122,0.14); }
.aedbb-fypa__rec-card--alt { background: var(--aedbb-cream); }

.aedbb-fypa__rec-stripe {
  background: var(--aedbb-green); color: #fff;
  padding: 8px 18px; font-family: var(--aedbb-mono);
  font-size: 11px; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; text-align: left;
}
.aedbb-fypa__rec-stripe--alt {
  background: linear-gradient(90deg, var(--aedbb-star), #00B67A);
  color: #fff;
}

.aedbb-fypa__rec-body {
  padding: 20px 22px 22px;
  flex: 1; display: flex; flex-direction: column;
}
.aedbb-fypa__rec-name {
  font-family: var(--aedbb-f-display);
  font-size: 22px; color: var(--aedbb-green-dark) !important;
  font-weight: 700; line-height: 1.2; letter-spacing: -0.01em;
  margin: 0 0 4px 0;
}
.aedbb-fypa__rec-brand {
  font-family: var(--aedbb-mono); font-size: 10.5px; color: var(--aedbb-muted);
  text-transform: uppercase; letter-spacing: 0.08em;
  font-weight: 700; margin-bottom: 12px;
}
.aedbb-fypa__rec-why {
  font-size: 13.5px; color: var(--aedbb-ink-2);
  line-height: 1.55; margin: 0 0 16px 0;
  font-family: var(--aedbb-f);
  /* v1.6.3 — reserve ~3 lines so Top Match + Also Consider descriptions are equal height */
  min-height: 62px;
}
.aedbb-fypa__rec-ctas {
  display: flex; flex-direction: column; gap: 8px;
  margin-top: auto;
}
.aedbb-fypa__rec-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 14px; border-radius: 8px;
  font-weight: 600; font-size: 13px; letter-spacing: 0.01em;
  text-decoration: none !important; cursor: pointer;
  border: 1.5px solid transparent; font-family: var(--aedbb-f);
  transition: all 0.15s; line-height: 1.3;
  /* v1.6.3 — min-height fits 2-line wrapped text so all buttons are equal height across cards */
  min-height: 52px; text-align: center;
}
.aedbb-fypa__rec-btn--ghost {
  background: #fff; color: var(--aedbb-green-dark) !important;
  border-color: var(--aedbb-border-2);
}
.aedbb-fypa__rec-btn--ghost:hover {
  border-color: var(--aedbb-green-dark); color: var(--aedbb-green-dark) !important;
}
.aedbb-fypa__rec-btn--coral {
  background: var(--aedbb-green); color: #fff !important;
  border-color: var(--aedbb-green);
  box-shadow: 0 3px 8px rgba(0,182,122,0.22);
}
.aedbb-fypa__rec-btn--coral:hover {
  background: var(--aedbb-green-2); color: #fff !important;
  transform: translateY(-1px);
}

.aedbb-fypa__rec-specs {
  background: var(--aedbb-cream);
  border: 1px solid var(--aedbb-border);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 18px;
}
.aedbb-fypa__rec-specs-label {
  font-family: var(--aedbb-mono); font-size: 10px; color: var(--aedbb-muted);
  text-transform: uppercase; letter-spacing: 0.1em;
  font-weight: 700; margin-bottom: 10px;
}
.aedbb-fypa__rec-specs-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.aedbb-fypa__rec-spec {
  display: flex; flex-direction: column; gap: 3px;
}
.aedbb-fypa__rec-spec span {
  font-family: var(--aedbb-mono); font-size: 9px;
  color: var(--aedbb-muted); text-transform: uppercase;
  letter-spacing: 0.06em; font-weight: 700;
}
.aedbb-fypa__rec-spec strong {
  font-size: 12.5px; font-weight: 700; color: var(--aedbb-green-dark);
  line-height: 1.3;
}

@media (max-width: 720px) {
  .aedbb-fypa__rec-grid {
    grid-template-columns: 1fr;
  }
  .aedbb-fypa__rec-h2 { font-size: 22px; }
  .aedbb-fypa__rec-lede { font-size: 14px; }
  .aedbb-fypa__rec-body { padding: 18px 18px 20px; }
  .aedbb-fypa__rec-name { font-size: 20px; }
  .aedbb-fypa__rec-specs-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============ LEGACY SHARED RESULT STYLES (still used as fallback) ============ */
.aedbb-fypa__res-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--aedbb-green); color: #fff;
  padding: 5px 14px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 10.5px; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px;
}
.aedbb-fypa__res-h {
  font-family: var(--aedbb-f-display); font-size: 30px;
  color: var(--aedbb-green-dark) !important;
  font-weight: 700; margin: 0 0 6px 0; letter-spacing: -0.01em;
}
.aedbb-fypa__res-brand {
  font-family: var(--aedbb-mono); font-size: 11px; color: var(--aedbb-muted);
  text-transform: uppercase; letter-spacing: 0.08em;
  font-weight: 700; margin-bottom: 14px;
}
.aedbb-fypa__res-verdict {
  background: linear-gradient(180deg, var(--aedbb-green-l), #fff);
  border-left: 4px solid var(--aedbb-green);
  padding: 14px 18px; border-radius: 0 8px 8px 0;
  font-family: var(--aedbb-f-display); font-style: normal; font-size: 16px;
  color: var(--aedbb-green-dark); line-height: 1.6; margin-bottom: 18px;
}
.aedbb-fypa__res-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 20px;
}
.aedbb-fypa__res-stat {
  background: var(--aedbb-cream); border: 1px solid var(--aedbb-border);
  border-radius: 8px; padding: 11px 12px; text-align: center;
}
.aedbb-fypa__res-stat-l {
  font-family: var(--aedbb-mono); font-size: 9.5px; color: var(--aedbb-muted);
  text-transform: uppercase; letter-spacing: 0.06em;
  font-weight: 700; margin-bottom: 4px;
}
.aedbb-fypa__res-stat-v {
  font-size: 12.5px; font-weight: 700; color: var(--aedbb-green-dark); line-height: 1.3;
}
.aedbb-fypa__cta-stack { display: flex; flex-direction: column; gap: 10px; }
.aedbb-fypa__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; border-radius: 8px;
  font-weight: 700; font-size: 14px; letter-spacing: 0.02em;
  text-decoration: none !important; cursor: pointer;
  border: 1.5px solid transparent; font-family: var(--aedbb-f);
  transition: all 0.15s; line-height: 1.2;
}
.aedbb-fypa__btn--primary {
  background: var(--aedbb-green); color: #fff !important;
  border-color: var(--aedbb-green); box-shadow: 0 6px 16px rgba(0,182,122,0.28);
}
.aedbb-fypa__btn--primary:hover {
  background: var(--aedbb-green-2); color: #fff !important;
  transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,182,122,0.38);
}
.aedbb-fypa__btn--secondary {
  background: #fff; color: var(--aedbb-green-dark) !important;
  border-color: var(--aedbb-green-dark);
}
.aedbb-fypa__btn--secondary:hover {
  background: var(--aedbb-green-dark); color: #fff !important; transform: translateY(-1px);
}
/* ============ RUNNER-UP CARD (Also Consider) ============ */
.aedbb-fypa__runnerup {
  margin-top: 22px;
  padding: 20px 24px;
  background: var(--aedbb-cream);
  border: 1px solid var(--aedbb-border);
  border-radius: 14px;
  position: relative;
}
.aedbb-fypa__ru-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--aedbb-star); color: #fff;
  padding: 4px 11px; border-radius: 999px;
  font-family: var(--aedbb-mono); font-size: 10px; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px;
}
.aedbb-fypa__ru-h {
  font-family: var(--aedbb-f-display); font-size: 22px;
  color: var(--aedbb-green-dark); font-weight: 700;
  margin: 0 0 4px 0; letter-spacing: -0.01em; line-height: 1.2;
}
.aedbb-fypa__ru-brand {
  font-family: var(--aedbb-mono); font-size: 10.5px; color: var(--aedbb-muted);
  text-transform: uppercase; letter-spacing: 0.08em;
  font-weight: 700; margin-bottom: 12px;
}
.aedbb-fypa__ru-why {
  font-size: 13.5px; color: var(--aedbb-ink-2);
  line-height: 1.55; margin: 0 0 14px 0;
}
.aedbb-fypa__ru-ctas {
  display: flex; gap: 8px; flex-wrap: wrap;
}
.aedbb-fypa__btn-small {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 16px; border-radius: 8px;
  font-weight: 600; font-size: 13px; letter-spacing: 0.01em;
  text-decoration: none !important; cursor: pointer;
  border: 1.5px solid transparent; font-family: var(--aedbb-f);
  transition: all 0.15s; line-height: 1.25;
  flex: 1 1 180px; min-height: 42px; text-align: center;
}
.aedbb-fypa__btn-small--ghost {
  background: #fff; color: var(--aedbb-green-dark) !important;
  border-color: var(--aedbb-border-2);
}
.aedbb-fypa__btn-small--ghost:hover {
  border-color: var(--aedbb-green-dark); background: #fff;
  color: var(--aedbb-green-dark) !important;
}
.aedbb-fypa__btn-small--coral {
  background: var(--aedbb-green); color: #fff !important;
  border-color: var(--aedbb-green); box-shadow: 0 3px 8px rgba(0,182,122,0.22);
}
.aedbb-fypa__btn-small--coral:hover {
  background: var(--aedbb-green-2); color: #fff !important;
  transform: translateY(-1px);
}
@media (max-width: 720px) {
  .aedbb-fypa__runnerup { padding: 16px 16px; }
  .aedbb-fypa__ru-h { font-size: 19px; }
  .aedbb-fypa__btn-small {
    flex: 1 1 100%;
    padding: 11px 14px;
    font-size: 13px;
    min-height: 46px;
  }
}

.aedbb-fypa__retry-wrap {
  margin-top: 22px; padding-top: 18px;
  border-top: 1px dashed var(--aedbb-border); text-align: center;
}
.aedbb-fypa__btn-retry {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: transparent; border: 1.5px solid var(--aedbb-border-2);
  color: var(--aedbb-ink-2); padding: 10px 22px;
  border-radius: 8px; font-family: var(--aedbb-f);
  font-size: 13px; font-weight: 600; cursor: pointer;
  letter-spacing: 0.02em; transition: all 0.15s;
}
.aedbb-fypa__btn-retry:hover {
  border-color: var(--aedbb-green-dark); color: var(--aedbb-green-dark); background: var(--aedbb-cream);
}
.aedbb-fypa__retry-note {
  font-family: var(--aedbb-mono); font-size: 10.5px; color: var(--aedbb-muted);
  margin-top: 8px; letter-spacing: 0.04em;
}

/* Hero result variants use hero-themed styles */
.aedbb-fypa--hero .aedbb-fypa__res-h { font-size: 28px; }

/* Full result has the .rec wrapper */
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec {
  background: #fff; border: 2px solid var(--aedbb-green);
  border-radius: 22px; padding: 30px 34px;
  position: relative; overflow: hidden; margin-bottom: 16px;
}
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec::before {
  content: ""; position: absolute; top: -50px; right: -50px;
  width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,182,122,0.12), transparent 70%);
  pointer-events: none;
}
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec .aedbb-fypa__res-badge,
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec .aedbb-fypa__res-h,
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec .aedbb-fypa__res-brand,
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec .aedbb-fypa__res-verdict,
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec .aedbb-fypa__res-stats { position: relative; }
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__res-stats { margin-bottom: 0; }
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__res-stat {
  background: var(--aedbb-green-light);
}

/* ============ RESPONSIVE ============ */
@media (max-width: 720px) {
  .aedbb-fypa--hero { padding: 16px 12px; }
  .aedbb-fypa__hero-card { padding: 30px 24px; border-radius: 16px; }
  .aedbb-fypa__hero-h { font-size: 30px; }
  .aedbb-fypa__hero-lede { font-size: 14.5px; }
  .aedbb-fypa__hero-options { grid-template-columns: repeat(3, 1fr); }
  .aedbb-fypa__hero-trust { flex-direction: column; align-items: flex-start; gap: 8px; }
  .aedbb-fypa__hero-step h4 { font-size: 18px; }
  .aedbb-fypa__hero-step .aedbb-fypa__opts { grid-template-columns: 1fr; }
  .aedbb-fypa__hero-result { padding: 22px 18px; }
  .aedbb-fypa__hero-result .aedbb-fypa__res-h { font-size: 22px; }
  .aedbb-fypa__res-stats { grid-template-columns: repeat(2, 1fr); }

  .aedbb-fypa--full { padding: 16px 12px; }
  .aedbb-fypa__full-card { padding: 22px 18px; border-radius: 16px; }
  .aedbb-fypa__full-h { font-size: 26px; }
  .aedbb-fypa__full-step h3 { font-size: 18px; gap: 10px; }
  .aedbb-fypa__full-step h3 .aedbb-fypa__num { width: 30px; height: 30px; font-size: 12px; }
  .aedbb-fypa__full-step .aedbb-fypa__opts { grid-template-columns: 1fr; }
  .aedbb-fypa--full .aedbb-fypa__full-result { padding: 16px 14px; }
  .aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__rec { padding: 22px 18px; }
  .aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__res-h { font-size: 22px; }
  .aedbb-fypa__full-nav { flex-direction: column-reverse; }
  .aedbb-fypa__full-nav .aedbb-fypa__full-btn { width: 100%; justify-content: center; }

  /* MOBILE BUTTONS — Apple-style: smaller padding, balanced font, clean wrap */
  .aedbb-fypa__btn {
    padding: 13px 14px;
    font-size: 13.5px;
    line-height: 1.35;
    letter-spacing: 0.005em;
    text-align: center;
    word-break: normal;
    overflow-wrap: break-word;
    min-height: 48px; /* WCAG touch target */
  }
  .aedbb-fypa__btn .aedbb-fypa-ico {
    width: 14px;
    height: 14px;
    margin-right: 2px;
  }
  .aedbb-fypa__btn-retry { padding: 10px 18px; font-size: 13px; }
  .aedbb-fypa__cta-stack { gap: 8px; }

  .aedbb-fypa__inline-card {
    grid-template-columns: 1fr; text-align: center; padding: 22px 18px;
  }
  .aedbb-fypa__inline-icon { margin: 0 auto; }
  .aedbb-fypa__inline-cta { justify-self: stretch; justify-content: center; }
}

/* Very narrow phones — even tighter */
@media (max-width: 380px) {
  .aedbb-fypa__btn {
    padding: 12px 10px;
    font-size: 13px;
    letter-spacing: 0;
  }
  .aedbb-fypa__btn .aedbb-fypa-ico {
    width: 13px;
    height: 13px;
  }
}

/* ============================================
   COLUMN VIEW (v1.6.1) — Quiz card ONLY, center-aligned
   Designed for drop-in placement in a narrow column.
   ============================================ */
.aedbb-fypa--column { padding: 0; display: block; max-width: 100%; }

/* Quiz card — standalone, fits parent container width */
.aedbb-fypa__col-card { background: linear-gradient(135deg, var(--aedbb-green-dark) 0%, var(--aedbb-green-dark-2) 60%, var(--aedbb-green-dark-3) 100%); color: #fff; border-radius: 22px; padding: 32px 28px; position: relative; overflow: hidden; box-shadow: 0 24px 60px rgba(0,55,41,.22); text-align: center; }
.aedbb-fypa__col-card::before { content: ""; position: absolute; top: -80px; right: -60px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(0,182,122,.22), transparent 70%); pointer-events: none; }
.aedbb-fypa__col-card::after { content: ""; position: absolute; bottom: -60px; left: -40px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(0,209,131,.12), transparent 70%); pointer-events: none; }
.aedbb-fypa__col-card-inner { position: relative; }
.aedbb-fypa__col-quiz-eyebrow { display: inline-flex; align-items: center; gap: 7px; background: var(--aedbb-green); color: #fff; padding: 5px 13px; border-radius: 999px; font-family: var(--aedbb-mono); font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; box-shadow: 0 4px 12px rgba(0,182,122,0.32); }
.aedbb-fypa__col-quiz-h { font-family: var(--aedbb-f-display); font-size: 30px; color: #fff !important; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; margin: 0 0 10px 0; }
.aedbb-fypa__col-quiz-h em { font-style: normal; color: var(--aedbb-green); font-weight: 800; }
.aedbb-fypa__col-quiz-lede { color: rgba(255, 255, 255, 0.2); font-size: 14px; line-height: 1.55; margin: 0 0 18px 0; font-weight: 500; }

/* Env grid - always 3x2 */
.aedbb-fypa__col-env-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.aedbb-fypa__col-env-tile { background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.14); border-radius: 10px; padding: 14px 8px; text-align: center; cursor: pointer; transition: all .15s; color: #fff; position: relative; display: block; margin: 0; }
.aedbb-fypa__col-env-tile:hover { background: rgba(0,182,122,.18); border-color: var(--aedbb-green); transform: translateY(-1px); }
.aedbb-fypa__col-env-tile input { position: absolute; opacity: 0; pointer-events: none; }
.aedbb-fypa__col-env-tile:has(input:checked) { background: var(--aedbb-green); border-color: var(--aedbb-green); box-shadow: 0 4px 12px rgba(0,182,122,.28); }
.aedbb-fypa__col-env-ic { display: flex; justify-content: center; align-items: center; margin-bottom: 5px; color: #fff; }
.aedbb-fypa__col-env-l { font-size: 11px; font-weight: 600; color: #fff; letter-spacing: .005em; line-height: 1.25; }

/* Trust strip — centered */
.aedbb-fypa__col-trust-strip { display: flex; flex-wrap: wrap; gap: 8px 14px; color: rgba(255, 255, 255, 0.85); font-size: 11.5px; font-weight: 500; padding-top: 10px; margin-top: 4px; border-top: 1px dashed rgba(255,255,255,.1); transition: opacity .25s, max-height .35s ease, padding .25s, margin .25s, border .25s; overflow: hidden; max-height: 80px; justify-content: center; }
.aedbb-fypa__col-trust-strip span { display: inline-flex; align-items: center; gap: 5px; line-height: 1.3; }
.aedbb-fypa__col-trust-strip .aedbb-fypa-ico { color: var(--aedbb-green); }
.aedbb-fypa__col-trust-strip[hidden] { display: flex !important; opacity: 0; max-height: 0; padding: 0; margin: 0; border-top-color: transparent; pointer-events: none; }

/* Steps — hidden until revealed, content centered */
.aedbb-fypa__col-step { margin-top: 18px; border: 0; padding: 0; animation: aedbbColFade .3s ease-out; }
.aedbb-fypa__col-step[hidden] { display: none; }
@keyframes aedbbColFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.aedbb-fypa__col-step h4 { font-family: var(--aedbb-f-display); font-size: 18px; color: #fff !important; font-weight: 700; line-height: 1.3; margin: 0 0 20px 0 !important; padding: 0 0 4px 0; display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; }
.aedbb-fypa__col-num { background: var(--aedbb-green); color: #fff; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; font-family: var(--aedbb-mono); font-size: 10.5px; font-weight: 800; flex-shrink: 0; }
.aedbb-fypa__col-opts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.aedbb-fypa__col-step[data-aedbb-col-step="4"] .aedbb-fypa__col-opts { grid-template-columns: repeat(3, 1fr); }
.aedbb-fypa__col-opt { background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.14); border-radius: 8px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; cursor: pointer; transition: all .15s; color: #fff; position: relative; margin: 0; min-height: 46px; }
.aedbb-fypa__col-opt:hover { background: rgba(0,182,122,.18); border-color: var(--aedbb-green); }
.aedbb-fypa__col-opt input { position: absolute; opacity: 0; pointer-events: none; }
.aedbb-fypa__col-opt:has(input:checked) { background: var(--aedbb-green); border-color: var(--aedbb-green); }
.aedbb-fypa__col-opt-l { font-size: 12.5px; font-weight: 600; color: #fff; line-height: 1.3; }

/* Progress bar */
.aedbb-fypa__col-prog { margin-bottom: 18px; }
.aedbb-fypa__col-prog-track { background: rgba(255,255,255,.1); height: 5px; border-radius: 999px; overflow: hidden; margin-bottom: 6px; }
.aedbb-fypa__col-prog-fill { background: linear-gradient(90deg, var(--aedbb-green), var(--aedbb-star)); height: 100%; width: 25%; transition: width .35s ease; border-radius: 999px; }
.aedbb-fypa__col-prog-lbl { font-family: var(--aedbb-mono); font-size: 10.5px; color: rgba(0,55,41,0.2); font-weight: 700; text-align: right; letter-spacing: .06em; text-transform: uppercase; }

/* Nav buttons — Back left, Next/Submit right */
.aedbb-fypa__col-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 18px; animation: aedbbColFade .3s ease-out; }
.aedbb-fypa__col-nav [data-aedbb-back] { margin-right: auto; }
.aedbb-fypa__col-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 20px; border-radius: 9px; font-weight: 700; font-size: 13.5px; letter-spacing: .01em; border: 1.5px solid transparent; cursor: pointer; font-family: var(--aedbb-f); line-height: 1.2; transition: all .15s; }
.aedbb-fypa__col-btn--ghost { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff; }
.aedbb-fypa__col-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; }
.aedbb-fypa__col-btn--ghost[disabled] { opacity: .35; cursor: not-allowed; }
.aedbb-fypa__col-btn--coral { background: var(--aedbb-green); color: #fff; border-color: var(--aedbb-green); box-shadow: 0 4px 12px rgba(0,182,122,.28); }
.aedbb-fypa__col-btn--coral:hover { background: var(--aedbb-green-2); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,182,122,.36); }

/* Result panel inside column card — uses default 2-col grid */
.aedbb-fypa__col-result { margin-top: 16px; background: #fff; color: var(--aedbb-ink); border-radius: 14px; padding: 24px 24px; animation: aedbbColFade .3s ease-out; text-align: center; }
.aedbb-fypa__col-result[hidden] { display: none; }
.aedbb-fypa__col-result .aedbb-fypa__rec-h2 { font-size: 24px; }
.aedbb-fypa__col-result .aedbb-fypa__rec-lede { font-size: 13.5px; }
.aedbb-fypa__col-result .aedbb-fypa__rec-name { font-size: 20px; }
.aedbb-fypa__col-result .aedbb-fypa__retry-wrap { margin-top: 14px; padding-top: 14px; }

/* Column variant — specs as left-aligned bordered list */
.aedbb-fypa__col-result .aedbb-fypa__rec-specs { padding: 0; border: 1px solid var(--aedbb-border); border-radius: 12px; overflow: hidden; background: var(--aedbb-cream); }
.aedbb-fypa__col-result .aedbb-fypa__rec-specs-label { background: var(--aedbb-green-light); padding: 10px 16px; margin-bottom: 0; text-align: center; border-bottom: 1px solid var(--aedbb-border); font-size: 10.5px; }
.aedbb-fypa__col-result .aedbb-fypa__rec-specs-grid { display: flex; flex-direction: column; gap: 0; }
.aedbb-fypa__col-result .aedbb-fypa__rec-spec { display: grid; grid-template-columns: 1fr 1.5fr; gap: 14px; padding: 11px 16px; border-bottom: 1px solid var(--aedbb-border); align-items: start; text-align: left; }
.aedbb-fypa__col-result .aedbb-fypa__rec-spec:last-child { border-bottom: 0; }
.aedbb-fypa__col-result .aedbb-fypa__rec-spec span { text-align: left; font-size: 10px; line-height: 1.4; padding-top: 1px; }
.aedbb-fypa__col-result .aedbb-fypa__rec-spec strong { text-align: left; font-size: 13px; line-height: 1.4; }

/* Hide trust strip cleanly via attribute (v1.6.2) */
.aedbb-fypa__col-trust-strip[hidden] { display: none !important; }

/* Hide chrome when result shown */
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-quiz-eyebrow,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-quiz-h,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-quiz-lede,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-prog,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-step,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-trust-strip,
.aedbb-fypa__col-card.is-result .aedbb-fypa__col-nav { display: none !important; }
.aedbb-fypa__col-card.is-result { padding: 20px 20px; }

@media (max-width: 600px) {
  .aedbb-fypa__col-card { padding: 26px 22px; }
  .aedbb-fypa__col-env-grid { grid-template-columns: repeat(2, 1fr); }
  .aedbb-fypa__col-step[data-aedbb-col-step="4"] .aedbb-fypa__col-opts { grid-template-columns: 1fr; }
  .aedbb-fypa__col-opts { grid-template-columns: 1fr; }
  .aedbb-fypa__col-quiz-h { font-size: 24px; }
  .aedbb-fypa__col-trust-strip { font-size: 11px; gap: 6px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .aedbb-fypa *, .aedbb-fypa *::before, .aedbb-fypa *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   v1.7.0 — PAGE VIEW
   Matches aedbb-find-your-perfect-aed-complete.html exactly.
   Forest gradient header band + Coral progress + step wizard + 2-col result.
   BEM prefix: .aedbb-fypa-page__
   ============================================================ */
.aedbb-fypa-page{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#0A1A15;line-height:1.5;max-width:1080px;margin:0 auto;padding:24px}
.aedbb-fypa-page *,.aedbb-fypa-page *::before,.aedbb-fypa-page *::after{box-sizing:border-box}
.aedbb-fypa-page__card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(0,55,41,.10),0 1px 0 rgba(0,55,41,.06);border:1px solid #E5E7EB}
.aedbb-fypa-page__header{background:linear-gradient(135deg,#003729 0%,#001A15 60%,#000806 100%);color:#fff;padding:22px 32px;position:relative;overflow:hidden}
.aedbb-fypa-page__header::before{content:"";position:absolute;top:-50px;right:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(0,182,122,.22),transparent 70%);pointer-events:none}
.aedbb-fypa-page__h-title{font-family:'SF Mono',Menlo,monospace;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;position:relative}
.aedbb-fypa-page__h-tag{font-size:13px;color:rgba(0,55,41,0.2);font-weight:500;position:relative}
.aedbb-fypa-page__body{padding:26px 32px 28px}

/* progress */
.aedbb-fypa-page__progress{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.aedbb-fypa-page__progress-bar{flex:1;height:6px;background:#E7F9F3;border-radius:3px;overflow:hidden}
.aedbb-fypa-page__progress-fill{height:100%;background:linear-gradient(90deg,#00B67A,#00875A);border-radius:3px;transition:width .3s ease;width:25%}
.aedbb-fypa-page__progress-text{font-family:'SF Mono',Menlo,monospace;font-size:11px;color:#003729;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* step */
.aedbb-fypa-page__step{display:none}
.aedbb-fypa-page__step.is-active{display:block;animation:fypa-page-fade .25s ease}
@keyframes fypa-page-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.aedbb-fypa-page__num{font-family:'SF Mono',Menlo,monospace;font-size:10.5px;color:#00B67A;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.aedbb-fypa-page__q{font-family:'ABC Solar Display','Inter',system-ui,sans-serif;font-size:22px;color:#003729;font-weight:700;line-height:1.25;margin-bottom:18px;letter-spacing:-.01em}

/* options */
.aedbb-fypa-page__options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.aedbb-fypa-page__options.cols-2{grid-template-columns:repeat(2,1fr)}
.aedbb-fypa-page__option{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:18px 14px;border:1.5px solid rgba(0,55,41,0.2);border-radius:11px;background:#fff;cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;color:#0A1A15;line-height:1.3;min-height:90px}
.aedbb-fypa-page__option:hover{border-color:#00B67A;background:#E7F9F3;transform:translateY(-1px)}
.aedbb-fypa-page__option.is-selected{border-color:#00B67A;background:#E7F9F3;box-shadow:0 4px 12px rgba(0,182,122,.15)}
.aedbb-fypa-page__option .ico{display:inline-flex;align-items:center;justify-content:center;color:#003729;line-height:1}
.aedbb-fypa-page__option .ico svg{stroke:currentColor;fill:none}
.aedbb-fypa-page__option.is-selected .ico{color:#00875A}

/* action row */
.aedbb-fypa-page__actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.aedbb-fypa-page__actions-l,.aedbb-fypa-page__actions-r{display:flex;gap:10px}
.aedbb-fypa-page__btn{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:9px;font-weight:700;font-size:13.5px;font-family:'Inter',sans-serif;cursor:pointer;border:1.5px solid transparent;transition:all .15s;text-decoration:none !important;line-height:1.2;background:none}
/* replaced by unified rule */
/* replaced by unified rule */
.aedbb-fypa-page__btn--next{background:#00B67A;color:#fff !important;border-color:#00B67A;box-shadow:0 4px 12px rgba(0,182,122,.28)}
.aedbb-fypa-page__btn--next:hover:not(:disabled){background:#00875A;transform:translateY(-1px)}
.aedbb-fypa-page__btn--next:disabled{background:rgba(0,55,41,0.2);border-color:rgba(0,55,41,0.2);box-shadow:none;cursor:not-allowed;color:#fff !important;opacity:.6}
.aedbb-fypa-page__btn svg{stroke:currentColor;fill:none}

/* result */
.aedbb-fypa-page__result{display:none}
.aedbb-fypa-page__result.is-active{display:block;animation:fypa-page-fade .3s ease}
.aedbb-fypa-page__result-eyebrow{font-family:'SF Mono',Menlo,monospace;font-size:10.5px;color:#00B67A;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.aedbb-fypa-page__result-title{font-family:'ABC Solar Display','Inter',system-ui,sans-serif;font-size:24px;color:#003729;font-weight:700;line-height:1.2;margin-bottom:14px;letter-spacing:-.01em}
.aedbb-fypa-page__result-verdict{background:#FAFAF7;border-left:4px solid #00B67A;padding:14px 18px;border-radius:0 9px 9px 0;margin-bottom:20px;font-size:14.5px;color:#003729;line-height:1.55;font-family:'ABC Solar Display','Inter',system-ui,sans-serif;font-style:normal}
.aedbb-fypa-page__result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.aedbb-fypa-page__pick-card{background:#fff;border:1.5px solid #E5E7EB;border-radius:13px;padding:20px 22px;display:flex;flex-direction:column}
.aedbb-fypa-page__pick-card--top{border-color:#00B67A;box-shadow:0 6px 18px rgba(0,182,122,.12)}
.aedbb-fypa-page__pick-tag{display:inline-flex;align-items:center;gap:5px;font-family:'SF Mono',Menlo,monospace;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:8px;width:fit-content}
.aedbb-fypa-page__pick-tag--top{background:#00B67A;color:#fff}
.aedbb-fypa-page__pick-tag--alt{background:#E7F9F3;color:#003729}
.aedbb-fypa-page__pick-name{font-family:'ABC Solar Display','Inter',system-ui,sans-serif;font-size:18px;color:#003729;font-weight:700;line-height:1.2;margin-bottom:4px;letter-spacing:-.01em}
.aedbb-fypa-page__pick-price{font-family:'SF Mono',Menlo,monospace;font-size:13px;color:#00875A;font-weight:700;margin-bottom:10px;line-height:1.4}
.aedbb-fypa-page__pick-specs{list-style:none;padding:0;margin:0 0 14px;font-size:13px;color:#003729;line-height:1.55}
.aedbb-fypa-page__pick-specs li{padding:5px 0;border-bottom:1px dashed #E5E7EB;display:flex;justify-content:space-between;gap:10px}
.aedbb-fypa-page__pick-specs li:last-child{border-bottom:0}
.aedbb-fypa-page__pick-specs strong{color:#003729;font-weight:600}
.aedbb-fypa-page__pick-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none !important;transition:all .15s;font-family:'Inter',sans-serif;border:1.5px solid transparent;line-height:1.2}
.aedbb-fypa-page__pick-cta--coral{background:#00B67A;color:#fff !important;border-color:#00B67A}
.aedbb-fypa-page__pick-cta--coral:hover{background:#00875A}
.aedbb-fypa-page__pick-cta--forest{background:#fff;color:#003729 !important;border-color:#003729}
.aedbb-fypa-page__pick-cta--forest:hover{background:#FAFAF7}
.aedbb-fypa-page__result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}

/* responsive */
@media (max-width:900px){
  .aedbb-fypa-page{padding:16px}
  .aedbb-fypa-page__header{padding:18px 22px}
  .aedbb-fypa-page__body{padding:22px 22px 24px}
  .aedbb-fypa-page__options{grid-template-columns:repeat(2,1fr)}
  .aedbb-fypa-page__result-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .aedbb-fypa-page__options{grid-template-columns:1fr}
  .aedbb-fypa-page__actions{flex-direction:column-reverse;gap:8px}
  .aedbb-fypa-page__actions-l,.aedbb-fypa-page__actions-r{width:100%}
  .aedbb-fypa-page__actions-r .aedbb-fypa-page__btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .aedbb-fypa-page__step,.aedbb-fypa-page__result{animation-duration:.01ms !important;transition-duration:.01ms !important}
}


/* ============ HEYGEN DESIGN SYSTEM POLISH ============ */
/* Buttons — 100px pill radius (HeyGen style) */
.aedbb-fypa button, .aedbb-qty button, .aedbb-cost button,
.aedbb-fypa .aedbb-btn, .aedbb-qty .aedbb-btn, .aedbb-cost .aedbb-btn {
  font-family: var(--aedbb-f-display), 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  letter-spacing: -0.005em !important;
  font-weight: 600 !important;
}
[class*="aedbb-fypa"] .btn-primary,
[class*="aedbb-fypa"] button[type="submit"],
[class*="aedbb-fypa"] .primary-btn {
  background: var(--aedbb-green, #00B67A) !important;
  border-radius: 100px !important;
  box-shadow: 0 6px 20px rgba(0,182,122,0.28) !important;
  transition: all .18s cubic-bezier(0.4,0,0.2,1) !important;
}
[class*="aedbb-fypa"] .btn-primary:hover,
[class*="aedbb-fypa"] button[type="submit"]:hover,
[class*="aedbb-fypa"] .primary-btn:hover {
  background: #00D183 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 26px rgba(0,182,122,0.4) !important;
}

/* Headline uppercase treatment (HeyGen style) */
[class*="aedbb-fypa"] h1, [class*="aedbb-fypa"] h2, [class*="aedbb-fypa"] h3,
[class*="aedbb-fypa"] .aedbb-hero-title, [class*="aedbb-fypa"] .aedbb-question-title {
  font-family: 'ABC Solar Display', 'TT Norms Pro', 'Inter', system-ui, sans-serif !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}
[class*="aedbb-fypa"] em, [class*="aedbb-fypa"] .accent {
  color: #00B67A !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
[class*="aedbb-fypa"] .accent-light, [class*="aedbb-fypa"] .accent-pill {
  background: #E7F9F3 !important;
  color: #003729 !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  display: inline-block !important;
}

/* Progress bar — replace orange with bright green */
[class*="aedbb-fypa"] .progress-fill,
[class*="aedbb-fypa"] [class*="progress"] > div,
[class*="aedbb-fypa"] [class*="Progress"] > div {
  background: linear-gradient(90deg, #00B67A 0%, #00D183 100%) !important;
}

/* Check icons — bright green */
[class*="aedbb-fypa"] .check, [class*="aedbb-fypa"] [class*="checkmark"] {
  color: #00B67A !important;
}

/* Card + option styling — subtle green border on hover */
[class*="aedbb-fypa"] .option, [class*="aedbb-fypa"] [class*="Option"] {
  border-radius: 14px !important;
  transition: all .18s ease !important;
}
[class*="aedbb-fypa"] .option:hover, [class*="aedbb-fypa"] [class*="Option"]:hover {
  border-color: #00B67A !important;
  transform: translateY(-2px) !important;
}
[class*="aedbb-fypa"] .option.selected, [class*="aedbb-fypa"] [class*="Option"].selected,
[class*="aedbb-fypa"] .option[aria-pressed="true"] {
  background: rgba(0,182,122,0.12) !important;
  border-color: #00B67A !important;
}

/* Link styling — Stripe-underline */
[class*="aedbb-fypa"] a:not(button):not([class*="btn"]):not([class*="cta"]) {
  color: #003729 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0,182,122,0.4) !important;
  padding-bottom: 1px !important;
  font-weight: 600 !important;
  transition: all .2s ease !important;
}
[class*="aedbb-fypa"] a:not(button):not([class*="btn"]):not([class*="cta"]):hover {
  color: #00B67A !important;
  border-bottom-color: #00B67A !important;
}


/* ============================================
   🚀 UNIVERSAL VIEW POLISH — WINS ACROSS ALL 4 VARIANTS
   hero · full/page · column · inline
   Uses ALL 3 selectors max for specificity — beats view-specific rules
   ============================================ */

/* Body font — force TT Norms Pro across all views */
.aedbb-fypa, .aedbb-fypa *,
.aedbb-qty, .aedbb-qty *,
.aedbb-cost, .aedbb-cost * {
  font-family: 'TT Norms Pro', 'Inter', system-ui, sans-serif;
}

/* Display font — Solar Display for ALL headings across ALL views */
.aedbb-fypa h1, .aedbb-fypa h2, .aedbb-fypa h3, .aedbb-fypa h4,
.aedbb-fypa .aedbb-fypa__hero-h,
.aedbb-fypa .aedbb-fypa__full-h,
.aedbb-fypa .aedbb-fypa__col-quiz-h,
.aedbb-fypa .aedbb-fypa__inline-h,
.aedbb-fypa .aedbb-fypa__res-h,
.aedbb-qty h1, .aedbb-qty h2, .aedbb-qty h3, .aedbb-qty h4,
.aedbb-cost h1, .aedbb-cost h2, .aedbb-cost h3, .aedbb-cost h4 {
  font-family: 'ABC Solar Display', 'TT Norms Pro', 'Inter', system-ui, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
}

/* em accents — bright green, no italic (Solar Display has no italic) */
.aedbb-fypa em, .aedbb-qty em, .aedbb-cost em,
.aedbb-fypa .aedbb-fypa__hero-h em,
.aedbb-fypa .aedbb-fypa__col-quiz-h em,
.aedbb-fypa .aedbb-fypa__full-h em,
.aedbb-fypa .aedbb-fypa__inline-h em {
  color: #00B67A !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* Buttons — pill radius 100px, HeyGen style, ALL views */
.aedbb-fypa .aedbb-fypa__btn,
.aedbb-fypa .aedbb-fypa__full-btn,
.aedbb-fypa .aedbb-fypa__hero-btn,
.aedbb-fypa .aedbb-fypa__col-btn,
.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-qty .aedbb-qty__btn, .aedbb-cost .aedbb-cost__btn,
.aedbb-fypa button, .aedbb-qty button, .aedbb-cost button {
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  padding: 14px 26px !important;
  min-height: 52px !important;
  line-height: 1 !important;
  transition: all .18s cubic-bezier(0.4,0,0.2,1) !important;
  text-transform: none !important;
}

/* Primary buttons — bright green with glow */
.aedbb-fypa .aedbb-fypa__btn--primary,
.aedbb-fypa .aedbb-fypa__hero-btn--primary,
.aedbb-fypa .aedbb-fypa__col-btn--primary,
.aedbb-fypa .aedbb-fypa__full-btn--primary,
.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa button[type="submit"],
.aedbb-qty button[type="submit"], .aedbb-cost button[type="submit"] {
  background: #00B67A !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(0,182,122,0.32) !important;
}
.aedbb-fypa .aedbb-fypa__btn--primary:hover,
.aedbb-fypa .aedbb-fypa__hero-btn--primary:hover,
.aedbb-fypa button[type="submit"]:hover,
.aedbb-qty button[type="submit"]:hover, .aedbb-cost button[type="submit"]:hover {
  background: #00D183 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0,182,122,0.42) !important;
}

/* Secondary/outline buttons */
.aedbb-fypa .aedbb-fypa__btn--secondary,
.aedbb-fypa .aedbb-fypa__btn-retry,
.aedbb-fypa .aedbb-fypa__full-btn--back {
  background: transparent !important;
  color: #003729 !important;
  border: 1.5px solid #003729 !important;
}
.aedbb-fypa .aedbb-fypa__btn--secondary:hover {
  background: #003729 !important;
  color: #fff !important;
}

/* Result card — clean, no italic, Solar Display for model name */
.aedbb-fypa .aedbb-fypa__rec,
.aedbb-fypa .aedbb-fypa__res {
  border-radius: 20px !important;
}
.aedbb-fypa .aedbb-fypa__res-h,
.aedbb-fypa .aedbb-fypa__res-model {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
}
.aedbb-fypa .aedbb-fypa__res-verdict {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
  line-height: 1.6 !important;
}
.aedbb-fypa .aedbb-fypa__res-badge {
  background: rgba(0,182,122,0.15) !important;
  color: #003729 !important;
  border: 1px solid #00B67A !important;
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Progress bar — green gradient */
.aedbb-fypa .aedbb-fypa__hero-prog-fill,
.aedbb-fypa .aedbb-fypa__full-prog-fill,
.aedbb-fypa .aedbb-fypa__col-prog-fill,
.aedbb-fypa [class*="prog-fill"],
.aedbb-qty [class*="prog"], .aedbb-cost [class*="prog"] {
  background: linear-gradient(90deg, #00B67A 0%, #00D183 100%) !important;
}

/* Options — pill hover with green tint */
.aedbb-fypa .aedbb-fypa__opt,
.aedbb-fypa .aedbb-fypa__hero-opt,
.aedbb-fypa .aedbb-fypa__col-opt {
  border-radius: 14px !important;
  transition: all .18s ease !important;
}
.aedbb-fypa .aedbb-fypa__opt:hover,
.aedbb-fypa .aedbb-fypa__hero-opt:hover {
  border-color: #00B67A !important;
  background: rgba(0,182,122,0.08) !important;
  transform: translateY(-2px) !important;
}
.aedbb-fypa .aedbb-fypa__opt:has(input:checked),
.aedbb-fypa .aedbb-fypa__hero-opt:has(input:checked) {
  background: rgba(0,182,122,0.15) !important;
  border-color: #00B67A !important;
}

/* Full/page view result — cream background killed */
.aedbb-fypa--full .aedbb-fypa__full-result .aedbb-fypa__res-stat {
  background: #E7F9F3 !important;
}


/* ============================================
   🔥 FINAL UNIVERSAL OVERRIDE — v1.9.4
   Kills every remaining orange glow, serif font, and inconsistent hover.
   Uses !important on EVERY rule — this MUST win.
   ============================================ */

/* ---------- BUTTON SHADOWS — kill all coral ---------- */
.aedbb-fypa .aedbb-fypa__hero-btn-pri,
.aedbb-fypa .aedbb-fypa__hero-btn-sec,
.aedbb-fypa .aedbb-fypa__full-btn,
.aedbb-fypa .aedbb-fypa__col-btn,
.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa .aedbb-fypa__btn,
.aedbb-fypa button {
  outline: none !important;
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', -apple-system, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Primary buttons — green with green glow only */
.aedbb-fypa .aedbb-fypa__hero-btn-pri,
.aedbb-fypa .aedbb-fypa__full-btn--next,
.aedbb-fypa .aedbb-fypa__col-btn--primary,
.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa .aedbb-fypa__btn--primary,
.aedbb-fypa .aedbb-fypa__btn-retry {
  background: #00B67A !important;
  color: #fff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 20px rgba(0, 182, 122, 0.32) !important;
}
.aedbb-fypa .aedbb-fypa__hero-btn-pri:hover,
.aedbb-fypa .aedbb-fypa__full-btn--next:hover,
.aedbb-fypa .aedbb-fypa__col-btn--primary:hover,
.aedbb-fypa .aedbb-fypa__inline-cta:hover,
.aedbb-fypa .aedbb-fypa__btn--primary:hover,
.aedbb-fypa .aedbb-fypa__btn-retry:hover {
  background: #00D183 !important;
  border-color: #00D183 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0, 182, 122, 0.42) !important;
}
.aedbb-fypa .aedbb-fypa__hero-btn-pri:focus,
.aedbb-fypa .aedbb-fypa__hero-btn-pri:focus-visible {
  outline: 3px solid rgba(0, 182, 122, 0.35) !important;
  outline-offset: 2px !important;
}

/* Secondary/ghost buttons on dark backgrounds */
.aedbb-fypa .aedbb-fypa__hero-btn-sec,
.aedbb-fypa .aedbb-fypa__full-btn--back,
.aedbb-fypa .aedbb-fypa__col-btn--ghost {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: none !important;
}
.aedbb-fypa .aedbb-fypa__hero-btn-sec:hover,
.aedbb-fypa .aedbb-fypa__full-btn--back:hover,
.aedbb-fypa .aedbb-fypa__col-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

/* Secondary buttons on light backgrounds */
.aedbb-fypa .aedbb-fypa__btn--secondary,
.aedbb-fypa .aedbb-fypa__full-btn--secondary {
  background: transparent !important;
  color: #003729 !important;
  border: 1.5px solid #003729 !important;
  box-shadow: none !important;
}
.aedbb-fypa .aedbb-fypa__btn--secondary:hover,
.aedbb-fypa .aedbb-fypa__full-btn--secondary:hover {
  background: #003729 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Disabled state — no glow */
.aedbb-fypa button:disabled,
.aedbb-fypa button[disabled],
.aedbb-fypa .aedbb-fypa__hero-btn-pri:disabled,
.aedbb-fypa .aedbb-fypa__hero-btn-pri[aria-disabled="true"],
.aedbb-fypa .aedbb-fypa__full-btn:disabled {
  background: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.45) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* ---------- FONTS — kill every serif on question / heading elements ---------- */
.aedbb-fypa,
.aedbb-fypa *,
.aedbb-fypa p,
.aedbb-fypa span,
.aedbb-fypa label,
.aedbb-fypa li,
.aedbb-fypa small {
  font-family: 'TT Norms Pro', 'Inter', -apple-system, system-ui, sans-serif !important;
  font-style: normal !important;
}
.aedbb-fypa h1, .aedbb-fypa h2, .aedbb-fypa h3, .aedbb-fypa h4, .aedbb-fypa h5,
.aedbb-fypa .aedbb-fypa__hero-h,
.aedbb-fypa .aedbb-fypa__hero-step h3,
.aedbb-fypa .aedbb-fypa__hero-step h4,
.aedbb-fypa .aedbb-fypa__full-h,
.aedbb-fypa .aedbb-fypa__full-step h3,
.aedbb-fypa .aedbb-fypa__col-quiz-h,
.aedbb-fypa .aedbb-fypa__col-step h3,
.aedbb-fypa .aedbb-fypa__col-step h4,
.aedbb-fypa .aedbb-fypa__inline-h,
.aedbb-fypa .aedbb-fypa__res-h,
.aedbb-fypa .aedbb-fypa__res-model {
  font-family: 'ABC Solar Display', 'TT Norms Pro', -apple-system, sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;
}

/* Accent em — green, no italic */
.aedbb-fypa em,
.aedbb-fypa .aedbb-fypa__hero-h em,
.aedbb-fypa .aedbb-fypa__col-quiz-h em,
.aedbb-fypa .aedbb-fypa__full-h em,
.aedbb-fypa .aedbb-fypa__inline-h em {
  color: #00D183 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-family: inherit !important;
}

/* Question / step text — TT Norms Pro medium */
.aedbb-fypa .aedbb-fypa__hero-step h3,
.aedbb-fypa .aedbb-fypa__hero-step h4,
.aedbb-fypa .aedbb-fypa__hero-step .aedbb-fypa__hero-question,
.aedbb-fypa .aedbb-fypa__full-step h3,
.aedbb-fypa .aedbb-fypa__col-step h3,
.aedbb-fypa .aedbb-fypa__col-step h4 {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.015em !important;
}

/* Lede / subheadings */
.aedbb-fypa .aedbb-fypa__hero-lede,
.aedbb-fypa .aedbb-fypa__full-lede,
.aedbb-fypa .aedbb-fypa__col-quiz-lede,
.aedbb-fypa .aedbb-fypa__inline-sub {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Option labels — TT Norms Pro */
.aedbb-fypa .aedbb-fypa__opt-label,
.aedbb-fypa .aedbb-fypa__hero-opt-label,
.aedbb-fypa .aedbb-fypa__col-opt-label {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
}

/* ---------- OPTION HOVER — clean green tint, no orange ---------- */
.aedbb-fypa .aedbb-fypa__hero-opt,
.aedbb-fypa .aedbb-fypa__opt,
.aedbb-fypa .aedbb-fypa__col-opt {
  transition: all 0.18s ease !important;
  border-radius: 14px !important;
}
.aedbb-fypa .aedbb-fypa__hero-opt:hover,
.aedbb-fypa .aedbb-fypa__opt:hover,
.aedbb-fypa .aedbb-fypa__col-opt:hover {
  border-color: rgba(0, 182, 122, 0.65) !important;
  background: rgba(0, 182, 122, 0.10) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 182, 122, 0.18) !important;
}
.aedbb-fypa .aedbb-fypa__hero-opt.is-checked,
.aedbb-fypa .aedbb-fypa__opt.is-checked,
.aedbb-fypa .aedbb-fypa__col-opt.is-checked,
.aedbb-fypa .aedbb-fypa__hero-opt:has(input:checked),
.aedbb-fypa .aedbb-fypa__opt:has(input:checked) {
  border-color: #00B67A !important;
  background: rgba(0, 182, 122, 0.18) !important;
  box-shadow: 0 0 0 3px rgba(0, 182, 122, 0.15) !important;
}

/* ---------- FOCUS RING — green, not orange/white ---------- */
.aedbb-fypa *:focus,
.aedbb-fypa *:focus-visible {
  outline-color: rgba(0, 182, 122, 0.45) !important;
}

/* ---------- INLINE VIEW polish ---------- */
.aedbb-fypa--inline .aedbb-fypa__inline-h {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  color: #fff !important;
}
.aedbb-fypa--inline .aedbb-fypa__inline-cta {
  min-height: 48px !important;
  padding: 12px 22px !important;
}


/* ============================================
   🎯 RESULT-VIEW OVERRIDE — v1.9.5
   Targets ACTUAL classes rendered in result step:
   • .aedbb-fypa__rec-* (hero, column, full views)
   • .aedbb-fypa-page__* (page shortcode)
   All !important — this is the final step, must be perfect.
   ============================================ */

/* ===== RESULT HEADINGS ===== */
.aedbb-fypa .aedbb-fypa__rec-h2,
.aedbb-fypa .aedbb-fypa-page__result-title {
  font-family: 'ABC Solar Display', 'TT Norms Pro', -apple-system, sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: -0.025em !important;
  color: #003729 !important;
}

/* Verdict / lede — clean sans, no italic */
.aedbb-fypa .aedbb-fypa__rec-lede,
.aedbb-fypa .aedbb-fypa__rec-why,
.aedbb-fypa .aedbb-fypa-page__result-verdict {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #003729 !important;
  line-height: 1.6 !important;
}

/* Product name (Philips HeartStart OnSite etc.) — Solar Display uppercase */
.aedbb-fypa .aedbb-fypa__rec-name {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #003729 !important;
}

/* Brand line (~$1,350 · Untrained-staff...) — mono, green */
.aedbb-fypa .aedbb-fypa__rec-brand {
  font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace !important;
  font-style: normal !important;
  color: #00875A !important;
  font-size: 12.5px !important;
  letter-spacing: 0.01em !important;
}

/* ===== TOP MATCH / ALSO CONSIDER PILL ===== */
.aedbb-fypa .aedbb-fypa__rec-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(0, 182, 122, 0.15) !important;
  color: #003729 !important;
  border: 1px solid #00B67A !important;
  border-radius: 100px !important;
  padding: 5px 13px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}
.aedbb-fypa .aedbb-fypa__rec-card--alt .aedbb-fypa__rec-eyebrow,
.aedbb-fypa .aedbb-fypa-page__result-eyebrow--alt {
  background: rgba(0, 182, 122, 0.08) !important;
  border-color: rgba(0, 182, 122, 0.4) !important;
  color: #005B37 !important;
}

/* ===== RECOMMENDATION CARDS ===== */
.aedbb-fypa .aedbb-fypa__rec-card {
  border-radius: 22px !important;
  border: 1.5px solid rgba(0, 55, 41, 0.1) !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 55, 41, 0.04) !important;
  transition: all 0.24s ease !important;
}
.aedbb-fypa .aedbb-fypa__rec-card--top {
  border-color: #00B67A !important;
  box-shadow: 0 8px 24px rgba(0, 182, 122, 0.14) !important;
}
.aedbb-fypa .aedbb-fypa__rec-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(0, 55, 41, 0.10) !important;
}
.aedbb-fypa .aedbb-fypa__rec-card--top:hover {
  box-shadow: 0 14px 36px rgba(0, 182, 122, 0.24) !important;
}

/* Stripe accents — green, not orange */
.aedbb-fypa .aedbb-fypa__rec-stripe {
  background: #00B67A !important;
}
.aedbb-fypa .aedbb-fypa__rec-stripe--alt {
  background: rgba(0, 182, 122, 0.5) !important;
}

/* ===== RESULT BUTTONS (Read Full Review / View Review / Start Over) ===== */
.aedbb-fypa .aedbb-fypa__rec-btn {
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.005em !important;
  padding: 14px 26px !important;
  min-height: 52px !important;
  line-height: 1 !important;
  outline: none !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

/* CORAL button variant → override to GREEN */
.aedbb-fypa .aedbb-fypa__rec-btn--coral,
.aedbb-fypa .aedbb-fypa-page__pick-cta--coral {
  background: #00B67A !important;
  color: #fff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 20px rgba(0, 182, 122, 0.32) !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--coral:hover,
.aedbb-fypa .aedbb-fypa-page__pick-cta--coral:hover {
  background: #00D183 !important;
  border-color: #00D183 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0, 182, 122, 0.42) !important;
}

/* Ghost / secondary result button */
.aedbb-fypa .aedbb-fypa__rec-btn--ghost {
  background: transparent !important;
  color: #003729 !important;
  border: 1.5px solid #003729 !important;
  box-shadow: none !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--ghost:hover {
  background: #003729 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(0, 55, 41, 0.22) !important;
}

/* ===== SPECS TABLE ===== */
.aedbb-fypa .aedbb-fypa__rec-spec {
  border-color: rgba(0, 55, 41, 0.08) !important;
}
.aedbb-fypa .aedbb-fypa__rec-specs-label,
.aedbb-fypa .aedbb-fypa__rec-spec {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
}
.aedbb-fypa .aedbb-fypa__rec-specs-label {
  color: rgba(0, 55, 41, 0.7) !important;
  font-weight: 500 !important;
}

/* ===== PAGE VIEW result-specific ===== */
.aedbb-fypa .aedbb-fypa-page__result {
  background: #E7F9F3 !important;
  border-radius: 24px !important;
  border: 1.5px solid rgba(0, 182, 122, 0.25) !important;
}
.aedbb-fypa .aedbb-fypa-page__result-eyebrow {
  color: #00875A !important;
  font-family: 'SF Mono', ui-monospace, monospace !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 700 !important;
  font-size: 11px !important;
}
.aedbb-fypa .aedbb-fypa-page__pick-cta {
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  padding: 14px 26px !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  outline: none !important;
}
.aedbb-fypa .aedbb-fypa-page__pick-cta--forest {
  background: transparent !important;
  color: #003729 !important;
  border: 1.5px solid #003729 !important;
}
.aedbb-fypa .aedbb-fypa-page__pick-cta--forest:hover {
  background: #003729 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* ===== START OVER BUTTON ===== */
.aedbb-fypa .aedbb-fypa__btn-retry {
  background: #E7F9F3 !important;
  color: #003729 !important;
  border: 1.5px solid rgba(0, 55, 41, 0.2) !important;
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 600 !important;
  padding: 12px 22px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.18s ease !important;
}
.aedbb-fypa .aedbb-fypa__btn-retry:hover {
  background: #003729 !important;
  color: #fff !important;
  border-color: #003729 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(0, 55, 41, 0.20) !important;
}

/* ===== HERO/FULL/COLUMN result wrappers ===== */
.aedbb-fypa .aedbb-fypa__hero-result,
.aedbb-fypa .aedbb-fypa__full-result,
.aedbb-fypa .aedbb-fypa__col-result {
  color: #003729 !important;
}
.aedbb-fypa .aedbb-fypa__hero-result *,
.aedbb-fypa .aedbb-fypa__full-result *,
.aedbb-fypa .aedbb-fypa__col-result * {
  font-style: normal !important;
}

/* Any residual italic on result section — kill it */
.aedbb-fypa [class*="rec-"] em,
.aedbb-fypa [class*="rec-"] i,
.aedbb-fypa [class*="result"] em,
.aedbb-fypa [class*="result"] i {
  color: #00B67A !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-family: inherit !important;
}


/* ============================================
   ⚡ INLINE CTA HARD FIX — v1.9.6b
   The inline view "Take the Quiz →" pill needs extra love.
   ============================================ */
.aedbb-fypa--inline .aedbb-fypa__inline-cta,
a.aedbb-fypa__inline-cta,
.aedbb-fypa .aedbb-fypa__inline-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #00B67A !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1.5px solid #00B67A !important;
  border-radius: 100px !important;
  padding: 16px 28px !important;
  min-height: 54px !important;
  min-width: 180px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  font-style: normal !important;
  letter-spacing: -0.005em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: 0 6px 20px rgba(0, 182, 122, 0.32) !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
}
.aedbb-fypa--inline .aedbb-fypa__inline-cta *,
a.aedbb-fypa__inline-cta *,
.aedbb-fypa .aedbb-fypa__inline-cta * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
  font-style: normal !important;
  font-family: inherit !important;
}
.aedbb-fypa--inline .aedbb-fypa__inline-cta:hover,
a.aedbb-fypa__inline-cta:hover,
.aedbb-fypa .aedbb-fypa__inline-cta:hover {
  background: #00D183 !important;
  border-color: #00D183 !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(0, 182, 122, 0.45) !important;
}
/* Inline eyebrow "FREE TOOL · 30 SECONDS" */
.aedbb-fypa--inline .aedbb-fypa__inline-eyebrow,
.aedbb-fypa .aedbb-fypa__inline-eyebrow {
  font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: rgba(0, 182, 122, 0.18) !important;
  border: 1px solid rgba(0, 182, 122, 0.4) !important;
  border-radius: 100px !important;
  padding: 5px 12px !important;
  display: inline-flex !important;
  font-style: normal !important;
}
/* Inline headline + subtext */
.aedbb-fypa--inline .aedbb-fypa__inline-h,
.aedbb-fypa .aedbb-fypa__inline-h {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  letter-spacing: -0.015em !important;
}
.aedbb-fypa--inline .aedbb-fypa__inline-sub,
.aedbb-fypa .aedbb-fypa__inline-sub {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
}


/* ☢️ NUCLEAR FONT + BUTTON OVERRIDE — v1.9.6 */
[class*="aedbb-fypa"], [class*="aedbb-fypa"] * {
  font-family: 'TT Norms Pro', 'Inter', system-ui, sans-serif !important;
  font-style: normal !important;
}
[class*="aedbb-fypa"] h1, [class*="aedbb-fypa"] h2, [class*="aedbb-fypa"] h3, [class*="aedbb-fypa"] h4,
[class*="aedbb-fypa"] [class*="__h"], [class*="aedbb-fypa"] [class*="__title"],
[class*="aedbb-fypa"] [class*="__name"] {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
}
[class*="aedbb-fypa"] button, [class*="aedbb-fypa"] [class*="__btn"], [class*="aedbb-fypa"] [class*="__cta"], [class*="aedbb-fypa"] [class*="__pick"] {
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  padding: 16px 28px !important;
  min-height: 54px !important;
  outline: none !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
[class*="aedbb-fypa"] [class*="--coral"], [class*="aedbb-fypa"] [class*="--primary"],
[class*="aedbb-fypa"] [class*="__pick-cta"], [class*="aedbb-fypa"] [class*="__inline-cta"],
[class*="aedbb-fypa"] [class*="__hero-btn-pri"] {
  background: #00B67A !important; color: #fff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 20px rgba(0, 182, 122, 0.32) !important;
}
/* removed: broke svg fills */
[class*="aedbb-fypa"] [class*="--coral"]:hover, [class*="aedbb-fypa"] [class*="--primary"]:hover,
[class*="aedbb-fypa"] [class*="__pick-cta"]:hover, [class*="aedbb-fypa"] [class*="__inline-cta"]:hover {
  background: #00D183 !important; border-color: #00D183 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 28px rgba(0, 182, 122, 0.42) !important;
}
[class*="aedbb-fypa"] [class*="--ghost"], [class*="aedbb-fypa"] [class*="--secondary"] {
  background: #fff !important; color: #003729 !important;
  border: 1.5px solid #003729 !important; box-shadow: none !important;
}
[class*="aedbb-fypa"] [class*="--ghost"] *, [class*="aedbb-fypa"] [class*="--secondary"] * {
  color: #003729 !important; fill: #003729 !important;
}
[class*="aedbb-fypa"] [class*="--ghost"]:hover, [class*="aedbb-fypa"] [class*="--secondary"]:hover {
  background: #003729 !important; color: #fff !important; transform: translateY(-1px) !important;
}
[class*="aedbb-fypa"] [class*="--ghost"]:hover *, [class*="aedbb-fypa"] [class*="--secondary"]:hover * {
  color: #fff !important; fill: #fff !important;
}
[class*="aedbb-fypa"] em, [class*="aedbb-fypa"] i {
  color: #00D183 !important; font-style: normal !important; font-weight: 800 !important; font-family: inherit !important;
}
[class*="aedbb-fypa"] *:focus, [class*="aedbb-fypa"] *:focus-visible {
  outline: 3px solid rgba(0, 182, 122, 0.35) !important; outline-offset: 2px !important;
}


/* ============================================
   🔧 UNIFIED START-OVER + LINK FIX — v1.9.7
   Every "Back" / "Start Over" / "Retry" button identical.
   Defeats theme-level [class*="aedbb-fypa"] a:not(button):not([class*="btn"]):not([class*="cta"]) rule.
   ============================================ */

/* ===== UNIFIED START-OVER + BACK BUTTON (all 4 views) =====
   Applies to: page-back, full-back, hero-back-sec, col-ghost, btn-retry
   Uniform look: cream fill, dark green text, pill, hover → dark green fill white text
*/
.aedbb-fypa .aedbb-fypa-page__btn.aedbb-fypa-page__btn--back,
.aedbb-fypa .aedbb-fypa__full-btn.aedbb-fypa__full-btn--back,
.aedbb-fypa .aedbb-fypa__btn-retry,
.aedbb-fypa-page .aedbb-fypa-page__btn--back {
  background: #E7F9F3 !important;
  background-image: none !important;
  color: #003729 !important;
  border: 1.5px solid rgba(0, 55, 41, 0.2) !important;
  border-radius: 100px !important;
  padding: 14px 26px !important;
  min-height: 50px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.005em !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(0, 55, 41, 0.06) !important;
  outline: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}
.aedbb-fypa .aedbb-fypa-page__btn.aedbb-fypa-page__btn--back *,
.aedbb-fypa .aedbb-fypa__full-btn.aedbb-fypa__full-btn--back *,
.aedbb-fypa .aedbb-fypa__btn-retry * {
  color: #003729 !important;
  fill: #003729 !important;
  stroke: #003729 !important;
  font-family: inherit !important;
  font-weight: inherit !important;
}
.aedbb-fypa .aedbb-fypa-page__btn.aedbb-fypa-page__btn--back:hover,
.aedbb-fypa .aedbb-fypa__full-btn.aedbb-fypa__full-btn--back:hover,
.aedbb-fypa .aedbb-fypa__btn-retry:hover,
.aedbb-fypa-page .aedbb-fypa-page__btn--back:hover {
  background: #003729 !important;
  color: #ffffff !important;
  border-color: #003729 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(0, 55, 41, 0.28) !important;
}
.aedbb-fypa .aedbb-fypa-page__btn.aedbb-fypa-page__btn--back:hover *,
.aedbb-fypa .aedbb-fypa__full-btn.aedbb-fypa__full-btn--back:hover *,
.aedbb-fypa .aedbb-fypa__btn-retry:hover * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* ===== INLINE LINKS FIX =====
   Defeats theme rule: [class*="aedbb-fypa"] a:not(button):not([class*="btn"]):not([class*="cta"]) padding-bottom:1px
   Fix: 10px padding, matched underline color, half-transparent hover
*/
.aedbb-fypa a:not(button):not(.aedbb-fypa__inline-cta):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]),
.aedbb-fypa-page a:not(button):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]) {
  color: #003729 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid #003729 !important;
  padding-bottom: 10px !important;
  font-weight: 600 !important;
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: inline !important;
  line-height: 1.5 !important;
}
.aedbb-fypa a:not(button):not(.aedbb-fypa__inline-cta):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]):hover,
.aedbb-fypa-page a:not(button):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]):hover {
  color: #00B67A !important;
  border-bottom-color: rgba(0, 182, 122, 0.5) !important;
  background: linear-gradient(to right, #00B67A 50%, rgba(0, 182, 122, 0.35) 50%) bottom / 100% 1.5px no-repeat !important;
  border-bottom-color: transparent !important;
}

/* ===== INLINE CTA "Take the Quiz →" — button, NOT link ===== */
.aedbb-fypa a.aedbb-fypa__inline-cta,
.aedbb-fypa .aedbb-fypa__inline-cta {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: none !important;
  padding-bottom: 16px !important;  /* matches padding-top for pill */
  padding-top: 16px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}
.aedbb-fypa a.aedbb-fypa__inline-cta:hover,
.aedbb-fypa .aedbb-fypa__inline-cta:hover {
  color: #ffffff !important;
  border-bottom: none !important;
  background: #00D183 !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(0, 182, 122, 0.45) !important;
}


/* ============================================
   🛡️ SPECIFICITY SHIELD — v1.9.8
   Doubles the class name to beat theme rule [class*="aedbb-fypa"] a:not(button)
   ============================================ */

/* Doubled-class = weight 2 → wins vs single attribute selector */
.aedbb-fypa.aedbb-fypa a:not(button):not(.aedbb-fypa__inline-cta):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]),
.aedbb-fypa-page.aedbb-fypa-page a:not(button):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]) {
  color: #003729 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid #003729 !important;
  padding-bottom: 10px !important;
  font-weight: 600 !important;
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-style: normal !important;
  transition: color 0.22s ease, border-bottom-color 0.22s ease !important;
  line-height: 1.5 !important;
}
.aedbb-fypa.aedbb-fypa a:not(button):not(.aedbb-fypa__inline-cta):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]):hover,
.aedbb-fypa-page.aedbb-fypa-page a:not(button):not([class*="btn"]):not([class*="__cta"]):not([class*="__pick-cta"]):hover {
  color: #00B67A !important;
  border-bottom-color: rgba(0, 182, 122, 0.5) !important;
}


/* ============================================
   🎯 FINAL FIX — v1.9.9
   1. SVG-safe icon rules (no forced fill on <svg>)
   2. Border-radius 30px on wide CTAs (pick-cta, rec-btn)
   3. 100px only on small pills (inline-cta, retry, hero-btn-sec)
   4. Theme rule a:not(button) defeat with :not(anchor) chains
   ============================================ */

/* ===== SVG ICONS — force correct fill/stroke, never solid ===== */
.aedbb-fypa svg,
.aedbb-fypa-page svg,
[class*="aedbb-fypa"] svg,
[class*="aedbb-fypa"] .aedbb-fypa-ico,
[class*="aedbb-fypa"] [class*="__btn"] svg,
[class*="aedbb-fypa"] [class*="__cta"] svg,
[class*="aedbb-fypa"] [class*="__pick"] svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
/* Star icon is the ONE exception — filled */
.aedbb-fypa svg#aedbb-i-star,
.aedbb-fypa svg use[href="#aedbb-i-star"],
[class*="aedbb-fypa"] .aedbb-fypa-ico[data-icon="star"] {
  fill: currentColor !important;
  stroke: none !important;
}

/* ===== BORDER RADIUS — 30px for wide CTAs, 100px for small pills ===== */
/* Wide CTAs (Read Full Review, Shop the AED, View Review) = 30px */
.aedbb-fypa .aedbb-fypa__rec-btn,
.aedbb-fypa .aedbb-fypa__rec-btn--coral,
.aedbb-fypa .aedbb-fypa__rec-btn--ghost,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--coral,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--forest {
  border-radius: 30px !important;
  padding: 16px 24px !important;
  min-height: 52px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.005em !important;
  line-height: 1 !important;
  outline: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none !important;
  border-bottom-style: solid !important;
  border-bottom-width: 1.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* PRIMARY wide CTA (Shop the AED = green) */
.aedbb-fypa .aedbb-fypa__rec-btn--coral,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--coral {
  background: #00B67A !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 18px rgba(0, 182, 122, 0.30) !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--coral:hover,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--coral:hover {
  background: #00875A !important;
  border-color: #00875A !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 26px rgba(0, 182, 122, 0.45) !important;
}

/* GHOST wide CTA (Read Full Review / View Review = outline dark green) */
.aedbb-fypa .aedbb-fypa__rec-btn--ghost,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--forest {
  background: #ffffff !important;
  color: #003729 !important;
  border: 1.5px solid #003729 !important;
  box-shadow: none !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--ghost:hover,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--forest:hover {
  background: #003729 !important;
  color: #ffffff !important;
  border-color: #003729 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(0, 55, 41, 0.28) !important;
}

/* Small pill buttons stay 100px */
.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa .aedbb-fypa__btn-retry,
.aedbb-fypa .aedbb-fypa__hero-btn-pri,
.aedbb-fypa .aedbb-fypa__hero-btn-sec,
.aedbb-fypa .aedbb-fypa__full-btn,
.aedbb-fypa .aedbb-fypa__col-btn,
.aedbb-fypa-page .aedbb-fypa-page__btn {
  border-radius: 100px !important;
}

/* ===== DEFEAT THEME a:not(button):not([class*="btn"]):not([class*="cta"]) RULE =====
   Adds .btn-like class-match to anchors via specificity boost
   Every anchor-button gets padding-bottom + border-bottom explicit
*/
.aedbb-fypa a.aedbb-fypa__rec-btn,
.aedbb-fypa a.aedbb-fypa__rec-btn--coral,
.aedbb-fypa a.aedbb-fypa__rec-btn--ghost,
.aedbb-fypa a.aedbb-fypa__inline-cta,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--coral,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--forest {
  border-bottom-width: 1.5px !important;
  border-bottom-style: solid !important;
  padding-bottom: 16px !important;
  padding-top: 16px !important;
  text-decoration: none !important;
}
/* Set border-bottom-color to match the border color (invisible fusion with border) */
.aedbb-fypa a.aedbb-fypa__rec-btn--coral,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--coral {
  border-bottom-color: #00B67A !important;
}
.aedbb-fypa a.aedbb-fypa__rec-btn--ghost,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--forest {
  border-bottom-color: #003729 !important;
}
.aedbb-fypa a.aedbb-fypa__rec-btn--coral:hover,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--coral:hover {
  border-bottom-color: #00875A !important;
}
.aedbb-fypa a.aedbb-fypa__rec-btn--ghost:hover,
.aedbb-fypa-page a.aedbb-fypa-page__pick-cta--forest:hover {
  border-bottom-color: #003729 !important;
}

/* ===== SVG COLOR INHERITANCE ===== */
.aedbb-fypa .aedbb-fypa__rec-btn--coral svg,
.aedbb-fypa .aedbb-fypa__rec-btn--coral svg use,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--coral svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--ghost svg,
.aedbb-fypa .aedbb-fypa__rec-btn--ghost svg use,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--forest svg {
  color: #003729 !important;
  stroke: #003729 !important;
  fill: none !important;
}
.aedbb-fypa .aedbb-fypa__rec-btn--ghost:hover svg,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta--forest:hover svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* ===== BUTTON GROUP: consistent gap + both buttons same size ===== */
.aedbb-fypa .aedbb-fypa__rec-ctas,
.aedbb-fypa-page .aedbb-fypa-page__pick-cta-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 16px !important;
}


/* ============================================
   🛡️ TRUST-STRIP VISIBILITY FIX — v1.9.10
   Locks trust items readable on dark hero/col cards
   ============================================ */
.aedbb-fypa .aedbb-fypa__hero-trust,
.aedbb-fypa .aedbb-fypa__hero-trust span,
.aedbb-fypa .aedbb-fypa__col-trust-strip,
.aedbb-fypa .aedbb-fypa__col-trust-strip span {
  color: rgba(255, 255, 255, 0.85) !important;
}
.aedbb-fypa .aedbb-fypa__hero-trust .aedbb-fypa-ico,
.aedbb-fypa .aedbb-fypa__col-trust-strip .aedbb-fypa-ico,
.aedbb-fypa .aedbb-fypa__hero-trust svg,
.aedbb-fypa .aedbb-fypa__col-trust-strip svg {
  color: #00D183 !important;
  stroke: #00D183 !important;
  fill: none !important;
}
/* Hero lede on dark card */
.aedbb-fypa--hero .aedbb-fypa__hero-lede,
.aedbb-fypa .aedbb-fypa__col-quiz-lede {
  color: rgba(255, 255, 255, 0.78) !important;
}
/* Progress step text on dark cards */
.aedbb-fypa--hero .aedbb-fypa__hero-prog-text,
.aedbb-fypa--column .aedbb-fypa__col-prog-text {
  color: rgba(255, 255, 255, 0.7) !important;
}


/* ============================================
   🚀 RESULT LAYOUT v2 — v1.9.11
   Header bar + centered icon + 2-col picks + CPR1 callout + bold start over
   Applies to ALL 4 shortcode views (page, hero, column, inline result step)
   ============================================ */
.aedbb-fypa__rv2 {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(0,55,41,0.14);
  overflow: hidden;
  border: 1px solid rgba(0,55,41,0.10);
  font-family: 'TT Norms Pro', 'Inter', system-ui, sans-serif;
  color: #003729;
  max-width: 780px;
  margin: 0 auto;
}
/* Header bar */
.aedbb-fypa__rv2-bar {
  background: linear-gradient(135deg, #003729 0%, #0d4f3c 60%, #005B37 100%);
  color: #fff;
  padding: 22px 28px;
  position: relative;
  overflow: hidden;
}
.aedbb-fypa__rv2-bar::after {
  content: "";
  position: absolute; top: -40px; right: -40px;
  width: 180px; height: 180px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,182,122,.18), transparent 70%);
  pointer-events: none;
}
.aedbb-fypa__rv2-bar-title {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px !important;
  color: #fff !important;
  font-style: normal !important;
}
.aedbb-fypa__rv2-bar-sub {
  font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.72) !important;
  margin: 0 !important;
  font-style: normal !important;
}
/* Body */
.aedbb-fypa__rv2-body { padding: 30px 28px 26px; text-align: center; }
.aedbb-fypa__rv2-icon {
  width: 66px; height: 66px;
  border-radius: 50%;
  background: #E7F9F3;
  border: 1.5px solid rgba(0,182,122,.25);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 14px;
}
.aedbb-fypa__rv2-icon svg {
  width: 32px; height: 32px;
  stroke: #00B67A;
  fill: none;
  stroke-width: 2;
  color: #00B67A;
}
.aedbb-fypa__rv2-h {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  letter-spacing: -.02em !important;
  text-transform: uppercase !important;
  color: #003729 !important;
  margin: 0 0 10px !important;
  font-style: normal !important;
}
.aedbb-fypa__rv2-lede {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: rgba(0,55,41,.75) !important;
  margin: 0 auto 24px !important;
  max-width: 520px !important;
  font-style: normal !important;
}
/* Picks grid */
.aedbb-fypa__rv2-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 20px;
  text-align: left;
}
@media (max-width: 560px) {
  .aedbb-fypa__rv2-grid { grid-template-columns: 1fr; }
}
.aedbb-fypa__rv2-pick {
  border-radius: 14px;
  padding: 20px 18px;
  position: relative;
}
.aedbb-fypa__rv2-pick--top {
  background: #F4FBF7;
  border: 1.5px solid #00B67A;
}
.aedbb-fypa__rv2-pick--alt {
  background: #FAFAFA;
  border: 1.5px solid rgba(0,55,41,.10);
}
.aedbb-fypa__rv2-tag {
  position: absolute;
  top: -1px;
  left: 16px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 8px;
  font-family: 'SF Mono', 'Roboto Mono', ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}
.aedbb-fypa__rv2-tag--top { background: #00B67A; color: #fff !important; }
.aedbb-fypa__rv2-tag--alt { background: rgba(0,55,41,.10); color: #003729 !important; }
.aedbb-fypa__rv2-name {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  color: #003729 !important;
  margin: 12px 0 6px !important;
  font-style: normal !important;
}
.aedbb-fypa__rv2-note {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(0,55,41,.75) !important;
  margin: 0 0 14px !important;
  font-style: normal !important;
}
/* Callout (CPR1) */
.aedbb-fypa__rv2-callout {
  background: #E7F9F3;
  border: 1.5px solid rgba(0,182,122,.20);
  border-radius: 14px;
  padding: 18px 20px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  text-align: left;
  margin-bottom: 18px;
}
@media (max-width: 560px) {
  .aedbb-fypa__rv2-callout { grid-template-columns: 1fr; text-align: center; }
}
.aedbb-fypa__rv2-callout-icon {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #00B67A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.aedbb-fypa__rv2-callout-icon svg {
  width: 22px !important; height: 22px !important;
  stroke: #00B67A !important;
  fill: none !important;
  stroke-width: 2 !important;
  color: #00B67A !important;
}
.aedbb-fypa__rv2-callout-h {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  color: #003729 !important;
  margin: 0 0 3px !important;
  letter-spacing: -.01em !important;
  font-style: normal !important;
}
.aedbb-fypa__rv2-callout-p {
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: rgba(0,55,41,.72) !important;
  margin: 0 !important;
  font-style: normal !important;
}
/* Force old rec-result classes to hide when v2 rendered inside them */
.aedbb-fypa__hero-result .aedbb-fypa__rv2,
.aedbb-fypa__col-result .aedbb-fypa__rv2,
.aedbb-fypa__full-result .aedbb-fypa__rv2,
.aedbb-fypa-page__result .aedbb-fypa__rv2 {
  margin: 0 !important;
}
.aedbb-fypa__rv2-brand { font-family: 'SF Mono','Roboto Mono',ui-monospace,monospace !important; font-size: 11px !important; color: #00875A !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; margin: 2px 0 8px !important; }
/* Callout icon container — keep round (it's a circle by design) */
.aedbb-fypa .aedbb-fypa__rv2-callout-icon {
  border-radius: 50% !important;
}
/* Result icon badge — keep round */
.aedbb-fypa .aedbb-fypa__rv2-icon {
  border-radius: 50% !important;
}
/* Pick tag corner labels — small radius */
.aedbb-fypa .aedbb-fypa__rv2-tag {
  border-radius: 8px !important;
}


/* =====================================================
   ✨ v2.0.0 — REFERENCE-MATCHED FINAL DESIGN
   Defeats theme a:not(button):not([class*="btn"]):not([class*="cta"]) rule via 3-class chain
   ===================================================== */

/* Wrapper + header bar */
.aedbb-fypa .aedbb-fypa__rv2 {
  background: #ffffff !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 60px rgba(0,55,41,0.14) !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,55,41,0.08) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  color: #003729 !important;
}
.aedbb-fypa .aedbb-fypa__rv2-bar {
  background: linear-gradient(135deg, #003729 0%, #0d4f3c 60%, #005B37 100%) !important;
  color: #ffffff !important;
  padding: 22px 24px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}
.aedbb-fypa .aedbb-fypa__rv2-bar-title {
  font-family: 'ABC Solar Display','TT Norms Pro','Inter',sans-serif !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 0 4px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-bar-sub {
  font-family: 'SF Mono','Roboto Mono',ui-monospace,monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.72) !important;
  margin: 0 !important;
}
.aedbb-fypa .aedbb-fypa__rv2-body {
  padding: 30px 24px 24px !important;
  text-align: center !important;
}

/* YOUR MATCH pill */
.aedbb-fypa .aedbb-fypa__rv2-match-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(0,182,122,0.14) !important;
  border: 1px solid rgba(0,182,122,0.35) !important;
  color: #003729 !important;
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 100px !important;
  margin-bottom: 12px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-match-pill svg {
  fill: currentColor !important;
  stroke: none !important;
  color: #FFCE00 !important;
}

/* Icon badge — hide it because YOUR MATCH pill replaces it */
.aedbb-fypa .aedbb-fypa__rv2-icon { display: none !important; }

/* Recommended heading */
.aedbb-fypa .aedbb-fypa__rv2-h {
  font-family: 'ABC Solar Display','TT Norms Pro','Inter',sans-serif !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  letter-spacing: -0.02em !important;
  color: #003729 !important;
  margin: 0 0 12px !important;
  text-transform: none !important;
}
.aedbb-fypa .aedbb-fypa__rv2-lede {
  font-family: 'TT Norms Pro','Inter',sans-serif !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: rgba(0,55,41,0.78) !important;
  margin: 0 auto 24px !important;
  max-width: 620px !important;
  font-style: normal !important;
}

/* Picks grid */
.aedbb-fypa .aedbb-fypa__rv2-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
  text-align: left !important;
}
@media (max-width: 620px) {
  .aedbb-fypa .aedbb-fypa__rv2-grid { grid-template-columns: 1fr !important; }
}

/* Pick cards */
.aedbb-fypa .aedbb-fypa__rv2-pick {
  border-radius: 14px !important;
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.aedbb-fypa .aedbb-fypa__rv2-pick--top {
  background: rgba(0,182,122,0.08) !important;
  border: 1.5px solid #00B67A !important;
}
.aedbb-fypa .aedbb-fypa__rv2-pick--alt {
  background: rgba(217,119,6,0.06) !important;
  border: 1.5px solid rgba(217,119,6,0.5) !important;
}

/* Full-width tag banner at top of each card */
.aedbb-fypa .aedbb-fypa__rv2-tag {
  display: block !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  padding: 8px 16px !important;
  border-radius: 0 !important;
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}
.aedbb-fypa .aedbb-fypa__rv2-tag--top { background: #00B67A !important; }
.aedbb-fypa .aedbb-fypa__rv2-tag--alt { background: #D97706 !important; }

/* Card body inner padding */
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-name,
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-brand,
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-note {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-name {
  font-family: 'ABC Solar Display','TT Norms Pro','Inter',sans-serif !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  color: #003729 !important;
  margin: 18px 0 4px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}
.aedbb-fypa .aedbb-fypa__rv2-brand {
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #00875A !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-note {
  font-family: 'TT Norms Pro','Inter',sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: rgba(0,55,41,0.78) !important;
  margin: 0 0 22px !important;
  font-style: normal !important;
}

/* =====================================================
   SPECS STRIP
   ===================================================== */
.aedbb-fypa .aedbb-fypa__rv2-specs {
  background: rgba(0,182,122,0.06) !important;
  border: 1px solid rgba(0,182,122,0.20) !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  margin-bottom: 16px !important;
  text-align: left !important;
}
.aedbb-fypa .aedbb-fypa__rv2-specs-title {
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(0,55,41,0.6) !important;
  margin-bottom: 12px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-specs-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 620px) {
  .aedbb-fypa .aedbb-fypa__rv2-specs-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
.aedbb-fypa .aedbb-fypa__rv2-spec-lbl {
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(0,55,41,0.55) !important;
  margin-bottom: 4px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-spec-val {
  font-family: 'ABC Solar Display','TT Norms Pro','Inter',sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #003729 !important;
}

/* =====================================================
   META FOOTER
   ===================================================== */
.aedbb-fypa .aedbb-fypa__rv2-meta {
  font-family: 'SF Mono','Roboto Mono',monospace !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(0,55,41,0.5) !important;
  text-align: center !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px dashed rgba(0,55,41,0.15) !important;
}

/* =====================================================
   CALLOUT — CPR1 (kept from prior)
   ===================================================== */
.aedbb-fypa .aedbb-fypa__rv2-callout {
  background: rgba(0,182,122,0.08) !important;
  border: 1px solid rgba(0,182,122,0.25) !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  gap: 14px !important;
  align-items: center !important;
  text-align: left !important;
  margin-bottom: 16px !important;
}
@media (max-width: 620px) {
  .aedbb-fypa .aedbb-fypa__rv2-callout { grid-template-columns: 1fr !important; text-align: center !important; }
}
.aedbb-fypa .aedbb-fypa__rv2-callout-icon {
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #00B67A !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.aedbb-fypa .aedbb-fypa__rv2-callout-icon svg {
  width: 20px !important; height: 20px !important;
  stroke: #00B67A !important;
  fill: none !important;
  stroke-width: 2 !important;
}
.aedbb-fypa .aedbb-fypa__rv2-callout-h {
  font-family: 'ABC Solar Display','TT Norms Pro',sans-serif !important;
  font-weight: 800 !important;
  font-size: 14.5px !important;
  color: #003729 !important;
  margin: 0 0 3px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-callout-p {
  font-family: 'TT Norms Pro','Inter',sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: rgba(0,55,41,0.72) !important;
  margin: 0 !important;
}

/* Container center for Start Over */
.aedbb-fypa .aedbb-fypa__rv2-body { text-align: center !important; }


/* =====================================================
   ✨ v2.0.1 — Demo-informed proportions (green palette kept)
   Tighter buttons · 8px radius · sand alt card · cleaner spec strip
   ===================================================== */

/* Cards — smaller radius per demo */
.aedbb-fypa .aedbb-fypa__rv2-pick { border-radius: 16px !important; }
.aedbb-fypa .aedbb-fypa__rv2-pick--top {
  background: #ffffff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 18px rgba(0,182,122,0.14) !important;
}
.aedbb-fypa .aedbb-fypa__rv2-pick--alt {
  background: #F7F3ED !important;    /* sand — from demo */
  border: 1.5px solid rgba(0,55,41,0.10) !important;
  box-shadow: 0 2px 6px rgba(0,55,41,0.04) !important;
}

/* Tag banners — smaller radius, matches demo top-corners feel */
.aedbb-fypa .aedbb-fypa__rv2-tag {
  padding: 9px 18px !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
}
.aedbb-fypa .aedbb-fypa__rv2-tag--alt { background: rgba(0,55,41,0.55) !important; }

/* Product name — slight bump */
.aedbb-fypa .aedbb-fypa__rv2-name { font-size: 19px !important; margin-top: 16px !important; }

/* Specs strip — tighter per demo */
.aedbb-fypa .aedbb-fypa__rv2-specs {
  background: #F7F3ED !important;
  border-color: rgba(0,55,41,0.10) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-specs-grid { gap: 14px !important; }
.aedbb-fypa .aedbb-fypa__rv2-spec-val { font-size: 13px !important; }


/* =====================================================
   ✨ v2.0.3 — Consistent button labels + line-clamped notes + equal card heights
   ===================================================== */

/* Grid: equal-height cards (align items stretch) */
.aedbb-fypa .aedbb-fypa__rv2-grid { align-items: stretch !important; }
.aedbb-fypa .aedbb-fypa__rv2-pick {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Description truncated to 2 lines */
.aedbb-fypa .aedbb-fypa__rv2-note {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 2.9em !important;   /* reserves 2 lines even if shorter */
}


/* ═══════════════════════════════════════════════════════════
   ✅ v2.1.0 — UNIFIED HOMEPAGE-MATCHED BUTTON SYSTEM
   Single source of truth for every CTA in all 4 views.
   Spec captured from live aedbestbrands.com homepage:
   pill 100px · ABC Solar Display 600 · #00B67A / #0A1A15 solid
   · white ghost w/ 1.5px ink border · inline-flex + 10px icon gap
   Placed last in file: wins every earlier !important tie.
   ═══════════════════════════════════════════════════════════ */

/* ---- 1. BASE: every button-like element, both scopes ---- */
.aedbb-fypa.aedbb-fypa [class*="btn"],
.aedbb-fypa.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-callout-cta,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-start-over,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn"],
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-callout-cta,
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-start-over {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border-radius: 100px !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', 'Inter', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.005em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  font-style: normal !important;
  padding: 14px 26px !important;
  min-height: 48px !important;
  cursor: pointer !important;
  transition: all .18s cubic-bezier(.4,0,.2,1) !important;
  white-space: nowrap !important;
}
/* icons inside buttons: stroke-only, never touch text (gap above) */
.aedbb-fypa.aedbb-fypa [class*="btn"] svg,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__inline-cta svg,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-callout-cta svg,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-start-over svg,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn"] svg {
  flex-shrink: 0 !important;
  margin: 0 !important;
  stroke: currentColor !important;
  fill: none !important;
  display: inline-block !important;
}

/* ---- 2. PRIMARY (green solid): next / submit / buy / coral / inline-cta ---- */
.aedbb-fypa.aedbb-fypa [class*="btn--pri"],
.aedbb-fypa.aedbb-fypa [class*="btn--primary"],
.aedbb-fypa.aedbb-fypa [class*="btn--next"],
.aedbb-fypa.aedbb-fypa [class*="btn--coral"],
.aedbb-fypa.aedbb-fypa [class*="btn--p"]:not([class*="--pri"]):not([class*="--primary"]),
.aedbb-fypa.aedbb-fypa .aedbb-fypa__inline-cta,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-callout-cta,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--next"],
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--pri"],
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-callout-cta {
  background: #00B67A !important;
  color: #fff !important;
  border: 1.5px solid #00B67A !important;
  box-shadow: 0 6px 20px rgba(0,182,122,.30) !important;
}
.aedbb-fypa.aedbb-fypa [class*="btn--pri"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa [class*="btn--primary"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa [class*="btn--next"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa [class*="btn--coral"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa .aedbb-fypa__inline-cta:hover,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-callout-cta:hover,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--next"]:hover:not(:disabled),
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--pri"]:hover:not(:disabled),
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-callout-cta:hover {
  background: #00875A !important;
  border-color: #00875A !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 26px rgba(0,182,122,.38) !important;
}

/* ---- 3. GHOST (light context): back / ghost / secondary / review ---- */
.aedbb-fypa.aedbb-fypa [class*="btn--ghost"],
.aedbb-fypa.aedbb-fypa [class*="btn--back"],
.aedbb-fypa.aedbb-fypa [class*="btn--secondary"],
.aedbb-fypa.aedbb-fypa [class*="btn--g"]:not([class*="--ghost"]),
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--back"],
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--ghost"] {
  background: #fff !important;
  color: #003729 !important;
  border: 1.5px solid rgba(0,55,41,.22) !important;
  box-shadow: none !important;
}
.aedbb-fypa.aedbb-fypa [class*="btn--ghost"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa [class*="btn--back"]:hover:not(:disabled),
.aedbb-fypa.aedbb-fypa [class*="btn--secondary"]:hover:not(:disabled),
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--back"]:hover:not(:disabled),
.aedbb-fypa-page.aedbb-fypa-page [class*="btn--ghost"]:hover:not(:disabled) {
  background: #0A1A15 !important;
  color: #fff !important;
  border-color: #0A1A15 !important;
  transform: translateY(-1px) !important;
}

/* ---- 4. GHOST on DARK cards (hero + column live on forest gradient) ---- */
.aedbb-fypa--hero.aedbb-fypa [class*="btn--ghost"],
.aedbb-fypa--hero.aedbb-fypa [class*="btn--back"],
.aedbb-fypa--column.aedbb-fypa [class*="btn--ghost"],
.aedbb-fypa--column.aedbb-fypa [class*="btn--back"] {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.28) !important;
}
.aedbb-fypa--hero.aedbb-fypa [class*="btn--ghost"]:hover:not(:disabled),
.aedbb-fypa--hero.aedbb-fypa [class*="btn--back"]:hover:not(:disabled),
.aedbb-fypa--column.aedbb-fypa [class*="btn--ghost"]:hover:not(:disabled),
.aedbb-fypa--column.aedbb-fypa [class*="btn--back"]:hover:not(:disabled) {
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.45) !important;
}
/* but result cards inside dark views sit on WHITE — restore light ghosts there */
.aedbb-fypa--hero.aedbb-fypa .aedbb-fypa__rv2 [class*="btn--ghost"],
.aedbb-fypa--column.aedbb-fypa .aedbb-fypa__rv2 [class*="btn--ghost"] {
  background: #fff !important;
  color: #003729 !important;
  border: 1.5px solid rgba(0,55,41,.22) !important;
}
.aedbb-fypa--hero.aedbb-fypa .aedbb-fypa__rv2 [class*="btn--ghost"]:hover,
.aedbb-fypa--column.aedbb-fypa .aedbb-fypa__rv2 [class*="btn--ghost"]:hover {
  background: #0A1A15 !important;
  color: #fff !important;
  border-color: #0A1A15 !important;
}

/* ---- 5. START OVER: full-width ink pill ---- */
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-start-over,
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-start-over {
  width: 100% !important;
  background: #0A1A15 !important;
  color: #fff !important;
  border: 1.5px solid #0A1A15 !important;
  margin-top: 18px !important;
}
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-start-over:hover,
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa__rv2-start-over:hover {
  background: #003729 !important;
  border-color: #003729 !important;
  transform: translateY(-1px) !important;
}

/* ---- 6. DISABLED ---- */
.aedbb-fypa.aedbb-fypa [class*="btn"]:disabled,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn"]:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---- 7. RESULT CARD (rv2) POLISH ---- */
.aedbb-fypa .aedbb-fypa__rv2-cta-row,
.aedbb-fypa-page .aedbb-fypa__rv2-cta-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 16px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-cta-row [class*="btn"],
.aedbb-fypa-page .aedbb-fypa__rv2-cta-row [class*="btn"] {
  width: 100% !important;
  font-size: 13.5px !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-tag,
.aedbb-fypa-page .aedbb-fypa__rv2-tag {
  border-radius: 100px !important;
  font-family: 'TT Norms Pro', 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10.5px !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
.aedbb-fypa .aedbb-fypa__rv2-h,
.aedbb-fypa-page .aedbb-fypa__rv2-h,
.aedbb-fypa .aedbb-fypa__rv2-name,
.aedbb-fypa-page .aedbb-fypa__rv2-name {
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* ---- 8. RESPONSIVE HARDENING (all views) ---- */
@media (max-width: 640px) {
  .aedbb-fypa .aedbb-fypa__rv2-grid,
  .aedbb-fypa-page .aedbb-fypa__rv2-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .aedbb-fypa .aedbb-fypa__rv2-callout,
  .aedbb-fypa-page .aedbb-fypa__rv2-callout { grid-template-columns: 1fr !important; text-align: center !important; justify-items: center !important; }
  .aedbb-fypa.aedbb-fypa [class*="btn"],
  .aedbb-fypa-page.aedbb-fypa-page [class*="btn"] { white-space: normal !important; }
  .aedbb-fypa-page .aedbb-fypa-page__options { grid-template-columns: 1fr !important; }
  .aedbb-fypa-page .aedbb-fypa-page__actions { flex-wrap: wrap !important; gap: 10px !important; }
}
@media (max-width: 380px) {
  .aedbb-fypa.aedbb-fypa [class*="btn"],
  .aedbb-fypa-page.aedbb-fypa-page [class*="btn"] { padding: 12px 18px !important; font-size: 13px !important; }
}

/* ---- 9. START OVER / TRY AGAIN — full-width ink pill in EVERY view ---- */
.aedbb-fypa.aedbb-fypa [data-fypa-restart],
.aedbb-fypa.aedbb-fypa [data-aedbb-retry],
.aedbb-fypa-page.aedbb-fypa-page [data-fypa-restart],
.aedbb-fypa-page.aedbb-fypa-page [data-aedbb-retry] {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #0A1A15 !important;
  color: #fff !important;
  border: 1.5px solid #0A1A15 !important;
  border-radius: 100px !important;
  margin-top: 18px !important;
  box-shadow: none !important;
}
.aedbb-fypa.aedbb-fypa [data-fypa-restart]:hover,
.aedbb-fypa.aedbb-fypa [data-aedbb-retry]:hover,
.aedbb-fypa-page.aedbb-fypa-page [data-fypa-restart]:hover,
.aedbb-fypa-page.aedbb-fypa-page [data-aedbb-retry]:hover {
  background: #003729 !important;
  border-color: #003729 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.aedbb-fypa-page.aedbb-fypa-page .aedbb-fypa-page__result-actions {
  display: block !important;
  width: 100% !important;
}

/* ---- 10. ICON INTERNALS — outline icons stay outlined inside buttons ---- */
.aedbb-fypa.aedbb-fypa [class*="btn"] svg *,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__inline-cta svg *,
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-callout-cta svg *,
.aedbb-fypa.aedbb-fypa [data-fypa-restart] svg *,
.aedbb-fypa.aedbb-fypa [data-aedbb-retry] svg *,
.aedbb-fypa-page.aedbb-fypa-page [class*="btn"] svg *,
.aedbb-fypa-page.aedbb-fypa-page [data-fypa-restart] svg * {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* =====================================================
   ✨ v2.1.1 — User manual tweaks baked in
   ===================================================== */

/* Start Over icon slightly bigger */
.aedbb-fypa.aedbb-fypa .aedbb-fypa__rv2-start-over svg {
  width: 20px !important;
  height: 20px !important;
}

/* Product name UPPERCASE */
.aedbb-fypa .aedbb-fypa__rv2-name {
  text-transform: uppercase !important;
}

/* Column result wrapper — zero margin/padding, 22px radius */
.aedbb-fypa .aedbb-fypa__col-result,
.aedbb-fypa__col-result {
  margin-top: 0 !important;
  border-radius: 22px !important;
  padding: 0 !important;
}

/* Body padding tightened */
.aedbb-fypa .aedbb-fypa__rv2-body {
  padding: 20px !important;
}

/* Column trust strip on dark card — white text */
.aedbb-fypa .aedbb-fypa__col-trust-strip,
.aedbb-fypa__col-trust-strip {
  color: #ffffff !important;
}

/* Page H tag on dark bar — white */
.aedbb-fypa-page .aedbb-fypa-page__h-tag,
.aedbb-fypa-page__h-tag {
  color: #ffffff !important;
}

/* TOP PICK / ALSO CONSIDER tag — square banner (no rounding) */
.aedbb-fypa .aedbb-fypa__rv2-tag,
.aedbb-fypa-page .aedbb-fypa__rv2-tag {
  border-radius: 0 !important;
}

/* Button row alignment padding + spacing */
.aedbb-fypa .aedbb-fypa__rv2-cta-row {
  padding: 0 15px !important;
  margin-bottom: 10px !important;
}

/* Card content padding — perfect alignment */
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-name,
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-brand,
.aedbb-fypa .aedbb-fypa__rv2-pick .aedbb-fypa__rv2-note {
  padding-left: 15px !important;
  padding-right: 15px !important;
}


/* =====================================================
   ✨ v2.1.2 — 3 fixes
   ===================================================== */

/* FIX 1: [hidden] attribute must win over button display:flex rules */
.aedbb-fypa button[hidden],
.aedbb-fypa a[hidden],
.aedbb-fypa [hidden],
.aedbb-fypa__hero-card [hidden],
.aedbb-fypa__col-card [hidden],
.aedbb-fypa__full-card [hidden],
.aedbb-fypa-page [hidden],
[hidden].aedbb-fypa__hero-btn-pri,
[hidden].aedbb-fypa__col-btn,
[hidden].aedbb-fypa__full-btn,
[hidden].aedbb-fypa-page__btn {
  display: none !important;
}

/* FIX 2: Restore margin-top:auto on cta-row so buttons stick to card bottom.
   Combined with align-items:stretch on grid + flex-direction:column on pick,
   this guarantees buttons align at the same Y across cards. */
.aedbb-fypa .aedbb-fypa__rv2-cta-row {
  padding: 0 15px 15px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.aedbb-fypa .aedbb-fypa__rv2-grid {
  align-items: stretch !important;
}
.aedbb-fypa .aedbb-fypa__rv2-pick {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
/* Description note — min-height ensures both cards' notes occupy 2 lines even if text is short */
.aedbb-fypa .aedbb-fypa__rv2-note {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 4.4em !important;
  margin: 0 0 12px !important;
}

/* =====================================================
   ✨ v2.1.3 — [hidden] FINAL AUTHORITY
   The v2.1.0 unified button base (.aedbb-fypa.aedbb-fypa
   [class*="btn"] display:inline-flex !important) out-ranked
   the v2.1.2 FIX-1 hidden rules (max 0,2,0). These selectors
   carry (0,4,0)+ and sit last in the file — nothing beats them.
   Restores correct step logic: Next on steps 1–3,
   Get My Recommendation ONLY on the final step.
   ===================================================== */
.aedbb-fypa.aedbb-fypa [class*="btn"][hidden],
.aedbb-fypa.aedbb-fypa [hidden][class*="btn"],
.aedbb-fypa.aedbb-fypa [data-aedbb-submit][hidden],
.aedbb-fypa.aedbb-fypa [data-aedbb-next][hidden],
.aedbb-fypa.aedbb-fypa [hidden],
.aedbb-fypa-page.aedbb-fypa-page [class*="btn"][hidden],
.aedbb-fypa-page.aedbb-fypa-page [hidden] {
  display: none !important;
}


/* ═══════════════════════════════════════════════
   ✨ v2.2.0 — NUMBERED QUESTION CHIPS + ICON TILES
   Same language as Quantity/Cost calculators.
   Light context (page view) + dark context (hero/column cards).
   ═══════════════════════════════════════════════ */
.aedbb-fypa .aedbb-fypa__num,
.aedbb-fypa-page .aedbb-fypa__num {
  flex-shrink: 0;
  width: 22px !important; height: 22px !important;
  border-radius: 50% !important;
  background: #E7F9F3 !important;
  border: 1px solid rgba(0,182,122,.35) !important;
  color: #00875A !important;
  font-family: 'ABC Solar Display', 'TT Norms Pro', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  margin-right: 0 !important;
}
.aedbb-fypa .aedbb-fypa__qico,
.aedbb-fypa-page .aedbb-fypa__qico {
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 7px;
  background: #E7F9F3;
  border: 1px solid rgba(0,182,122,.35);
  color: #00875A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.aedbb-fypa .aedbb-fypa__qico svg, .aedbb-fypa-page .aedbb-fypa__qico svg { stroke: currentColor; fill: none; }
/* FIX: question titles caught by the global TT Norms reset — force display font */
.aedbb-fypa-page .aedbb-fypa-page__q,
.aedbb-fypa .aedbb-fypa__hero-step h4,
.aedbb-fypa .aedbb-fypa__full-step h4,
.aedbb-fypa .aedbb-fypa__col-step h4 {
  font-family: 'ABC Solar Display', 'TT Norms Pro', 'Inter', system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}
/* question header rows become chip rows */
.aedbb-fypa .aedbb-fypa__hero-step h4,
.aedbb-fypa .aedbb-fypa__full-step h4,
.aedbb-fypa .aedbb-fypa__col-step h4 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.aedbb-fypa-page .aedbb-fypa-page__num {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.aedbb-fypa-page .aedbb-fypa-page__num-txt { line-height: 1; }
/* dark cards (hero + column live on forest gradient): translucent chips */
.aedbb-fypa__hero-card .aedbb-fypa__num,
.aedbb-fypa__col-card .aedbb-fypa__num,
.aedbb-fypa--column .aedbb-fypa__num,
.aedbb-fypa--hero .aedbb-fypa__num {
  background: rgba(0,182,122,.16) !important;
  border-color: rgba(0,182,122,.4) !important;
  color: #6BE8BC !important;
}
.aedbb-fypa__hero-card .aedbb-fypa__qico,
.aedbb-fypa__col-card .aedbb-fypa__qico,
.aedbb-fypa--column .aedbb-fypa__qico,
.aedbb-fypa--hero .aedbb-fypa__qico {
  background: rgba(0,182,122,.16);
  border-color: rgba(0,182,122,.4);
  color: #6BE8BC;
}

