/* ============================================
   SafetyLink Custom CSS
   ============================================ */

/* Keep the 1920px source logo from flashing at its intrinsic size before Divi's deferred header CSS loads. */
.et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
    width: 150px;
    max-width: 150px;
}
.et_pb_section_0_tb_header .et_pb_menu__logo img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 980px) {
    .et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
        width: 150px !important;
        max-width: 150px !important;
    }
}

/* Homepage: hide duplicate post-hero headline block. The hero already carries this message. */
body.home .et_pb_section_2 {
    display: none !important;
}

/* Homepage hero dashboard: desktop companion that stacks below the CTA on small screens. */
@media only screen and (min-width: 1101px) {
    body.home .et_pb_section_0 {
        min-height: 650px !important;
        overflow: hidden !important;
        position: relative !important;
    }
    body.home .et_pb_section_0 .et_pb_row_0 {
        width: calc(100% - 96px) !important;
        max-width: 1280px !important;
        min-height: 650px !important;
        padding-top: 86px !important;
        padding-bottom: 72px !important;
        position: relative !important;
    }
    body.home .et_pb_section_0 .et_pb_column_0 {
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
    }
    body.home .et_pb_section_0 .et_pb_text_0,
    body.home .et_pb_section_0 .et_pb_heading_0,
    body.home .et_pb_section_0 .dsm_icon_list_0 {
        width: min(43%, 520px) !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        text-align: left !important;
    }
    body.home .et_pb_section_0 .et_pb_text_0 .et_pb_text_inner h1 {
        font-size: clamp(42px, 3.8vw, 60px) !important;
        text-align: left !important;
    }
    body.home .et_pb_section_0 .et_pb_heading_0 .et_pb_module_heading {
        text-align: left !important;
    }
    body.home .et_pb_section_0 .dsm_icon_list_0 .dsm_icon_list_items {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }
    body.home .sl-hero-dashboard {
        position: absolute;
        top: 50%;
        right: 0;
        width: min(52vw, 700px);
        height: auto;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        transform: translateY(-50%);
    }
    body.home .sl-hero-dashboard img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        filter: drop-shadow(0 18px 24px rgba(0, 22, 51, 0.28));
    }
}

@media only screen and (max-width: 1100px) {
    body.home .sl-hero-dashboard {
        display: block !important;
        position: relative !important;
        left: auto !important;
        width: 330px !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        margin: 28px 0 22px -22px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        background: transparent !important;
        transform: none !important;
    }
    body.home .sl-hero-dashboard img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        filter: drop-shadow(0 14px 20px rgba(0, 22, 51, 0.28));
    }
}

/* Tablet widths keep the stacked dashboard centered in the hero. */
@media only screen and (min-width: 768px) and (max-width: 1100px) {
    body.home .sl-hero-dashboard {
        margin-left: calc(40vw - 165px) !important;
    }
}

/* --- Sticky Header (both sections) --- */
/* NOTE: top value starts at 0; announcement bar JS sets it to 42px when bar is visible */
.et_pb_section_0_tb_header,
.et_pb_section_1_tb_header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
    width: 100% !important;
}

