/*
Theme Name:  The Conlan Company
Theme URI:   https://conlancompany.com/
Version:     1.0
Description: A child theme of Divi. This is a custom child theme created for The Conlan Company.
Author:      Joel Roberts
Author URI:  
Template:    Divi
*/

/*- Add any CSS custom code for this child theme below this line -*/
/* ============================================================================
   Global fluid type scale (ported 2026-07-10)
   Source of truth: the Divi Responsive Helper "fluid text" CSS that the D4
   dev site prints inline (divi-responsive-helper-typography-inline-css +
   divi-responsive-helper-media-queries-inline-css). DRH's Divi 5 code path
   does not print this CSS (it expects gvid-drh-fluid-* Global Variables that
   were never created), so the scale lives here natively instead — no plugin
   dependency. Values are byte-identical to dev's rendered CSS.
   If DRH's D5 fluid-text is ever configured in its dashboard, remove this
   block to avoid double application.
   ========================================================================= */

/* --- Body copy & module text: fluid 16px -> 20px, LH 1.7 ---------------- */
p:not(.brlbs-cmpnt-container p):not(.et_pb_text p):not(.et_pb_blurb p):not(.et_pb_toggle p):not(.et_pb_promo p):not(.et_pb_subscribe p):not(.et_pb_newsletter p):not(.et_pb_team_member p):not(.et_pb_slider p):not(.et_pb_pricing_table p):not(.et_pb_slide p):not(.et_pb_testimonial p):not(.et_pb_tab p):not(.et_pb_circle_counter p):not(.et_pb_number_counter p):not(#footer-info),
.et_pb_text,
.et_pb_blurb,
.et_pb_toggle,
.et_pb_promo,
.et_pb_subscribe,
.et_pb_newsletter,
.et_pb_team_member,
.et_pb_slider,
.et_pb_pricing_table,
.et_pb_slide,
.et_pb_testimonial,
.et_pb_tab,
.et_pb_circle_counter,
.et_pb_number_counter,
.et_pb_column .et_quote_content blockquote cite,
.et_pb_column .et_link_content a.et_link_main_url,
.et_pb_blog_grid .et_quote_content blockquote cite,
.et_pb_post .post-content,
.et_pb_counter_title,
.et_pb_counter_amount,
.et_pb_slide_content,
.et-menu li,
.et_pb_filterable_portfolio .et_pb_portfolio_filters li,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.et_pb_post .post-meta,
.nav-single a {
	font-size: clamp(1rem, 0.26vw + 0.93rem, 1.25rem);
	line-height: 1.7em;
}

/* --- Headings: fluid modular scale -------------------------------------- */
h1,
.et_pb_pagebuilder_layout .page .post-content h1,
.et_pb_title_container h1,
.et_pb_column_1_3 h1, .et_pb_column_1_4 h1, .et_pb_column_1_5 h1,
.et_pb_column_1_6 h1, .et_pb_column_2_5 h1 {
	font-size: clamp(2.49rem, 1.4vw + 2.14rem, 3.81rem);
	line-height: 1.4em;
}
@media (max-width: 767px) {
	h1,
	.et_pb_pagebuilder_layout .page .post-content h1,
	.et_pb_title_container h1,
	.et_pb_column_1_3 h1, .et_pb_column_1_4 h1, .et_pb_column_1_5 h1,
	.et_pb_column_1_6 h1, .et_pb_column_2_5 h1 {
		font-size: 3rem;
	}
}

h2,
.et_pb_blog_grid h2,
.et_pb_slide_description .et_pb_slide_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.et_pb_portfolio_grid .et_pb_portfolio_item h2,
.et_pb_filterable_portfolio_grid .et_pb_portfolio_item h2,
.et_pb_column_1_3 h2, .et_pb_column_1_4 h2, .et_pb_column_1_5 h2,
.et_pb_column_1_6 h2, .et_pb_column_2_5 h2 {
	font-size: clamp(2.07rem, 1.03vw + 1.82rem, 3.05rem);
	line-height: 1.2em;
}

h3,
.et_pb_circle_counter h3,
.et_pb_number_counter h3,
.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3,
.et_pb_column_1_6 h3, .et_pb_column_2_5 h3 {
	font-size: clamp(1.73rem, 0.75vw + 1.54rem, 2.44rem);
	line-height: 1.4em;
}

h4,
.et_pb_column_1_3 h4, .et_pb_column_1_4 h4, .et_pb_column_1_5 h4,
.et_pb_column_1_6 h4, .et_pb_column_2_5 h4 {
	font-size: clamp(1.44rem, 0.54vw + 1.3rem, 1.95rem);
	line-height: 1.4em;
}

h5,
.et_pb_column_1_3 h5, .et_pb_column_1_4 h5, .et_pb_column_1_5 h5,
.et_pb_column_1_6 h5, .et_pb_column_2_5 h5 {
	font-size: clamp(1.2rem, 0.38vw + 1.1rem, 1.56rem);
	line-height: 1.4em;
}

h6,
.et_pb_column_1_3 h6, .et_pb_column_1_4 h6, .et_pb_column_1_5 h6,
.et_pb_column_1_6 h6, .et_pb_column_2_5 h6 {
	font-size: clamp(0.83rem, 0.18vw + 0.79rem, 1rem);
	line-height: 0.799em;
}

/* --- Hero / sub-heading classes (from DRH custom media queries) --------- */
@media (min-width: 981px) {
	.main-title h1 { line-height: 1.2em; font-size: 5rem; }
	.main-title h2 { font-size: 3rem; }
	.sub-heading h2 { color: #8c5951; line-height: 1rem !important; font-size: 1.8rem !important; text-transform: uppercase; }
}
@media (min-width: 768px) and (max-width: 980px) {
	.main-title h1 { line-height: 1.2em; font-size: clamp(2.49rem, 1.4vw + 2.14rem, 3.81rem); }
	.main-title h2 { font-size: 3rem; }
	.sub-heading h2 { color: #8c5951; line-height: 1rem !important; font-size: 1.6rem !important; text-transform: uppercase; }
}
@media (min-width: 300px) and (max-width: 767px) {
	.main-title h1 { line-height: 1.2em; font-size: 3rem; }
	.main-title h2 { font-size: 3rem; }
	.sub-heading h2 { color: #8c5951; line-height: 1rem !important; font-size: 1.4rem !important; text-transform: uppercase; }
}

/* ============================================================================
   Footer library-layout embed background (added 2026-07-10)
   The Theme Builder footer embeds Divi Library layout 197 via a
   [divi_library_layout] shortcode in a Code module. Divi 5 renders that
   embedded content but does NOT compile its styles, so the layout's section
   loses its navy background (#332224, still present in the layout's JSON)
   and falls back to Divi's default white — hiding the white footer menu.
   Durable fix: rebuild the footer content natively in the Theme Builder
   template and drop the shortcode embed; then remove this rule.
   ========================================================================= */
.et-l--footer .et_pb_code_inner .et_pb_section {
	background-color: #332224;
}

/* ============================================================================
   Background-video hero sizing (added 2026-07-10) — Bug #1
   D4→D5 migrated section background videos: Divi 5 renders them client-side
   through MediaElement.js but (unlike Divi 4's JS) never sizes the player,
   so the video collapses to MediaElement's 300x150 default inside the
   otherwise-correct absolute .et-pb-background-video container.
   Affects: Home, Atlanta, Dallas, Jacksonville heroes.
   This reproduces D4's JS cover-sizing in pure CSS. Remove if the heroes are
   ever re-saved in the VB with a native D5 background video that sizes itself.
   ========================================================================= */
.et-pb-background-video .mejs-container,
.et-pb-background-video mediaelementwrapper,
.et-pb-background-video .mejs-inner,
.et-pb-background-video .mejs-mediaelement,
.et-pb-background-video video {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}
.et-pb-background-video video {
	object-fit: cover;
	left: 0 !important;
	top: 0 !important;
	right: auto !important;
	transform: none !important;
}
/* Divi core centers the player with left:50% + a JS-set negative margin that
   never gets set on migrated content — pin it instead */
.et-pb-background-video .mejs-container {
	left: 0 !important;
	top: 0 !important;
}
/* MediaElement chrome has no place on a background video */
.et-pb-background-video .mejs-controls,
.et-pb-background-video .mejs-overlay-play {
	display: none !important;
}

/* ---- ported from dev 2026-07-17 ---- */
/* FIS Integrated Payables landing page — benefit blurb icons (added 2026-07-17).
   Divi caps left-placed blurb images at 32px; the design calls for ~64px. */
.fis-benefit.et_pb_blurb.et_pb_blurb_position_left .et_pb_main_blurb_image {
	width: 64px;
}
.fis-benefit.et_pb_blurb.et_pb_blurb_position_left .et_pb_main_blurb_image img {
	width: 100%;
	max-width: 64px;
}
.fis-benefit.et_pb_blurb.et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 24px;
}
/* Benefits heading: align with the 600px blurb column (Divi ignores this
   module's max_width attr due to a pre-existing responsive-edit state) */
.fis-benefits-heading.et_pb_text {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.fis-benefits-heading h2 {
	color: #FFFFFF;
}
/* D5 compat: .et-waypoint hides elements at opacity 0, but unlike D4 it never
   reveals ones whose animation is "off" — force the benefit icons visible */
.fis-benefit .et-waypoint.et_pb_animation_off {
	opacity: 1 !important;
}

/* Expertise tabs: orange active-tab underline (parity with dev's D4 styling,
   which draws it via a::after in Theme Options CSS). Added 2026-07-18. */
.expertise-tabs .et_pb_tab_active a {
	position: relative;
}
.expertise-tabs .et_pb_tab_active a::after {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: #763936;
}

/* ============================================================================
   Leadership FlipBox caption band (About page) — Bug #2, added 2026-07-18.
   Divi Supreme's D5 FlipBox render drops the D4 caption-band styling: the
   text container (.dsm_flipbox_face_inner) loses its opaque background and
   padding, and the face background-size falls back to auto — so names render
   overlaid on the photo. Restores dev's geometry (band #f5f2ec, 32px pad,
   25px names, cover-sized photo). Page-scoped; remove if the flipboxes are
   ever restyled natively in the VB.
   ========================================================================= */
.page-id-114 .dsm-flipbox .dsm_flipbox_child {
	background-size: cover !important;
}
.page-id-114 .dsm-flipbox .dsm_flipbox_face_inner {
	background-color: #f5f2ec;
	padding-top: 32px;
}
/* Flip box titles: shared by Meet Conlan (114) and the homepage service boxes (was .page-id-114 only, widened 2026-11-03). */
.dsm-flipbox .dsm_flipbox_face_inner .dsm-title {
	font-size: 25px !important;
}
