/*
 Theme Name:   ILH Theme
 Theme URI:    https://dev.integralleadersinhealth.com
 Description:  Custom child theme for Integral Leaders in Health, built on Divi.
 Author:       ILH Development
 Author URI:   https://integralleadersinhealth.com
 Template:     Divi
 Version:      1.0.1
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  ilh-theme
*/

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap");

:root {
    --ilh-navy:    #172A3A;
    --ilh-light:   #E8F2FA;
    --ilh-teal:    #6B9BAD;
    --ilh-black:   #000000;
    --ilh-white:   #FFFFFF;
    --ilh-gray-blue: #9aabb8;
    --font-body:   "Avenir", "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
    --font-heading:"Cormorant Garamond", serif;
    --font-accent: Georgia, "Times New Roman", serif;
}

/* ===========================
   GLOBAL BODY
   =========================== */
body,
body.et_divi_theme {
    background-color: var(--ilh-navy) !important;
    color: var(--ilh-navy);
    font-family: var(--font-body);
    font-weight: 400;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===========================
   TYPOGRAPHY
   =========================== */
h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_slide_description .et_pb_slide_title {
    font-family: var(--font-heading) !important;
    color: var(--ilh-navy);
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.5px;
}

h1 { font-size: 3rem; }
h2 { font-size: 2.4rem; }
h3 { font-size: 1.8rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.15rem; }
h6 { font-size: 1rem; }

.ilh-accent {
    font-style: italic;
    font-family: var(--font-accent);
}

/* ===========================
   NAVIGATION / HEADER
   =========================== */
#main-header,
#main-header.et-fixed-header {
    background-color: var(--ilh-navy) !important;
    position: sticky !important;
    top: 0;
    z-index: 99999;
    box-shadow: none !important;
    border-bottom: none !important;
    min-height: 66px;
    max-height: 80px !important;
    overflow: visible !important;
}

/* Remove any secondary nav bar / top bar */
#top-header {
    display: none !important;
}

/* Ensure page container has no top padding from header */
#page-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

#et-main-area {
    padding-top: 0 !important;
}

/* Header container - horizontal flex layout */
.et_header_style_left .container.clearfix.et_menu_container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-height: 80px !important;
    overflow: visible !important;
}

/* Logo */
.logo_container {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
}

#logo {
    max-height: 44px !important;
    width: auto !important;
    filter: brightness(0) invert(1);
}

/* Top navigation wrapper */
#et-top-navigation {
    display: flex !important;
    align-items: center !important;
    float: none !important;
    padding-top: 0 !important;
    max-height: 66px !important;
}

/* Desktop nav */
#top-menu-nav {
    display: block !important;
}

/* Top menu - horizontal flex */
#top-menu,
#top-menu.nav {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Menu items - inline with spacing */
#top-menu > li {
    display: inline-block !important;
    float: none !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Nav link styling */
#top-menu > li > a,
.et_nav_text_color_light #top-menu > li > a {
    color: var(--ilh-white) !important;
    text-transform: lowercase !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    padding: 20px 28px !important;
    display: block !important;
    line-height: 1.4 !important;
    transition: color 0.3s ease, opacity 0.3s ease;
    text-decoration: none !important;
}

#top-menu > li > a:hover {
    color: var(--ilh-teal) !important;
    opacity: 0.9;
}

#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a {
    color: var(--ilh-teal) !important;
}

/* ===========================
   DROPDOWN SUBMENU (projects)
   =========================== */
/* Hide dropdown by default */
#top-menu li ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    background-color: var(--ilh-navy) !important;
    border: none !important;
    border-top: 2px solid var(--ilh-teal) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    padding: 8px 0 !important;
    min-width: 220px !important;
    list-style: none !important;
    margin: 0 !important;
}

/* Show dropdown on hover */
#top-menu li:hover > ul.sub-menu {
    display: block !important;
}

/* Dropdown items */
#top-menu li ul.sub-menu li {
    display: block !important;
    float: none !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

#top-menu li ul.sub-menu li a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    padding: 10px 24px !important;
    display: block !important;
    text-transform: none !important;
    font-family: var(--font-body) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#top-menu li ul.sub-menu li a:hover {
    background-color: rgba(107,155,173,0.15) !important;
    color: var(--ilh-teal) !important;
}

