/* Smart School — Cloudflare mobile polish v21.1
   Test-host override only. Keeps the release ZIP immutable. */

@media (max-width:680px){
  /* Header: make the mobile menu affordance visible and keep actions stable. */
  .ssp-nav{
    min-height:66px;
    gap:8px;
    padding-block:7px;
  }
  .ssp-brand{
    min-width:0;
    flex:1 1 auto;
  }
  .ssp-brand span{
    min-width:0;
  }
  .ssp-nav-actions{
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:8px;
  }
  .ssp-nav-actions .ssp-primary{
    white-space:nowrap;
    min-height:44px;
    padding-inline:15px;
  }
  .ssp-menu-btn{
    display:inline-grid!important;
    place-items:center;
    position:relative;
    flex:0 0 44px;
    width:44px;
    height:44px;
    min-width:44px;
    padding:0;
    border-radius:13px;
    border:1px solid #d6e4e9;
    background:#fff;
    box-shadow:0 4px 12px rgba(13,49,71,.04);
    color:#16485b;
  }
  .ssp-menu-btn::before{
    content:"";
    width:19px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;
    transition:transform .18s ease,box-shadow .18s ease;
  }
  .ssp-menu-btn[aria-expanded="true"]::before{
    transform:rotate(45deg);
    box-shadow:none;
  }
  .ssp-menu-btn[aria-expanded="true"]::after{
    content:"";
    position:absolute;
    width:19px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform:rotate(-45deg);
  }

  /* Footer: remove the long single-column mobile stack. */
  .ssp-footer{
    padding:24px 0 10px;
  }
  .ssp-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px 22px;
    align-items:start;
  }
  .ssp-footer-grid>div:first-child{
    grid-column:1/-1;
    padding-bottom:13px;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .ssp-footer .ssp-brand{
    display:inline-flex;
    width:auto;
    flex:none;
  }
  .ssp-footer .ssp-brand img{
    width:38px;
    height:38px;
  }
  .ssp-footer .ssp-brand strong{
    font-size:15px;
  }
  .ssp-footer .ssp-brand small{
    font-size:9px;
  }
  .ssp-footer-grid p{
    margin:7px 0 0;
    max-width:none;
    font-size:11.5px;
    line-height:1.65;
  }
  .ssp-footer-grid>div>b{
    margin-bottom:5px;
    font-size:13px;
  }
  .ssp-footer-grid>div>a,
  .ssp-footer-grid>div>button{
    padding:4px 0;
    font-size:12px;
    line-height:1.45;
  }
  .ssp-footer .footer-payments{
    margin-top:15px;
    padding-top:13px;
  }
  .ssp-footer-bottom{
    margin-top:15px;
    padding-top:10px;
    display:flex!important;
    flex-direction:column;
    gap:3px;
    font-size:10px;
  }
  .ssp-footer-bottom span{
    margin-top:0!important;
  }
}

@media (max-width:380px){
  .ssp-shell{
    width:min(100% - 16px,560px);
  }
  .ssp-nav-actions{
    gap:6px;
  }
  .ssp-nav-actions .ssp-primary{
    padding-inline:11px;
  }
  .ssp-menu-btn{
    flex-basis:42px;
    width:42px;
    height:42px;
    min-width:42px;
  }
  .ssp-footer-grid{
    gap:14px 16px;
  }
}


@media (max-width:680px){
  /* Login must remain directly reachable on mobile. */
  .ssp-mobile-nav .ssp-mobile-login{
    width:100%;
    display:block;
    margin-top:6px;
    padding:11px 12px;
    border:0;
    border-top:1px solid #e5eef1;
    border-radius:10px;
    background:transparent;
    color:#0b7563;
    text-align:right;
    font:inherit;
    font-weight:850;
    cursor:pointer;
  }
  .ssp-mobile-nav .ssp-mobile-login:active{
    background:#f2f8fa;
  }
}
