/* =================================================== */
/* === MY GLOBAL SITE STYLES (SINGLE SOURCE OF TRUTH) === */
/* =================================================== */

/* 1) Global Palette (Lighthouse AA Compliant) */
:root {
  /* --- Colors --- */
  --e-global-color-primary: #0056b3;  /* Links (AA Compliant) */
  --e-global-color-text:    #0a0f1a;  /* Body text (Excellent) */
  --e-global-color-muted:   #404040;  /* Muted text (Good) */
  --e-bg:                 #ffffff;  /* Light Background */
  
  /* Accent colors (FOR ICONS/BORDERS, NOT TEXT) */
  --e-global-color-secondary: #1ee0a0;
  --e-global-color-accent:    #34bdf3; 
  
  /* --- Typography --- */
  --e-global-typography-primary-font-family: "Inter", system-ui, sans-serif;
  --e-global-typography-primary-font-weight: 700;
  --e-global-typography-primary-line-height: 1.25;

  --e-global-typography-text-font-family: "Inter", system-ui, sans-serif;
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-text-line-height: 1.7;
}

/* 2) Base Body & Headings (Global) */
body {
  color: var(--e-global-color-text);
  background: var(--e-bg);
  font-family: var(--e-global-typography-text-font-family);
  font-weight: var(--e-global-typography-text-font-weight);
  line-height: var(--e-global-typography-text-line-height);
}
h1,h2,h3,h4,h5,h6,.elementor-heading-title {
  color: var(--e-global-color-text);
  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
}

/* 3) Global Links */
a { 
  color: var(--e-global-color-primary); 
  text-decoration: underline; 
}
a:hover { 
  color: #00408f; 
}

/* 4) Global Buttons (Lighthouse Fix) */
/* This is the ORANGE button style */
.elementor-button, a[class*="btn"], .btn {
  --btn-bg: #ff6a00; 
  --btn-bg-h: #e55d00;
  --btn-fg: var(--e-global-color-text); /* Uses dark text for contrast */

  background: var(--btn-bg); 
  color: var(--btn-fg);
  border-radius: .6rem; 
  font-weight: 700;
  text-decoration: none;
}
.elementor-button:hover, a[class*="btn"]:hover, .btn:hover {
  background: var(--btn-bg-h); 
  color: var(--btn-fg);
}

/* 5) Phone links */
a[href^="tel:"] {
  background: #0056b3; 
  color: #fff !important; 
  font-weight: 600;
  padding: .6rem 1rem; 
  border-radius: .5rem;
  text-decoration: none;
}

/* =================================================== */
/* === GLOBAL VARIATIONS (for .section-dark) === */
/* =================================================== */
/* This automatically styles any section with the class "section-dark" */

.section-dark {
  color: #ffffff; /* Default text is white */
}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark .elementor-heading-title {
  color: #ffffff !important; /* Headings are white */
}
.section-dark .uk-text-muted,
.section-dark .elementor-widget-text-editor p {
  color: #cccccc !important; /* Muted/paragraph text */
}
.section-dark a {
  color: var(--e-global-color-secondary); /* Links are bright */
}
.section-dark a:hover {
  color: #f0f0f0;
}

/* =================================================== */
/* === 9) CUSTOM COMPONENT STYLES (MERGED) === */
/* =================================================== */
/* These are the specific styles from your old code
   that we need to keep, now cleaned and consolidated. */

/* --- Custom Headings --- */
.free-estimate-top-title {
  font-weight: bold;
  font-size: 16px;
  color: #2865e4;
}

/* --- Specific Link Styles --- */
.uk-article a {
  color: #1D78D6;
}

/* --- Widget Styles --- */
.sp-latest-posts-widget.latest-posts .entry-meta {
  color: #000;
}

/* --- Navbar Fix (from your code) --- */
.uk-navbar-nav > li:hover > .uk-navbar-dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* --- Social Icons (from your code) --- */
.social-icons {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding: 10px 0;
  flex-wrap: wrap; 
}
.social-icons a {
  display: inline-block;
}
.social-icons a img {
  width: 35px;
  height: auto;
  transition: transform 0.3s ease-in-out;
}
.social-icons a:hover img {
  transform: scale(1.2);
}
@media (max-width: 768px) {
  .social-icons {
    gap: 10px;
  }
  .social-icons a img {
    width: 30px; 
  }
}

