//* ==========================================
   HEADER
========================================== */

.main-header{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    z-index:1000;
}

.header-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:12px 5%;
}

/* Logo */

.logo-link{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo{
    width:55px;
    height:55px;
    object-fit:contain;
    flex-shrink:0;
}

/* Company Name */

.company-name{
    flex:1;
    overflow:hidden;
}

.company-name a{
    text-decoration:none;
    color:inherit;
}

.company-name h2{

    margin:0;

    font-size:clamp(1rem,2vw,1.7rem);

    font-weight:700;

    color:#2E2E2E;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;

    letter-spacing:.5px;

}

/* Icons */

.header-icons{
    display:flex;
    align-items:center;
    gap:18px;
    flex-shrink:0;
}

.header-icons i{

    font-size:30px;

    color:#5f755f;

    cursor:pointer;

    transition:.3s;

}

.header-icons i:hover{

    transform:scale(1.1);

}

/* Hide menu on desktop */

.menu-btn{
    display:none;
}


/* ==========================================
   SIDEBAR
========================================== */

.sidebar{

    position:fixed;

    top:0;
    left:-280px;

    width:280px;
    height:100vh;

    background:#fff;

    overflow-y:auto;

    transition:left .35s ease;

    box-shadow:2px 0 20px rgba(0,0,0,.15);

    z-index:9999;

}

.sidebar.active{

    left:0;

}

.sidebar-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 20px;

    border-bottom:1px solid #ddd;

    background:#5f755f;

    color:#fff;

}

.sidebar-header h3{

    margin:0;

    font-size:18px;

}

.sidebar-header i{

    font-size:30px;

    cursor:pointer;

}

.sidebar a{

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px 20px;

    color:#333;

    text-decoration:none;

    transition:.3s;

}

.sidebar a:hover{

    background:#f3f3f3;

    padding-left:28px;

}

.sidebar a i{

    font-size:22px;

    color:#5f755f;

}


/* ==========================================
   MAIN
========================================== */

main{

    padding:25px;

}


/* ==========================================
   FLOATING CONTACT BUTTONS
========================================== */

.floating-contact{

    position:fixed;

    right:20px;

    bottom:20px;

    display:flex;

    flex-direction:column;

    gap:15px;

    z-index:99999;

}

.floating-contact a,
.floating-contact button{

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    cursor:pointer;

    color:#fff;

    font-size:28px;

    box-shadow:0 5px 15px rgba(0,0,0,.25);

    transition:all .3s ease;

}

.floating-contact a:hover,
.floating-contact button:hover{

    transform:translateY(-4px) scale(1.08);

}

/* Button Colors */

.whatsapp-btn{

    background:#25D366;

}

.call-btn{

    background:#2E7D32;

}

.email-btn{

    background:#1976D2;

}

.location-btn{

    background:#E53935;

}

.top-btn{

    background:#444;

    display:none;

}


/* ==========================================
   LARGE DESKTOP
========================================== */

@media (min-width:1400px){

    .header-top{

        padding:14px 6%;

    }

    .logo{

        width:65px;
        height:65px;

    }

    .company-name h2{

        font-size:1.9rem;

    }

}


/* ==========================================
   LAPTOP
========================================== */

@media (max-width:1200px){

    .company-name h2{

        font-size:1.4rem;

    }

}


/* ==========================================
   TABLET
========================================== */

@media (max-width:992px){

    .logo{

        width:48px;
        height:48px;

    }

    .company-name h2{

        font-size:1.2rem;

    }

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .header-top{

        padding:10px 15px;

    }

    .logo{

        width:42px;
        height:42px;

    }

    .company-name{

        display:none;

    }

    .menu-btn{

        display:block;

    }

    .header-icons{

        gap:12px;

    }

    .header-icons i{

        font-size:28px;

    }

    .sidebar{

        width:260px;

    }

    main{

        padding:15px;

    }

    .floating-contact{

        right:15px;
        bottom:15px;

        gap:12px;

    }

    .floating-contact a,
    .floating-contact button{

        width:48px;
        height:48px;

        font-size:24px;

    }

}


/* ==========================================
   SMALL PHONES
========================================== */

