/* Hodorak 2026 responsive hardening — tablets/iPad + admin navigation */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,iframe{max-width:100%}
main,.section,.container,.narrow,.panel,.table-wrap{min-width:0}
:is(.hero-grid,.feature-grid,.plans,.plans-grid,.landing-content-grid,.landing-steps,.school-selector-grid,.summary-grid,.detail-grid,.form-grid,.platform-admin-kpis,.platform-admin-actions,.admin-school-cards,.school-profile-kpis,.health-kpis)>*{min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:max-content}

/* Header only: switch to the drawer before iPad landscape becomes cramped. */
@media (max-width:1180px){
  .container{width:min(calc(100% - 32px),1040px)}
  .site-header{padding-top:13px}
  .header-frame{overflow:visible;border-radius:21px;backdrop-filter:none}
  .header-frame::before,.header-frame::after{border-radius:inherit}
  .nav-wrap{min-height:76px;padding:10px 14px;gap:12px}
  .nav-toggle{display:grid;place-items:center}
  #primary-navigation{
    position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(360px,88vw);padding:22px 18px;
    overflow-y:auto;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:5px;
    color:var(--ink);background:var(--white);box-shadow:-18px 0 55px rgba(9,21,42,.18);
    transform:translateX(105%);visibility:hidden;transition:transform .22s ease,visibility .22s ease
  }
  #primary-navigation>a,#primary-navigation .link-button{width:100%;min-height:46px;padding:11px 13px;display:flex;align-items:center;border-radius:12px;color:var(--ink);text-align:right}
  #primary-navigation>a:hover,#primary-navigation .link-button:hover{color:var(--navy);background:rgba(189,179,156,.14)}
  #primary-navigation .inline{width:100%}
  #primary-navigation .user-chip{margin-top:8px;color:var(--navy);background:var(--cream)}
  .mobile-nav-head{margin-bottom:14px;padding-bottom:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--navy);font-size:14px;font-weight:800}
  .mobile-nav-head button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:var(--cream);font-size:25px;cursor:pointer}
  .nav-backdrop{position:fixed;z-index:40;inset:0;display:block;background:rgba(9,21,42,.5);opacity:0;visibility:hidden;backdrop-filter:blur(3px);transition:opacity .2s ease,visibility .2s ease}
  .nav-open{overflow:hidden}.nav-open #primary-navigation{transform:translateX(0);visibility:visible}.nav-open .nav-backdrop{opacity:1;visibility:visible}
  [data-theme="dark"] #primary-navigation{color:var(--ink);background:#111f35}
  [data-theme="dark"] #primary-navigation>a,[data-theme="dark"] #primary-navigation .link-button{color:var(--ink)}
  [data-theme="dark"] .mobile-nav-head button,[data-theme="dark"] #primary-navigation .user-chip{border-color:var(--line);color:var(--ink);background:#0d192b}
}

/* iPad/tablet content balance. */
@media (min-width:640px) and (max-width:1180px){
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-copy{max-width:760px}
  .hero-visual{width:min(100%,760px);justify-self:center}
  .plans,.plans-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .landing-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .landing-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-head{gap:18px}
  .page-title h1,.admin-page-hero h1{overflow-wrap:anywhere}
}

@media (max-width:639px){
  .container,.narrow{width:min(calc(100% - 20px),540px)}
  .landing-content-grid,.landing-steps,.school-selector-grid{grid-template-columns:1fr}
  .table-wrap{overflow-x:auto!important}
}

/* Secondary system toolbar stays outside the primary navigation on every device. */
@media (max-width:1180px){
  .nav-wrap{min-height:0;padding:0 14px 9px;gap:0}
  .header-primary-row{min-height:72px;gap:12px}
  .header-primary-row #primary-navigation{flex:none}
  .header-utility-row{min-height:50px;padding:7px 0 1px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-inline:contain}
  .header-utility-row::-webkit-scrollbar{display:none}
  .header-utility-row .header-tools{width:max-content;min-width:100%;justify-content:flex-start;gap:7px}
}
@media (max-width:639px){
  .header-primary-row{min-height:64px}
  .header-utility-row{margin-inline:-2px;padding-inline:2px}
  .header-utility-row .header-tools{gap:6px}
  .header-utility-row .guided-help-launch{min-height:40px}
}