/* --- Footer Contact Fix (from your code) --- */
/* This is your highly specific fix for the footer, it's good to keep */
.footer-contact-info-checkup,
.footer-contact-info-checkup * {
  text-shadow: none !important;
}
.footer-contact-info-checkup .uk-text-muted {
  color: #0b1220 !important;
  opacity: 1 !important;
}
.footer-contact-info-checkup a[href^="tel:"],
.footer-contact-info-checkup a[href^="mailto:"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important; 
  opacity: 1 !important;
}
.footer-contact-info-checkup a[href^="tel:"]:not([style*="background"]),
.footer-contact-info-checkup a[href^="mailto:"]:not([style*="background"]) {
  background: #0056b3 !important;
  color: #ffffff !important;
  padding: .45rem .65rem;
  border-radius: .45rem;
  text-decoration: none;
}
.footer-contact-info-checkup a[href^="tel:"] *,
.footer-contact-info-checkup a[href^="mailto:"] * {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
.footer-contact-info-checkup a:not([href^="tel:"]):not([href^="mailto:"]):not([style*="background"]) {
  color: #0b67d3 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-contact-info-checkup .uk-heading-small,
.footer-contact-info-checkup .uk-h2 {
  color: #0b1220 !important;
  opacity: 1 !important;
}

/* =================================================== */
/* === 10) MIGRATED STYLES (now low-maintenance) === */
/* =================================================== */

/* --- Reusable Styled Table --- */
/* This REPLACES your .postid-5284 code.
   To use this, go to your table widget in Elementor,
   go to Advanced > CSS Classes, and type "styled-table"
*/
.styled-table table {
  border-collapse: collapse;  
  width: 100%;
  margin-bottom: 20px; 
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
  /* Ensure it overrides default table styles */
  border: 0; 
}
.styled-table th {
  background-color: #2865e4; 
  color: white;
  font-weight: bold;
  padding: 12px;
  border: 1px solid #2865e4;
}
.styled-table td {
  border: 1px solid #ddd; 
  padding: 10px;
}
.styled-table tr:nth-child(even) {  
  background-color: #f2f2f2;
}
.styled-table tr:hover {
  background-color: #f5f5f5;
  cursor: pointer;
}
@media (max-width: 600px) {
  .styled-table table {
    font-size: 14px;
  }
  .styled-table th, 
  .styled-table td {
    padding: 8px;
  }
}
/* =================================================== */
/* === 11) STICKY CALL BUTTON (MIGRATED) === */
/* =================================================== */

.sticky-call-btn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #000000;
  text-align: center;
  padding: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  z-index: 1000;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sticky-call-btn i {
  margin-right: 8px;
}

@media (max-width: 768px) {
  .sticky-call-btn {
    font-size: 14px;
    padding: 12px;
  }
}
/* =================================================== */
/* === 12) SOCIAL ICONS (MIGRATED) === */
/* =================================================== */

.social-icons {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding: 15px;
}
.social-icons a {
  font-size: 26px;
  color: #555;
  transition: color 0.3s;
  text-decoration: none;
}
.social-icons a:hover {
  color: #000;
}
/* Scoped styles so we don't clash with Elementor */
    #vent-chart * { box-sizing: border-box; }
    #vent-chart .wrap { max-width: 980px; margin: 0 auto; }
    #vent-chart h3 { margin: 0 0 6px; font-size: clamp(18px,2.4vw,22px); }
    #vent-chart p, #vent-chart label, #vent-chart .note { color: var(--muted); }
    #vent-chart .controls { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:10px 0 12px; }
    #vent-chart input[type=range]{ width:240px; }
    #vent-chart button { background:transparent; border:1px solid #2ca8e0; color:#fff; padding:6px 10px; border-radius:10px; cursor:pointer; }
    #vent-chart .frame { background:#0b0f18; border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:8px; }
    #vent-chart .legend { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; color:var(--muted); font-size:14px; }
    #vent-chart a { color: var(--link); text-decoration: underline; }
    /* Hard guard to prevent 0-height canvas from conflicting CSS */
    #vent-chart canvas { display:block; width:100%; min-height:360px; }
/* ===== FIX LIGHTHOUSE CONTRAST: STICKY CALL BAR ===== */

/* The sticky call trigger button */
a#sticky-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;

  background-color: #1ee0a0 !important;  /* bright teal */
  color: #0b1420 !important;             /* dark navy text – high contrast */
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,.3);
}

a#sticky-call:hover,
a#sticky-call:focus {
  filter: brightness(0.9);
  outline: 2px solid #34bdf3;
  outline-offset: 2px;
}

