
.cards-grid{display:block;margin:18px 0;}

.card:hover{box-shadow:0 2px 12px rgba(0,0,0,.08);}

.card-body{flex:1;min-width:0;}
.card-name{display:block;font-weight:600;color:#0f2a44;text-decoration:none;font-size:15px;margin-bottom:6px;line-height:1.3;}
.card-name:hover{text-decoration:underline;}

.card-badges .tb-off{background:#eff6ff;color:#1e40af;}
.card-badges .tb-free{background:#dcfce7;color:#166534;}
.card-badges .tb .d{width:6px;height:6px;border-radius:50%;background:currentColor;}
.card-desc{font-size:13px;color:#475569;line-height:1.5;margin-bottom:8px;}
.card-contact .cc{font-size:12px;color:#64748b;}
.card-contact .cc a{color:#0891b2;text-decoration:none;}
.card-contact .cc a:hover{text-decoration:underline;}
.empty-state{padding:40px 20px;text-align:center;color:#64748b;background:#f8fafc;border-radius:10px;border:1px dashed #cbd5e1;}
.empty-state h3{margin:0 0 8px;color:#0f2a44;}

.tab-pane.active{display:block;}

/* MOBILE HERO CENTER FIX v3 - shrink-wrap children so parent max-content works */
@media (max-width:600px){
  html body .hero.hero-merged .container{
    text-align:center !important;
  }
  html body .hero.hero-merged .hero-brand-block{
    display:inline-flex !important;
    width:max-content !important;
    max-width:calc(100% - 16px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    gap:10px !important;
    justify-content:center !important;
    align-items:center !important;
  }
  /* Children must shrink to their natural content width */
  html body .hero.hero-merged .hero-brand-text,
  html body .hero.hero-merged .hero-brand-name,
  html body .hero.hero-merged .hero-brand-tag1{
    max-width:none !important;
    width:auto !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}

/*contrast-fix-v1-2026-06-02*/
/* WCAG AA contrast fixes (2026-06-02) */
/* --- KPI strip labels (county enriched pages) --- */
.state-stats .stat-block .stat-label,
.state-stats .stat-label { color:#8a6d05 !important; }
/* --- Homepage snapshot strip labels --- */
.snap-label { color:#41506a !important; }
/* --- Quick-stat icon emoji colors (homepage) --- */
.ico-biz-qs   { color:#92400e !important; }
.ico-vital-qs { color:#064e3b !important; }
.ico-prop-qs  { color:#075985 !important; }
.ico-court-qs { color:#581c87 !important; }
.ico-crim-qs  { color:#7f1d1d !important; }
.ico-inmate-qs{ color:#451a03 !important; }
/* --- Bright gold strong text on white (".net" wordmark, →  Top of articles)
       darker gold for body-text contrast --- */
strong[style*="color:var(--gold)"],
.ss-authority { color:#8a6d05 !important; }
/*end-contrast-fix-v1*/

/*contrast-fix-v2-2026-06-02*/
/* === Contrast fix v2 (2026-06-02): remaining body-text / heading / wordmark bugs === */

/* 1. Gold text in headings/strongs/links inside light-bg cards & articles */
section.strategy-box h2,
section.strategy-box h3,
.ss-em-card h3,
.ss-em-section h2,
.ss-em-section h3,
h4[style*="color:var(--gold)"],
strong[style*="color:var(--gold)"],
.ss-authority,
a[style*="color:var(--gold)"]:not([href^="mailto:"]):not(.sp-attr a):not(.ssf-col a):not(.drawer-section a) {
  color:#8a6d05 !important;
}

/* 2. .ss-em-sub subtitle — light slate too washed out */
.ss-em-sub { color:#475569 !important; }

/* 3. Snapshot strip labels — bump darker still */
.snap-label,
span.snap-label { color:#2c3a52 !important; }

/* 4. ".net" wordmark suffix — darken so it's still visibly gold but readable */
.logo-text span,
.brand-wordmark span,
.brand-name span { color:#8a6d05 !important; }

/* 5. External-link URL color in cards — darken cyan for readability */
.cc a,
.card-contact a,
.card-url a { color:#0e7490 !important; }

/* 6. FAQ arrows */
.arrow { color:#8a6d05 !important; }

/* 7. Numbers in article-body <strong> (e.g., "34") — usually meant to pop in gold,
   but bright gold on white fails. Use deeper amber for body-text emphasis. */
.intro-narrative strong,
.article-body strong,
p strong[style*="gold"] { color:#8a6d05 !important; }

/*end-contrast-fix-v2*/
/* SS-CONTRAST-FIX-V3-START */
/* Scoped contrast fixes — replaces v1/v2 with correct dark-bg handling */

/* === 1. Restore light text inside dark-bg Explore More sections === */
/* Override v2's broad dark-text rules when inside .ss-explore-more */
.ss-explore-more .ss-em-card h3,
.ss-explore-more h2,
.ss-explore-more h3,
.ss-explore-more h4 {
  color: #feca26 !important;  /* bright gold on dark navy */
}
.ss-explore-more .ss-em-sub,
.ss-explore-more p {
  color: #cbd5e1 !important;  /* slate-300 on dark navy */
}
.ss-explore-more .ss-em-card a {
  color: #f1f5f9 !important;  /* slate-100 on translucent overlay */
}
.ss-explore-more strong {
  color: #feca26 !important;
}

/* === 2. Darken BZ icon orange for white-text contrast === */
/* #d97706 + white = 3.2:1 (fail). #b45309 + white = 5.05:1 (pass AA) */
.ico[style*="background:#d97706"],
.ico[style*="background: #d97706"] {
  background-color: #b45309 !important;
}

/* === 3. Fix snap-num gold-dim → use darker gold for 24px numbers on cream === */
.snap-num,
.snap-item .snap-num {
  color: #8a6d05 !important;  /* dark gold, 4.5:1 on cream */
}

/* === 4. Fix "→ Browse all" arrow links — gold-dim too light === */
a[style*="color:var(--gold-dim)"]:not(.ssf-col a):not(.drawer-section a):not(.ss-explore-more a),
.ss-em-section a[style*="color"]:not(.ss-explore-more *) {
  color: #8a6d05 !important;
}

/* === 5. Keep the dark-text overrides for OUTSIDE dark sections === */
/* This is the v2 rule but more carefully scoped */
/* (existing rules already in pages remain; this is reinforcement) */
.ss-em-card.has-light-bg h3,
.has-light-bg .ss-em-card h3 {
  color: #8a6d05 !important;
}

/* === 6. Card-icon contrast (icons with inline dark backgrounds) === */
/* From earlier fix - reinforced */
.card-icon .ico[style*="background:#"] {
  color: #fff !important;
}
/* SS-CONTRAST-FIX-V3-END */
/* SS-HIDE-DEAD-TAB-V1 */
.tab-btn[data-empty="true"]{display:none!important;}
/* SS-HIDE-DEAD-TAB-V1-END */