/**
 * Custom Enhancements for CHAAND Core PHP Website
 */

/* Contact Form Styling */
#contact-form,
.wpcf7-form {
    background: #ffffff;
    padding: 25px;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.input-block label {
    font-weight: 600;
    color: #333333;
    margin-bottom: 6px;
    display: inline-block;
}

.input-block input[type="text"],
.input-block input[type="email"],
.input-block textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    margin: 6px 0 16px 0 !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    background-color: #fafafa !important;
    font-family: inherit !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.input-block input[type="text"]:focus,
.input-block input[type="email"]:focus,
.input-block textarea:focus {
    border-color: #c52832 !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(197, 40, 50, 0.15) !important;
}

.button-block input[type="submit"] {
    background: #c52832 !important;
    color: #ffffff !important;
    padding: 12px 35px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.3s ease, transform 0.2s ease !important;
}

.button-block input[type="submit"]:hover {
    background: #a31e26 !important;
    transform: translateY(-1px);
}

/* Alert Boxes */
.alert-box {
    padding: 14px 18px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-size: 15px;
    line-height: 1.5;
}

.alert-box.success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.alert-box.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* Team Member Cards Linking and Hover Effects */
.et_pb_team_member_0,
.et_pb_team_member_1,
.et_clickable {
    cursor: pointer !important;
}

.et_pb_team_member .et_pb_module_header a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.et_pb_team_member:hover .et_pb_module_header a {
    color: #c52832 !important;
}

.et_pb_team_member_image a {
    display: block;
    cursor: pointer;
}

/* ==========================================================================
   Responsive Typography & Header Fixes Across All Pages
   ========================================================================== */

/* Prevent horizontal overflow on mobile screens */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative !important;
}

*,
*:before,
*:after {
    box-sizing: border-box !important;
}

#page-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative !important;
}

/* Ensure wide tables, images, and embeds do not break mobile layout */
.et_pb_text_inner {
    max-width: 100% !important;
}

.et_pb_text_inner table,
table {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.et_pb_module,
.et_pb_row,
.et_pb_section {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

img {
    /* max-width: 100% !important; */
    /* height: auto; */
}

/* Ensure all page header containers adapt smoothly */
.et_pb_fullwidth_header .et_pb_fullwidth_header_container {
    width: 90% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
}

.et_pb_fullwidth_header .header-content {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Responsive Headings across all pages on Tablet and Mobile */
@media (max-width: 980px) {

    .et_pb_fullwidth_header .header-content h1,
    .et_pb_fullwidth_header .header-content h1.et_pb_module_header,
    .et_pb_module_header h1,
    h1.et_pb_module_header,
    .et_pb_fullwidth_header h1,
    .et_pb_module_header {
        font-size: clamp(28px, 7vw, 44px) !important;
        line-height: 1.25em !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }

    .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
    .et_pb_fullwidth_header .et_pb_header_content_wrapper {
        font-size: 17px !important;
        line-height: 1.6em !important;
    }

    .et_pb_section {
        /* padding: 40px 0 !important; */
    }
}

/* Mobile-specific adjustments (<= 767px and <= 480px) */
@media (max-width: 767px) {

    .et_pb_fullwidth_header .header-content h1,
    .et_pb_fullwidth_header .header-content h1.et_pb_module_header,
    .et_pb_module_header h1,
    h1.et_pb_module_header,
    .et_pb_fullwidth_header h1,
    .et_pb_module_header {
        font-size: clamp(24px, 7.5vw, 36px) !important;
        line-height: 1.2em !important;
        letter-spacing: -0.5px !important;
        margin-bottom: 12px !important;
    }

    .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
    .et_pb_fullwidth_header .et_pb_header_content_wrapper {
        font-size: 15px !important;
        line-height: 1.5em !important;
    }

    .et_pb_fullwidth_header {
        padding: 40px 0 30px 0 !important;
    }

    .et_pb_fullwidth_header .et_pb_fullwidth_header_container {
        width: 94% !important;
    }

    /* Header & Badge Layout on Mobile */
    #main-header {
        height: 75px !important;
        min-height: 75px !important;
        position: relative !important;
    }

    #main-header .container.et_menu_container {
        height: 75px !important;
        position: relative !important;
        width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .logo_container {
        max-width: 140px !important;
        height: 75px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #logo {
        max-height: 44px !important;
        width: auto !important;
        display: block !important;
    }

    /* Position ISO logo cleanly on mobile */
    #main-header>img#iso-logo {
        position: absolute !important;
        right: 96px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        max-width: 76px !important;
        width: auto !important;
        z-index: 99 !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Position SBA logo cleanly on mobile */
    #main-header>img#sba-logo {
        position: absolute !important;
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        max-width: 32px !important;
        width: auto !important;
        z-index: 99 !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Hamburger Menu Container */
    #et_mobile_nav_menu {
        display: block !important;
        position: static !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .mobile_nav {
        display: block !important;
        position: static !important;
    }

    .mobile_menu_bar {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        right: 52px !important;
        top: 21px !important;
        cursor: pointer !important;
        padding: 4px !important;
        z-index: 10000 !important;
        width: 34px !important;
        height: 34px !important;
    }

    .mobile_menu_bar:before {
        content: "\61" !important;
        font-family: "ETmodules" !important;
        font-size: 30px !important;
        color: #333333 !important;
        cursor: pointer !important;
        display: block !important;
        line-height: 1 !important;
    }
}

@media (max-width: 480px) {

    .et_pb_fullwidth_header .header-content h1,
    .et_pb_fullwidth_header .header-content h1.et_pb_module_header,
    .et_pb_module_header h1,
    h1.et_pb_module_header,
    .et_pb_fullwidth_header h1,
    .et_pb_module_header {
        font-size: clamp(22px, 7vw, 30px) !important;
    }

    .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
    .et_pb_fullwidth_header .et_pb_header_content_wrapper {
        font-size: 14px !important;
    }

    .logo_container {
        /* max-width: 110px !important; */
    }

    #logo {
        max-height: 133px !important;
    }

    #main-header>img#iso-logo {
        max-width: 66px !important;
        right: 86px !important;
    }

    #main-header>img#sba-logo {
        max-width: 28px !important;
        right: 10px !important;
    }

    .mobile_menu_bar {
        right: 44px !important;
        top: 21px !important;
    }
}

/* ==========================================================================
   Mobile Menu Dropdown Styles
   ========================================================================== */
.mobile_nav #mobile_menu,
.mobile_nav .et_mobile_menu,
#mobile_menu {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 75px !important;
    width: 100% !important;
    max-height: calc(100vh - 75px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    border-top: 3px solid #c52832 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    z-index: 999999 !important;
    list-style: none !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.mobile_nav.closed #mobile_menu,
.mobile_nav.closed .et_mobile_menu {
    display: none !important;
}

.mobile_nav.opened #mobile_menu,
.mobile_nav.opened .et_mobile_menu {
    display: block !important;
}

#mobile_menu li {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #f2f2f2 !important;
    text-align: left !important;
}

#mobile_menu li a {
    display: block !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#mobile_menu li a:hover,
#mobile_menu li.current-menu-item>a {
    background-color: #f8f9fa !important;
    color: #c52832 !important;
}

#mobile_menu li ul.sub-menu {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #fbfbfb !important;
    border-top: 1px solid #f0f0f0 !important;
}

#mobile_menu li ul.sub-menu li a {
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 10px 24px 10px 38px !important;
    color: #555555 !important;
}