/* The Fluent Forms submit button inside the sticky call form */
button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style {
  background-color: #0b1420 !important;  /* deep navy */
  color: #ffffff !important;             /* white text */
  border-color: #0b1420 !important;
  font-weight: 700;
}

button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:hover,
button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_style:focus {
  filter: brightness(1.05);
  outline: 2px solid #1ee0a0;
  outline-offset: 2px;
}
/* Accordion titles should not look like regular links */
.elementor-accordion .elementor-accordion-title,
.elementor-accordion .elementor-tab-title a.elementor-accordion-title {
  color: var(--e-global-color-text);
  text-decoration: none;
  cursor: pointer;
}

/* Dark sections */
.section-dark .elementor-accordion .elementor-accordion-title,
.section-dark .elementor-accordion .elementor-tab-title a.elementor-accordion-title {
  color: #ffffff;
  text-decoration: none;
}
.aar-ac-reading {
  /* optional */
}

.aar-ac-reading.is-borderline {
  /* optional warning accent */
}
/* ============================================= */
/* AAR – Phase 1 CSS Gauge Manifold (No JS)       */
/* Uses your global tokens + section-dark support */
/* ============================================= */

.aar-gauges{
  display: grid;
  gap: 1rem;
  margin: 1rem 0;
}

/* Optional: make gauges 2 columns on wide screens */
@media (min-width: 900px){
  .aar-gauges{
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.aar-gauge{
  /* inherit typography from site */
}

.aar-gauge__top{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .4rem;
}

.aar-gauge__top strong{
  color: var(--e-global-color-text);
  font-weight: 700;
}

.aar-gauge__range{
  color: var(--e-global-color-muted);
  font-size: .95em;
}

/* The bar track */
.aar-gauge__bar{
  position: relative;
  height: 14px;
  border-radius: 999px;
  overflow: hidden;

  /* Light mode track */
  background: rgba(10,15,26,.08);
  border: 1px solid rgba(10,15,26,.12);
}

/* Expected range band (green zone) */
.aar-gauge__band{
  position: absolute;
  inset: 0 auto 0 0;
  left: var(--band-left, 0%);
  width: calc(var(--band-right, 100%) - var(--band-left, 0%));

  background: color-mix(in srgb, var(--e-global-color-secondary) 65%, transparent);
}

/* Actual value marker (needle line) */
.aar-gauge__marker{
  position: absolute;
  top: -6px;
  left: calc(var(--marker, 0%) - 1px);
  width: 2px;
  height: 26px;
  border-radius: 2px;

  background: var(--e-global-color-text);
  box-shadow: 0 0 0 2px rgba(255,255,255,.45);
}

/* Actual line text */
.aar-gauge__actual{
  margin: .5rem 0 0;
  color: var(--e-global-color-text);
  font-size: .95em;
}

/* Subtle helper text */
.aar-muted{
  color: var(--e-global-color-muted);
  font-size: .95em;
}

/* ============================================= */
/* Dark section support                           */
/* ============================================= */

.section-dark .aar-gauge__top strong{
  color: #fff;
}

.section-dark .aar-gauge__range,
.section-dark .aar-muted{
  color: #cccccc;
}

.section-dark .aar-gauge__bar{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
}

.section-dark .aar-gauge__marker{
  background: #ffffff;
  box-shadow: 0 0 0 2px rgba(0,0,0,.35);
}
/* AAR badge styles (inherits your palette) */
.aar-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .6rem;
  border-radius:999px;
  font-weight:700;
  font-size:.95em;
  border:1px solid rgba(10,15,26,.18);
  background: rgba(10,15,26,.05);
  color: var(--e-global-color-text);
}

.aar-badge--normal{
  border-color: color-mix(in srgb, var(--e-global-color-secondary) 55%, transparent);
  background: color-mix(in srgb, var(--e-global-color-secondary) 18%, transparent);
}

.aar-badge--borderline{
  border-color: rgba(255,106,0,.55);
  background: rgba(255,106,0,.14);
}

.aar-badge--underperforming{
  border-color: rgba(200,0,0,.40);
  background: rgba(200,0,0,.10);
}

.section-dark .aar-badge{
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#fff;
}
.section-dark .aar-badge--normal{
  border-color: color-mix(in srgb, var(--e-global-color-secondary) 65%, transparent);
  background: color-mix(in srgb, var(--e-global-color-secondary) 18%, transparent);
}
.article-summary {
  max-width: 980px;
  margin: 18px 0 22px;
  padding: 16px 18px;
  border-left: 5px solid #0bb67f; /* your green accent */
  background-color: #f8fafc; 
  border-radius: 10px;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #1e293b;
}
/* ==========================================
Auto A/C Repair LLC — Phase 4: Reviews & Trust
Scope: .aa-trust (safe for master CSS)
Mobile-first, desktop-enhanced, low maintenance
========================================== */

/* Section spacing */
.aa-trust{
  margin: 28px 0;
}

/* Badge row: responsive grid */
.aa-trust .aa-badges{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 14px 0 18px;
  padding: 0;
}

/* Badge card */
.aa-trust .aa-badge{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--aa-border, #e6e8ee);
  border-radius: 14px;
  background: var(--aa-card-bg, #ffffff);
  box-shadow: var(--aa-shadow-soft, 0 6px 18px rgba(16,24,40,.06));
  min-height: 52px; /* keeps rows uniform */
}

/* Badge image: prevents oversized ASE/logo */
.aa-trust .aa-badge__img{
  width: 40px;       /* fixed box for consistent layout */
  height: 40px;
  max-width: 40px;
  max-height: 40px;
  object-fit: contain;
  display: block;
  flex: 0 0 40px;
}

/* Badge icon fallback (✓, ⚡, etc.) */
.aa-trust .aa-badge__icon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--aa-chip-bg, #f1f5f9);
  border: 1px solid var(--aa-border, #e6e8ee);
  flex: 0 0 40px;
}

/* Badge text */
.aa-trust .aa-badge__text{
  font-weight: 800;
  line-height: 1.2;
  color: var(--aa-ink, #0f172a);
  font-size: 15px;
}

/* Testimonials grid */
.aa-trust .aa-testimonials{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 14px 0 18px;
}

/* Testimonial card */
.aa-trust .aa-testimonial{
  border: 1px solid var(--aa-border, #e6e8ee);
  border-radius: 16px;
  padding: 16px;
  background: var(--aa-card-bg, #ffffff);
  box-shadow: var(--aa-shadow, 0 10px 28px rgba(16,24,40,.08));
}

/* Quote text */
.aa-trust .aa-testimonial__quote{
  margin: 0 0 10px;
  line-height: 1.7;
  color: var(--aa-text, #334155);
  font-style: italic;
  font-size: 16px;
}

/* Meta line */
.aa-trust .aa-testimonial__meta{
  margin: 0;
  color: var(--aa-muted, #475569);
  font-size: 14px;
}

/* Fleet callout */
.aa-trust .aa-fleet-callout{
  border-left: 4px solid var(--aa-accent, #0ea5e9);
  background: var(--aa-callout-bg, #f8fafc);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 14px 0 18px;
}

/* CTA row */
.aa-trust .aa-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

/* Buttons (uses your existing .aa-btn styles if present) */
.aa-trust .aa-btn{
  display: inline-block;
  padding: 11px 14px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration: none;
}

/* Responsive upgrades */
@media (min-width: 640px){
  .aa-trust .aa-badges{
    grid-template-columns: 1fr 1fr; /* 2-up */
  }
}

@media (min-width: 992px){
  .aa-trust .aa-badges{
    grid-template-columns: 1fr 1fr 1fr 1fr; /* 4-up */
  }
  .aa-trust .aa-testimonials{
    grid-template-columns: 1fr 1fr; /* 2-up on desktop */
  }
}
/* Phase 5 — Entity Density Optimization */
.aa-entity-density{margin:28px 0}
.aa-spec-grid{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0}
.aa-spec-card{
  border:1px solid var(--aa-border,#e6e8ee);
  border-radius:16px;
  background:var(--aa-card-bg,#fff);
  padding:16px;
  box-shadow:var(--aa-shadow-soft,0 6px 18px rgba(16,24,40,.06));
}
.aa-compat{
  border-left:4px solid var(--aa-accent,#0ea5e9);
  background:var(--aa-callout-bg,#f8fafc);
  border-radius:14px;
  padding:14px 16px;
  margin:14px 0 18px;
}
@media(min-width:900px){
  .aa-spec-grid{grid-template-columns:1fr 1fr}
}
/* Popular Repairs section (Hub routing block) */
.aa-popular-repairs{margin:28px 0}
.aa-section-head{max-width:920px}
.aa-cards-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.aa-card-link{
  display:block;
  text-decoration:none;
  border:1px solid var(--aa-border,#e6e8ee);
  border-radius:14px;
  background:var(--aa-card-bg,#fff);
  padding:14px 14px;
  box-shadow:var(--aa-shadow-soft,0 6px 18px rgba(16,24,40,.06));
}
.aa-card-link:hover{transform:translateY(-1px)}
.aa-card-title{display:block;font-weight:900;font-size:1.05rem;color:var(--aa-ink,#0b1220)}
.aa-card-desc{display:block;margin-top:6px;color:var(--aa-muted,#475569);line-height:1.45}
.aa-card-cta{display:inline-block;margin-top:10px;font-weight:800;color:var(--aa-link,#0ea5e9)}
.aa-popular-repairs-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* Desktop grid */
@media (min-width: 900px){
  .aa-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Optional: 3-up grid for "Other Repairs" on larger screens */
@media (min-width: 1100px){
  .aa-cards-grid.aa-cards-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* ===== Force Page to Inherit Master Light Theme ===== */
.force-light-theme,
.force-light-theme * {
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
}

/* Remove dark section backgrounds */
.force-light-theme section,
.force-light-theme .elementor-section,
.force-light-theme .elementor-container,
.force-light-theme .elementor-column,
.force-light-theme .elementor-widget-wrap {
  background: transparent !important;
}

/* Remove dark cards/panels */
.force-light-theme .aa-panel,
.force-light-theme .aa-card,
.force-light-theme .dark-card,
.force-light-theme .dark-section {
  background: transparent !important;
  box-shadow: none !important;
  border-color: rgba(0,0,0,.08) !important;
}

/* Reset forced white headings */
.force-light-theme h1,
.force-light-theme h2,
.force-light-theme h3,
.force-light-theme h4,
.force-light-theme h5,
.force-light-theme h6 {
  color: inherit !important;
}

/* Reset buttons to theme buttons */
.force-light-theme .aa-btn,
.force-light-theme .dark-btn {
  background: inherit !important;
  color: inherit !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  box-shadow: none !important;
}

/* Remove forced text colors */
.force-light-theme p,
.force-light-theme span,
.force-light-theme li {
  color: inherit !important;
}

/* Remove dark overlays */
.force-light-theme::before,
.force-light-theme::after {
  background: none !important;
}
/* Move chat bubble above sticky bar */
.chat-widget,
#chat-widget,
[class*="chat"],
iframe[src*="chat"] {
  bottom: 80px !important;
}
/* Keep your sticky call bar */
.sticky-call-btn{
  bottom: 0 !important;
  z-index: 1000 !important;
}

/* Common chat widget containers */
#chat-widget,
.chat-widget,
[class*="chat-widget"],
[class*="chatBubble"],
[class*="chat-bubble"],
[class*="chatlauncher"],
[class*="launcher"],
iframe[title*="chat"],
iframe[src*="highlevel"],
iframe[src*="leadconnector"],
iframe[src*="gohighlevel"]{
  bottom: 90px !important;
  right: 20px !important;
}
/* ==================================================
   AUTO A/C HOMEPAGE REDESIGN — PERMANENT ISOLATION
   Only affects content inside .aac-home
   ================================================== */

.aac-home {
  color: #122033;
}

/* Dark sections */
.aac-home .aac-hero,
.aac-home .aac-reviews {
  color: #ffffff;
}

/* Dark-section headings */
.aac-home .aac-hero :is(h1, h2, h3, h4, h5, h6),
.aac-home .aac-reviews :is(h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
}

/* Dark-section body text */
.aac-home .aac-hero p,
.aac-home .aac-reviews p {
  color: #dbeafb !important;
}

/* Labels on dark backgrounds */
.aac-home .aac-hero .aac-kicker,
.aac-home .aac-reviews .aac-kicker {
  color: #78d9ff !important;
}

/* White eligibility card inside dark hero */
.aac-home .aac-hero-card {
  background: #ffffff !important;
  color: #122033 !important;
}

.aac-home .aac-hero-card :is(h2, h3, p, li) {
  color: #122033 !important;
}

.aac-home .aac-hero-card .aac-kicker {
  color: #086da9 !important;
}

/* Shared redesign button structure */
.aac-home a.aac-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 20px;
  border: 2px solid transparent;
  border-radius: 9px;
  font-weight: 800;
  text-decoration: none;
}

/* Green primary CTA */
.aac-home a.aac-btn-primary {
  background: #12b886 !important;
  color: #041b15 !important;
  border-color: transparent !important;
}

/* White secondary CTA */
.aac-home a.aac-btn-secondary {
  background: #ffffff !important;
  color: #071a2d !important;
  border-color: transparent !important;
}

/* Transparent CTA on dark background */
.aac-home a.aac-btn-outline {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #9fbed7 !important;
}

/* Dark final CTA */
.aac-home .aac-final a.aac-btn:not(.aac-btn-primary) {
  background: #071a2d !important;
  color: #ffffff !important;
  border-color: #071a2d !important;
}

/* Prevent global telephone-link styles from changing layout */
.aac-home a[href^="tel:"].aac-btn {
  padding: 13px 20px;
}

/* Hover states */
.aac-home a.aac-btn-primary:hover {
  background: #0fa477 !important;
  color: #041b15 !important;
}

.aac-home a.aac-btn-secondary:hover {
  background: #eaf7ff !important;
  color: #071a2d !important;
}

.aac-home a.aac-btn-outline:hover {
  background: rgba(255,255,255,.1) !important;
  color: #ffffff !important;
}

/* Keyboard accessibility */
.aac-home a.aac-btn:focus-visible {
  outline: 3px solid #ffd166;
  outline-offset: 3px;
}
/* ==================================================
   AUTO A/C HOMEPAGE FINAL CONTRAST FIX
   Scope: #aac-homepage only
   ================================================== */

/* Establish the normal light-section text color */
#aac-homepage .aac-home {
  color: #122033;
}

/* Dark homepage sections */
#aac-homepage .aac-hero,
#aac-homepage .aac-reviews {
  color: #ffffff !important;
}

/* All headings inside dark sections */
#aac-homepage .aac-hero :is(h1, h2, h3, h4, h5, h6),
#aac-homepage .aac-reviews :is(h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Hero introductory paragraph */
#aac-homepage .aac-hero .aac-lead,
#aac-homepage .aac-hero p.aac-lead {
  color: #dbeafb !important;
  -webkit-text-fill-color: #dbeafb !important;
  opacity: 1 !important;
}

/* Other paragraphs in dark sections */
#aac-homepage .aac-hero p:not(.aac-policy),
#aac-homepage .aac-reviews p {
  color: #dbeafb !important;
  -webkit-text-fill-color: #dbeafb !important;
  opacity: 1 !important;
}

/* Small uppercase labels */
#aac-homepage .aac-hero .aac-kicker,
#aac-homepage .aac-reviews .aac-kicker {
  color: #78d9ff !important;
  -webkit-text-fill-color: #78d9ff !important;
  opacity: 1 !important;
}

/* Diagnostic fee text */
#aac-homepage .aac-hero .aac-policy {
  color: #c6d8e8 !important;
  -webkit-text-fill-color: #c6d8e8 !important;
  opacity: 1 !important;
}

/* White service-eligibility card */
#aac-homepage .aac-hero-card {
  background: #ffffff !important;
  background-image: none !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
}

#aac-homepage .aac-hero-card :is(h2, h3, p, li) {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  opacity: 1 !important;
}

#aac-homepage .aac-hero-card .aac-kicker {
  color: #086da9 !important;
  -webkit-text-fill-color: #086da9 !important;
}

/* Eligibility-card link */
#aac-homepage .aac-hero-card a:not(.aac-btn) {
  color: #0056b3 !important;
  -webkit-text-fill-color: #0056b3 !important;
}

/* Shared homepage buttons */
#aac-homepage a.aac-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 20px !important;
  border: 2px solid transparent !important;
  border-radius: 9px !important;
  font-weight: 800;
  text-decoration: none !important;
  opacity: 1 !important;
}

/* Primary green button */
#aac-homepage a.aac-btn-primary {
  background: #12b886 !important;
  background-image: none !important;
  color: #041b15 !important;
  -webkit-text-fill-color: #041b15 !important;
}

/* White telephone button */
#aac-homepage a.aac-btn-secondary {
  background: #ffffff !important;
  background-image: none !important;
  color: #071a2d !important;
  -webkit-text-fill-color: #071a2d !important;
}

/* Transparent outlined button */
#aac-homepage a.aac-btn-outline {
  background: transparent !important;
  background-image: none !important;
  border-color: #9fbed7 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Hover states */
#aac-homepage a.aac-btn-primary:hover {
  background: #0fa477 !important;
  color: #041b15 !important;
  -webkit-text-fill-color: #041b15 !important;
}

#aac-homepage a.aac-btn-secondary:hover {
  background: #eaf7ff !important;
  color: #071a2d !important;
  -webkit-text-fill-color: #071a2d !important;
}

#aac-homepage a.aac-btn-outline:hover {
  background: rgba(255,255,255,.1) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}