/* ===========================
   HIDE MOBILE MENU AT DESKTOP
   =========================== */
.et_mobile_menu,
#mobile_menu,
.mobile_menu_bar,
.et_mobile_nav_menu {
    display: none !important;
}

/* Hide Divi search icon in nav */
.et_search_outer,
#et_search_icon,
.et-search-form {
    display: none !important;
}

/* Mobile menu bar (hamburger) - show only on mobile */
@media (max-width: 980px) {
    .mobile_menu_bar {
        display: block !important;
    }
    .mobile_menu_bar::before {
        color: var(--ilh-white) !important;
    }
    #top-menu-nav {
        display: none !important;
    }
    .et_mobile_menu.opened {
        display: block !important;
    }
}

/* ===========================
   HERO SECTION (homepage)
   =========================== */
.ilh-hero-section,
.ilh-hero-section.et_pb_section {
    min-height: calc(100vh - 70px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ilh-hero-section .et_pb_row,
.ilh-hero-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: calc(100vh - 200px);
}

/* ===========================
   "A CHANGE ORGANIZATION" BOX
   =========================== */
.ilh-change-org {
    text-align: center !important;
}

.ilh-change-org h2 {
    display: inline-block !important;
    border: 1px solid rgba(107,155,173,0.4) !important;
    padding: 18px 40px !important;
    color: #E8F2FA !important;
}

/* ===========================
   SECTION BACKGROUNDS
   =========================== */
.ilh-dark-bg,
.ilh-dark-bg .et_pb_module_header,
.ilh-dark-bg h1,
.ilh-dark-bg h2,
.ilh-dark-bg h3,
.ilh-dark-bg h4,
.ilh-dark-bg h5,
.ilh-dark-bg h6 {
    background-color: var(--ilh-navy);
    color: var(--ilh-white) !important;
}

.ilh-dark-bg p,
.ilh-dark-bg li,
.ilh-dark-bg span {
    color: var(--ilh-white);
}

.ilh-light-bg {
    background-color: var(--ilh-light);
}

/* ===========================
   HEADSHOT STYLES (dark bg - homepage)
   =========================== */
.ilh-headshot,
.ilh-headshot img,
.ilh-headshot-dark,
.ilh-headshot-dark img {
    border-radius: 0;
    max-width: 200px;
    height: auto;
    object-fit: cover;
}

.ilh-headshot-dark img {
    border: 2px solid rgba(107,155,173,0.3);
}

/* ===========================
   LEADER SECTION (Leaders page) - CRITICAL FIXES
   =========================== */
.ilh-leader-section {
    padding: 0 !important;
}

.ilh-leader-section .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ilh-leader-section .et_pb_row .et_pb_column {
    padding-bottom: 0 !important;
}

/* Photo column - ensure image fills and covers */
.ilh-leader-section .ilh-leader-photo,
.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap,
.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap img {
    object-fit: cover !important;
    min-height: 600px;
    max-height: 750px;
}

/* Make both columns in leader section equal height */
.ilh-leader-section .et_pb_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

.ilh-leader-section .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
}

.ilh-leader-section .et_pb_column .et_pb_module {
    flex: 1;
}

/* Photo module should fill entirely */
.ilh-leader-section .ilh-leader-photo {
    position: relative;
    overflow: hidden;
    flex: 1 !important;
    min-height: 600px;
}

.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    min-height: auto !important;
    max-height: none !important;
}

/* ===========================
   HERO WITH OVERLAY (for inner pages like leaders hero)
   =========================== */
.ilh-hero {
    position: relative;
}

.ilh-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(23, 42, 58, 0.55);
    pointer-events: none;
    z-index: 1;
}

.ilh-hero .et_pb_row {
    position: relative;
    z-index: 2;
}

/* ===========================
   BOOK IMAGE
   =========================== */
.ilh-book img,
img.ilh-book,
.ilh-book .et_pb_image_wrap img {
    max-width: 450px;
    height: auto;
    box-shadow: 4px 8px 24px rgba(0, 0, 0, 0.3);
}

/* ===========================
   BUTTONS
   =========================== */
