/*
 * AutoHarbor global typography contract.
 * Elementor Site Settings own the font tokens. This stylesheet supplies
 * non-forcing fallbacks for legacy and dynamic output; Elementor widget
 * controls must always be allowed to override these values in editor and
 * frontend contexts.
 */
:root{
  --ah-font-serif:"Times New Roman",Times,serif;
  --ah-type-hero:54px;
  --ah-type-page-h1:46px;
  --ah-type-section:31px;
  --ah-type-h3:23px;
  --ah-type-card:17px;
  --ah-type-body:14px;
  --ah-type-small:13px;
  --ah-type-meta:12px;
  --ah-type-button:14px;
  --ah-type-price:24px;
}

/*
 * A true inherited default. Elementor's generated widget rules remain free to
 * override typography live in both the editor iframe and the public frontend.
 * Icon fonts are intentionally left untouched.
 */
html body:not(.wp-admin){font-family:var(--ah-font-serif)}
body:not(.wp-admin) :where(button,input,select,textarea){font-family:inherit}

/* Base copy. No user-facing copy may fall below the 12px accessibility floor. */
body:not(.wp-admin){font-size:var(--ah-type-body);font-weight:400;line-height:1.55}
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea{font-size:var(--ah-type-body);font-weight:400}
body:not(.wp-admin) .ah-muted,
body:not(.wp-admin) .ah-description{font-size:var(--ah-type-small);font-weight:400}

/* Headline hierarchy. */
body:not(.home):not(.wp-admin) h1{font-family:var(--ah-font-serif);font-size:var(--ah-type-page-h1);font-weight:700;line-height:1.1}
body:not(.wp-admin) h2{font-family:var(--ah-font-serif);font-size:var(--ah-type-section);font-weight:600;line-height:1.16}
body.home .ah-home-hero h1,
body.home .ah-home-hero .elementor-heading-title{font-size:var(--ah-type-hero);font-weight:700;line-height:1.04}
body:not(.home) .ah-page-hero h1,
body:not(.home) .ah-page-hero .elementor-heading-title,
body.single-ah_vehicle .ah-formal-summary h1,
body.single-vehicle .ah-formal-summary h1,
body.page-template-default main>article>.entry-header h1{font-size:var(--ah-type-page-h1);font-weight:700;line-height:1.1}
body:not(.wp-admin) .ah-section h2,
body:not(.wp-admin) .ah-section-head h2,
body:not(.wp-admin) .ah-world h2,
body:not(.wp-admin) .ah-cta h2,
body:not(.wp-admin) .ah-detail-formal h2,
body:not(.wp-admin) .ah-formal-section-head h2,
body:not(.wp-admin) main article>.entry-content h2{font-size:var(--ah-type-section);font-weight:600;line-height:1.16}
body:not(.wp-admin) h3{font-family:var(--ah-font-serif);font-size:var(--ah-type-h3);font-weight:600;line-height:1.22}

/* Eyebrows and metadata. */
body:not(.wp-admin) .ah-eyebrow,
body:not(.wp-admin) .ah-section>.ah-wrap>small,
body:not(.wp-admin) .ah-section-head small,
body.home .ah-home-support .ah-support-copy>small,
body.home .ah-home-process>small,
body:not(.wp-admin) .ah-detail small[class*="eyebrow"],
body:not(.wp-admin) [class*="section-label"]{font-size:var(--ah-type-meta);font-weight:700;line-height:1.25}
body:not(.wp-admin) .ah-card-body small,
body:not(.wp-admin) .ah-card-body em,
body:not(.wp-admin) .ah-card-location,
body:not(.wp-admin) .ah-price-row small,
body:not(.wp-admin) .ah-inventory-breadcrumb,
body:not(.wp-admin) .ah-vehicle-breadcrumb,
body:not(.wp-admin) .ah-formal-status,
body:not(.wp-admin) .ah-formal-status b,
body:not(.wp-admin) .ah-formal-quick-specs small,
body:not(.wp-admin) .ah-formal-specifications small,
body:not(.wp-admin) .ah-formal-related-grid p,
body:not(.wp-admin) .ah-copyright,
body:not(.wp-admin) .ah-copyright *{font-size:var(--ah-type-meta);font-weight:400}
body:not(.wp-admin) .ah-card-img span,
body:not(.wp-admin) .ah-showcase-badge,
body:not(.wp-admin) .ah-showcase-info small,
body:not(.wp-admin) .ah-showcase-price span,
body:not(.wp-admin) .ah-showcase-price a,
body:not(.wp-admin) .ah-home-stats span,
body:not(.wp-admin) .ah-news-list small,
body:not(.wp-admin) .ah-news-list time,
body:not(.wp-admin) .ah-post-card small,
body:not(.wp-admin) .ah-post-card time,
body:not(.wp-admin) .ah-stock-line small,
body:not(.wp-admin) .ah-fob-label label,
body:not(.wp-admin) .ah-fob-label b,
body:not(.wp-admin) .ah-verified-row,
body:not(.wp-admin) .ah-overview-head p,
body:not(.wp-admin) .ah-spec-table span,
body:not(.wp-admin) .ah-spec-table b,
body:not(.wp-admin) .ah-note,
body:not(.wp-admin) .ah-features span,
body:not(.wp-admin) .ah-detail-triple p,
body:not(.wp-admin) .ah-detail-triple p b,
body:not(.wp-admin) .ah-detail-triple a,
body:not(.wp-admin) .ah-view-all-photos,
body:not(.wp-admin) .ah-related-grid p,
body:not(.wp-admin) .ah-related-grid a,
body:not(.wp-admin) .ah-related-grid small,
body:not(.wp-admin) .ah-formal-calculator small,
body:not(.wp-admin) .ah-formal-section-head>a,
body:not(.wp-admin) .ah-main-photo>span,
body:not(.wp-admin) .ah-thumbs b small,
body:not(.wp-admin) .ah-spec-mini span,
body:not(.wp-admin) .ah-export-calculator>div>span,
body:not(.wp-admin) .ah-export-calculator aside>div,
body:not(.wp-admin) .ah-inventory-benefits span{font-size:var(--ah-type-meta)}

