/* build 20260216-1 */

/* ==========================================================
   MORTGAGE EXPERT – CALCULATOR SYSTEM (LOCKED)

   Version: v1 Stable Authority Build
   Date Locked: 2026-02

   RULES:
   - No inline CSS inside calculator HTML
   - No duplicate calculator rendering via Hooks
   - Scripts loaded via page-specific Hook (wp_footer) only
   - All styling controlled here and in me-foundation.css
   - Layer system:
       Hero / Assumptions: warm guidance tone (beige allowed)
       Tool panels: white
       Decision panels: elevated white
       Compliance / Read: white, high contrast
       FAQ: surface with clean contrast
       Nav cards: white
       CTA: dark authority block
   - Container max-width: 1100px
   - Radius tokens only (no hard-coded radius)
   - Shadow token only (no random shadow values)
   - 72px section rhythm preserved

   DO NOT:
   - Add new inline style tags
   - Override calculator colors in other CSS files
   - Inject calculator HTML through Elements Hook
   - Hard-code colors outside token system

   If changes are required:
   Modify only in this file and test across all 5 calculators.
========================================================== */


/* =========================================
   ME Calculators
   Calculator widget polish plus calculator page framing modules
   No authority kits
   No homepage rules
   ========================================= */

/* =========================================
   Award calculator widget polish
   Scope: .me-calc-widget only
   ========================================= */

.me-calc-widget{
  font-family:inherit;
  color:var(--me-text);
}

.me-calc-widget .me-calc-shell{
  background:transparent;
  border:0;
  padding:0;
}

.me-calc-widget .me-sticky,
.me-calc-widget .me-step-toggle,
.me-calc-widget .me-break,
.me-calc-widget .me-accordion{
  border-color:var(--me-border);
  box-shadow:var(--me-shadow-soft);
}

.me-calc-widget .me-step-toggle{
  padding:14px;
  border-radius:var(--me-radius);
}

.me-calc-widget .me-step-title{
  font-size:14px;
  letter-spacing:-0.1px;
}

.me-calc-widget .me-step-summary{
  font-size:12px;
}

.me-calc-widget .me-label{
  font-size:13px;
  letter-spacing:-0.1px;
}

.me-calc-widget .me-input,
.me-calc-widget .me-select{
  padding:12px;
  border-radius:12px;
  border-color:rgba(43,14,14,0.16);
  box-shadow:inset 0 1px 0 rgba(0,0,0,0.02);
}

.me-calc-widget .me-kpi-value.me-big{
  font-size:34px;
  letter-spacing:-0.6px;
}

.me-calc-widget .me-break h3{
  font-size:14px;
  letter-spacing:-0.2px;
}

.me-calc-widget .me-cta{
  border-radius:var(--me-radius);
  padding:16px 14px;
  font-size:16px;
}

.me-calc-widget .me-disclaimer{
  border-radius:var(--me-radius);
}

@media (min-width:900px){
  .me-calc-widget .me-sticky{ padding:16px; }
}

/* Toggle click fix */
#meCalcWidget .me-unit-toggle,
#meCalcWidget .me-unit-toggle *{
  pointer-events:auto !important;
}

#meCalcWidget .me-unit-toggle{
  position:relative;
  z-index:10;
}

/* =========================================
   Shared calculator page framing modules
   Uses existing selectors already in your pages
   ========================================= */
/* Calculator page section rhythm (72px total) */
.me-calc-hero,
.me-calc-intro,
.me-calc-compliance,
.me-calc-read,
.me-calc-cta,
#me-mp-intro,
#me-mp-assumptions,
#me_aff_calc,
.me_refi_calc,
#me-mp-faq,
#me-aff-faq,
#me-refi-faq,
#me-dc-assumptions,
#me_dc_calc,
#me-dc-readout,
#me-dc-faq,
.me-calc-nav{
  padding-top:36px;
  padding-bottom:36px;
}

/* Calculator boxed modules should sit on lighter surface, not beige */
.me-calc-hero__card,
#me-mp-intro .me-calc-intro__inner,
#me-mp-assumptions .me-calc-assumptions__inner,
#me-aff-assumptions .me-calc-assumptions__inner,
.me_refi_panel,
.me_refi_resultcard,
#me_aff_calc .me_aff_panel,
#me_aff_calc .me_aff_resultcard,
.me-calc-compliance .me-calc-compliance__inner,
#me-aff-read .me-calc-read__inner,
#me-refi-read .me-calc-read__inner,
#me-mp-faq .me-mp-faq__inner,
#me-refi-faq .me-mp-faq__inner,
#me-dc-assumptions .me-dc-assumptions__inner,
#me_dc_calc .me_dc_panel,
#me_dc_calc .me_dc_resultcard,
#me-dc-readout .me-dc-readout__inner,
.me-calc-nav .me-calc-nav__inner{
  background:var(--me-surface);
}

/* Shared hero module */
.me-calc-hero{
  max-width:1100px;
  margin:0 auto;
  padding:18px 14px 6px;
}

.me-calc-hero__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

.me-calc-hero__title{
  margin:0 0 8px;
  color:var(--me-ink);
}

.me-calc-hero__lead{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:72ch;
}

.me-calc-hero__card{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

.me-calc-hero__cardtitle{
  margin:0 0 8px;
  color:var(--me-ink);
  font-weight:700;
}

.me-calc-hero__list{
  margin:0;
  padding-left:18px;
  color:var(--me-text);
  line-height:1.55;
}

.me-calc-hero__list li{ margin:6px 0; }

.me-calc-hero__note{
  margin:10px 0 0;
  color:var(--me-muted);
  font-size:0.95em;
  line-height:1.45;
}

/* Mortgage Payment page boxes */
#me-mp-intro,
#me-mp-assumptions,
#me-mp-read,
#me-aff-assumptions,
#me-aff-faq{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}


/* Mortgage Payment intro */
#me-mp-intro{
  padding-top:18px;
  padding-bottom:10px;
}

#me-mp-intro .me-calc-intro__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-mp-intro .me-calc-intro__kicker{
  margin:0 0 10px;
  color:var(--me-muted);
  font-weight:800;
  font-size:13px;
}

#me-mp-intro .me-calc-intro__title{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me-mp-intro .me-calc-intro__lead{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-intro .me-calc-intro__callout{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 14px;
}

#me-mp-intro .me-calc-intro__callout p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-intro .me-calc-intro__models-title{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-mp-intro .me-calc-intro__models-list{
  margin:0;
  padding-left:18px;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-intro .me-calc-intro__models-note{
  margin:10px 0 0;
  color:var(--me-muted);
  font-size:13px;
}

