/* Remove the white background from Templately footer wrapper AR */
.elementor-12994.elementor {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Remove the white background from Templately footer wrapper EN */
.elementor-13061.elementor {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix styling of Astra default 404 page */
.error404 .site-content {
    max-width: 600px;
    margin: 50px auto !important;
    padding: 40px !important;
    background: #ffffff00;
    text-align: center;
}

/* Hide Elementor content from homepage template */
.error404 .elementor {
    display: none !important;
}

/* Hide footer only on 404 */
.error404 #colophon,
.error404 .site-footer {
    display: none !important;
}

/* Center the text and search bar */
.error404 .page-title,
.error404 .page-content {
    text-align: center;
}

/* Hide the main 404 search container */
.error404 .ast-404-layout-1 .search-form,
.error404 .search-form {
    display: none !important;
}


/* Flip ONLY the 3rd-level submenu to the left */
.ast-desktop .main-header-menu .sub-menu .sub-menu .sub-menu {
    left: auto !important;
    right: 100% !important;
    top: 0;
}

/* Keep 2nd-level opening to the right */
.ast-desktop .main-header-menu .sub-menu .sub-menu {
    left: 100% !important;
    right: auto !important;
}

html[dir="rtl"] .ast-desktop .main-header-menu .sub-menu .sub-menu .sub-menu {
    right: auto !important;
    left: 100% !important;
    top: 0;
}

/* Restore 2nd level normal RTL direction (open LEFT) */
html[dir="rtl"] .ast-desktop .main-header-menu .sub-menu .sub-menu {
    right: 100% !important;
    left: auto !important;
}







/* =========================== */
/* Fixed header for Astra Theme - HOME PAGE ONLY */
/* =========================== */
/* Header base styles - only on home page */
body.home header.site-header {
    position: fixed !important;   /* fixed at top */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: transparent !important; /* start transparent */
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

/* Inner containers to override Astra */
body.home header.site-header .main-header-bar,
body.home header.site-header .ast-builder-grid-row,
body.home header.site-header .site-primary-header-wrap,
body.home header.site-header .ast-header-break-point,
body.home header.site-header .ast-builder-layout-element {
    background-color: transparent !important;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

/* On scroll: solid white background on the entire header */
body.home header.site-header.sticky-header {
    background-color: #ffffff !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}

/* Force all inner elements to be transparent when scrolled */
body.home header.site-header.sticky-header .main-header-bar,
body.home header.site-header.sticky-header .ast-builder-grid-row,
body.home header.site-header.sticky-header .site-primary-header-wrap,
body.home header.site-header.sticky-header .ast-header-break-point,
body.home header.site-header.sticky-header .ast-builder-layout-element {
    background-color: transparent !important;
}

/* Menu/link colors: white initially */
body.home header.site-header a,
body.home header.site-header .main-header-bar a,
body.home header.site-header .ast-builder-layout-element a {
    color: #ffffff !important;
}

/* Menu/link colors on scroll */
body.home header.site-header.sticky-header a,
body.home header.site-header.sticky-header .main-header-bar a,
body.home header.site-header.sticky-header .ast-builder-layout-element a {
    color: #111111 !important;
}

/* Logo transition */
body.home header.site-header img {
    transition: filter 0.25s ease, opacity 0.25s ease;
}

/* Prevent content being hidden under fixed header - HOME PAGE ONLY */
body.home {
    padding-top: 100px; /* adjust this to match your header height */
}

/* =========================== */
/* Logo Switching - FIXED POSITIONING */
/* =========================== */
/* Make logo container relative for absolute positioning */
body.home header.site-header .site-logo,
body.home header.site-header .custom-logo-link,
body.home header.site-header .ast-site-identity .site-logo-img {
    position: relative !important;
    display: inline-block;
}

/* Position both logos in the same spot */
body.home header.site-header .default-logo,
body.home header.site-header .scrolled-logo {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    max-width: 100%;
    height: auto;
}

/* Hide scrolled logo by default */
body.home header.site-header .scrolled-logo {
    opacity: 0;
    visibility: hidden;
}

/* Show default logo by default */
body.home header.site-header .default-logo {
    opacity: 1;
    visibility: visible;
    position: relative !important; /* Keep default logo in normal flow */
}

/* When scrolled: hide default, show scrolled logo */
body.home header.site-header.sticky-header .default-logo {
    opacity: 0;
    visibility: hidden;
}

body.home header.site-header.sticky-header .scrolled-logo {
    opacity: 1;
    visibility: visible;
}
/* =========================== */
/* Submenu (Dropdown) Styles */
/* =========================== */
/* Submenu background should always be white */
body.home header.site-header .sub-menu,
body.home header.site-header .main-header-menu .sub-menu,
body.home header.site-header .ast-builder-menu .sub-menu {
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

/* Submenu links should always be dark (visible on white background) */
body.home header.site-header .sub-menu a,
body.home header.site-header .main-header-menu .sub-menu a,
body.home header.site-header .ast-builder-menu .sub-menu a {
    color: #111111 !important;
}

/* Submenu links hover state */
body.home header.site-header .sub-menu a:hover,
body.home header.site-header .main-header-menu .sub-menu a:hover,
body.home header.site-header .ast-builder-menu .sub-menu a:hover {
    color: #0073e6 !important; /* or your brand color */
    background-color: #f5f5f5 !important;
}

/* =========================== */
/* Remove ALL borders and lines */
/* =========================== */
/* Remove borders from submenu container */
body.home header.site-header .sub-menu,
body.home header.site-header .main-header-menu .sub-menu,
body.home header.site-header .ast-builder-menu .sub-menu {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
}

/* Remove borders from submenu items */
body.home header.site-header .sub-menu li,
body.home header.site-header .main-header-menu .sub-menu li,
body.home header.site-header .ast-builder-menu .sub-menu li {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
}

/* Remove borders from submenu links */
body.home header.site-header .sub-menu li a,
body.home header.site-header .main-header-menu .sub-menu li a,
body.home header.site-header .ast-builder-menu .sub-menu li a {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
}

/* Remove any separator lines */
body.home header.site-header .sub-menu::before,
body.home header.site-header .sub-menu::after,
body.home header.site-header .sub-menu li::before,
body.home header.site-header .sub-menu li::after {
    display: none !important;
    border: none !important;
}

/* =========================== */
/* Force transparent backgrounds on ALL menu elements */
/* =========================== */
/* Main menu items - all states */
body.home header.site-header .main-header-menu li,
body.home header.site-header .ast-builder-menu li,
body.home header.site-header .menu-item,
body.home header.site-header nav li,
body.home header.site-header .ast-nav-menu li {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

/* Main menu links - all states */
body.home header.site-header .main-header-menu li a,
body.home header.site-header .ast-builder-menu li a,
body.home header.site-header .menu-item a,
body.home header.site-header nav a,
body.home header.site-header .ast-nav-menu a {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

/* When scrolled - force transparent */
body.home header.site-header.sticky-header .main-header-menu li,
body.home header.site-header.sticky-header .ast-builder-menu li,
body.home header.site-header.sticky-header .menu-item,
body.home header.site-header.sticky-header nav li,
body.home header.site-header.sticky-header .ast-nav-menu li {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

body.home header.site-header.sticky-header .main-header-menu li a,
body.home header.site-header.sticky-header .ast-builder-menu li a,
body.home header.site-header.sticky-header .menu-item a,
body.home header.site-header.sticky-header nav a,
body.home header.site-header.sticky-header .ast-nav-menu a {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

/* Hover states - force transparent */
body.home header.site-header .main-header-menu li:hover,
body.home header.site-header .ast-builder-menu li:hover,
body.home header.site-header .menu-item:hover,
body.home header.site-header .main-header-menu li a:hover,
body.home header.site-header .ast-builder-menu li a:hover,
body.home header.site-header .menu-item a:hover {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

/* Active/current menu items */
body.home header.site-header .main-header-menu .current-menu-item,
body.home header.site-header .main-header-menu .current-menu-ancestor,
body.home header.site-header .ast-builder-menu .current-menu-item,
body.home header.site-header .ast-builder-menu .current-menu-ancestor {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

body.home header.site-header .main-header-menu .current-menu-item > a,
body.home header.site-header .main-header-menu .current-menu-ancestor > a,
body.home header.site-header .ast-builder-menu .current-menu-item > a,
body.home header.site-header .ast-builder-menu .current-menu-ancestor > a {
    background-color: transparent !important;
    background-image: none !important;
    background: transparent !important;
}

/* Remove any box shadows or outlines from menu items */
body.home header.site-header .main-header-menu li,
body.home header.site-header .ast-builder-menu li,
body.home header.site-header .menu-item,
body.home header.site-header .main-header-menu li a,
body.home header.site-header .ast-builder-menu li a,
body.home header.site-header .menu-item a {
    box-shadow: none !important;
    outline: none !important;
}

/* =========================== */
/* Colored Logo on Non-Home Pages */
/* =========================== */
/* On all pages EXCEPT home: hide the white desktop logo */
body:not(.home) .custom-logo-link .custom-logo,
body:not(.home) img.custom-logo {
    display: none !important;
}

/* On all pages EXCEPT home: show the colored logo by cloning it or using srcset override */
body:not(.home) .custom-logo-link::after {
    content: '';
    display: inline-block;
    width: 257px;
    height: 74px;
    background-image: url('https://ihacpa.com/wp-content/uploads/2025/11/colored-new.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Alternative: If JS creates clones, show scrolled logo on non-home pages */
body:not(.home) header.site-header .scrolled-logo {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    display: inline-block !important;
}

body:not(.home) header.site-header .default-logo {
    display: none !important;
}

/* Fix dual logo issue on mobile */
@media (max-width: 768px) {
    header.site-header .default-logo {
        display: none !important;
    }
    header.site-header .scrolled-logo {
        display: inline-block !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
    }
}
/* ===========================
   Mobile & Tablet: Hide desktop logo, show mobile logo only
   =========================== */
@media (max-width: 1024px) {
    /* Make header scroll with page (no fixed / sticky) */
    body.home header.site-header,
    header.site-header,
    .main-header-bar,
    .ast-header-break-point {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        transform: none !important;
        box-shadow: none !important;
    }

    /* Remove any padding-top applied for fixed header on home page */
    body.home {
        padding-top: 0 !important;
    }

    /* HIDE the desktop logo (custom-logo class) on mobile/tablet */
    .custom-logo-link .custom-logo,
    img.custom-logo,
    .site-logo .custom-logo {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* SHOW only the mobile logo */
    .ast-mobile-header-logo,
    .ast-mobile-header .site-logo img,
    .ast-header-break-point .ast-mobile-header-logo {
        display: inline-block !important;
        opacity: 1 !important;
        visibility: visible !important;
        height: auto !important;
    }

    /* Hide any JS-created cloned logos on mobile/tablet */
    header.site-header img.default-logo,
    header.site-header img.scrolled-logo,
    .site-logo .default-logo,
    .site-logo .scrolled-logo {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* If Astra adds sticky classes, neutralize them */
    .ast-sticky-header-active,
    .ast-sticky-active,
    header.site-header.sticky-header {
        position: static !important;
        box-shadow: none !important;
    }
}

/* ===========================
   Mobile & Tablet: Hide desktop logo, show mobile logo only
   =========================== */
@media (max-width: 1024px) {
    /* Make header scroll with page (no fixed / sticky) */
    body.home header.site-header,
    header.site-header,
    .main-header-bar,
    .ast-header-break-point {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        transform: none !important;
        box-shadow: none !important;
    }

    /* Remove any padding-top applied for fixed header on home page */
    body.home {
        padding-top: 0 !important;
    }

    /* HIDE the desktop logo (custom-logo class) on mobile/tablet */
    .custom-logo-link .custom-logo,
    img.custom-logo,
    .site-logo .custom-logo {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* SHOW only the mobile logo */
    .ast-mobile-header-logo,
    .ast-mobile-header .site-logo img,
    .ast-header-break-point .ast-mobile-header-logo {
        display: inline-block !important;
        opacity: 1 !important;
        visibility: visible !important;
        height: auto !important;
    }

    /* Hide any JS-created cloned logos on mobile/tablet */
    header.site-header img.default-logo,
    header.site-header img.scrolled-logo,
    .site-logo .default-logo,
    .site-logo .scrolled-logo {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* If Astra adds sticky classes, neutralize them */
    .ast-sticky-header-active,
    .ast-sticky-active,
    header.site-header.sticky-header {
        position: static !important;
        box-shadow: none !important;
    }

    /* ===========================
       FIX: Mobile menu text color on home page
       =========================== */
    /* Force menu links to be DARK on mobile home page */
    body.home header.site-header a,
    body.home header.site-header .main-header-bar a,
    body.home header.site-header .ast-builder-layout-element a,
    body.home header.site-header .main-header-menu a,
    body.home header.site-header .ast-builder-menu a,
    body.home header.site-header nav a,
    body.home header.site-header .menu-item a {
        color: #111111 !important;
    }

    /* Mobile menu background should be white/visible */
    body.home header.site-header .main-header-menu,
    body.home header.site-header .ast-mobile-menu-wrap,
    body.home header.site-header .ast-builder-menu,
    body.home header.site-header nav {
        background-color: #ffffff !important;
    }

    /* Mobile menu items background */
    body.home header.site-header .main-header-menu li,
    body.home header.site-header .ast-builder-menu li,
    body.home header.site-header .menu-item {
        background-color: transparent !important;
    }

    /* Hamburger icon color (if needed) */
    body.home header.site-header .ast-mobile-menu-buttons,
    body.home header.site-header .menu-toggle {
        color: #111111 !important;
    }
}