.et_pb_button,
.et_pb_button:hover,
.et_pb_more_button,
body .woocommerce a.button,
body .woocommerce .button {
    background-color: var(--ilh-teal) !important;
    border-color: var(--ilh-teal) !important;
    color: var(--ilh-white) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    padding: 14px 32px !important;
    border-radius: 2px;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.et_pb_button:hover {
    background-color: var(--ilh-navy) !important;
    border-color: var(--ilh-navy) !important;
    transform: translateY(-1px);
}

.et_pb_button::after {
    display: none !important;
}

/* ===========================
   FOOTER
   =========================== */
#main-footer {
    background-color: var(--ilh-navy) !important;
    border-top: 1px solid rgba(107,155,173,0.15) !important;
    padding-top: 30px !important;
}

#footer-widgets {
    display: none !important;
}

#footer-bottom {
    background-color: var(--ilh-navy) !important;
    padding: 20px 0 !important;
}

#footer-info {
    background-color: var(--ilh-navy) !important;
    color: rgba(232,242,250,0.7) !important;
    font-family: var(--font-heading) !important;
    font-style: italic;
    font-size: 13px;
    text-align: center !important;
    padding: 15px 0 !important;
}

#footer-info a {
    color: var(--ilh-teal) !important;
}

/* Hide Divi default social icons in footer */
#footer-bottom .et-social-icons {
    display: none !important;
}

/* Style footer info text */
#footer-bottom .container {
    text-align: center !important;
    display: block !important;
}

#footer-bottom .container p#footer-info {
    float: none !important;
    text-align: center !important;
    width: 100% !important;
}

/* Hide footer on blank template (homepage) */
.page-template-page-template-blank-php #main-footer {
    display: none !important;
}

/* ===========================
   CONTACT FORM
   =========================== */
.et_pb_contact_form .et_pb_contact_field input,
.et_pb_contact_form .et_pb_contact_field textarea,
.et_pb_contact_form .input {
    background-color: var(--ilh-white);
    border: 1px solid #ccd9e1;
    color: var(--ilh-navy);
    font-family: var(--font-body);
    font-size: 14px;
    padding: 12px 16px;
    border-radius: 2px;
    transition: border-color 0.3s ease;
}

.et_pb_contact_form .et_pb_contact_field input:focus,
.et_pb_contact_form .et_pb_contact_field textarea:focus {
    border-color: var(--ilh-teal);
    outline: none;
    box-shadow: 0 0 0 2px rgba(107, 155, 173, 0.25);
}

.et_pb_contact_form label {
    font-family: var(--font-body);
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--ilh-navy);
}

/* ===========================
   LINKS
   =========================== */
a {
    color: var(--ilh-teal);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--ilh-navy);
}

/* ===========================
   DIVI OVERRIDES
   =========================== */

/* Remove default Divi section padding where we set custom */
.et_pb_section {
    padding: 40px 0;
}

/* Ensure Divi dividers look clean */
.et_pb_divider .et_pb_divider_internal {
    border-color: var(--ilh-teal) !important;
}

/* Remove extra spacing Divi adds */
.et_pb_section:first-child {
    padding-top: 0;
}

/* Divi social media follow icons */
.et_pb_social_media_follow li a.icon {
    color: var(--ilh-white) !important;
    background: transparent !important;
}

.et_pb_social_media_follow li a.icon:hover {
    color: var(--ilh-teal) !important;
}

.et_pb_social_media_follow li a {
    background: transparent !important;
}

/* ===========================
   BOOK SECTION SPECIFIC
   =========================== */
.ilh-book-section .et_pb_text_inner p {
    color: #E8F2FA;
}

.ilh-book-section .et_pb_text_inner h2 {
    color: #E8F2FA !important;
}

/* ===========================
   BLOG / ARTICLES STYLING
   =========================== */
