/**
 * Heading Standardization
 * Overrides Elementor widget-level heading styles
 * Uses high specificity to ensure consistency across all pages
 */

/* ===========================================
   H1 HEADINGS - Tungsten 96px
   =========================================== */

/* Base H1 override */
body h1,
body .elementor h1,
body .elementor h1.elementor-heading-title,
body .elementor-widget-heading h1.elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(32px, 5vw, 96px) !important;
  font-weight: var(--h1-font-weight) !important;
  line-height: var(--h1-line-height) !important;
  letter-spacing: var(--h1-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* ElementsKit H1 */
body .ekit-heading--title h1,
body h1.ekit-heading--title,
body h1.elementskit-section-title {
  font-family: var(--font-heading) !important;
  font-size: var(--h1-font-size) !important;
  font-weight: var(--h1-font-weight) !important;
  line-height: var(--h1-line-height) !important;
  letter-spacing: var(--h1-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* ===========================================
   H2 HEADINGS - Founders Grotesk 48px
   =========================================== */

/* Base H2 override (exclude mega menu) */
body .elementor:not(.elementor-location-header) h2,
body .elementor:not(.elementor-location-header) h2.elementor-heading-title,
body .elementor:not(.elementor-location-header) .elementor-widget-heading h2.elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: var(--h2-font-size) !important;
  font-weight: var(--h2-font-weight) !important;
  line-height: var(--h2-line-height) !important;
  letter-spacing: var(--h2-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}


/* Small H2 Heading */
body .elementor:not(.elementor-location-header) .h2-small h2,
body .elementor:not(.elementor-location-header) .h2-small h2.elementor-heading-title,
body .elementor:not(.elementor-location-header) .elementor-widget-heading .h2-small h2.elementor-heading-title {
  font-size: var(--h3-font-size) !important;
}

/* ElementsKit H2 section titles */
body .elementor:not(.elementor-location-header) h2.ekit-heading--title,
body .elementor:not(.elementor-location-header) h2.elementskit-section-title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h2-font-size) !important;
  font-weight: var(--h2-font-weight) !important;
  line-height: var(--h2-line-height) !important;
  letter-spacing: var(--h2-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* Mega Menu H2 */
body .elementor.elementor-location-header .h2-large ,
body .elementor.elementor-location-header .h2-large .elementor-heading-title,
body .elementor.elementor-location-header .elementor-widget-heading .h2-large .elementor-heading-title {
  font-size: 60px !important;
}

/* ===========================================
   H3 HEADINGS - Tungsten 32px
   =========================================== */

/* Base H3 override */
body .elementor:not(.elementor-location-header) h3,
body .elementor:not(.elementor-location-header) h3.elementor-heading-title,
body
  .elementor:not(.elementor-location-header)
  .elementor-widget-heading
  h3.elementor-heading-title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h3-font-size) !important;
  font-weight: var(--h3-font-weight) !important;
  line-height: var(--h3-line-height) !important;
  letter-spacing: var(--h3-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* ElementsKit H3 subtitles and titles */
body .elementor:not(.elementor-location-header) h3.ekit-heading--subtitle,
body .elementor:not(.elementor-location-header) h3.elementskit-section-subtitle,
body .elementor:not(.elementor-location-header) h3.elementskit-info-box-title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h3-font-size) !important;
  font-weight: var(--h3-font-weight) !important;
  line-height: var(--h3-line-height) !important;
  letter-spacing: var(--h3-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* JetElements H3 service titles */
body .elementor:not(.elementor-location-header) h3.jet-services__title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h3-font-size) !important;
  font-weight: var(--h3-font-weight) !important;
  line-height: var(--h3-line-height) !important;
  letter-spacing: var(--h3-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* Funfact H3 titles */
body .elementor:not(.elementor-location-header) h3.funfact-title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h3-font-size) !important;
  font-weight: var(--h3-font-weight) !important;
  line-height: var(--h3-line-height) !important;
  letter-spacing: var(--h3-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

/* ===========================================
   UTILITY CLASSES
   Apply heading styles to any element
   =========================================== */

.h1,
.h1 .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: var(--h1-font-size) !important;
  font-weight: var(--h1-font-weight) !important;
  line-height: var(--h1-line-height) !important;
  letter-spacing: var(--h1-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

.h2,
.h2 .elementor-heading-title {
  font-family: var(--font-heading) !important;
  font-size: var(--h2-font-size) !important;
  font-weight: var(--h2-font-weight) !important;
  line-height: var(--h2-line-height) !important;
  letter-spacing: var(--h2-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}

.h3,
.h3 .elementor-heading-title {
  font-family: var(--font-heading-alt) !important;
  font-size: var(--h3-font-size) !important;
  font-weight: var(--h3-font-weight) !important;
  line-height: var(--h3-line-height) !important;
  letter-spacing: var(--h3-letter-spacing) !important;
  text-transform: uppercase !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-stroke-width: 0 !important;
  text-stroke: 0 !important;
  stroke: none !important;
}
