/*
 * Divi Builder typography overrides.
 *
 * Scope: Divi output only (.et_pb_* modules, #et-boc). Does NOT target
 * LED header/footer, WooCommerce custom templates, or bare h1–h6.
 *
 * Specificity: html body + Divi class ≈ 0,2,2+.
 * !important is used ONLY where Divi ships !important on the same property
 * (heading/button font-family, font-weight, font-size).
 *
 * Disable via Settings → Typography → “Divi compatibility”.
 */

/* -------------------------------------------------------------------------
   Divi global CSS custom properties (Divi reads these directly)
   ------------------------------------------------------------------------- */

:root {
	--et_global_heading_font:        var(--font-family-heading);
	--et_global_body_font:           var(--font-family-body);
	--et_global_heading_font_weight: var(--font-weight-heading);
	--et_global_body_font_weight:    var(--font-weight-body);
	--et_global_body_font_size:      var(--font-size-body);
	--et_global_body_font_height:    var(--line-height-body);
}

/* -------------------------------------------------------------------------
   Body copy inside Divi modules
   ------------------------------------------------------------------------- */

html body #et-boc .et_pb_module,
html body #et-boc .et_pb_module p,
html body #et-boc .et_pb_module span:where(:not(.title, .subtitle)),
html body #et-boc .et_pb_module li,
html body #et-boc .et_pb_text_inner,
html body #et-boc .et_pb_text_inner p,
html body #et-boc .et_pb_text_inner span,
html body #et-boc .et_pb_text_inner li,
html body #et-boc .et_pb_blurb_description,
html body #et-boc .et_pb_toggle_content,
html body #et-boc .et_pb_accordion .et_pb_accordion_content,
html body .et_pb_section .et_pb_module,
html body .et_pb_section .et_pb_module p,
html body .et_pb_section .et_pb_text_inner,
html body .et_pb_section .et_pb_text_inner p {
	font-family: var(--font-family-body);
	font-size:   var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
}

/* -------------------------------------------------------------------------
   Headings inside Divi modules
   ------------------------------------------------------------------------- */

html body #et-boc .et_pb_module h1,
html body #et-boc .et_pb_module h2,
html body #et-boc .et_pb_module h3,
html body #et-boc .et_pb_module h4,
html body #et-boc .et_pb_module h5,
html body #et-boc .et_pb_module h6,
html body #et-boc .et_pb_text h1,
html body #et-boc .et_pb_text h2,
html body #et-boc .et_pb_text h3,
html body #et-boc .et_pb_text h4,
html body #et-boc .et_pb_text h5,
html body #et-boc .et_pb_text h6,
html body #et-boc .et_pb_title_container h1,
html body #et-boc .et_pb_title_container h2,
html body #et-boc h1.et_pb_contact_main_title,
html body .et_pb_section .et_pb_module h1,
html body .et_pb_section .et_pb_module h2,
html body .et_pb_section .et_pb_module h3,
html body .et_pb_section .et_pb_module h4,
html body .et_pb_section .et_pb_module h5,
html body .et_pb_section .et_pb_module h6,
html body .et_pb_section .et_pb_text h1,
html body .et_pb_section .et_pb_text h2,
html body .et_pb_section .et_pb_text h3,
html body .et_pb_section .et_pb_text h4,
html body .et_pb_section .et_pb_text h5,
html body .et_pb_section .et_pb_text h6,
html body .et_pb_section .et_pb_title_container h1,
html body .et_pb_section .et_pb_title_container h2,
html body .et_pb_section h1.et_pb_contact_main_title {
	font-family:    var(--font-family-heading) !important;
	font-weight:    var(--font-weight-heading) !important;
	text-transform: var(--text-transform-heading, uppercase);
	letter-spacing: var(--letter-spacing-heading);
	line-height:    var(--line-height-heading);
	padding-bottom: 0;
}

html body #et-boc .et_pb_module h1,
html body #et-boc .et_pb_text h1,
html body #et-boc .et_pb_title_container h1,
html body #et-boc h1.et_pb_contact_main_title,
html body .et_pb_section .et_pb_module h1,
html body .et_pb_section .et_pb_text h1,
html body .et_pb_section .et_pb_title_container h1,
html body .et_pb_section h1.et_pb_contact_main_title {
	font-size: var(--font-size-h1) !important;
}

html body #et-boc .et_pb_module h2,
html body #et-boc .et_pb_text h2,
html body #et-boc .et_pb_title_container h2,
html body .et_pb_section .et_pb_module h2,
html body .et_pb_section .et_pb_text h2,
html body .et_pb_section .et_pb_title_container h2 {
	font-size: var(--font-size-h2) !important;
}

html body #et-boc .et_pb_module h3,
html body #et-boc .et_pb_text h3,
html body .et_pb_section .et_pb_module h3,
html body .et_pb_section .et_pb_text h3 {
	font-size: var(--font-size-h3) !important;
}

html body #et-boc .et_pb_module h4,
html body #et-boc .et_pb_text h4,
html body .et_pb_section .et_pb_module h4,
html body .et_pb_section .et_pb_text h4 {
	font-size: var(--font-size-h4) !important;
}

html body #et-boc .et_pb_module h5,
html body #et-boc .et_pb_text h5,
html body .et_pb_section .et_pb_module h5,
html body .et_pb_section .et_pb_text h5 {
	font-size: var(--font-size-h5) !important;
}