.et_pb_blog_grid .et_pb_post {
    background: var(--ilh-white);
    border: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.et_pb_blog_grid .et_pb_post h2 a {
    color: var(--ilh-navy) !important;
    font-family: var(--font-heading) !important;
    font-weight: 400;
}

.et_pb_blog_grid .entry-featured-image-url img {
    object-fit: cover;
}

.et_pb_post .post-meta {
    color: var(--ilh-teal);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ===========================
   PROJECTS PAGE - Hero section fix
   =========================== */
.ilh-projects-hero .et_pb_row {
    display: flex !important;
    align-items: stretch !important;
}

/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 980px) {
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.4rem; }

    .ilh-hero-section,
    .ilh-hero-section.et_pb_section {
        min-height: 60vh !important;
    }

    .ilh-hero-section .et_pb_row,
    .ilh-hero-row {
        min-height: 50vh;
    }

    .ilh-headshot,
    .ilh-headshot img,
    .ilh-headshot-dark,
    .ilh-headshot-dark img {
        max-width: 160px;
    }

    .ilh-book img,
    img.ilh-book,
    .ilh-book .et_pb_image_wrap img {
        max-width: 300px;
    }

    #logo {
        max-height: 40px !important;
    }

    /* Leader sections stack on tablet */
    .ilh-leader-section .et_pb_row {
        flex-wrap: wrap !important;
    }

    .ilh-leader-section .ilh-leader-photo {
        min-height: 400px;
    }
}

@media (max-width: 767px) {
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.2rem; }

    body,
    body.et_divi_theme {
        font-size: 15px;
    }

    .ilh-hero-section,
    .ilh-hero-section.et_pb_section {
        min-height: 50vh !important;
    }

    .et_pb_button {
        font-size: 12px;
        padding: 10px 20px !important;
    }

    .ilh-headshot,
    .ilh-headshot img,
    .ilh-headshot-dark,
    .ilh-headshot-dark img {
        max-width: 120px;
    }

    .ilh-book img,
    img.ilh-book,
    .ilh-book .et_pb_image_wrap img {
        max-width: 200px;
    }

    .ilh-leader-section .ilh-leader-photo {
        min-height: 300px;
    }
}

/* ===========================
   FOOTER EMAIL SIGNUP & SOCIAL
   =========================== */
.ilh-footer-signup {
    background-color: var(--ilh-navy) !important;
    border-top: 1px solid rgba(107,155,173,0.2);
    padding: 0;
    text-align: center;
}

.ilh-footer-inner {
    max-width: 600px;
    margin: 0 auto;
    padding: 40px 20px 30px;
}

.ilh-footer-cta {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: rgba(232,242,250,0.6) !important;
    margin-bottom: 12px !important;
}

.ilh-footer-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}

.ilh-footer-form input[type="email"] {
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(232,242,250,0.4);
    color: var(--ilh-white);
    font-family: var(--font-body);
    font-size: 13px;
    padding: 8px 12px;
    width: 220px;
    outline: none;
    transition: border-color 0.3s;
}

.ilh-footer-form input[type="email"]:focus {
    border-bottom-color: var(--ilh-teal);
}

.ilh-footer-form input[type="email"]::placeholder {
    color: rgba(232,242,250,0.4);
    font-size: 12px;
}

.ilh-footer-form button {
    background: transparent;
    border: 1px solid rgba(107,155,173,0.5);
    color: var(--ilh-teal);
    font-family: var(--font-body);
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 8px 18px;
    cursor: pointer;
    transition: all 0.3s;
}

.ilh-footer-form button:hover {
    background: var(--ilh-teal);
    color: var(--ilh-white);
}

.ilh-footer-social {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
}

.ilh-footer-social a {
    color: rgba(232,242,250,0.5) !important;
    transition: color 0.3s;
    display: inline-flex;
    align-items: center;
}

.ilh-footer-social a:hover {
    color: var(--ilh-teal) !important;
}

.ilh-footer-copyright {
    font-size: 11px;
    color: rgba(232,242,250,0.4);
    font-family: var(--font-body);
}

.ilh-footer-copyright a {
    color: rgba(232,242,250,0.5) !important;
    text-decoration: none;
}

.ilh-footer-copyright a:hover {
    color: var(--ilh-teal) !important;
}

/* Hide default Divi footer content since we have custom */
#footer-widgets {
    display: none !important;
}

#footer-bottom {
    display: none !important;
}

/* ===========================
   ARTICLES PAGE - FULLWIDTH BLOG IMPROVEMENTS
   =========================== */
.et_pb_posts .et_pb_post {
    background: var(--ilh-light) !important;
    margin-bottom: 0 !important;
    border-bottom: 1px solid rgba(107,155,173,0.15) !important;
    padding: 0 !important;
}

