/* =====================================================
   FORGE HEADER
===================================================== */

.site-header{
    width:100%;
    background:#fff;
    position:relative;
    z-index:9999;
}


/* ================= TOP HEADER ================= */

.top-header{
    background:var(--primary);
    color:#fff;
    font-size:13px;
}

.top-header-inner{
    height:40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.top-info{
    color:#c9d3db;
}

.top-contact{
    display:flex;
    align-items:center;
    gap:12px;
}

.top-contact a{
    color:#fff;
    transition:.3s;
}

.top-contact a:hover{
    color:var(--accent);
}


/* ================= MAIN HEADER ================= */

.main-header{
    background:#fff;
    border-bottom:1px solid #e8edf2;
}

.header-container{
    height:95px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.header-logo img{
    max-height:64px;
    width:auto;
}

.text-logo{
    font-size:26px;
    font-weight:900;
    color:var(--primary);
}


/* ================= MENU ================= */

.main-navigation{
    flex:1;
    margin:0 30px;
}

.main-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:22px;
}

.main-menu li{
    position:relative;
}

.main-menu a{
    color:#26313a;
    font-size:15px;
    font-weight:600;
    transition:.3s;
    white-space:nowrap;
}

.main-menu a:hover{
    color:var(--accent);
}

.menu-arrow{
    font-size:13px;
    margin-right:4px;
}


/* ================= MEGA MENU ================= */

.has-mega-menu{
    position:relative;
}

.mega-menu{
    position:absolute;
    top:45px;
    right:-120px;
    width:760px;
    max-width:calc(100vw - 32px);
    background:#fff;
    padding:28px;
    border-radius:20px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.3s;
    box-shadow:0 25px 60px rgba(0,0,0,.15);
    border-top:4px solid var(--accent);
    z-index:20;
}

.has-mega-menu:hover .mega-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.mega-item{
    display:block;
    min-width:0;
    height:100%;
    padding:16px;
    border-radius:12px;
    white-space:normal;
    transition:.2s;
}

.mega-item:hover{
    background:var(--light);
}

.mega-item h3{
    font-size:17px;
    color:var(--primary);
    margin:0 0 6px;
    line-height:1.7;
    white-space:normal;
    overflow-wrap:break-word;
}

.mega-item span{
    display:block;
    color:var(--secondary);
    font-size:13px;
    line-height:1.7;
    white-space:normal;
    overflow-wrap:break-word;
}


/* ================= SIMPLE DROPDOWN ("بیشتر") ================= */

.has-dropdown{
    position:relative;
}

.dropdown-menu{
    position:absolute;
    top:45px;
    right:0;
    min-width:230px;
    background:#fff;
    border-radius:14px;
    padding:10px;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.25s;
    box-shadow:0 20px 45px rgba(0,0,0,.15);
    border-top:3px solid var(--accent);
    z-index:10;
}

.has-dropdown:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.dropdown-menu li{
    width:100%;
}

.dropdown-menu li a{
    display:block;
    padding:11px 14px;
    border-radius:8px;
    font-size:14.5px;
    font-weight:500;
    color:#333;
}

.dropdown-menu li a:hover{
    background:var(--light);
    color:var(--accent);
}


/* ================= ACTIONS ================= */

.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.header-cta{
    display:inline-flex;
    align-items:center;
    background:var(--primary);
    color:#fff;
    padding:12px 22px;
    border-radius:12px;
    font-weight:700;
    font-size:14px;
    transition:.3s;
}

.header-cta:hover{
    background:#1c3750;
    color:#fff;
}

.header-phone{
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--accent);
    color:#fff;
    padding:12px 20px;
    border-radius:12px;
    transition:.3s;
}

.header-phone:hover{
    background:#c2470a;
    color:#fff;
}

.header-phone strong{
    display:block;
    font-size:15px;
}


/* ================= MOBILE ================= */

.mobile-toggle{
    display:none;
    background:none;
    border:0;
    cursor:pointer;
}

.mobile-toggle span{
    width:28px;
    height:3px;
    display:block;
    background:var(--primary);
    margin:6px;
    border-radius:5px;
}


/* ================= RESPONSIVE ================= */

@media(max-width:1100px){

    .mega-menu{
        width:600px;
        right:-80px;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
        padding:22px;
    }

    .main-navigation{
        margin:0 15px;
    }

    .main-menu{
        gap:15px;
    }

}

@media(max-width:900px){

    .top-header{
        display:none;
    }

    .header-container{
        height:80px;
    }

    .main-navigation,
    .header-actions{
        display:none;
    }

    .mobile-toggle{
        display:block;
    }

    .header-logo img{
        max-height:50px;
    }

    .text-logo{
        font-size:22px;
    }

}

@media(max-width:900px){

    .mobile-menu-open .main-navigation{
        display:block;
        position:absolute;
        top:80px;
        right:0;
        width:100%;
        background:#fff;
        padding:20px;
        box-shadow:0 15px 40px rgba(0,0,0,.12);
        max-height:75vh;
        overflow-y:auto;
    }

    .mobile-menu-open .main-menu{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }

    .mobile-menu-open .main-menu li{
        width:100%;
        border-bottom:1px solid #eee;
    }

    .mobile-menu-open .main-menu li a{
        display:flex;
        justify-content:space-between;
        padding:14px 5px;
    }

    .mobile-menu-open .mega-menu{
        position:static;
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        opacity:1;
        visibility:visible;
        transform:none;
        padding:10px 0 15px;
        margin-top:5px;
        background:#f7f9fb;
        border-radius:12px;
        box-shadow:none;
        border-top:0;
        gap:6px;
    }

    .mobile-menu-open .mega-item{
        display:block;
        height:auto;
        padding:12px 10px;
    }

    .mobile-menu-open .mega-item h3,
    .mobile-menu-open .mega-item span{
        white-space:normal;
    }

    .mobile-menu-open .dropdown-menu{
        position:static;
        width:100%;
        min-width:0;
        display:block;
        opacity:1;
        visibility:visible;
        transform:none;
        padding:6px 0 10px 15px;
        margin-top:0;
        background:transparent;
        box-shadow:none;
        border-top:0;
    }

    .mobile-menu-open .dropdown-menu li a{
        padding:12px 5px;
        color:#555;
    }

}
