/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

/* ============================================================ */
/* CUSTOM HEADER STYLING - Navy Blue Sticky Header with Green   */
/* ============================================================ */

/* ── Make the header STICKY, full width, navy background ── */
#site-header {
    position: sticky !important;
    top: 0;
    width: 100%;
    background-color: #0a192f !important;
    border-bottom: none !important;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* When transparent header wrap exists, still apply navy */
#transparent-header-wrap #site-header {
    position: sticky !important;
}

/* ── Header inner uses flexbox for logo + nav in one row ── */
#site-header-inner {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    height: auto !important;
    min-height: 80px;
    padding: 0 20px;
}

/* ── Logo area - left side, large ── */
#site-logo {
    float: none !important;
    display: flex !important;
    align-items: center;
    height: auto !important;
    flex-shrink: 0;
    padding: 10px 0;
}

#site-logo #site-logo-inner {
    display: flex !important;
    align-items: center;
    height: auto !important;
    vertical-align: middle;
}

#site-logo #site-logo-inner a {
    display: flex;
    align-items: center;
}

#site-logo #site-logo-inner a img {
    max-height: 80px;
    width: auto;
    vertical-align: middle;
    transition: all 0.3s ease-in-out;
}

#site-logo #site-logo-inner a:hover img {
    opacity: 1; /* Override parent's fade on hover */
}

/* ── Desktop Navigation - immediately right of logo, one row ── */
#site-navigation-wrap {
    float: none !important;
    position: static !important;
    right: auto !important;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 30px;
}

#site-navigation-wrap .navigation {
    display: flex;
    align-items: center;
}

/* ── Menu items in one row ── */
#site-navigation-wrap .dropdown-menu {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

#site-navigation-wrap .dropdown-menu > li {
    float: none !important;
    display: flex;
    align-items: center;
}

#site-navigation-wrap .dropdown-menu > li > a {
    display: flex !important;
    align-items: center;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 10px 18px !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.3px;
    text-transform: none;
    position: relative;
    transition: color 0.3s ease;
}

/* ── Hover effect: GREEN text + GOLDEN dotted underline ── */
#site-navigation-wrap .dropdown-menu > li > a:hover,
#site-navigation-wrap .dropdown-menu > li > a:focus {
    color: #2ecc71 !important;
    text-decoration: underline !important;
    text-decoration-style: dotted !important;
    text-decoration-color: #f1c40f !important;
    text-underline-offset: 4px;
}

#site-navigation-wrap .dropdown-menu > li > a .text-wrap::after {
    display: none; /* Remove any legacy hover effects */
}

/* ── Current menu item active state ── */
#site-navigation-wrap .dropdown-menu > li.current-menu-item > a,
#site-navigation-wrap .dropdown-menu > li.current_page_item > a {
    color: #2ecc71 !important;
}

/* ── Sub-menu / Dropdown styling ── */
#site-navigation-wrap .dropdown-menu ul.sub-menu {
    background-color: #0a192f !important;
    border-top: 3px solid #2ecc71;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

#site-navigation-wrap .dropdown-menu ul.sub-menu li a {
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

#site-navigation-wrap .dropdown-menu ul.sub-menu li a:hover {
    color: #2ecc71 !important;
    text-decoration: underline !important;
    text-decoration-style: dotted !important;
    text-decoration-color: #f1c40f !important;
    background-color: rgba(46, 204, 113, 0.08);
}

/* ── Mobile hamburger icon - positioned on the right ── */
.oceanwp-mobile-menu-icon {
    float: none !important;
    margin-left: auto;
    display: flex !important;
    align-items: center;
}

.oceanwp-mobile-menu-icon a {
    color: #ffffff !important;
    font-size: 22px;
    line-height: 1;
}

.oceanwp-mobile-menu-icon a:hover {
    color: #2ecc71 !important;
}

.oceanwp-mobile-menu-icon a .oceanwp-text,
.oceanwp-mobile-menu-icon a .oceanwp-close-text {
    color: #ffffff !important;
    font-size: 13px;
}

/* ── Mobile dropdown panel (navy theme) ── */
#mobile-dropdown {
    background-color: #0a192f !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
    border-top: 2px solid rgba(46, 204, 113, 0.3);
    max-height: 80vh;
}

#mobile-dropdown ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

#mobile-dropdown ul li a {
    color: #ffffff !important;
    padding: 14px 40px !important;
    font-size: 15px;
}

#mobile-dropdown ul li a:hover {
    color: #2ecc71 !important;
    background-color: rgba(46, 204, 113, 0.06);
}

#mobile-dropdown ul li a .dropdown-toggle {
    color: #ffffff;
}

#mobile-dropdown ul li.active > a > .dropdown-toggle:before {
    color: #2ecc71;
}

/* ── Mobile search inside mobile menu ── */
#mobile-dropdown #mobile-menu-search form input {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

#mobile-dropdown #mobile-menu-search form input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* ── Admin bar offset for logged-in users ── */
body.admin-bar #site-header {
    top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar #site-header {
        top: 46px;
    }
}

/* ════════════════════════════════════════════════════════════ */
/* RESPONSIVE (All devices under 960px)                        */
/* ════════════════════════════════════════════════════════════ */
@media only screen and (max-width: 959px) {
    #site-header-inner {
        min-height: 70px;
        padding: 0 15px;
    }

    #site-logo #site-logo-inner a img {
        max-height: 60px;
    }

    #site-navigation-wrap {
        padding-left: 15px;
    }

    #site-navigation-wrap .dropdown-menu > li > a {
        padding: 8px 12px !important;
        font-size: 13px;
    }
}

/* ════════════════════════════════════════════════════════════ */
/* Phone (under 768px)                                         */
/* ════════════════════════════════════════════════════════════ */
@media only screen and (max-width: 767px) {
    #site-header-inner {
        min-height: 65px;
        padding: 0 10px;
    }

    #site-logo #site-logo-inner a img {
        max-height: 50px;
    }

    #site-navigation-wrap {
        padding-left: 10px;
    }

    #site-navigation-wrap .dropdown-menu > li > a {
        padding: 6px 10px !important;
        font-size: 12px;
        letter-spacing: 0;
    }

    .oceanwp-mobile-menu-icon a {
        font-size: 20px;
    }

    .oceanwp-mobile-menu-icon a .oceanwp-text {
        font-size: 12px;
    }
}

/* ════════════════════════════════════════════════════════════ */
/* Small phones (under 480px)                                  */
/* ════════════════════════════════════════════════════════════ */
@media only screen and (max-width: 480px) {
    #site-header-inner {
        min-height: 60px;
        padding: 0 8px;
    }

    #site-logo #site-logo-inner a img {
        max-height: 42px;
    }
}