/* Mortgage Payment + Home Affordability assumptions */
#me-mp-assumptions,
#me-aff-assumptions{
  padding-top:14px;
  padding-bottom:10px;
}

#me-mp-assumptions .me-calc-assumptions__inner,
#me-aff-assumptions .me-calc-assumptions__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-mp-assumptions .me-calc-assumptions__title,
#me-aff-assumptions .me-calc-assumptions__title{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me-mp-assumptions .me-calc-assumptions__lead,
#me-aff-assumptions .me-calc-assumptions__lead{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-assumptions .me-calc-assumptions__callout,
#me-aff-assumptions .me-calc-assumptions__callout{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 14px;
}

#me-mp-assumptions .me-calc-assumptions__callout p,
#me-aff-assumptions .me-calc-assumptions__callout p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-assumptions .me-calc-assumptions__grid,
#me-aff-assumptions .me-calc-assumptions__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-mp-assumptions .me-calc-assumptions__grid,
  #me-aff-assumptions .me-calc-assumptions__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-mp-assumptions .me-calc-assumptions__card,
#me-aff-assumptions .me-calc-assumptions__card{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-mp-assumptions .me-calc-assumptions__card h3,
#me-aff-assumptions .me-calc-assumptions__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-mp-assumptions .me-calc-assumptions__card p,
#me-aff-assumptions .me-calc-assumptions__card p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}


/* Tool layout system used by mortgage payment and refi style calculators */
.me_refi_calc{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px 10px;
}

.me_refi_wrap{
  display:grid;
  gap:14px;
  align-items:start;
}

@media (min-width:900px){
  .me_refi_wrap{ grid-template-columns:1.08fr 0.92fr; }
  .me_refi_right{ position:sticky; top:18px; }
}

.me_refi_h2{
  margin:0 0 8px;
  color:var(--me-ink);
}

.me_refi_p{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
}

.me_refi_panel{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
  margin:0 0 14px;
}

.me_refi_h3{
  margin:0 0 10px;
  color:var(--me-ink);
}

.me_refi_grid2{
  display:grid;
  gap:12px;
}

@media (min-width:700px){
  .me_refi_grid2{ grid-template-columns:1fr 1fr; }
}

.me_refi_field span{
  display:block;
  font-size:13px;
  font-weight:800;
  color:var(--me-ink);
  margin:0 0 6px;
}

.me_refi_field input,
.me_refi_field select{
  width:100%;
  padding:12px;
  font-size:15px;
  border:1px solid rgba(43,14,14,0.16);
  border-radius:12px;
  background:#ffffff;
  color:var(--me-text);
}

.me_refi_field input:focus,
.me_refi_field select:focus{
  outline:none;
  border-color:var(--me-cta);
  box-shadow:0 0 0 4px rgba(227,74,74,0.22);
}

.me_refi_hint{
  display:block;
  margin-top:8px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

.me_refi_help{
  margin:10px 0 0;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

.me_refi_check{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:10px;
}

.me_refi_check input{
  width:18px;
  height:18px;
  accent-color:var(--me-cta);
}

.me_refi_btnrow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.me_refi_btn{
  appearance:none;
  border:1px solid rgba(43,14,14,0.16);
  background:#ffffff;
  color:var(--me-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  padding:10px 12px;
  border-radius:var(--me-radius);
  cursor:pointer;
}

.me_refi_btn:hover{ filter:brightness(0.98); }

.me_refi_btn.is-active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

.me_refi_calcbtn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  width:auto;
  background:var(--me-cta);
  color:#ffffff;
  font-weight:900;
  padding:14px 16px;
  border-radius:var(--me-radius);
  border:0;
  cursor:pointer;
  text-decoration:none;
  margin-top:12px;
}

.me_refi_calcbtn:hover{ filter:brightness(0.95); }

.me_refi_resultcard{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
}

/* KPI tiles */
.me_refi_resultcard .me_refi_kpis{
  display:grid;
  gap:12px;
  margin-top:10px;
}

.me_refi_resultcard .me_refi_kpi{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px;

  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.me_refi_resultcard .me_refi_kpi_label{
  color:var(--me-muted);
  font-weight:800;
  font-size:13px;
  line-height:1.3;
}

.me_refi_resultcard .me_refi_kpi_value{
  color:var(--me-ink);
  font-weight:900;
  font-size:22px;
  letter-spacing:-0.2px;
  text-align:right;
}

.me_refi_resultcard .me_refi_kpi_value.me-big{
  color:var(--me-cta);
  font-size:26px;
  letter-spacing:-0.4px;
}

.me_refi_compare{
  margin-top:14px;
  border:1px solid rgba(43,14,14,0.08);
  border-radius:12px;
  padding:12px;
  background:#ffffff;
}

.me_refi_row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(43,14,14,0.06);
  font-size:13px;
}
.me_refi_row:last-child{ border-bottom:none; }

.me_refi_row span{ color:var(--me-muted); }

.me_refi_row strong{
  color:var(--me-ink);
  font-weight:900;
}

.me_refi_note{
  margin-top:12px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

/* Full width primary actions on mortgage payment */
#me_mp_calc .me_refi_left .me_refi_calcbtn,
#me_mp_calc .me_refi_right .me_refi_calcbtn{
  width:100%;
}

/* Mortgage Payment unit toggles */
#me_mp_calc .me-mp-unitrow{
  display:flex;
  gap:10px;
  margin:8px 0 10px;
}

#me_mp_calc .me-mp-unitbtn{
  appearance:none;
  border:1px solid rgba(43,14,14,0.16);
  background:#ffffff;
  color:var(--me-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  padding:10px 12px;
  border-radius:var(--me-radius);
  cursor:pointer;
}

#me_mp_calc .me-mp-unitbtn:hover{ filter:brightness(0.98); }

#me_mp_calc .me-mp-unitbtn.is-active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

/* Mortgage Payment CTA module */
#me-mp-cta{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px 12px;
}

#me-mp-cta .me-calc-cta__inner{
  background:var(--me-ink);
  border-radius:var(--me-radius-md);
  padding:18px 18px 16px;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(43,14,14,0.18);
}

#me-mp-cta .me-calc-cta__title{
  margin:0 0 10px;
  color:#ffffff;
}

#me-mp-cta .me-calc-cta__lead{
  margin:0 0 12px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-mp-cta .me-calc-cta__list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-mp-cta .me-calc-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
}

#me-mp-cta .me-calc-cta__button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--me-cta);
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:var(--me-radius);
  min-width:240px;
}

#me-mp-cta .me-calc-cta__button:hover{ filter:brightness(0.95); }

#me-mp-cta .me-calc-cta__note{
  margin:0;
  color:rgba(255,255,255,0.85);
  font-size:13px;
}