.et_pb_posts.et_pb_module .et_pb_post .entry-featured-image-url {
    margin-bottom: 0 !important;
}

.et_pb_posts .et_pb_post .entry-featured-image-url img {
    width: 100% !important;
    max-height: 400px !important;
    object-fit: cover !important;
}

.et_pb_posts .et_pb_post h2.entry-title {
    font-family: var(--font-heading) !important;
    font-weight: 300 !important;
    color: var(--ilh-navy) !important;
    font-size: 1.8rem !important;
    padding: 20px 30px 5px !important;
}

.et_pb_posts .et_pb_post h2.entry-title a {
    color: var(--ilh-navy) !important;
}

.et_pb_posts .et_pb_post .post-meta {
    padding: 0 30px !important;
    color: var(--ilh-teal) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.et_pb_posts .et_pb_post .post-content,
.et_pb_posts .et_pb_post .post-content-inner {
    padding: 10px 30px 30px !important;
    color: #333 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* ===========================
   CONNECT PAGE IMPROVEMENTS
   =========================== */
.et_pb_contact_form_container {
    background: transparent !important;
}

.et_pb_contact_form .et_pb_contact_field {
    margin-bottom: 16px !important;
}

.et_pb_contact_form .et_pb_contact_field input,
.et_pb_contact_form .et_pb_contact_field textarea {
    background-color: var(--ilh-white) !important;
    border: 1px solid #ccd9e1 !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
}

.et_pb_contact_form .et_pb_contact_submit {
    background-color: var(--ilh-teal) !important;
    border-color: var(--ilh-teal) !important;
    color: var(--ilh-white) !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 12px !important;
    padding: 12px 30px !important;
    border-radius: 0 !important;
}

/* ===========================
   PROJECTS PAGE HERO IMPROVEMENTS
   =========================== */
.ilh-projects-hero {
    position: relative;
    overflow: hidden;
}

/* ===========================
   GENERAL SECTION SPACING IMPROVEMENTS
   =========================== */
.et_pb_section.ilh-dark-bg {
    background-color: var(--ilh-navy) !important;
}

.et_pb_section.ilh-light-bg {
    background-color: var(--ilh-light) !important;
}

/* Improve text readability on light backgrounds */
.ilh-light-bg p,
.ilh-light-bg li {
    color: #333;
}

/* Improve text on dark backgrounds */
.ilh-dark-bg p {
    color: rgba(232,242,250,0.85);
}

/* ===========================
   LEADER PHOTOS - MORE FULL BLEED
   =========================== */
.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap img {
    object-position: center 20% !important;
}

/* ===========================
   ARTICLES PAGE FULLWIDTH BLOG - ENHANCED
   =========================== */
.ilh-articles-page .et_pb_post.et_pb_no_thumb {
    padding: 30px !important;
}

.ilh-articles-page .et_pb_post {
    border-bottom: 1px solid rgba(23,42,58,0.1) !important;
}

.ilh-articles-page .et_pb_post .post-meta {
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--ilh-teal) !important;
    margin-bottom: 5px !important;
}

.ilh-articles-page .et_pb_post .post-meta .published {
    color: var(--ilh-teal) !important;
}

.ilh-articles-page .et_pb_post .post-meta a {
    color: var(--ilh-teal) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

/* Category labels style - match original Wix look */
.ilh-articles-page .et_pb_post .post-meta .post-meta-cat {
    background: var(--ilh-teal);
    color: var(--ilh-white) !important;
    padding: 2px 8px;
    font-size: 10px;
    letter-spacing: 1px;
}

/* Fullwidth blog post images */
.ilh-articles-page .et_pb_post .entry-featured-image-url {
    display: block !important;
    margin-bottom: 0 !important;
}

.ilh-articles-page .et_pb_post .entry-featured-image-url img {
    width: 100% !important;
    height: 350px !important;
    object-fit: cover !important;
}

.ilh-articles-page .et_pb_post h2.entry-title {
    font-family: var(--font-heading) !important;
    font-weight: 300 !important;
    font-size: 26px !important;
    color: var(--ilh-navy) !important;
    margin-top: 20px !important;
    margin-bottom: 8px !important;
    padding: 0 20px !important;
}

.ilh-articles-page .et_pb_post h2.entry-title a {
    color: var(--ilh-navy) !important;
    text-decoration: none !important;
}

.ilh-articles-page .et_pb_post .post-content {
    padding: 0 20px 25px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #333 !important;
}

/* ===========================
   CONNECT MAP AREA - DARK THEME
   =========================== */
.et_pb_code iframe[src*="openstreetmap"] {
    filter: saturate(0.3) brightness(0.6) contrast(1.2) !important;
}

/* ===========================
   PROJECTS SIGNUP SECTION
   =========================== */
.ilh-projects-signup .et_pb_newsletter_form input[type="email"] {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(232,242,250,0.4) !important;
    color: var(--ilh-white) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    border-radius: 0 !important;
}

.ilh-projects-signup .et_pb_newsletter_button {
    background: transparent !important;
    border: 1px solid rgba(107,155,173,0.5) !important;
    color: var(--ilh-teal) !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 8px 18px !important;
    border-radius: 0 !important;
}

/* ===========================
   LEADER SECTION PHOTO FILL IMPROVEMENTS
   =========================== */
.ilh-leader-section .et_pb_column[style*="background-color:#9aabb8"],
.ilh-leader-section .et_pb_column[style*="background-color: #9aabb8"] {
    overflow: hidden !important;
    position: relative !important;
}

.ilh-leader-section .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 550px !important;
}

.ilh-leader-section .et_pb_image_wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    min-height: 550px !important;
}

