/* Shared responsive rules for every Student DZ page. */

/* Unified site header */
.site-header{width:100%;position:sticky;top:0;z-index:1000;background:var(--bg-card);border-bottom:1px solid var(--border-color)}
.site-header .container{width:min(100% - 32px,1200px);min-height:64px;margin-inline:auto;display:flex;align-items:center;gap:16px}
.site-header .logo{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none}
.site-header .logo img{display:block;width:32px;height:32px;object-fit:cover;border-radius:8px}
.main-nav{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:2px}
.main-nav .nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 9px;border-radius:9px;white-space:nowrap;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.main-nav .nav-link:hover,.main-nav .nav-link:focus-visible{background:var(--bg-main);outline:none}
.header-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}
.icon-btn,.hamburger{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:background-color .2s ease,transform .15s ease}
.icon-btn:hover,.hamburger:hover{background:var(--bg-main)}
.icon-btn:focus-visible,.hamburger:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.icon-btn:active,.hamburger:active{transform:scale(.96)}
.hamburger{display:none}

@media (max-width:1050px){
 .site-header .container{gap:10px}
 .main-nav .nav-link{padding-inline:6px;font-size:.84rem}
}

@media (max-width:768px){
 .site-header{position:sticky;top:0;height:auto;background:var(--bg-card);box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.06));pointer-events:auto}
 .site-header .container{width:calc(100% - 24px);min-height:60px;padding:6px 0;gap:8px}
 .site-header .logo{display:inline-flex;font-size:.98rem}
 .site-header .logo img{width:30px;height:30px}
 .header-actions{margin-inline-start:auto}
 .icon-btn,.hamburger{width:40px;height:40px}
 .hamburger{display:inline-flex}
 .main-nav{position:absolute;top:calc(100% + 8px);inset-inline:12px;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;max-height:calc(100vh - 82px);overflow-y:auto;padding:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--shadow-lg,0 12px 30px rgba(0,0,0,.12))}
 .main-nav.active{display:flex}
 .main-nav .nav-link{width:100%;min-height:44px;justify-content:flex-start;padding:10px 14px;border-radius:10px;font-size:.94rem}
 .main-nav .nav-link:hover,.main-nav .nav-link:focus-visible{background:var(--bg-main)}
 .hero h1{font-size:2rem}
 .hero p{font-size:1rem}
 .grid{grid-template-columns:1fr!important}
}

@media (max-width:420px){
 .site-header .container{width:calc(100% - 16px)}
 .site-header .logo{gap:6px;font-size:.92rem}
 .site-header .logo img{width:29px;height:29px}
 .icon-btn,.hamburger{width:38px;height:38px}
}
