/*
==================================================
NextNews Pro - Header
Version: 1.0.0
==================================================
*/

/* ==========================================
   01. Header Wrapper
========================================== */

.site-header{
    position:relative;
    background:var(--white);
    border-bottom:1px solid var(--border-color);
    z-index:999;
}

/* ==========================================
   02. Top Bar
========================================== */

.top-bar{
    background:var(--secondary-color);
    color:var(--white);
    font-size:14px;
}

.top-bar .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    gap:20px;
}

/* ==========================================
   03. Top Bar Left
========================================== */

.topbar-left{
    display:flex;
    align-items:center;
}

.top-date{
    display:flex;
    align-items:center;
    gap:8px;
}

.top-date i{
    color:var(--primary-color);
    font-size:14px;
}

.current-date{
    font-weight:500;
}

/* ==========================================
   04. Top Bar Center
========================================== */

.topbar-center{
    flex:1;
    display:flex;
    justify-content:center;
}

.topbar-menu{
    display:flex;
    align-items:center;
    gap:20px;
}

.topbar-menu li{
    list-style:none;
}

.topbar-menu a{
    color:var(--white);
    font-size:14px;
    transition:var(--transition);
}

.topbar-menu a:hover{
    color:var(--primary-color);
}

/* ==========================================
   05. Top Bar Right
========================================== */

.topbar-right{
    display:flex;
    align-items:center;
}

.header-social{
    display:flex;
    align-items:center;
    gap:12px;
}

.header-social a{
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    transition:var(--transition);
}

.header-social a:hover{
    background:var(--primary-color);
}

/* ==========================================
   06. Header Main
========================================== */

.header-main{
    background:var(--white);
    padding:25px 0;
}

.header-main .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

/* ==========================================
   07. Site Branding
========================================== */

.site-branding{
    flex-shrink:0;
}

.custom-logo{
    display:block;
    max-height:80px;
    width:auto;
}

.site-identity{
    display:flex;
    flex-direction:column;
}

.site-title{
    margin:0;
    font-size:34px;
    font-weight:700;
    line-height:1.2;
}

.site-title a{
    color:var(--secondary-color);
}

.site-title a:hover{
    color:var(--primary-color);
}

.site-description{
    margin-top:8px;
    color:#777;
    font-size:14px;
}

/* ==========================================
   08. Header Advertisement
========================================== */

.header-ad{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
}

.ad-placeholder{

    width:728px;

    max-width:100%;

    height:90px;

    border:2px dashed var(--border-color);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#888;

    font-size:15px;

    border-radius:var(--radius);

    background:#fafafa;

}

/* ==========================================
   09. Header Actions
========================================== */

.header-actions{

    display:flex;

    align-items:center;

    gap:12px;

}

.header-actions button{

    width:44px;

    height:44px;

    border:none;

    outline:none;

    border-radius:50%;

    cursor:pointer;

    background:#f2f2f2;

    color:var(--secondary-color);

    transition:var(--transition);

}

.header-actions button:hover{

    background:var(--primary-color);

    color:var(--white);

}

.header-actions i{

    font-size:18px;

}

/* ==========================================
   10. Navigation
========================================== */

.main-navigation{

    background:var(--primary-color);

    position:relative;

}

.main-navigation .container{

    display:flex;

    align-items:center;

}

.primary-menu{

    display:flex;

    align-items:center;

    gap:0;

}

.primary-menu>li{

    position:relative;

}

.primary-menu>li>a{

    display:flex;

    align-items:center;

    padding:18px 22px;

    color:var(--white);

    font-size:15px;

    font-weight:600;

    transition:var(--transition);

}

.primary-menu>li:hover>a{

    background:rgba(255,255,255,.12);

}

/* ==========================================
   11. Dropdown Menu
========================================== */

.primary-menu ul{
    position:absolute;
    top:100%;
    left:0;
    min-width:240px;
    background:var(--white);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:var(--transition);
    z-index:999;
}

