/* =========================================
   HEADER CONTAINER
========================================= */

.gb-header{
display:flex;
justify-content:space-between;
align-items:center;
padding:14px 22px;
background:#ffffff;
border-radius:16px;
border:1px solid #eef2f7;
box-shadow:0 10px 28px rgba(2,6,23,0.08);

margin:12px auto;
max-width:1200px;
width:95%;

flex-wrap:wrap;

position:sticky;
top:10px;
z-index:1000;

transition:all .25s ease;
}

.gb-header.scrolled{

background:rgba(255,255,255,0.82);

backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);

box-shadow:0 18px 44px rgba(0,0,0,0.12);

border-color:rgba(229,231,235,0.6);

}


/* =========================================
   BRAND AREA
========================================= */

.brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:#0f172a;
}

.brand-logo{
height:48px;
object-fit:contain;
}

.brand-title{
font-size:20px;
font-weight:900;
letter-spacing:.2px;
}


/* =========================================
   BUTTON BASE
========================================= */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:6px;

padding:10px 16px;

border-radius:999px;

font-weight:800;
font-size:13px;

text-decoration:none;
color:white;

transition:all .2s ease;

box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

.btn:hover{
transform:translateY(-2px);
box-shadow:0 16px 30px rgba(0,0,0,0.18);
}


/* =========================================
   BUTTON COLORS
========================================= */

.franchise{
background:linear-gradient(135deg,#0ea5e9,#2563eb);
}

.enroll{
background:linear-gradient(135deg,#ff4fa7,#7c3aed);
}

.student{
background:linear-gradient(135deg,#38bdf8,#2563eb);
}

.teacher{
background:linear-gradient(135deg,#22c55e,#16a34a);
}

.center{
background:linear-gradient(135deg,#fbbf24,#f59e0b);
color:#0f172a;
}

.competition{
background:linear-gradient(135deg,#fb7185,#f97316);
}

.admin{
background:linear-gradient(135deg,#111827,#374151);
}


/* =========================================
   DESKTOP ACTIONS
========================================= */

.desktop-actions{
display:flex;
gap:10px;
flex-wrap:wrap;
justify-content:flex-end;
}


/* =========================================
   MOBILE LEFT
========================================= */

.mobile-left{
display:flex;
align-items:center;
gap:10px;
}


/* =========================================
   MENU BUTTON
========================================= */

.menu-btn{
display:none;
font-size:24px;
background:none;
border:none;
cursor:pointer;
}


/* =========================================
   MOBILE ACTIONS
========================================= */

.mobile-actions{
display:none;
align-items:center;
gap:8px;
}

.mobile-enroll{
font-size:12px;
padding:8px 14px;
}


/* =========================================
   LOGIN DROPDOWN
========================================= */

.mobile-login{
position:relative;
}

.login-btn{
background:linear-gradient(135deg,#111827,#374151);
font-size:12px;
padding:8px 14px;
}

.mobile-login-menu{
position:absolute;
right:0;
top:44px;

background:white;

border-radius:14px;
border:1px solid #eef2f7;

box-shadow:0 16px 40px rgba(0,0,0,0.15);

padding:12px;

display:none;
flex-direction:column;
gap:10px;

min-width:170px;

z-index:999;
}

.mobile-login-menu a{
font-weight:700;
text-decoration:none;
color:#0f172a;
}

.mobile-login-menu a:hover{
color:#2563eb;
}

.mobile-login-menu.open{
display:flex;
}


/* =========================================
   MOBILE SIDEBAR BUTTON
========================================= */

.mobile-toggle{
display:none;
margin:12px auto;

padding:12px 18px;

border-radius:999px;

border:1px solid #e5e7eb;

background:#fff;

font-weight:800;

box-shadow:0 8px 18px rgba(0,0,0,0.06);
}


/* =========================================
   MOBILE SLIDE MENU (APP STYLE DRAWER)
========================================= */

.mobile-menu{

position:fixed;

top:0;
left:-320px;

width:300px;
height:100%;

background:#ffffff;

box-shadow:0 25px 60px rgba(0,0,0,0.25);

z-index:9999;

transition:left .35s cubic-bezier(.25,.8,.25,1);

padding:22px;

border-top-right-radius:20px;
border-bottom-right-radius:20px;

}

.mobile-menu.open{
left:0;
}


/* overlay */

.mobile-menu-overlay{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.35);

display:none;

z-index:9998;

}

.mobile-menu-overlay.open{
display:block;
}


/* menu header */

.menu-header{

display:flex;
align-items:center;
justify-content:space-between;

margin-bottom:18px;
padding-bottom:12px;

border-bottom:1px solid #eef2f7;

}


/* logo */

.menu-logo{
height:70px;
object-fit:contain;
}


/* links */

.menu-links{
display:flex;
flex-direction:column;
gap:6px;
margin-top:10px;
}


/* premium menu links */

.menu-links a{

display:flex;
align-items:center;

gap:10px;

padding:10px 12px;

border-radius:10px;

font-weight:700;

text-decoration:none;

color:#0f172a;

transition:all .18s ease;

}

.menu-links a:hover{
background:#f3f4f6;
transform:translateX(4px);
}


/* divider */

.menu-links hr{

border:none;
height:1px;

background:#eef2f7;

margin:8px 0;

}


/* close button */

.menu-close{

background:#f3f4f6;
border:none;

width:34px;
height:34px;

border-radius:50%;

font-size:16px;

cursor:pointer;

display:flex;
align-items:center;
justify-content:center;

transition:.2s;

}

.menu-close:hover{
background:#e5e7eb;
}


/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media(max-width:768px){

.desktop-actions{
display:none;
}

.menu-btn{
display:block;
}

.mobile-actions{
display:flex;
}

.mobile-toggle{
display:block;
}

.brand-logo{
height:40px;
}

.brand-title{
font-size:16px;
}

.gb-header{
padding:12px 16px;
}

}