#me-mp-cta .me-calc-cta__disclaimer{
  margin-top:12px;
  padding:10px 12px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--me-radius);
  font-size:12px;
  color:rgba(255,255,255,0.85);
  line-height:1.45;
}

/* Mortgage Payment FAQ module */
/* Mortgage Payment FAQ module */
#me-mp-faq{
  max-width:1100px;
  margin:0 auto;
  padding:6px 14px 18px;
}

#me-mp-faq .me-mp-faq__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-mp-faq .me-mp-faq__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-mp-faq .me-mp-faq__item{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 10px;
}

#me-mp-faq summary{
  cursor:pointer;
  color:var(--me-ink);
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

#me-mp-faq summary::-webkit-details-marker{ display:none; }

#me-mp-faq summary:after{
  content:"+";
  float:right;
  font-weight:900;
  color:var(--me-ink);
  opacity:0.9;
}

#me-mp-faq details[open] summary:after{ content:"–"; }

#me-mp-faq .me-mp-faq__answer{
  padding-top:10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-mp-faq .me-mp-faq__answer p{ margin:0; }
/* Refi FAQ module */
#me-refi-faq{
  max-width:1100px;
  margin:0 auto;
  padding:6px 14px 18px;
}

#me-refi-faq .me-mp-faq__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-refi-faq .me-mp-faq__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-refi-faq .me-mp-faq__item{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 10px;
}

#me-refi-faq summary{
  cursor:pointer;
  color:var(--me-ink);
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

#me-refi-faq summary::-webkit-details-marker{ display:none; }

#me-refi-faq summary:after{
  content:"+";
  float:right;
  font-weight:900;
  color:var(--me-ink);
  opacity:0.9;
}

#me-refi-faq details[open] summary:after{ content:"–"; }

#me-refi-faq .me-mp-faq__answer{
  padding-top:10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-refi-faq .me-mp-faq__answer p{ margin:0; }

/* Debt Consolidation assumptions module */
#me-dc-assumptions{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}

#me-dc-assumptions .me-dc-assumptions__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-dc-assumptions .me-dc-assumptions__title{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me-dc-assumptions .me-dc-assumptions__lead{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:78ch;
}

#me-dc-assumptions .me-dc-assumptions__callout{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 14px;
}

#me-dc-assumptions .me-dc-assumptions__callout p{
  margin:0 0 10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-dc-assumptions .me-dc-assumptions__callout p:last-child{
  margin-bottom:0;
}

#me-dc-assumptions .me-dc-assumptions__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-dc-assumptions .me-dc-assumptions__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-dc-assumptions .me-dc-assumptions__card{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-dc-assumptions .me-dc-assumptions__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-dc-assumptions .me-dc-assumptions__card p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}
/* Debt Consolidation calculator layout */
#me_dc_calc{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px 10px;
}

#me_dc_calc .me_dc_wrap{
  display:grid;
  gap:14px;
  align-items:start;
}

@media (min-width:900px){
  #me_dc_calc .me_dc_wrap{ grid-template-columns:1.08fr 0.92fr; }
  #me_dc_calc .me_dc_right{ position:sticky; top:18px; }
}

#me_dc_calc .me_dc_h2{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me_dc_calc .me_dc_p{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:72ch;
}

#me_dc_calc .me_dc_panel{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
  margin:0 0 14px;
}

#me_dc_calc .me_dc_h3{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me_dc_calc .me_dc_grid2{
  display:grid;
  gap:12px;
}

@media (min-width:700px){
  #me_dc_calc .me_dc_grid2{ grid-template-columns:1fr 1fr; }
}

#me_dc_calc .me_dc_field span{
  display:block;
  font-size:13px;
  font-weight:800;
  color:var(--me-ink);
  margin:0 0 6px;
}

#me_dc_calc .me_dc_field input,
#me_dc_calc .me_dc_field select{
  width:100%;
  padding:12px;
  font-size:15px;
  border:1px solid rgba(43,14,14,0.16);
  border-radius:12px;
  background:#ffffff;
  color:var(--me-text);
}

#me_dc_calc .me_dc_field input:focus,
#me_dc_calc .me_dc_field select:focus{
  outline:none;
  border-color:var(--me-cta);
  box-shadow:0 0 0 4px rgba(227,74,74,0.22);
}

#me_dc_calc .me_dc_hint,
#me_dc_calc .me_dc_help{
  display:block;
  margin-top:8px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

#me_dc_calc .me_dc_check{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:10px;
}

#me_dc_calc .me_dc_check input{
  width:18px;
  height:18px;
  accent-color:var(--me-cta);
}

#me_dc_calc .me_dc_btnrow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

#me_dc_calc .me_dc_btn{
  appearance:none;
  border:1px solid rgba(43,14,14,0.16);
  background:#ffffff;
  color:var(--me-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  padding:10px 12px;
  border-radius:var(--me-radius);
  cursor:pointer;
}

#me_dc_calc .me_dc_btn:hover{ filter:brightness(0.98); }

#me_dc_calc .me_dc_btn.me_dc_preset.is-active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

#me_dc_calc .me_dc_calcbtn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  width:100%;
  background:var(--me-cta);
  color:#ffffff;
  font-weight:900;
  padding:14px 16px;
  border-radius:var(--me-radius);
  border:0;
  cursor:pointer;
  text-decoration:none;
  margin-top:12px;
}

#me_dc_calc .me_dc_calcbtn:hover{ filter:brightness(0.95); }

#me_dc_calc .me_dc_resultcard{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
}

#me_dc_calc .me_dc_kpis{
  display:grid;
  gap:12px;
  margin-top:10px;
}

#me_dc_calc .me_dc_kpi{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

#me_dc_calc .me_dc_kpi_label{
  color:var(--me-muted);
  font-weight:800;
  font-size:13px;
  line-height:1.3;
}

#me_dc_calc .me_dc_kpi_value{
  color:var(--me-ink);
  font-weight:900;
  font-size:22px;
  letter-spacing:-0.2px;
  text-align:right;
}

#me_dc_calc .me_dc_compare{
  margin-top:14px;
  border:1px solid rgba(43,14,14,0.08);
  border-radius:12px;
  padding:12px;
  background:#ffffff;
}

#me_dc_calc .me_dc_row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(43,14,14,0.06);
  font-size:13px;
}

#me_dc_calc .me_dc_row:last-child{ border-bottom:none; }

#me_dc_calc .me_dc_row span{ color:var(--me-muted); }

#me_dc_calc .me_dc_row strong{
  color:var(--me-ink);
  font-weight:900;
}

#me_dc_calc .me_dc_note{
  margin-top:12px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}
/* Debt Consolidation button states */
#me_dc_calc .me_dc_btn.me_dc_preset.is-active,
#me_dc_calc .me_dc_btn.me_dc_preset.active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