@media (max-width:480px){

    .header-top{

        padding:8px 12px;

    }

    .logo{

        width:38px;
        height:38px;

    }

    .header-icons i{

        font-size:24px;

    }

    .floating-contact a,
    .floating-contact button{

        width:45px;
        height:45px;

        font-size:22px;

    }

}
/* =========================================================
   FINAL HEADER / MOBILE NAV OVERRIDE
   No external icon font required.
========================================================= */
.main-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    min-height:64px!important;
    padding:0!important;
    background:#5f755f!important;
    color:#fff!important;
    z-index:10000!important;
    box-shadow:0 2px 12px rgba(0,0,0,.18)!important;
}
.main-header .header-top{
    width:100%!important;
    max-width:1500px!important;
    min-height:64px!important;
    margin:0 auto!important;
    padding:7px 20px!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
}
.main-header .brand{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex:0 1 auto!important;
    min-width:0!important;
    color:#fff!important;
}
.main-header .logo{
    width:46px!important;
    height:46px!important;
    object-fit:contain!important;
    border-radius:50%!important;
    background:#fff!important;
    padding:2px!important;
    flex:0 0 46px!important;
}
.main-header .brand-copy{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    white-space:nowrap!important;
    line-height:1.08!important;
}
.main-header .brand-copy strong{
    color:#fff!important;
    font-size:16px!important;
    letter-spacing:.25px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.main-header .brand-copy small{
    color:rgba(255,255,255,.9)!important;
    font-size:9px!important;
    margin-top:3px!important;
}
.main-header .desktop-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:1px!important;
    margin-left:auto!important;
    flex:0 1 auto!important;
    min-width:0!important;
}
.main-header .desktop-nav a{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    padding:8px 9px!important;
    border-radius:7px!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:600!important;
    white-space:nowrap!important;
}
.main-header .desktop-nav a:hover{background:rgba(255,255,255,.14)!important}
.nav-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:17px!important;font-size:15px!important;line-height:1!important;font-weight:700!important}
.main-header .header-icons{display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;margin-left:4px!important}
.main-header .icon-btn{
    width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;
    background:transparent!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    cursor:pointer!important;
}
.main-header .theme-symbol,.main-header .menu-symbol{font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif!important;font-size:23px!important;line-height:1!important;color:#fff!important}
.main-header .menu-btn{display:none!important}
.main-header .icon-btn:hover{background:rgba(255,255,255,.14)!important}
.mobile-overlay{display:none!important}

@media (max-width: 900px){
    .main-header .desktop-nav{display:none!important}
    .main-header .menu-btn{display:inline-flex!important}
    .main-header .header-top{min-height:60px!important;padding:6px 14px!important;gap:8px!important}
    .main-header .logo{width:42px!important;height:42px!important;flex-basis:42px!important}
    .main-header .brand-copy strong{font-size:14px!important}
    .main-header .brand-copy small{font-size:8px!important}
    .main-header .header-icons{margin-left:auto!important}
    .main-header .theme-symbol,.main-header .menu-symbol{font-size:22px!important}
    .mobile-overlay{position:fixed!important;inset:0!important;background:rgba(0,0,0,.45)!important;z-index:9998!important;display:block!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important}
    .mobile-overlay.active{opacity:1!important;pointer-events:auto!important}
    .sidebar{position:fixed!important;top:0!important;left:-310px!important;width:min(290px,86vw)!important;height:100dvh!important;background:#fff!important;z-index:9999!important;overflow-y:auto!important;transition:left .25s ease!important;box-shadow:8px 0 28px rgba(0,0,0,.22)!important}
    .sidebar.active{left:0!important}
    .sidebar a{display:flex!important;align-items:center!important;gap:12px!important;padding:15px 18px!important;color:#2d332f!important}
    .sidebar a .nav-icon{color:#5f755f!important}
    .sidebar-close{width:38px!important;height:38px!important;border:0!important;background:transparent!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
    .close-symbol{font-family:Arial,sans-serif!important;font-size:32px!important;line-height:1!important}
}
@media (max-width:480px){
    .main-header .header-top{padding:6px 10px!important}
    .main-header .logo{width:40px!important;height:40px!important;flex-basis:40px!important}
    .main-header .brand-copy strong{font-size:12px!important}
    .main-header .brand-copy small{font-size:7px!important}
    .main-header .icon-btn{width:34px!important;height:34px!important}
    .main-header .theme-symbol,.main-header .menu-symbol{font-size:21px!important}
}