.primary-menu li:hover > ul{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.primary-menu ul li{
    position:relative;
}

.primary-menu ul li a{
    display:block;
    padding:14px 20px;
    color:var(--secondary-color);
    border-bottom:1px solid var(--border-color);
    transition:var(--transition);
}

.primary-menu ul li:last-child a{
    border-bottom:none;
}

.primary-menu ul li a:hover{
    background:var(--primary-color);
    color:var(--white);
}

.primary-menu ul ul{
    top:0;
    left:100%;
}

/* ==========================================
   12. Breaking News
========================================== */

.breaking-news{
    background:#c30000;
    color:var(--white);
}

.breaking-news .container{
    display:flex;
    align-items:center;
    min-height:48px;
}

.breaking-label{
    display:flex;
    align-items:center;
    gap:10px;
    padding-right:20px;
    font-weight:700;
    white-space:nowrap;
}

.breaking-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#fff;
    animation:breakingPulse 1.5s infinite;
}

.breaking-content{
    flex:1;
    overflow:hidden;
}

.breaking-list{
    display:flex;
    align-items:center;
    gap:30px;
}

.breaking-list li{
    white-space:nowrap;
}

.breaking-list a{
    color:var(--white);
}

.breaking-list a:hover{
    text-decoration:underline;
}

/* ==========================================
   13. Sticky Header
========================================== */

.site-header{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
}


/* ==========================================
   14. Search Button
========================================== */

.search-toggle{
    position:relative;
}

.search-toggle:hover{
    transform:rotate(90deg);
}

/* ==========================================
   15. Dark Mode Button
========================================== */

.dark-mode-toggle:hover{
    transform:rotate(180deg);
}

/* ==========================================
   Animations
========================================== */

@keyframes breakingPulse{

    0%{
        transform:scale(1);
        opacity:1;
    }

    50%{
        transform:scale(1.5);
        opacity:.5;
    }

    100%{
        transform:scale(1);
        opacity:1;
    }

}

/* ==========================================
   16. Mobile Menu Button
========================================== */

.menu-toggle{
    display:none;
    align-items:center;
    justify-content:center;
}

/* ==========================================
   17. Responsive
========================================== */

@media (max-width:1024px){

    .header-main .container{
        gap:20px;
    }

    .site-title{
        font-size:28px;
    }

    .ad-placeholder{
        max-width:468px;
        height:60px;
    }

    .primary-menu > li > a{
        padding:16px 18px;
        font-size:14px;
    }

}

@media (max-width:991px){

    .topbar-center{
        display:none;
    }

    .header-main .container{
        flex-wrap:wrap;
    }

    .site-branding{
        flex:1;
    }

    .header-ad{
        order:3;
        flex:0 0 100%;
        margin-top:20px;
    }

    .menu-toggle{
        display:flex;
    }

    .primary-menu{
        display:none;
    }

    .breaking-news .container{
        flex-direction:column;
        align-items:flex-start;
        padding:10px 0;
    }

    .breaking-label{
        margin-bottom:10px;
    }

}

@media (max-width:767px){

    .top-bar{
        display:none;
    }

    .header-main{
        padding:18px 0;
    }

    .site-title{
        font-size:24px;
    }

    .site-description{
        display:none;
    }

    .header-actions{
        gap:8px;
    }

    .header-actions button{
        width:40px;
        height:40px;
    }

    .ad-placeholder{
        height:50px;
        font-size:13px;
    }

}

@media (max-width:576px){

    .header-main{
        padding:15px 0;
    }

    .site-title{
        font-size:22px;
    }

    .header-actions button{
        width:36px;
        height:36px;
    }

    .header-actions i{
        font-size:16px;
    }

    .breaking-label{
        font-size:14px;
    }

    .breaking-list{
        gap:16px;
        font-size:14px;
    }

}

/* ==========================================
   18. Utility Classes
========================================== */

.hidden{
    display:none !important;
}

.visible{
    display:block !important;
}

/* ==========================================
   End of Header
========================================== */