#me_dc_calc .me_dc_btn.me_dc_btn_ghost{
  background:transparent;
}

#me_dc_calc .me_dc_btn.me_dc_btn_ghost:hover{
  background:rgba(43,14,14,0.04);
}

/* Debt Consolidation readout section */
#me-dc-readout{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}

#me-dc-readout .me-dc-readout__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-dc-readout .me-dc-readout__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-dc-readout .me-dc-readout__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-dc-readout .me-dc-readout__grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

#me-dc-readout .me-dc-readout__card{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-dc-readout .me-dc-readout__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-dc-readout .me-dc-readout__card p{
  margin:0 0 10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-dc-readout .me-dc-readout__card p:last-child{
  margin-bottom:0;
}

#me-dc-readout .me-dc-readout__callout{
  margin-top:12px;
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-dc-readout .me-dc-readout__callout p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}


/* Debt Consolidation CTA module */
#me-dc-cta{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px 12px;
}

#me-dc-cta .me-calc-cta__inner{
  background:var(--me-ink);
  border-radius:var(--me-radius);
  padding:18px 18px 16px;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(43,14,14,0.18);
}

#me-dc-cta .me-calc-cta__title{
  margin:0 0 10px;
  color:#ffffff;
}

#me-dc-cta .me-calc-cta__lead{
  margin:0 0 12px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-dc-cta .me-calc-cta__list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-dc-cta .me-calc-cta__button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--me-cta);
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:var(--me-radius);
  min-width:240px;
}

#me-dc-cta .me-calc-cta__button:hover{
  filter:brightness(0.95);
}

/* Debt Consolidation FAQ module */
#me-dc-faq{
  max-width:1100px;
  margin:0 auto;
  padding:6px 14px 18px;
}

#me-dc-faq .me-dc-faq__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-dc-faq .me-dc-faq__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-dc-faq .me-dc-faq__item{
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 10px;
}

#me-dc-faq summary{
  cursor:pointer;
  color:var(--me-ink);
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

#me-dc-faq summary::-webkit-details-marker{
  display:none;
}

#me-dc-faq summary:after{
  content:"+";
  float:right;
  font-weight:900;
  color:var(--me-ink);
  opacity:0.9;
}

#me-dc-faq details[open] summary:after{
  content:"–";
}

#me-dc-faq .me-dc-faq__answer{
  padding-top:10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-dc-faq .me-dc-faq__answer p{
  margin:0;
}

#me-dc-faq .me-dc-faq__disclosure{
  margin-top:12px;
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-dc-faq .me-dc-faq__disclosure p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

/* Calculator nav (more calculators) locked */
.me-calc-nav{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}

.me-calc-nav .me-calc-nav__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

.me-calc-nav .me-calc-nav__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

.me-calc-nav .me-calc-nav__grid{
  display:grid;
  gap:12px;
}

@media (min-width:700px){
  .me-calc-nav .me-calc-nav__grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (min-width:900px){
  .me-calc-nav .me-calc-nav__grid{
    grid-template-columns:repeat(4, 1fr);
  }
}

.me-calc-nav .me-calc-nav__card{
  display:block;
  text-decoration:none;
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
  box-shadow:var(--me-shadow-soft);
  transition:border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.me-calc-nav .me-calc-nav__card:hover{
  border-color:var(--me-cta);
  box-shadow:0 10px 22px rgba(43,14,14,0.06);
  transform:translateY(-1px);
}

.me-calc-nav .me-calc-nav__card:focus-visible{
  outline:3px solid rgba(227,74,74,0.28);
  outline-offset:2px;
}

.me-calc-nav .me-calc-nav__cardtitle{
  margin:0 0 6px;
  color:var(--me-ink);
  font-weight:900;
}

.me-calc-nav .me-calc-nav__card:hover .me-calc-nav__cardtitle{
  color:var(--me-cta);
}

.me-calc-nav .me-calc-nav__carddesc{
  margin:0;
  color:var(--me-muted);
  line-height:1.5;
}



/* Extra Payment assumptions module */
#me-extra-assumptions{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}

#me-extra-assumptions .me-extra-assumptions__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-extra-assumptions .me-extra-assumptions__title{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me-extra-assumptions .me-extra-assumptions__lead{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:78ch;
}

#me-extra-assumptions .me-extra-assumptions__callout{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 14px;
}

#me-extra-assumptions .me-extra-assumptions__callout p{
  margin:0 0 10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-extra-assumptions .me-extra-assumptions__callout p:last-child{
  margin-bottom:0;
}

#me-extra-assumptions .me-extra-assumptions__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-extra-assumptions .me-extra-assumptions__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-extra-assumptions .me-extra-assumptions__card{
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-extra-assumptions .me-extra-assumptions__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-extra-assumptions .me-extra-assumptions__card p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

/* Extra Payment calculator layout */
#me_extra_calc{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px 10px;
}

#me_extra_calc .me_extra_wrap{
  display:grid;
  gap:14px;
  align-items:start;
}

@media (min-width:900px){
  #me_extra_calc .me_extra_wrap{ grid-template-columns:1.08fr 0.92fr; }
  #me_extra_calc .me_extra_right{ position:sticky; top:18px; }
}

#me_extra_calc .me_extra_h2{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me_extra_calc .me_extra_p{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:72ch;
}

#me_extra_calc .me_extra_panel{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
  margin:0 0 14px;
}

#me_extra_calc .me_extra_h3{
  margin:0 0 10px;
  color:var(--me-ink);
}

#me_extra_calc .me_extra_grid2{
  display:grid;
  gap:12px;
}

@media (min-width:700px){
  #me_extra_calc .me_extra_grid2{ grid-template-columns:1fr 1fr; }
}

#me_extra_calc .me_extra_field span{
  display:block;
  font-size:13px;
  font-weight:800;
  color:var(--me-ink);
  margin:0 0 6px;
}

#me_extra_calc .me_extra_field input,
#me_extra_calc .me_extra_field select{
  width:100%;
  padding:12px;
  font-size:15px;
  border:1px solid rgba(43,14,14,0.16);
  border-radius:12px;
  background:#ffffff;
  color:var(--me-text);
}

#me_extra_calc .me_extra_field input:focus,
#me_extra_calc .me_extra_field select:focus{
  outline:none;
  border-color:var(--me-cta);
  box-shadow:0 0 0 4px rgba(227,74,74,0.22);
}

#me_extra_calc .me_extra_hint,
#me_extra_calc .me_extra_help{
  display:block;
  margin-top:8px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

#me_extra_calc .me_extra_btnrow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

