/* Hozit enterprise services mega menu and services directory */
.hozit-services-nav-item{position:static;list-style:none}
.hozit-services-toggle{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:.75rem .5rem}
.hozit-services-chevron{font-size:1rem;transition:transform .2s ease}
.hozit-services-nav-item.is-open .hozit-services-chevron{transform:rotate(180deg)}
.hozit-services-mega-menu{position:absolute;z-index:9999;left:0;right:0;top:100%;display:none;background:#fff;border-top:1px solid #e8edf3;box-shadow:0 20px 45px rgba(15,23,42,.18);color:#162033}
.hozit-services-nav-item.is-open .hozit-services-mega-menu{display:block}
.hozit-services-mega-inner{max-width:1440px;margin:0 auto;padding:2rem clamp(1rem,4vw,4rem)}
.hozit-services-mega-header{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.25rem;border-bottom:1px solid #e7edf4}
.hozit-services-mega-header h2{font-size:clamp(1.35rem,2vw,2rem);margin:.25rem 0 0;color:#10213b}
.hozit-services-kicker,.hozit-services-page-kicker{display:block;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.75rem;color:#1768ac}
.hozit-services-all-link,.hozit-services-mega-footer a{font-weight:800;text-decoration:none;white-space:nowrap}
.hozit-services-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem;padding:1.5rem 0}
.hozit-services-column h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#1768ac;margin:0 0 .65rem}
.hozit-services-column ul{margin:0;padding:0;list-style:none}
.hozit-services-column li+li{margin-top:.3rem}
.hozit-services-column a{display:block;padding:.32rem 0;color:#20324d;text-decoration:none;font-weight:600;line-height:1.35}
.hozit-services-column a:hover,.hozit-services-column a:focus{color:#1768ac;text-decoration:underline}
.hozit-services-mega-footer{display:flex;justify-content:flex-end;gap:.7rem;padding-top:1rem;border-top:1px solid #e7edf4}
.hozit-services-container{width:min(1280px,calc(100% - 2rem));margin-inline:auto}
.hozit-services-hero{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(135deg,#f5f9fd 0%,#fff 55%,#eef6ff 100%)}
.hozit-services-hero h1{max-width:980px;margin:.6rem 0 1rem;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.05;color:#10213b}
.hozit-services-hero p{max-width:800px;font-size:1.1rem;line-height:1.7;color:#50627c}
.hozit-services-search-wrap{max-width:760px;margin-top:2rem}
.hozit-services-search-wrap input{width:100%;padding:1rem 1.15rem;border:1px solid #cad7e5;border-radius:.8rem;background:#fff;font:inherit;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.hozit-services-directory{padding:3rem 0 5rem;background:#fff}
.hozit-services-category-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:3rem}
.hozit-services-category-links a{padding:.65rem .9rem;border:1px solid #d7e0ea;border-radius:999px;text-decoration:none;color:#253858;font-weight:700}
.hozit-services-category-links a:hover{border-color:#1768ac;color:#1768ac}
.hozit-service-category{scroll-margin-top:7rem;margin-bottom:4rem}
.hozit-service-category-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.hozit-service-category-heading h2{margin:0;font-size:clamp(1.65rem,3vw,2.5rem);color:#10213b}
.hozit-service-category-heading span{font-size:.9rem;color:#6b7c93}
.hozit-service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hozit-service-card{display:flex;flex-direction:column;min-height:220px;padding:1.35rem;border:1px solid #e1e8f0;border-radius:1rem;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hozit-service-card:hover{transform:translateY(-3px);border-color:#b8d2eb;box-shadow:0 14px 30px rgba(15,23,42,.09)}
.hozit-service-card h3{margin:0 0 .65rem;font-size:1.15rem}
.hozit-service-card h3 a{color:#10213b;text-decoration:none}
.hozit-service-card p{margin:0;color:#617086;line-height:1.65}
.hozit-service-card-link{margin-top:auto;padding-top:1rem;font-weight:800;text-decoration:none;color:#1768ac}
.hozit-no-services{padding:1rem;border:1px solid #f0c36d;border-radius:.7rem;background:#fff9e8;margin-bottom:2rem}
.hozit-services-cta{padding:4rem 0;background:#10213b;color:#fff}
.hozit-services-cta .hozit-services-container{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.hozit-services-cta h2{margin:.4rem 0;font-size:clamp(1.8rem,3vw,3rem);color:#fff}
.hozit-services-cta p{margin:0;color:#d7e1ed}
.hozit-services-cta a{display:inline-block;padding:.9rem 1.2rem;border-radius:.7rem;background:#fff;color:#10213b;font-weight:800;text-decoration:none;white-space:nowrap}
.hozit-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1024px){
 .hozit-services-mega-grid,.hozit-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
 .hozit-services-nav-item{position:relative}
 .hozit-services-mega-menu{position:fixed;top:0;bottom:0;overflow:auto}
 .hozit-services-mega-header,.hozit-services-cta .hozit-services-container{align-items:flex-start;flex-direction:column}
 .hozit-services-mega-grid,.hozit-service-card-grid{grid-template-columns:1fr}
 .hozit-services-mega-footer{justify-content:flex-start}
}

/* =========================================================
   HOZIT MEGA MENU POSITION AND LAYOUT REPAIR
   ========================================================= */

.main-menu {
    position: relative;
}

/* Services menu parent */
.main-menu .mega {
    position: static;
}

/*
 * Support the current and possible legacy dropdown class names.
 */
.main-menu .mega-menu,
.main-menu .mega-dropdown,
.main-menu .mega-panel,
.main-menu .services-mega-menu {
    position: absolute !important;

    /*
     * Places the dropdown below the blue navigation and
     * the white trust/information strip.
     */
    top: calc(100% + 58px) !important;

    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    width: min(960px, calc(100vw - 40px)) !important;
    max-width: 960px !important;

    margin: 0 !important;
    padding: 28px 26px !important;

    background: #ffffff !important;
    border: 1px solid rgba(12, 35, 70, 0.08) !important;
    border-radius: 18px !important;

    box-shadow:
        0 22px 55px rgba(5, 22, 48, 0.18),
        0 6px 18px rgba(5, 22, 48, 0.08) !important;

    z-index: 99999 !important;
}

/* Four balanced columns */
.main-menu .mega-menu > div,
.main-menu .mega-dropdown > div,
.main-menu .mega-panel > div,
.main-menu .services-mega-menu > div {
    min-width: 0;
}

/* Common grid wrappers */
.main-menu .mega-grid,
.main-menu .mega-menu-grid,
.main-menu .services-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: start !important;
}

/* Column headings */
.main-menu .mega-menu h3,
.main-menu .mega-dropdown h3,
.main-menu .mega-panel h3,
.main-menu .services-mega-menu h3,
.main-menu .mega-menu .mega-title,
.main-menu .services-mega-menu .mega-title {
    margin: 0 0 12px !important;

    color: #ff4f00 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

/* Remove accidental list spacing */
.main-menu .mega-menu ul,
.main-menu .mega-dropdown ul,
.main-menu .mega-panel ul,
.main-menu .services-mega-menu ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Dropdown links */
.main-menu .mega-menu a,
.main-menu .mega-dropdown a,
.main-menu .mega-panel a,
.main-menu .services-mega-menu a {
    display: block !important;

    margin: 0 !important;
    padding: 8px 0 !important;

    color: #0d2344 !important;
    background: transparent !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;

    text-decoration: none !important;
    border-radius: 7px !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease !important;
}

.main-menu .mega-menu a:hover,
.main-menu .mega-dropdown a:hover,
.main-menu .mega-panel a:hover,
.main-menu .services-mega-menu a:hover {
    color: #ff4f00 !important;
    transform: translateX(4px) !important;
}

/* Keep the Services trigger aligned */
.main-menu .mega > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

/* Tablet layout */
@media (max-width: 1100px) {
    .main-menu .mega-menu,
    .main-menu .mega-dropdown,
    .main-menu .mega-panel,
    .main-menu .services-mega-menu {
        width: min(820px, calc(100vw - 30px)) !important;
        padding: 24px !important;
    }

    .main-menu .mega-grid,
    .main-menu .mega-menu-grid,
    .main-menu .services-mega-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile menu must remain inside the navigation drawer */
@media (max-width: 820px) {
    .main-menu .mega {
        position: relative;
    }

    .main-menu .mega-menu,
    .main-menu .mega-dropdown,
    .main-menu .mega-panel,
    .main-menu .services-mega-menu {
        position: static !important;

        width: 100% !important;
        max-width: none !important;

        transform: none !important;

        margin: 8px 0 0 !important;
        padding: 18px !important;

        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .main-menu .mega-grid,
    .main-menu .mega-menu-grid,
    .main-menu .services-mega-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
}


/* =========================================================
   ENTERPRISE MEGA MENU FINAL DESKTOP REPAIR
   ========================================================= */

.hozit-services-nav-item {
    position: static !important;
}

.hozit-services-mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;

    width: min(1120px, calc(100vw - 40px)) !important;
    max-width: 1120px !important;

    max-height: calc(100vh - 95px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateX(-50%) !important;

    background: #ffffff !important;
    border: 1px solid rgba(13, 35, 68, 0.10) !important;
    border-radius: 0 0 18px 18px !important;

    box-shadow:
        0 25px 60px rgba(3, 19, 43, 0.20),
        0 8px 22px rgba(3, 19, 43, 0.10) !important;

    z-index: 999999 !important;

    scrollbar-width: thin;
    scrollbar-color: #ff5200 #eef2f7;
}

.hozit-services-mega-menu::-webkit-scrollbar {
    width: 8px;
}

.hozit-services-mega-menu::-webkit-scrollbar-track {
    background: #eef2f7;
}

.hozit-services-mega-menu::-webkit-scrollbar-thumb {
    background: #ff5200;
    border-radius: 20px;
}

.hozit-services-mega-inner {
    width: 100% !important;
    padding: 28px 38px 32px !important;
    box-sizing: border-box !important;
}

/* Compact heading area */
.hozit-services-mega-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 24px !important;

    margin: 0 0 24px !important;
    padding: 0 0 20px !important;

    border-bottom: 1px solid #dfe6ef !important;
}

.hozit-services-mega-header h2,
.hozit-services-mega-header h3 {
    max-width: 620px !important;
    margin: 6px 0 0 !important;

    color: #102544 !important;
    font-size: clamp(26px, 2.2vw, 38px) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
}

.hozit-services-kicker {
    color: #0870c9 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.hozit-services-all-link {
    display: inline-flex !important;
    align-items: center !important;

    padding: 10px 14px !important;

    color: #102544 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;

    border-radius: 8px !important;
}

.hozit-services-all-link:hover {
    color: #ff5200 !important;
    background: #fff3ed !important;
}

/* Service categories */
.hozit-services-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px 34px !important;
    align-items: start !important;
}

.hozit-services-column {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hozit-services-column h3,
.hozit-services-column h4 {
    margin: 0 0 12px !important;

    color: #0870c9 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.045em !important;
    text-transform: uppercase !important;
}

.hozit-services-column ul {
    display: grid !important;
    gap: 2px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.hozit-services-column li {
    margin: 0 !important;
    padding: 0 !important;
}

.hozit-services-column a {
    display: block !important;

    margin: 0 !important;
    padding: 6px 0 !important;

    color: #162b48 !important;
    background: transparent !important;

    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;

    text-decoration: none !important;

    transition:
        color 0.18s ease,
        transform 0.18s ease !important;
}

.hozit-services-column a:hover {
    color: #ff5200 !important;
    transform: translateX(3px) !important;
}

/* Footer section inside the menu */
.hozit-services-mega-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 20px !important;

    margin-top: 28px !important;
    padding-top: 20px !important;

    border-top: 1px solid #dfe6ef !important;
}

/* Ensure closed menus do not intercept the page */
.hozit-services-mega-menu[hidden] {
    display: none !important;
}

/* Medium desktop */
@media (max-width: 1180px) {
    .hozit-services-mega-menu {
        width: calc(100vw - 30px) !important;
    }

    .hozit-services-mega-inner {
        padding: 26px 28px 30px !important;
    }

    .hozit-services-mega-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Tablet and mobile */
@media (max-width: 860px) {
    .hozit-services-nav-item {
        position: relative !important;
        width: 100% !important;
    }

    .hozit-services-mega-menu {
        position: static !important;

        width: 100% !important;
        max-width: none !important;
        max-height: 70vh !important;

        transform: none !important;

        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .hozit-services-mega-inner {
        padding: 20px !important;
    }

    .hozit-services-mega-header {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    .hozit-services-mega-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .hozit-services-mega-footer {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}


/* =========================================================
   HOZIT SIGNATURE ENTERPRISE MEGA MENU
   ========================================================= */

.hozit-services-mega-menu {
    width: min(1040px, calc(100vw - 36px)) !important;
    max-width: 1040px !important;

    top: calc(100% + 1px) !important;
    left: 50% !important;

    border-top: 4px solid #ff5200 !important;
    border-radius: 0 0 20px 20px !important;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 1) 0%,
            rgba(250, 252, 255, 1) 100%
        ) !important;

    box-shadow:
        0 28px 70px rgba(6, 24, 53, 0.22),
        0 8px 24px rgba(6, 24, 53, 0.10) !important;
}

.hozit-services-mega-inner {
    padding: 30px 38px 26px !important;
}

/* Header hierarchy */
.hozit-services-mega-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;

    margin-bottom: 24px !important;
    padding-bottom: 22px !important;
}

.hozit-services-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    color: #ff5200 !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
}

.hozit-services-kicker::before {
    content: "" !important;

    width: 8px !important;
    height: 8px !important;

    background: #ff5200 !important;
    border-radius: 50% !important;

    box-shadow:
        12px 0 0 #0b2346,
        24px 0 0 #ff5200 !important;

    margin-right: 24px !important;
}

.hozit-services-mega-header h2 {
    max-width: 620px !important;

    margin: 10px 0 8px !important;

    color: #0b2346 !important;

    font-size: clamp(30px, 2.4vw, 42px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.hozit-services-intro {
    max-width: 660px !important;

    margin: 0 !important;

    color: #5f6f86 !important;

    font-size: 14px !important;
    line-height: 1.55 !important;
}

.hozit-services-all-link {
    align-self: center !important;

    padding: 11px 16px !important;

    color: #0b2346 !important;
    background: #f3f6fa !important;

    border: 1px solid #dde5ef !important;
    border-radius: 999px !important;

    font-size: 12px !important;
    font-weight: 900 !important;

    transition:
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}

.hozit-services-all-link:hover {
    color: #ffffff !important;
    background: #0b2346 !important;
    transform: translateY(-1px) !important;
}

/* Four balanced columns */
.hozit-services-mega-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px 32px !important;
}

.hozit-services-column {
    position: relative !important;

    padding-left: 15px !important;

    border-left: 2px solid #edf1f6 !important;
}

.hozit-services-column::before {
    content: "" !important;

    position: absolute !important;
    left: -2px !important;
    top: 0 !important;

    width: 2px !important;
    height: 28px !important;

    background: #ff5200 !important;
}

.hozit-services-column h3,
.hozit-services-column h4 {
    min-height: 35px !important;

    margin-bottom: 10px !important;

    color: #0870c9 !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.055em !important;
}

/* Hozit service link language */
.hozit-services-column a {
    position: relative !important;

    padding: 6px 0 6px 14px !important;

    color: #182d4b !important;

    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.hozit-services-column a::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    top: 13px !important;

    width: 5px !important;
    height: 5px !important;

    background: #ff5200 !important;
    border-radius: 50% !important;

    opacity: 0 !important;
    transform: translateX(-5px) !important;

    transition:
        opacity 0.18s ease,
        transform 0.18s ease !important;
}

.hozit-services-column a::after {
    content: "" !important;

    position: absolute !important;
    left: 14px !important;
    bottom: 3px !important;

    width: 0 !important;
    height: 2px !important;

    background: #ff5200 !important;

    transition: width 0.18s ease !important;
}

.hozit-services-column a:hover {
    color: #ff5200 !important;
    transform: translateX(3px) !important;
}

.hozit-services-column a:hover::before {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

.hozit-services-column a:hover::after {
    width: 34px !important;
}

/* Footer */
.hozit-services-mega-footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;

    margin-top: 26px !important;
    padding-top: 20px !important;
}

.hozit-services-mega-footer > div:first-child {
    display: grid !important;
    gap: 3px !important;
}

.hozit-services-mega-footer strong {
    color: #0b2346 !important;

    font-size: 14px !important;
    font-weight: 900 !important;
}

.hozit-services-mega-footer span {
    color: #68778d !important;

    font-size: 12px !important;
}

.hozit-services-footer-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.hozit-services-footer-link,
.hozit-services-footer-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 10px 16px !important;

    border-radius: 999px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
}

.hozit-services-footer-link {
    color: #0b2346 !important;
    background: #f2f5f9 !important;
    border: 1px solid #dce4ee !important;
}

.hozit-services-footer-link:hover {
    color: #ff5200 !important;
}

.hozit-services-footer-cta {
    color: #ffffff !important;
    background: #ff5200 !important;
    border: 1px solid #ff5200 !important;

    box-shadow:
        0 8px 20px rgba(255, 82, 0, 0.24) !important;
}

.hozit-services-footer-cta:hover {
    background: #dd4700 !important;
    transform: translateY(-1px) !important;
}

/* Services trigger */
.hozit-services-toggle {
    position: relative !important;
}

.hozit-services-toggle::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -10px !important;

    height: 3px !important;

    background: #ff5200 !important;
    border-radius: 999px !important;

    opacity: 0 !important;
    transform: scaleX(0.3) !important;

    transition:
        opacity 0.18s ease,
        transform 0.18s ease !important;
}

.hozit-services-nav-item:hover .hozit-services-toggle::after,
.hozit-services-nav-item.is-open .hozit-services-toggle::after,
.hozit-services-toggle[aria-expanded="true"]::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .hozit-services-mega-menu {
        width: calc(100vw - 24px) !important;
    }

    .hozit-services-mega-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 860px) {
    .hozit-services-mega-header,
    .hozit-services-mega-footer {
        grid-template-columns: 1fr !important;
    }

    .hozit-services-footer-actions {
        flex-wrap: wrap !important;
    }

    .hozit-services-footer-link,
    .hozit-services-footer-cta {
        flex: 1 1 150px !important;
    }
}