html body #et-boc .et_pb_module h6,
html body #et-boc .et_pb_text h6,
html body .et_pb_section .et_pb_module h6,
html body .et_pb_section .et_pb_text h6 {
	font-size: var(--font-size-h5) !important;
}

html body #et-boc .et_pb_module h1 a,
html body #et-boc .et_pb_module h2 a,
html body #et-boc .et_pb_module h3 a,
html body #et-boc .et_pb_module h4 a,
html body #et-boc .et_pb_module h5 a,
html body .et_pb_section .et_pb_module h1 a,
html body .et_pb_section .et_pb_module h2 a,
html body .et_pb_section .et_pb_module h3 a,
html body .et_pb_section .et_pb_module h4 a,
html body .et_pb_section .et_pb_module h5 a {
	font-family: var(--font-family-heading) !important;
	font-weight: var(--font-weight-heading) !important;
	font-size:   inherit !important;
}

/* -------------------------------------------------------------------------
   Divi buttons
   ------------------------------------------------------------------------- */

html body #et-boc .et_pb_button,
html body #et-boc a.et_pb_button,
html body #et-boc .et_pb_promo_button,
html body #et-boc .et_pb_more_button,
html body .et_pb_section .et_pb_button,
html body .et_pb_section a.et_pb_button,
html body .et_pb_section .et_pb_promo_button,
html body .et_pb_section .et_pb_more_button {
	font-family:    var(--font-family-button) !important;
	font-size:      var(--font-size-btn) !important;
	font-weight:    var(--font-weight-button) !important;
	text-transform: var(--text-transform-button, none);
	letter-spacing: var(--letter-spacing-button);
}

/* -------------------------------------------------------------------------
   Footer — hide Divi default chrome, reset wrapper
   ------------------------------------------------------------------------- */

html body #main-footer > .et_pb_widget_area_header,
html body #main-footer > .footer-widget,
html body #main-footer #footer-bottom,
html body #main-footer #et-footer-nav {
	display: none;
}

html body #main-footer {
	background-color: var(--color-bg-footer) !important;
	color: var(--color-text);
}

/* Divi adds padding-bottom to p — reset inside LED footer */
html body #main-footer .led-footer p,
html body #main-footer .led-footer__before p {
	margin-top: 0;
	margin-bottom: var(--space-1);
	padding-bottom: 0;
}

/* -------------------------------------------------------------------------
   Desktop (≥ 981px — Divi breakpoint)
   ------------------------------------------------------------------------- */

@media (min-width: 981px) {

	html body #et-boc .et_pb_module,
	html body #et-boc .et_pb_module p,
	html body #et-boc .et_pb_text_inner,
	html body #et-boc .et_pb_text_inner p,
	html body .et_pb_section .et_pb_module,
	html body .et_pb_section .et_pb_module p,
	html body .et_pb_section .et_pb_text_inner,
	html body .et_pb_section .et_pb_text_inner p {
		font-size: var(--font-size-body-desktop, var(--font-size-body));
	}

	html body #et-boc .et_pb_module h1,
	html body #et-boc .et_pb_text h1,
	html body #et-boc .et_pb_title_container h1,
	html body #et-boc h1.et_pb_contact_main_title,
	html body .et_pb_section .et_pb_module h1,
	html body .et_pb_section .et_pb_text h1,
	html body .et_pb_section .et_pb_title_container h1,
	html body .et_pb_section h1.et_pb_contact_main_title {
		font-size: var(--font-size-h1-desktop) !important;
	}

	html body #et-boc .et_pb_module h2,
	html body #et-boc .et_pb_text h2,
	html body #et-boc .et_pb_title_container h2,
	html body .et_pb_section .et_pb_module h2,
	html body .et_pb_section .et_pb_text h2,
	html body .et_pb_section .et_pb_title_container h2 {
		font-size: var(--font-size-h2-desktop) !important;
	}

	html body #et-boc .et_pb_module h3,
	html body #et-boc .et_pb_text h3,
	html body .et_pb_section .et_pb_module h3,
	html body .et_pb_section .et_pb_text h3 {
		font-size: var(--font-size-h3-desktop) !important;
	}

	html body #et-boc .et_pb_module h4,
	html body #et-boc .et_pb_text h4,
	html body .et_pb_section .et_pb_module h4,
	html body .et_pb_section .et_pb_text h4 {
		font-size: var(--font-size-h4-desktop) !important;
	}

	html body #et-boc .et_pb_module h5,
	html body #et-boc .et_pb_text h5,
	html body .et_pb_section .et_pb_module h5,
	html body .et_pb_section .et_pb_text h5 {
		font-size: var(--font-size-h5-desktop) !important;
	}

	html body #et-boc .et_pb_module h6,
	html body #et-boc .et_pb_text h6,
	html body .et_pb_section .et_pb_module h6,
	html body .et_pb_section .et_pb_text h6 {
		font-size: var(--font-size-h5-desktop) !important;
	}

	html body #et-boc .et_pb_button,
	html body #et-boc a.et_pb_button,
	html body #et-boc .et_pb_promo_button,
	html body #et-boc .et_pb_more_button,
	html body .et_pb_section .et_pb_button,
	html body .et_pb_section a.et_pb_button,
	html body .et_pb_section .et_pb_promo_button,
	html body .et_pb_section .et_pb_more_button {
		font-size: var(--font-size-btn-desktop, var(--font-size-btn)) !important;
	}
}