#me_extra_calc .me_extra_btn{
  appearance:none;
  border:1px solid rgba(43,14,14,0.16);
  background:#ffffff;
  color:var(--me-ink);
  font-weight:900;
  font-size:13px;
  line-height:1;
  padding:10px 12px;
  border-radius:var(--me-radius);
  cursor:pointer;
}

#me_extra_calc .me_extra_btn:hover{ filter:brightness(0.98); }

#me_extra_calc .me_extra_btn.me_extra_preset.is-active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

#me_extra_calc .me_extra_callout{
  margin-top:12px;
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me_extra_calc .me_extra_callout p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

#me_extra_calc .me_extra_calcbtn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  width:100%;
  background:var(--me-cta);
  color:#ffffff;
  font-weight:900;
  padding:14px 16px;
  border-radius:var(--me-radius);
  border:0;
  cursor:pointer;
  text-decoration:none;
  margin-top:12px;
}

#me_extra_calc .me_extra_calcbtn:hover{ filter:brightness(0.95); }

#me_extra_calc .me_extra_resultcard{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:16px;
  box-shadow:var(--me-shadow-soft);
}

#me_extra_calc .me_extra_kpis{
  display:grid;
  gap:12px;
  margin-top:10px;
}

#me_extra_calc .me_extra_kpi{
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

#me_extra_calc .me_extra_kpi_label{
  color:var(--me-muted);
  font-weight:800;
  font-size:13px;
  line-height:1.3;
}

#me_extra_calc .me_extra_kpi_value{
  color:var(--me-ink);
  font-weight:900;
  font-size:22px;
  letter-spacing:-0.2px;
  text-align:right;
}

#me_extra_calc .me_extra_compare{
  margin-top:14px;
  border:1px solid rgba(43,14,14,0.08);
  border-radius:12px;
  padding:12px;
  background:#ffffff;
}

#me_extra_calc .me_extra_row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(43,14,14,0.06);
  font-size:13px;
}

#me_extra_calc .me_extra_row:last-child{ border-bottom:none; }

#me_extra_calc .me_extra_row span{ color:var(--me-muted); }

#me_extra_calc .me_extra_row strong{
  color:var(--me-ink);
  font-weight:900;
}

#me_extra_calc .me_extra_note{
  margin-top:12px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}

/* Extra Payment readout section */
#me-extra-readout{
  max-width:1100px;
  margin:0 auto;
  padding-left:14px;
  padding-right:14px;
}

#me-extra-readout .me-extra-readout__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-extra-readout .me-extra-readout__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-extra-readout .me-extra-readout__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-extra-readout .me-extra-readout__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-extra-readout .me-extra-readout__card{
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-extra-readout .me-extra-readout__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-extra-readout .me-extra-readout__card p{
  margin:0 0 10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-extra-readout .me-extra-readout__card p:last-child{
  margin-bottom:0;
}

#me-extra-readout .me-extra-readout__callout{
  margin-top:12px;
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-extra-readout .me-extra-readout__callout p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

/* Extra Payment CTA module */
#me-extra-cta{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px 12px;
}

#me-extra-cta .me-calc-cta__inner{
  background:var(--me-ink);
  border-radius:var(--me-radius);
  padding:18px 18px 16px;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(43,14,14,0.18);
}

#me-extra-cta .me-calc-cta__title{
  margin:0 0 10px;
  color:#ffffff;
}

#me-extra-cta .me-calc-cta__lead{
  margin:0 0 12px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-extra-cta .me-calc-cta__list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-extra-cta .me-calc-cta__button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--me-cta);
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:var(--me-radius);
  min-width:240px;
}

#me-extra-cta .me-calc-cta__button:hover{
  filter:brightness(0.95);
}

/* Extra Payment FAQ module */
#me-extra-faq{
  max-width:1100px;
  margin:0 auto;
  padding:6px 14px 18px;
}

#me-extra-faq .me-extra-faq__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-extra-faq .me-extra-faq__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-extra-faq .me-extra-faq__item{
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 10px;
}

#me-extra-faq summary{
  cursor:pointer;
  color:var(--me-ink);
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

#me-extra-faq summary::-webkit-details-marker{ display:none; }

#me-extra-faq summary:after{
  content:"+";
  float:right;
  font-weight:900;
  color:var(--me-ink);
  opacity:0.9;
}

#me-extra-faq details[open] summary:after{ content:"–"; }

#me-extra-faq .me-extra-faq__answer{
  padding-top:10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-extra-faq .me-extra-faq__answer p{ margin:0; }

#me-extra-faq .me-extra-faq__disclosure{
  margin-top:12px;
  background:#ffffff;
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-extra-faq .me-extra-faq__disclosure p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}


/* Home Affordability calculator stays as is structurally, only token aligned */
#me_aff_calc{
  max-width:1100px;
  margin:0 auto;
  padding:10px 14px 18px;
}

#me_aff_calc .me_aff_wrap{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:14px;
  align-items:start;
}

#me_aff_calc .me_aff_left,
#me_aff_calc .me_aff_right{
  min-width:0;
}

#me_aff_calc .me_aff_h2{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me_aff_calc .me_aff_p{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.55;
  max-width:72ch;
}

#me_aff_calc .me_aff_panel{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:14px;
  margin:0 0 12px;
  box-shadow:var(--me-shadow-soft);
}

#me_aff_calc .me_aff_h3{
  margin:0 0 10px;
  color:var(--me-ink);
  font-size:1.05em;
}

#me_aff_calc .me_aff_grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

#me_aff_calc .me_aff_field span{
  display:block;
  font-size:0.92em;
  color:var(--me-muted);
  margin:0 0 6px;
}

#me_aff_calc input,
#me_aff_calc select{
  width:100%;
  border-radius:12px;
  border:1px solid rgba(43,14,14,0.18);
  background:#ffffff;
  padding:11px 12px;
  color:var(--me-text);
  line-height:1.2;
}

#me_aff_calc .me_aff_hint{
  display:block;
  margin-top:6px;
  font-size:0.85em;
  color:var(--me-muted);
  line-height:1.4;
}

#me_aff_calc .me_aff_check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--me-text);
  margin:0 0 6px;
}

#me_aff_calc .me_aff_check input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--me-cta);
}

#me_aff_calc .me_aff_callout{
  margin-top:12px;
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:12px;
  padding:12px 14px;
}

#me_aff_calc .me_aff_callout p{
  margin:0;
  color:var(--me-text);
  font-size:0.95em;
  line-height:1.5;
}

#me_aff_calc .me_aff_calcbtn{
  width:100%;
  margin-top:12px;
  background:var(--me-cta);
  color:#ffffff;
  border:0;
  border-radius:var(--me-radius);
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
}

