/**
 * Site header — matches html/style.css (global).
 */

.site-header{
background-color:var(--oc365-color-card, #fff);
border-bottom:1px solid var(--oc365-color-border, #e5e7eb);
position:sticky;
top:0;
z-index:100;
height:80px;
display:flex;
align-items:center;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow:none;
}

.site-header > .container.header-container{
display:grid;
grid-template-columns:minmax(0, 1fr) auto;
align-items:center;
width:100%;
max-width:1280px;
margin-left:auto;
margin-right:auto;
padding:0 24px;
column-gap:16px;
box-sizing:border-box;
}

.site-header .header-actions{
display:flex;
align-items:center;
justify-content:flex-end;
gap:12px;
min-width:0;
}

.site-header .logo,
.site-header a.custom-logo-link.logo{
font-family:var(--oc365-font-heading);
font-size:1.5rem;
font-weight:800;
color:var(--oc365-color-text, #111827);
display:flex;
align-items:center;
justify-content:flex-start;
gap:8px;
text-decoration:none;
line-height:0;
min-width:0;
max-width:100%;
}

.site-header .logo .custom-logo-link,
.site-header a.custom-logo-link.logo{
line-height:0;
}

.site-header .logo .custom-logo,
.site-header a.custom-logo-link.logo .custom-logo,
.site-header .logo .oc365-theme-logo{
max-height:40px;
max-width:min(220px, 52vw);
width:auto;
height:auto;
display:block;
object-fit:contain;
object-position:left center;
}

.site-header .logo svg{
flex-shrink:0;
color:var(--oc365-color-text, #111827);
}

.site-header nav.nav-menu{
display:flex;
align-items:center;
gap:clamp(16px, 3vw, 32px);
list-style:none;
margin:0;
padding:0;
flex-shrink:0;
flex-wrap:nowrap;
}

.site-header nav.nav-menu > a.nav-link{
font-family:var(--oc365-font-heading);
font-weight:500;
font-size:0.95rem;
line-height:1.4;
letter-spacing:normal;
color:var(--oc365-color-text-muted, #6b7280);
position:relative;
padding:6px 0;
text-decoration:none;
opacity:1;
white-space:nowrap;
}

.site-header nav.nav-menu > a.nav-link::after{
content:'';
position:absolute;
bottom:0;
left:50%;
width:0;
height:2px;
background-color:var(--oc365-color-text, #111827);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
transform:translateX(-50%);
}

.site-header nav.nav-menu > a.nav-link:hover{
color:var(--oc365-color-text, #111827);
opacity:1;
}

.site-header nav.nav-menu > a.nav-link:hover::after,
.site-header nav.nav-menu > a.nav-link.active::after{
width:100%;
}

.site-header nav.nav-menu > a.nav-link.active{
color:var(--oc365-color-text, #111827);
}

.site-header nav.nav-menu > a.btn.btn-primary{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:auto;
padding:10px 20px;
font-family:var(--oc365-font-heading);
font-weight:600;
font-size:0.95rem;
line-height:1.2;
letter-spacing:normal;
border-radius:6px;
border:1px solid transparent;
background-color:var(--oc365-color-primary, #0f172a);
color:var(--oc365-btn-fg, #fff);
text-decoration:none;
white-space:nowrap;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header nav.nav-menu > a.btn.btn-primary:hover{
background-color:var(--oc365-color-primary-hover, #1e293b);
color:var(--oc365-btn-fg, #fff);
transform:translateY(-1px);
box-shadow:var(--oc365-shadow-md);
text-decoration:none;
}

.site-header nav.nav-menu > a.btn.btn-primary:active{
transform:scale(0.98);
}

.site-header .mobile-nav-toggle{
display:none;
background:none;
border:none;
cursor:pointer;
padding:4px;
}

.site-header .mobile-nav-toggle span{
display:block;
width:24px;
height:2px;
background-color:var(--oc365-color-text, #111827);
margin:5px 0;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.admin-bar .site-header{
top:32px;
}

@media (max-width:782px){
body.admin-bar .site-header{
top:46px;
}
}

@media (max-width:768px){
.site-header{
height:70px;
}

.site-header > .container.header-container{
column-gap:12px;
padding:0 16px;
}

.site-header .logo .custom-logo,
.site-header a.custom-logo-link.logo .custom-logo,
.site-header .logo .oc365-theme-logo{
max-height:32px;
max-width:min(180px, 48vw);
}

.site-header nav.nav-menu > a.nav-link{
font-size:0.9rem;
}

.site-header nav.nav-menu > a.btn.btn-primary{
padding:8px 14px;
font-size:0.875rem;
}

.site-header .mobile-nav-toggle{
display:block;
z-index:150;
flex-shrink:0;
}

.site-header nav.nav-menu{
position:fixed;
top:0;
right:-100%;
width:280px;
height:100vh;
background-color:var(--oc365-color-card, #fff);
flex-direction:column;
align-items:flex-start;
padding:100px 32px 40px;
box-shadow:-10px 0 30px rgba(0, 0, 0, 0.05);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
z-index:140;
}

.site-header nav.nav-menu.open{
right:0;
}

.site-header nav.nav-menu > a.nav-link{
font-size:1.1rem;
width:100%;
padding:12px 0;
}

.site-header nav.nav-menu > a.nav-link::after{
display:none;
}

.site-header nav.nav-menu > a.btn.btn-primary{
margin-top:20px;
width:100%;
}

.site-header .mobile-nav-toggle.open span:nth-child(1){
transform:rotate(45deg) translate(5px, 5px);
}

.site-header .mobile-nav-toggle.open span:nth-child(2){
opacity:0;
}

.site-header .mobile-nav-toggle.open span:nth-child(3){
transform:rotate(-45deg) translate(5px, -5px);
}
}