/* Card and process titles. */
body:not(.wp-admin) .ah-vehicle-card h3,
body:not(.wp-admin) .ah-home-vehicle-card h3,
body:not(.wp-admin) .ah-post-card h3,
body:not(.wp-admin) .ah-news-list h3,
body:not(.wp-admin) .ah-support-grid h3,
body:not(.wp-admin) .ah-process-row h3,
body:not(.wp-admin) .ah-steps b,
body:not(.wp-admin) .ah-benefits b,
body:not(.wp-admin) .ah-formal-related-grid h3,
body:not(.wp-admin) [class*="step-title"],
body:not(.wp-admin) [class*="card-title"] h3{font-size:var(--ah-type-card);font-weight:600;line-height:1.25}
body:not(.wp-admin) .ah-formal-related-grid>a{font-size:var(--ah-type-meta)}
body:not(.wp-admin) .ah-steps span,
body:not(.wp-admin) .ah-benefits span,
body:not(.wp-admin) .ah-post-card p,
body:not(.wp-admin) .ah-news-list p,
body:not(.wp-admin) .ah-support-grid p,
body:not(.wp-admin) .ah-process-row p,
body:not(.wp-admin) .ah-footer-grid p,
body:not(.wp-admin) .ah-footer-grid a{font-size:var(--ah-type-small);font-weight:400}

/* Buttons and interactive controls. Elementor Button widgets use Site Settings. */
body:not(.wp-admin) .ah-btn,
body:not(.wp-admin) button,
body:not(.wp-admin) input[type="button"],
body:not(.wp-admin) input[type="submit"],
body:not(.wp-admin) .wpforms-submit{font-size:var(--ah-type-button);font-weight:600;line-height:1}

/* Vehicle prices. */
body:not(.wp-admin) .ah-price-row strong,
body:not(.wp-admin) .ah-showcase-price strong,
body:not(.wp-admin) .ah-formal-related-grid strong,
body:not(.wp-admin) [class*="vehicle-price"],
body:not(.wp-admin) [class*="card-price"]{font-size:var(--ah-type-price);font-weight:700;line-height:1.05}
body:not(.wp-admin) .ah-home-vehicle-price strong{font-size:var(--ah-type-price);font-weight:700;line-height:1.05}
body:not(.wp-admin) .ah-home-vehicle-price small{font-size:var(--ah-type-meta);font-weight:700}
body:not(.wp-admin) .ah-home-vehicle-price em{font-size:var(--ah-type-meta);font-weight:400}
body.single-ah_vehicle .ah-formal-summary>strong,
body.single-vehicle .ah-formal-summary>strong{font-family:var(--ah-font-serif);font-size:26px;font-weight:700;line-height:1.05}

/* Header and footer stay on the common scale. */
body:not(.wp-admin) .ah-main-menu a,
body:not(.wp-admin) .ah-primary-menu a,
body:not(.wp-admin) .ah-global-header .ah-main-menu a,
body:not(.wp-admin) .elementor-62 .ah-global-header .ah-main-menu a{font-size:var(--ah-type-button);font-weight:600}
body:not(.wp-admin) .ah-footer-grid h4{font-size:var(--ah-type-card);font-weight:600}

/* Legacy microcopy promoted to the 12px minimum without changing layout roles. */
body.home .ah-section-head>a,
body.home .ah-home-destinations>div>a,
body.home .ah-post-card>div>a:last-child,
body.home .ah-news .ah-section-head>a,
body.home .ah-home-support .ah-support-copy>small,
body.home .ah-home-process>small,
body.home .ah-home-vehicle-price small,
body.home .ah-home-vehicle-price em{font-size:var(--ah-type-meta)}

@media(max-width:1024px){
  :root{--ah-type-hero:52px;--ah-type-page-h1:42px;--ah-type-section:30px}
}
@media(max-width:767px){
  :root{--ah-type-hero:52px;--ah-type-page-h1:40px;--ah-type-section:30px;--ah-type-h3:22px;--ah-type-card:16px;--ah-type-price:22px}
  body.home .ah-home-hero h1,body.home .ah-home-hero .elementor-heading-title{overflow-wrap:anywhere}
}