#me_aff_calc .me_aff_resultcard{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:14px;
  position:sticky;
  top:18px;
  box-shadow:var(--me-shadow-soft);
}

@media (max-width:900px){
  #me_aff_calc .me_aff_wrap{ grid-template-columns:1fr; }
  #me_aff_calc .me_aff_resultcard{ position:relative; top:auto; }
  #me_aff_calc .me_aff_grid2{ grid-template-columns:1fr; }
}

/* Refi FAQ module */
#me-refi-faq{
  max-width:1100px;
  margin:0 auto;
  padding:6px 14px 18px;
}

/* Home Affordability result card internals */
#me_aff_calc .me_aff_kpis{
  display:grid;
  gap:12px;
  margin-top:10px;
}

#me_aff_calc .me_aff_kpi{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:12px;
  padding:12px;

  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

#me_aff_calc .me_aff_kpi_label{
  color:var(--me-muted);
  font-weight:800;
  font-size:13px;
  line-height:1.3;
}

#me_aff_calc .me_aff_kpi_value{
  color:var(--me-ink);
  font-weight:900;
  font-size:18px;
  letter-spacing:-0.2px;
  text-align:right;
}

#me_aff_calc .me_aff_breakdown{
  margin-top:12px;
  border:1px solid rgba(43,14,14,0.08);
  border-radius:12px;
  padding:12px;
  background:#ffffff;
}

#me_aff_calc .me_aff_row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(43,14,14,0.06);
  font-size:13px;
}

#me_aff_calc .me_aff_row:last-child{ border-bottom:none; }

#me_aff_calc .me_aff_row span{ color:var(--me-muted); }

#me_aff_calc .me_aff_row strong{
  color:var(--me-ink);
  font-weight:900;
}

#me_aff_calc .me_aff_total strong{
  color:var(--me-cta);
}

#me_aff_calc .me_aff_note{
  margin-top:12px;
  font-size:12px;
  color:var(--me-muted);
  line-height:1.45;
}
/* Calculator compliance card */
.me-calc-compliance{
  max-width:1100px;
  margin:0 auto;
  padding:14px 14px 10px;
}

.me-calc-compliance .me-calc-compliance__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

.me-calc-compliance .me-calc-compliance__inner p{
  margin:0 0 12px;
  color:var(--me-text);
  line-height:1.65;
  max-width:78ch;
}

.me-calc-compliance .me-calc-compliance__inner p:last-child{
  margin-bottom:0;
}
/* Home Affordability read section (boxed cards) */
#me-aff-read{
  max-width:1100px;
  margin:0 auto;
  padding:14px 14px 10px;
}

#me-aff-read .me-calc-read__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-aff-read .me-calc-read__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-aff-read .me-calc-read__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-aff-read .me-calc-read__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-aff-read .me-calc-read__card{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-aff-read .me-calc-read__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-aff-read .me-calc-read__card p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

#me-aff-read .me-calc-read__note{
  margin-top:12px;
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-aff-read .me-calc-read__note p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}
/* Refi read section (boxed cards) */
#me-refi-read{
  max-width:1100px;
  margin:0 auto;
  padding:14px 14px 10px;
}

#me-refi-read .me-calc-read__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:18px 18px 14px;
}

#me-refi-read .me-calc-read__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-refi-read .me-calc-read__grid{
  display:grid;
  gap:12px;
}

@media (min-width:900px){
  #me-refi-read .me-calc-read__grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

#me-refi-read .me-calc-read__card{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:14px 14px 12px;
}

#me-refi-read .me-calc-read__card h3{
  margin:0 0 8px;
  color:var(--me-ink);
}

#me-refi-read .me-calc-read__card p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

#me-refi-read .me-calc-read__note{
  margin-top:12px;
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
}

#me-refi-read .me-calc-read__note p{
  margin:0;
  color:var(--me-text);
  line-height:1.55;
}

/* Home Affordability FAQ */
#me-aff-faq{
  padding:6px 14px 18px;
}

/* Home Affordability preset buttons */
#me_aff_calc .me_aff_btnrow{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:8px 0 14px;
}

#me_aff_calc .me_aff_btn{
  appearance:none;
  border:1px solid rgba(43,14,14,0.16);
  background:#ffffff;
  color:var(--me-ink);
  font-weight:900;
  font-size:14px;
  line-height:1;
  padding:12px 16px;
  border-radius:var(--me-radius);
  cursor:pointer;
  transition:all 0.15s ease;
}

#me_aff_calc .me_aff_btn:hover{
  filter:brightness(0.98);
}

#me_aff_calc .me_aff_btn.is-active{
  background:var(--me-cta);
  border-color:var(--me-cta);
  color:#ffffff;
}

/* Home Affordability CTA module */
#me-aff-cta{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px 12px;
}

#me-aff-cta .me-calc-cta__inner{
  background:var(--me-ink);
  border-radius:var(--me-radius);
  padding:18px 18px 16px;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(43,14,14,0.18);
}

#me-aff-cta .me-calc-cta__title{
  margin:0 0 10px;
  color:#ffffff;
}

#me-aff-cta .me-calc-cta__lead{
  margin:0 0 12px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-aff-cta .me-calc-cta__list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-aff-cta .me-calc-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
}

#me-aff-cta .me-calc-cta__button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--me-cta);
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:var(--me-radius);
  min-width:240px;
}

#me-aff-cta .me-calc-cta__button:hover{ filter:brightness(0.95); }

#me-aff-cta .me-calc-cta__note{
  margin:0;
  color:rgba(255,255,255,0.85);
  font-size:13px;
}

#me-aff-cta .me-calc-cta__disclaimer{
  margin-top:12px;
  padding:10px 12px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--me-radius);
  font-size:12px;
  color:rgba(255,255,255,0.85);
  line-height:1.45;
}

#me-aff-faq .me-aff-faq__inner{
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:18px 18px 14px;
}

#me-aff-faq .me-aff-faq__title{
  margin:0 0 12px;
  color:var(--me-ink);
}

#me-aff-faq .me-aff-faq__item{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:12px;
  margin:0 0 10px;
}

#me-aff-faq summary{
  cursor:pointer;
  color:var(--me-ink);
  font-weight:800;
  line-height:1.35;
  list-style:none;
}

#me-aff-faq summary::-webkit-details-marker{ display:none; }

#me-aff-faq summary:after{
  content:"+";
  float:right;
  font-weight:900;
  color:var(--me-ink);
  opacity:0.9;
}

#me-aff-faq details[open] summary:after{ content:"–"; }

#me-aff-faq .me-aff-faq__answer{
  padding-top:10px;
  color:var(--me-text);
  line-height:1.55;
}

#me-aff-faq .me-aff-faq__answer p{ margin:0; }