/* Make leader row truly stretch both columns */
.ilh-leader-section > .et_pb_row {
    display: flex !important;
    align-items: stretch !important;
    min-height: 550px !important;
}

.ilh-leader-section > .et_pb_row > .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
    min-height: 550px !important;
}

/* Text column should vertically center content */
.ilh-leader-section > .et_pb_row > .et_pb_column[style*="background-color:#172A3A"],
.ilh-leader-section > .et_pb_row > .et_pb_column[style*="background-color: #172A3A"] {
    justify-content: center !important;
}

/* ===========================
   HOMEPAGE FOOTER SECTION IMPROVEMENTS
   =========================== */
/* The in-page footer section on homepage before the actual footer */
.et_pb_section:last-of-type .et_pb_text a[href="/connect"] {
    color: var(--ilh-teal) !important;
}

/* ===========================
   DIVI SOCIAL ICONS - CONSISTENT STYLING
   =========================== */
.et_pb_social_media_follow_network_0 .icon,
.et_pb_social_media_follow_network_1 .icon,
.et_pb_social_media_follow_network_2 .icon,
.et_pb_social_media_follow_network_3 .icon {
    color: rgba(232,242,250,0.6) !important;
    background: transparent !important;
    font-size: 18px !important;
}

.et_pb_social_media_follow li a:hover .icon {
    color: var(--ilh-teal) !important;
}

.et_pb_social_media_follow li {
    margin: 0 8px !important;
}

/* Remove background circles from social icons */
.et_pb_social_media_follow li a {
    background: transparent !important;
    border: none !important;
}

/* ===========================
   CONNECT PAGE - FORM LAYOUT MATCHING ORIGINAL
   =========================== */
/* Original has Name and Message side by side in first row */
.et_pb_contact_form .et_pb_contact_field_half {
    width: 48% !important;
    float: left !important;
    margin-right: 4% !important;
}

.et_pb_contact_form .et_pb_contact_field_half:nth-child(2n) {
    margin-right: 0 !important;
}

/* ===========================
   FINAL POLISH - SOCIAL ICONS FIX
   =========================== */
/* Hide "Follow" text on social media follow modules */
.et_pb_social_media_follow li .et_pb_social_media_follow_network_name {
    display: none !important;
}

/* Ensure social icons are compact without text */
.et_pb_social_media_follow li a {
    background: transparent !important;
    padding: 5px !important;
    margin: 0 4px !important;
}

.et_pb_social_media_follow li {
    display: inline-block !important;
    margin: 0 4px !important;
}