/* --- Desktop: use section_0 as main header --- */
@media only screen and (min-width: 981px) {
    .et_pb_section_0_tb_header.et_pb_section {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .et_pb_section_0_tb_header .et_pb_row_0_tb_header {
        width: calc(100% - 96px) !important;
        max-width: 1280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .et_pb_section_0_tb_header .et_pb_menu,
    .et_pb_section_0_tb_header .et_pb_menu_inner_container {
        width: 100% !important;
    }
    .et_pb_section_0_tb_header .et_pb_menu_inner_container {
        display: flex !important;
        align-items: center !important;
        position: relative !important;
        min-height: 80px !important;
    }
    .et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        position: relative !important;
        z-index: 3 !important;
    }
    .et_pb_section_0_tb_header .et_pb_menu__wrap {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Show full menu in section_0 */
    .et_pb_section_0_tb_header .et_pb_menu__menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }
    .et_pb_section_0_tb_header .mobile_menu_bar {
        display: none !important;
    }
    .et_pb_section_0_tb_header .et-menu > li {
        display: flex !important;
        align-items: center !important;
    }
    .et_pb_section_0_tb_header .et-menu > li:not(.lang-switch):not(.request-btn) {
        transform: translateX(11px) !important;
    }
    .et_pb_section_0_tb_header .et-menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        position: relative !important;
        padding: 0 clamp(220px, 22vw, 320px) !important;
    }
    .et_pb_section_0_tb_header .et-menu-nav {
        width: 100% !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.lang-switch {
        position: absolute !important;
        right: 180px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        height: auto !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.request-btn {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        height: auto !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.lang-switch > a,
    .et_pb_section_0_tb_header .et-menu > li.request-btn > a {
        display: inline-flex !important;
        align-items: center !important;
    }
    /* Hide section_1 */
    .et_pb_section_1_tb_header {
        display: none !important;
    }
    /* body padding-top is controlled by inject-cro.py (accounts for bar + header) */
    body { padding-top: 72px !important; }
}

/* --- Mobile/tablet --- */
@media only screen and (max-width: 980px) {
    .et_pb_section_1_tb_header {
        display: none !important;
    }

    .et_pb_section_0_tb_header.et_pb_section {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .et_pb_section_0_tb_header .et_pb_row_0_tb_header,
    .et_pb_section_0_tb_header .et_pb_column_0_tb_header,
    .et_pb_section_0_tb_header .et_pb_menu_0_tb_header {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .et_pb_section_0_tb_header .et_pb_row_0_tb_header {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* ---- Outer menu container: single horizontal row ---- */
    .et_pb_section_0_tb_header .et_pb_menu,
    .et_pb_section_0_tb_header .et_pb_menu_inner_container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        padding: 6px 0 !important;
    }

    /* Logo: left side, shrinks to fit */
    .et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
        flex: 1 1 auto !important;
        max-width: 55% !important;
        margin: 0 auto 0 0 !important;
    }

    /* Right side wrapper: green button + hamburger, side by side */
    .et_pb_section_0_tb_header .et_pb_menu__wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        flex: 0 0 auto !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    /* Menu list: horizontal, no wrapping */
    .et_pb_section_0_tb_header .et_pb_menu__menu {
        display: flex !important;
        align-items: center !important;
        clear: none !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .et_pb_section_0_tb_header .et-menu-nav,
    .et_pb_section_0_tb_header .et-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
    }

    /* Hide all nav links except the CTA green button in the header bar row. */
    .et_pb_section_0_tb_header .et_pb_menu__menu .et-menu > li:not(.request-btn) {
        display: none !important;
    }

    /* Green CTA button item */
    .et_pb_section_0_tb_header .et-menu > li.request-btn {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.request-btn > a {
        background-color: #00b737 !important;
        color: #fff !important;
        font-weight: 700 !important;
        font-size: 0 !important;
        padding: 8px 10px !important;
        border-radius: 6px !important;
        line-height: 1 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        box-shadow: 0 2px 4px rgba(0,183,55,0.25) !important;
        border: none !important;
        display: inline-block !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.request-btn > a::after {
        content: "Free Audit";
        position: static !important;
        display: inline !important;
        opacity: 1 !important;
        margin: 0 !important;
        font-family: inherit !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }
    html[lang="es"] .et_pb_section_0_tb_header .et-menu > li.request-btn > a::after {
        content: "Auditoría Gratis";
    }

    /* Hamburger icon: sits right of the green button */
    .et_pb_section_0_tb_header .et_mobile_nav_menu {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .et_pb_section_0_tb_header .mobile_nav {
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .et_pb_section_0_tb_header .mobile_menu_bar {
        display: block !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-size: 22px !important;
    }

    body { padding-top: 60px !important; }
}

/* --- CTA Button --- */
.et_pb_menu .et-menu li.request-btn {
    height: auto !important;
}
.et_pb_menu .et-menu li.request-btn > a {
    font-size: 14px !important;
    padding: 8px 22px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

@media only screen and (max-width: 980px) {
    body .et_pb_section_0_tb_header .et_pb_menu .et-menu li.request-btn > a {
        font-size: 0 !important;
        padding: 8px 10px !important;
        line-height: 1 !important;
    }

    body .et_pb_section_0_tb_header .et_pb_menu .et-menu li.request-btn > a::after {
        content: "Free Audit";
        position: static !important;
        display: inline !important;
        opacity: 1 !important;
        margin: 0 !important;
        font-family: inherit !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    html[lang="es"] body .et_pb_section_0_tb_header .et_pb_menu .et-menu li.request-btn > a::after {
        content: "Auditoría Gratis";
    }
}

@media only screen and (min-width: 981px) and (max-width: 1100px) {
    .et_pb_section_0_tb_header .et_pb_row_0_tb_header {
        width: calc(100% - 32px) !important;
    }
    .et_pb_section_0_tb_header .et-menu {
        padding-left: 190px !important;
        padding-right: 250px !important;
    }
    .et_pb_section_0_tb_header .et-menu > li:not(.lang-switch):not(.request-btn) > a {
        font-size: 12px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.lang-switch {
        right: 166px !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.lang-switch > a {
        font-size: 12px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    .et_pb_section_0_tb_header .et-menu > li.request-btn > a {
        font-size: 12px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* --- Language Switcher --- */
.et_pb_menu .et-menu li.lang-switch {
    height: auto !important;
}

/* --- Solutions Dropdown --- */
.et_pb_menu .sub-menu {
    min-width: 320px !important;
}
.et_pb_menu .sub-menu li a {
    white-space: nowrap !important;
    padding: 10px 20px !important;
}

/* --- SafetyLink: header visibility override ---
   Per CLAUDE.md / MEMORY.md: section_0 is the LIVE header on ALL breakpoints.
   section_1 is permanently hidden. */
@media only screen and (min-width: 981px) {
    .et_pb_section_0_tb_header.et_pb_section {
        display: block !important;
    }
    .et_pb_section_1_tb_header.et_pb_section {
        display: none !important;
    }
}
@media only screen and (max-width: 980px) {
    .et_pb_section_1_tb_header.et_pb_section {
        display: none !important;
    }
    .et_pb_section_0_tb_header.et_pb_section {
        display: block !important;
    }
}

/* Keep the live header logo stable while crossing Divi's responsive breakpoints. */
.et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
    flex: 0 0 100px !important;
    width: 100px !important;
    max-width: 100px !important;
}
.et_pb_section_0_tb_header .et_pb_menu__logo {
    width: 100px !important;
    max-width: 100px !important;
    margin-right: 0 !important;
    overflow: visible !important;
}
.et_pb_section_0_tb_header .et_pb_menu__logo img {
    display: block !important;
    width: 100px !important;
    max-width: 100px !important;
    height: auto !important;
}
@media only screen and (min-width: 981px) {
    .et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
        flex-basis: clamp(100px, calc(8.7vw + 15px), 140px) !important;
        width: clamp(100px, calc(8.7vw + 15px), 140px) !important;
        max-width: clamp(100px, calc(8.7vw + 15px), 140px) !important;
    }
    .et_pb_section_0_tb_header .et_pb_menu__logo,
    .et_pb_section_0_tb_header .et_pb_menu__logo img {
        width: clamp(100px, calc(8.7vw + 15px), 140px) !important;
        max-width: clamp(100px, calc(8.7vw + 15px), 140px) !important;
    }
}

/* NOTE: Announcement bar top-offset and body padding-top are fully
   managed by inject-cro.py <style> block in each page <head>.
   Do not add top or padding-top overrides for header sections here. */