/* Refi CTA module */
#me-refi-cta{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px 12px;
}

#me-refi-cta .me-calc-cta__inner{
  background:var(--me-ink);
  border-radius:var(--me-radius);
  padding:18px 18px 16px;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(43,14,14,0.18);
}

#me-refi-cta .me-calc-cta__title{
  margin:0 0 10px;
  color:#ffffff;
}

#me-refi-cta .me-calc-cta__lead{
  margin:0 0 12px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-refi-cta .me-calc-cta__list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,0.90);
  line-height:1.55;
}

#me-refi-cta .me-calc-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:10px;
}

#me-refi-cta .me-calc-cta__button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--me-cta);
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:var(--me-radius);
  min-width:240px;
}

#me-refi-cta .me-calc-cta__button:hover{
  filter:brightness(0.95);
}

#me-refi-cta .me-calc-cta__note{
  margin:0;
  color:rgba(255,255,255,0.85);
  font-size:13px;
}

#me-refi-cta .me-calc-cta__disclaimer{
  margin-top:12px;
  padding:10px 12px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--me-radius);
  font-size:12px;
  color:rgba(255,255,255,0.85);
  line-height:1.45;
}


/* Shared calc intro card, token aligned, used where pages wrap content with .me-calc-intro */
.me-calc-intro{
  margin:0 0 22px;
}

.me-calc-intro .me-calc-intro__inner{
  max-width:1100px;
  margin:0 auto;
  background:var(--me-bg);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius);
  padding:16px 18px;
  box-shadow:var(--me-shadow-soft);
}

.me-calc-intro .me-calc-intro__kicker{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.3;
  color:var(--me-muted);
}

.me-calc-intro .me-calc-intro__title{
  margin:0 0 10px;
  line-height:1.08;
}

.me-calc-intro .me-calc-intro__lead{
  margin:0 0 12px;
  max-width:72ch;
}

.me-calc-intro .me-calc-intro__callout{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:var(--me-radius);
  background:var(--me-surface);
  border:1px solid var(--me-border);
}

.me-calc-intro .me-calc-intro__models-title{
  margin:0 0 10px;
}

.me-calc-intro .me-calc-intro__models-list{
  margin:0 0 10px;
  padding-left:18px;
}

.me-calc-intro .me-calc-intro__models-note{
  margin:0;
  color:var(--me-muted);
}

/* =========================================
   Calculator Lock Patch
   Goal: identical layer stack across all 5 pages
   Outer modules: var(--me-bg)
   Inner cards: var(--me-surface)
   Nav cards: white
   ========================================= */

/* Force outer boxed modules to beige for consistency */
#me-extra-assumptions .me-extra-assumptions__inner,
#me-extra-readout .me-extra-readout__inner,
#me-extra-faq .me-extra-faq__inner,
#me-dc-faq .me-dc-faq__inner{
  background:var(--me-bg);
}

/* Force inner cards inside those modules to light surface */
#me-extra-assumptions .me-extra-assumptions__card,
#me-extra-readout .me-extra-readout__card,
#me-extra-faq .me-extra-faq__item,
#me-dc-faq .me-dc-faq__item{
  background:var(--me-surface);
}

/* Extra Payment tool panels and result card should match the system */
#me_extra_calc .me_extra_panel,
#me_extra_calc .me_extra_resultcard{
  background:var(--me-bg);
}

#me_extra_calc .me_extra_kpi{
  background:var(--me-surface);
}

/* Normalize CTA corner treatment to the premium radius */
#me-mp-cta .me-calc-cta__inner,
#me-aff-cta .me-calc-cta__inner,
#me-refi-cta .me-calc-cta__inner,
#me-dc-cta .me-calc-cta__inner,
#me-extra-cta .me-calc-cta__inner{
  border-radius:var(--me-radius-md);
}

/* Keep nav cards white everywhere */
.me-calc-nav .me-calc-nav__card{
  background:#ffffff;
}

/* =========================================
   FAQ Visual Lock Across All Calculators
   Outer container: var(--me-bg)
   FAQ items: var(--me-surface)
   ========================================= */

/* Force all calculator FAQ outer wrappers to beige */
#me-mp-faq .me-mp-faq__inner,
#me-aff-faq .me-aff-faq__inner,
#me-refi-faq .me-mp-faq__inner,
#me-dc-faq .me-dc-faq__inner,
#me-extra-faq .me-extra-faq__inner{
  background:var(--me-bg);
  border-radius:var(--me-radius-md);
}

/* Force all FAQ items to light surface */
#me-mp-faq .me-mp-faq__item,
#me-aff-faq .me-aff-faq__item,
#me-refi-faq .me-mp-faq__item,
#me-dc-faq .me-dc-faq__item,
#me-extra-faq .me-extra-faq__item{
  background:var(--me-surface);
  border-radius:var(--me-radius);
}

/* Remove any accidental white background overrides */
#me-dc-faq .me-dc-faq__item,
#me-extra-faq .me-extra-faq__item{
  background:var(--me-surface) !important;
}

/* Force correct layering for Home Affordability FAQ */
#me-aff-faq .me-aff-faq__inner{
  background:var(--me-bg) !important;
}

#me-aff-faq .me-aff-faq__item{
  background:var(--me-surface) !important;
}

/* =========================================
   Premium Vertical Rhythm Refinement
   ========================================= */

.me-calc-hero{
  padding-top:48px;
  padding-bottom:24px;
}

.me-calc-assumptions__inner,
.me-dc-assumptions__inner,
.me-extra-assumptions__inner{
  padding:24px 22px 20px;
}

.me-calc-read__inner,
.me-dc-readout__inner,
#me-aff-read .me-calc-read__inner{
  padding:24px 22px 20px;
}

/* =========================================
   Decision Panel Elevation
   ========================================= */

.me_refi_resultcard,
#me_dc_calc .me_dc_resultcard,
#me_extra_calc .me_extra_resultcard,
#me_aff_calc .me_aff_resultcard{
  box-shadow:0 18px 40px rgba(43,14,14,0.10);
  border:1px solid rgba(43,14,14,0.08);
}

.me_refi_resultcard .me_refi_kpi_value.me-big,
#me_dc_calc .me_dc_kpi_value,
#me_extra_calc .me_extra_kpi_value,
#me_aff_calc .me_aff_kpi_value{
  font-size:24px;
  letter-spacing:-0.3px;
}

/* =========================================
   CTA Isolation Refinement
   ========================================= */

#me-mp-cta,
#me-aff-cta,
#me-refi-cta,
#me-dc-cta,
#me-extra-cta{
  padding-top:36px;
  padding-bottom:36px;
}

.me-calc-cta__inner{
  box-shadow:0 20px 50px rgba(43,14,14,0.20);
}

