/**
 * Responsive layout rules.
 * Breakpoints validated: 320 / 768 / 1024 / 1366 / 1920.
 */

@media (max-width: 991.98px) {
  .sidebar {
    transform: translateX(-100%);
    width: var(--apj-sidebar-width) !important;
  }

  body.sidebar-open .sidebar {
    transform: translateX(0);
  }

  body[data-sidebar-size="sm"] .sidebar {
    width: var(--apj-sidebar-width) !important;
  }

  body[data-sidebar-size="sm"] .sidebar-brand-text,
  body[data-sidebar-size="sm"] .nav-group-label,
  body[data-sidebar-size="sm"] .nav-chevron,
  body[data-sidebar-size="sm"] .nav-items {
    display: initial;
  }

  body[data-sidebar-size="sm"] .sidebar-brand-logo {
    height: 32px;
    max-width: 168px;
  }

  body[data-sidebar-size="sm"] .nav-items {
    display: block;
  }

  body[data-sidebar-size="sm"] .nav-group.collapsed .nav-items {
    display: none;
  }

  body[data-sidebar-size="sm"] .nav-group-toggle {
    justify-content: flex-start;
    padding: 0.55rem 0.65rem;
  }

  .topbar {
    left: 0 !important;
  }

  .main-content {
    margin-left: 0 !important;
  }

  .btn-mobile-only {
    display: inline-flex;
  }

  #sidebar-toggle {
    display: none;
  }

  .user-meta {
    display: none;
  }

  .brand-text {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .page-title {
    font-size: 1.25rem;
  }

  .container-fluid {
    padding: 0 0.85rem;
  }

  .card-body {
    padding: 1.15rem;
  }

  .toast-container {
    right: 0.5rem;
    left: 0.5rem;
    max-width: none;
  }

  .apj-table-wrap,
  .apj-cal-wrap,
  .apj-map-fallback {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .breadcrumb {
    font-size: 0.8rem;
    flex-wrap: wrap;
  }
}

/* Narrow phones (~320px) */
@media (max-width: 359.98px) {
  .container-fluid {
    padding: 0 0.55rem;
  }

  .card-body {
    padding: 0.85rem;
  }

  .page-title {
    font-size: 1.1rem;
  }

  .topbar-actions .btn {
    padding: 0.35rem 0.5rem;
  }

  .apj-map-fallback-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .sidebar-backdrop {
    display: none !important;
  }
}

/* Responsive styles for member portal */

/* Mobile styles */
@media (max-width: 640px) {
  .member-dashboard {
    gap: 1rem;
  }
  
  .member-welcome-title {
    font-size: 1.35rem;
  }
  
  .member-grid {
    grid-template-columns: 1fr;
  }
  
  .mp-header-inner {
    padding: 0.5rem 1rem;
  }
  
  .mp-main {
    padding: 1rem;
  }
}

/* Tablet styles */
@media (min-width: 641px) and (max-width: 899px) {
  .member-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Desktop styles */
@media (min-width: 900px) {
  .mp-nav-desktop {
    display: block;
  }
  
  .mp-nav-bottom {
    display: none;
  }
  
  .mp-footer {
    margin-bottom: 0;
  }
}

/* Print styles */
@media print {
  .mp-header,
  .mp-nav-desktop,
  .mp-nav-bottom,
  .mp-footer {
    display: none;
  }
  
  .mp-main {
    padding: 0;
  }
}
