/* CNC Hospital  Responsive breakpoints */

@media (min-width: 700px) {
  .why-grid,
  .course-grid,
  .steps,
  .related-list { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: repeat(4, 1fr); }
  .form__row { grid-template-columns: 1fr 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .home-dept-grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 700px) {
  .brand-loc { display: block; }
  .brand-logo { height: 62px; max-width: 240px; }
}

@media (min-width: 980px) {
  :root { --header: 84px; }

  .nav-desktop { display: flex; }
  .menu-toggle { display: none !important; }
  .mobile-sidebar,
  .sidebar-backdrop { display: none !important; visibility: hidden !important; }
  .header-actions .btn { display: inline-flex; }
  .brand-logo { height: 66px; max-width: 260px; }
  .footer-logo-wrap .brand-logo,
  .footer-brand .brand-logo { height: 80px; max-width: 260px; }

  .hero { padding: 1.5rem 0 2.4rem; }
  .hero-grid,
  .value-grid:not(.value-grid--wrap),
  .split,
  .contact-grid,
  .location-card,
  .join-card { grid-template-columns: 1.05fr 0.95fr; }

  .join-card { align-items: center; }

  .why-grid { grid-template-columns: repeat(4, 1fr); }
  .course-grid { grid-template-columns: repeat(3, 1fr); }
  .home-dept-grid { grid-template-columns: repeat(3, 1fr); }
  .home-dept-grid .dept-node-cta { grid-column: span 1; }

  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .related-list { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .steps { grid-template-columns: repeat(4, 1fr); }

  .lightbox__prev { left: -3.25rem; }
  .lightbox__next { right: -3.25rem; }
}

@media (max-width: 979px) {
  .float-card-2 { display: none; }
}

@media (max-width: 640px) {
  /* Space only for the fixed icon bar (56px) + tiny buffer */
  body {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-bar { display: flex; }
  .float-actions { display: none; }
  .site-footer {
    padding-top: 2rem;
    padding-bottom: 0.85rem;
  }
  .footer-grid { margin-bottom: 1rem; gap: 1.15rem; }
  .footer-bottom {
    flex-direction: column;
    text-align: center;
    padding-top: 0.75rem;
    gap: 0.35rem;
  }
  .brand-logo { height: 50px; max-width: 170px; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .float-card { min-width: 110px; padding: 0.45rem 0.6rem; }
  .float-card strong { font-size: 0.85rem; }
  .gallery-item,
  .gallery-item--tall,
  .gallery-item--wide { aspect-ratio: 4 / 3; }
  .join-actions { flex-direction: column; }
  .join-actions .btn { width: 100%; }
  .footer-logo-wrap .brand-logo,
  .footer-brand .brand-logo { height: 68px; max-width: 220px; }
  .location-card__map,
  .map-embed { min-height: 14rem; }
}

@media (max-width: 380px) {
  .brand-tag { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}

@media print {
  .site-header,
  .mobile-bar,
  .float-actions,
  .ticker,
  .lightbox { display: none !important; }
  body { padding-bottom: 0; background: white; }
}