/* =========================================
   FAQ Premium Refinement
   ========================================= */

#me-mp-faq .me-mp-faq__item,
#me-aff-faq .me-aff-faq__item,
#me-refi-faq .me-mp-faq__item,
#me-dc-faq .me-dc-faq__item,
#me-extra-faq .me-extra-faq__item{
  padding:14px 16px;
  transition:background 0.15s ease;
}

#me-mp-faq .me-mp-faq__item:hover,
#me-aff-faq .me-aff-faq__item:hover,
#me-refi-faq .me-mp-faq__item:hover,
#me-dc-faq .me-dc-faq__item:hover,
#me-extra-faq .me-extra-faq__item:hover{
  background:rgba(43,14,14,0.03);
}

/* =========================================
   Reduce Beige Density
   Improve Contrast Rhythm
   ========================================= */

/* Hero inner card should be white, not beige */
.me-calc-hero__inner{
  background:#ffffff;
}

/* Tool panels should be white */
.me_refi_panel,
#me_dc_calc .me_dc_panel,
#me_extra_calc .me_extra_panel,
#me_aff_calc .me_aff_panel{
  background:#ffffff;
}

/* Result cards white base */
.me_refi_resultcard,
#me_dc_calc .me_dc_resultcard,
#me_extra_calc .me_extra_resultcard,
#me_aff_calc .me_aff_resultcard{
  background:#ffffff;
}

/* FAQ outer should be surface instead of beige */
#me-mp-faq .me-mp-faq__inner,
#me-aff-faq .me-aff-faq__inner,
#me-refi-faq .me-mp-faq__inner,
#me-dc-faq .me-dc-faq__inner,
#me-extra-faq .me-extra-faq__inner{
  background:var(--me-surface);
}

/* =========================================
   Premium Editorial Sections
   Keep framing, remove heavy beige blocks
   ========================================= */

/* Compliance and Read sections: keep container, remove beige fill */
.me-calc-compliance .me-calc-compliance__inner,
#me-aff-read .me-calc-read__inner,
#me-refi-read .me-calc-read__inner,
#me-mp-read .me-calc-read__inner,
#me-dc-readout .me-dc-readout__inner,
#me-extra-readout .me-extra-readout__inner{
  background:var(--me-surface);
  border:1px solid var(--me-border);
  border-radius:var(--me-radius-md);
  padding:22px 22px 18px;
  box-shadow:none;
}

/* Add subtle top divider rhythm between sections */
.me-calc-compliance,
#me-aff-read,
#me-refi-read,
#me-mp-read,
#me-dc-readout,
#me-extra-readout{
  position:relative;
}

.me-calc-compliance:before,
#me-aff-read:before,
#me-refi-read:before,
#me-mp-read:before,
#me-dc-readout:before,
#me-extra-readout:before{
  content:"";
  display:block;
  height:1px;
  background:rgba(43,14,14,0.08);
  max-width:1100px;
  margin:0 auto 18px;
}

/* Keep inner cards white for clarity */
#me-aff-read .me-calc-read__card,
#me-refi-read .me-calc-read__card,
#me-mp-read .me-calc-read__card,
#me-dc-readout .me-dc-readout__card,
#me-extra-readout .me-extra-readout__card{
  background:#ffffff;
}

/* Premium contrast fix for sections below calculators */

/* Make the below calculator modules true white for clarity */
.me-calc-compliance .me-calc-compliance__inner,
#me-aff-read .me-calc-read__inner,
#me-refi-read .me-calc-read__inner,
#me-mp-read .me-calc-read__inner,
#me-dc-readout .me-dc-readout__inner,
#me-extra-readout .me-extra-readout__inner{
  background:#ffffff;
  border:1px solid var(--me-border);
  box-shadow:var(--me-shadow-soft);
}

/* Force text inside these modules to full strength */
.me-calc-compliance .me-calc-compliance__inner,
.me-calc-compliance .me-calc-compliance__inner p,
#me-aff-read .me-calc-read__inner,
#me-aff-read .me-calc-read__inner p,
#me-refi-read .me-calc-read__inner,
#me-refi-read .me-calc-read__inner p,
#me-mp-read .me-calc-read__inner,
#me-mp-read .me-calc-read__inner p,
#me-dc-readout .me-dc-readout__inner,
#me-dc-readout .me-dc-readout__inner p,
#me-extra-readout .me-extra-readout__inner,
#me-extra-readout .me-extra-readout__inner p{
  color:var(--me-text);
  opacity:1;
}

#me-aff-read .me-calc-read__inner h2,
#me-refi-read .me-calc-read__inner h2,
#me-mp-read .me-calc-read__inner h2,
#me-dc-readout .me-dc-readout__inner h2,
#me-extra-readout .me-extra-readout__inner h2{
  color:var(--me-ink);
}

/* Accessibility fix – refi calculator CTA button */
a.me_refi_btn{
  background:var(--me-cta) !important;
  border:1px solid var(--me-cta) !important;
  color:#ffffff !important;
  font-weight:600;
  text-decoration:none !important;
}


/* A11y: ensure calculator CTA link text stays white */
a.me_refi_calcbtn,
a.me_refi_calcbtn:visited,
a.me_refi_calcbtn:hover,
a.me_refi_calcbtn:focus{
  color:#ffffff !important;
}

/* A11y: calculator CTA button text must be white on red */
.me-calc-widget a[href*="get-my-strategy"]{
  color:#ffffff !important;
  text-decoration:none !important;
}

/* A11y: links in calculator notes must be distinguishable */
.me-calc-intro__models-note a{
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:2px;
}
.me-calc-intro__models-note a:hover{
  text-decoration-thickness:3px;
}

/* =========================================
   A11y lock for calculator pages
   Fixes: CTA contrast + links distinguishable
   Scope: calculator pages only
   ========================================= */

/* CTA link text must stay white on CTA background */
.me-calc-widget a.me_refi_calcbtn,
.me-calc-widget a.me_refi_calcbtn:visited,
.me-calc-widget a.me_refi_calcbtn:hover,
.me-calc-widget a.me_refi_calcbtn:focus{
  color:#ffffff !important;
  text-decoration:none !important;
}

/* Any "Get my strategy" CTA link inside calculator widget */
.me-calc-widget a[href*="get-my-strategy"]{
  color:#ffffff !important;
  text-decoration:none !important;
}

/* Links in the calculator note area must be visually distinct */
.me-calc-intro__models-note a,
.me-calc-intro__models-note a:visited{
  text-decoration:underline !important;
  text-underline-offset:3px;
  text-decoration-thickness:2px;
}

/* Optional stronger hover */
.me-calc-intro__models-note a:hover{
  text-decoration-thickness:3px;
}
