/* ==========================================================================
   Responsive adjustments — desktop → laptop → tablet → mobile → small mobile
   ========================================================================== */

/* Laptop / small desktop */
@media (max-width: 1199.98px) {
  .portal-sidebar { width: 240px; }
}

/* Tablet */
@media (max-width: 991.98px) {
  .hero { min-height: auto; padding: 40px 0; }
  .portal-sidebar { display: none !important; }
  .portal-body { padding: 16px; }
  .plan-card.featured { transform: none; }
  .site-header .container { flex-wrap: wrap; }
}

/* Mobile */
@media (max-width: 767.98px) {
  .topbar .container > div:last-child { display: none; }
  .hero h1 { font-size: clamp(26px, 7vw, 36px); }
  .section-title { font-size: clamp(22px, 6vw, 28px); }
  .hero-card { margin-top: 24px; }
  .stat-value { font-size: 26px; }
  .table-responsive-drs { overflow-x: auto; }
  .portal-topbar input[type="search"], .portal-topbar .search-box { display: none; }
  .date-badge { min-width: 46px; padding: 6px 8px; }
}

/* Small mobile */
@media (max-width: 420px) {
  .brand-name { font-size: 14.5px; }
  .brand-sub { display: none; }
  .btn-brand, .btn-outline-brand { padding: 12px 18px; font-size: 14px; }
  .hero-pill { font-size: 10px; padding: 6px 12px 6px 8px; }
  .highlight-big { font-size: 22px; }
}

/* Never allow horizontal scroll of the page itself; wide tables/diagrams scroll internally */
body { overflow-x: hidden; }
.table-responsive, .table-responsive-drs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
