/* =====================================================================
   TILA responsive layer — website, news, portal, admin
   ===================================================================== */

/* ---------- Public website + news: collapse multi-column grids ---------- */
@media (max-width: 900px) {
  .page-home header [style*="grid-template-columns"],
  .page-home section [style*="grid-template-columns"],
  .page-home footer [style*="grid-template-columns"],
  .page-news [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .page-home section { padding-left: 22px !important; padding-right: 22px !important; }
}
@media (max-width: 760px) {
  /* News top nav wraps instead of overflowing */
  .news-nav { flex-wrap: wrap; gap: 12px !important; }
  .news-nav > div:last-child { gap: 12px !important; font-size: 13px !important; flex-wrap: wrap; row-gap: 8px; justify-content: flex-start; }
  .page-home #navlinks, .page-news [style*="padding:50px"] { }
}
@media (max-width: 520px) {
  .page-home section, .page-news > div { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ---------- Portal: sidebar becomes an off-canvas drawer ---------- */
.portal-overlay { display: none; }
.portal-burger { display: none; }
@media (max-width: 960px) {
  .portal-side {
    position: fixed; top: 0; left: 0; height: 100%; z-index: 3000;
    transform: translateX(-100%); transition: transform .3s ease;
    box-shadow: 0 0 40px rgba(0,0,0,.45);
  }
  body.has-adminbar.page-portal .portal-side { top: 44px; height: calc(100% - 44px); }
  .portal-side.open { transform: translateX(0) !important; }
  .portal-overlay { position: fixed; inset: 0; background: rgba(14,26,68,.5); z-index: 2900; }
  body.has-adminbar.page-portal .portal-overlay { top: 44px; }
  .portal-overlay.open { display: block; }
  .portal-burger { display: inline-flex !important; }
}
@media (max-width: 820px) {
  .p-stack { grid-template-columns: 1fr !important; }
  .p-messages { grid-template-columns: 1fr !important; height: auto !important; }
  .p-messages > div:first-child { max-height: 280px; }
  .rec-fields { grid-template-columns: 1fr !important; }
  .rec-grid-head, .rec-grid-row { grid-template-columns: 1.6fr 1fr auto !important; }
  .rec-grid-head > div:nth-child(3), .rec-grid-row > div:nth-child(3) { display: none; }
}
@media (max-width: 900px) { .nb-cols { column-count: 2 !important; } }
@media (max-width: 600px) { .nb-cols { column-count: 1 !important; } }
@media (max-width: 640px) {
  .page-portal header > div[style*="width:240px"] { display: none !important; }
  .page-portal header { padding-left: 18px !important; padding-right: 18px !important; gap: 12px !important; }
  .page-portal main > div[style*="padding:28px 34px"] { padding-left: 18px !important; padding-right: 18px !important; }
}

/* ---------- Admin: sidebar becomes an off-canvas drawer ---------- */
.admin-overlay { display: none; }
.admin-burger { display: none; }
@media (max-width: 820px) {
  .admin-side {
    display: flex !important; position: fixed; top: 0; left: 0; z-index: 3000;
    transform: translateX(-100%); transition: transform .3s ease;
  }
  .admin-side.open { transform: translateX(0) !important; }
  .admin-overlay { position: fixed; inset: 0; background: rgba(14,26,68,.5); z-index: 2900; }
  .admin-overlay.open { display: block; }
  .admin-burger { display: inline-flex !important; align-items: center; justify-content: center; }
  .admin-wrap { padding-left: 18px; padding-right: 18px; }
  .admin-top { padding-left: 18px; padding-right: 18px; }
}