.et_pb_social_media_follow {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Social icon colors on dark backgrounds */
.ilh-dark-bg .et_pb_social_media_follow li a .icon,
[class*="ilh-dark"] .et_pb_social_media_follow li a .icon,
.et_pb_section[style*="background-color:#172A3A"] .et_pb_social_media_follow li a .icon,
.et_pb_section[style*="background-color: #172A3A"] .et_pb_social_media_follow li a .icon {
    color: rgba(232,242,250,0.6) !important;
}

/* ===========================
   HOMEPAGE - FINE TUNING
   =========================== */
/* Make the "a change organization" box more prominent */
.ilh-change-org h2 {
    font-size: 28px !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
}

/* Leaders headshot section on homepage - improve grid */
.ilh-headshot-dark {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.ilh-headshot-dark img {
    filter: grayscale(0.3) !important;
    max-width: 180px !important;
    margin: 0 auto !important;
}

/* ===========================
   LEADERS PAGE - PHOTO FILL IMPROVEMENTS
   =========================== */
/* Ensure equal height columns in leader sections */
.ilh-leader-section .et_pb_row.et_pb_equal_columns {
    display: flex !important;
    align-items: stretch !important;
}

/* Make photos take up full height */
.ilh-leader-section .ilh-leader-photo {
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap {
    flex: 1 !important;
    min-height: 500px !important;
}

.ilh-leader-section .ilh-leader-photo .et_pb_image_wrap img {
    min-height: 500px !important;
    object-fit: cover !important;
    object-position: center 20% !important;
}

/* ===========================
   PROJECTS PAGE - HERO FIX
   =========================== */
/* Projects hero with hourglass - ensure overlay */
.ilh-projects-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(23, 42, 58, 0.6);
    pointer-events: none;
    z-index: 1;
}

.ilh-projects-hero .et_pb_row {
    position: relative;
    z-index: 2;
}

/* ===========================
   CONNECT PAGE - MAP AREA
   =========================== */
/* Style the map replacement area */
.et_pb_code_inner > div[style*="height:400px"] {
    background: #1a2d3d !important;
}

/* ===========================
   GLOBAL - Divi Module Override Fixes
   =========================== */
/* Remove Divi default bottom margin on sections */
.et_pb_section + .et_pb_section {
    margin-top: 0 !important;
}

/* Ensure text modules inherit correct font */
.et_pb_text_inner {
    font-family: var(--font-body) !important;
}

/* Fix Divi's default blue link color */
.et_pb_text_inner a {
    color: var(--ilh-teal) !important;
}

/* Fix inline heading colors on dark sections */
.et_pb_section[style*="background-color:#172A3A"] h1,
.et_pb_section[style*="background-color:#172A3A"] h2,
.et_pb_section[style*="background-color:#172A3A"] h3,
.et_pb_section[style*="background-color: #172A3A"] h1,
.et_pb_section[style*="background-color: #172A3A"] h2,
.et_pb_section[style*="background-color: #172A3A"] h3 {
    color: var(--ilh-white) !important;
}


/* ===========================
   ROUND 5 - PUSH TO 95% MATCH
   =========================== */

/* Only hide filterable portfolio filters (not blog modules) */
.et_pb_filterable_portfolio .et_pb_portfolio_filters {
    display: none !important;
}

/* Fix projects hero parallax - prevent transform from hiding background */
.ilh-projects-hero .et_parallax_bg {
    transform: translate(0px, 0px) !important;
    top: 0 !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* Projects page hero section - ensure dark navy bg */
.ilh-projects-hero {
    background-color: var(--ilh-navy) !important;
    min-height: 300px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ilh-projects-hero .et_pb_text_inner {
    color: var(--ilh-white) !important;
}

.ilh-projects-hero h1,
.ilh-projects-hero h2,
.ilh-projects-hero p {
    color: var(--ilh-white) !important;
}

/* --- CONNECT PAGE: Improve map placeholder area --- */
/* Make the map placeholder look more like a map area */
.et_pb_code_inner > div[style*="height:400px"] {
    background: linear-gradient(135deg, #1a2d3d 0%, #172A3A 50%, #1f3a4d 100%) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
}

.et_pb_code_inner > div[style*="height:400px"]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 2px solid rgba(107,155,173,0.3);
    border-radius: 50%;
}

.et_pb_code_inner > div[style*="height:400px"]::after {
    content: "📍";
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    opacity: 0.4;
}

/* --- HOMEPAGE: Refine bottom section with ILH logo --- */
/* The large ILH logo section at the bottom of homepage - make it less prominent */
.et_pb_section .ilh-dark-bg .et_pb_image_wrap img[src*="ilh-logo"] {
    max-width: 200px !important;
    opacity: 0.8;
}

/* --- GENERAL: Consistent section spacing --- */
/* Remove any extra white gaps between sections */
.et_pb_section {
    margin-bottom: 0 !important;
}

/* Ensure smooth transitions between dark and light sections */
.ilh-dark-bg + .ilh-light-bg,
.ilh-light-bg + .ilh-dark-bg {
    margin-top: 0 !important;
    padding-top: 40px !important;
}

/* --- LEADERS PAGE: Improve hero match --- */
/* The leaders hero should have white text centered with the ILH styling */
.ilh-hero .et_pb_text_inner h1,
.ilh-hero .et_pb_text_inner h2 {
    font-family: var(--font-heading) !important;
    font-weight: 300 !important;
    font-style: italic !important;
    color: var(--ilh-white) !important;
}

/* Ensure leader bio text columns have good padding */
.ilh-leader-section .et_pb_column[style*="background-color:#172A3A"] .et_pb_text_inner,
.ilh-leader-section .et_pb_column[style*="background-color: #172A3A"] .et_pb_text_inner {
    padding: 40px 50px !important;
}

/* --- ARTICLES PAGE: Clean up card spacing --- */
.et_pb_posts .et_pb_post:first-child {
    border-top: none !important;
}

.et_pb_posts .et_pb_post:last-child {
    border-bottom: none !important;
    margin-bottom: 30px !important;
}

/* --- FOOTER: Ensure consistent footer across all pages --- */
.ilh-footer-signup {
    margin-top: 0 !important;
    border-top: 1px solid rgba(107,155,173,0.15) !important;
}

/* Hide the Divi default footer since we have custom */
#main-footer {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ===========================
   ROUND 6 - PROJECTS HERO BG FIX
   =========================== */
/* With parallax off, ensure background image shows with overlay */
.ilh-projects-hero {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Semi-transparent overlay on hero to match original */
.ilh-projects-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(23, 42, 58, 0.55) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Keep hero content above overlay */
.ilh-projects-hero > .et_pb_row {
    position: relative !important;
    z-index: 2 !important;
}

/* Also ensure the signup section below hero looks clean */
.ilh-projects-signup {
    position: relative !important;
}

/* Force hourglass background on projects hero */
.ilh-projects-hero {
    background-image: url('/wp-content/uploads/2026/02/hourglass.jpg') !important;
}

/* ===========================
   ROUND 7 - FINAL POLISH FOR 95%
   =========================== */

/* Projects hero - lighter overlay to show hourglass more clearly */
.ilh-projects-hero::before {
    background: rgba(23, 42, 58, 0.4) !important;
}

/* Projects hero - taller to match original */
.ilh-projects-hero {
    min-height: 400px !important;
    padding: 100px 0 !important;
}

/* Projects signup section - clean up spacing */
.ilh-projects-signup .et_pb_newsletter_description {
    display: none !important;
}

/* Projects signup - style the email form to match original */
.ilh-projects-signup .et_pb_newsletter .et_pb_newsletter_form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
}

.ilh-projects-signup .et_pb_newsletter_form p {
    margin: 0 !important;
}

/* Leaders hero - increase height to show more of the background photos */
.ilh-hero.ilh-leaders-hero,
.et_pb_section_0.ilh-hero {
    min-height: 250px !important;
}

/* Connect page - make map placeholder taller with subtle visual interest */
.et_pb_section:has(.et_pb_code) .et_pb_code_inner > div[style*="height"] {
    min-height: 350px !important;
    background: linear-gradient(135deg, #172A3A 0%, #1a3245 40%, #1f3d52 70%, #172A3A 100%) !important;
}

/* Global - ensure Divi's default blue link color is overridden everywhere */
.entry-content a:not(.et_pb_button):not(.et_pb_newsletter_button) {
    color: var(--ilh-teal) !important;
}

/* Articles page - ensure "content" in nav shows active when on articles page */
.current-menu-item > a {
    color: var(--ilh-teal) !important;
}
