/* ==========================================================================
   RoyalAce Gaming Platform - Responsive Stylesheet
   Breakpoints, mobile drawer, touch targets, overflow handling
   ========================================================================== */

/* Mobile backdrop */
.sidebar-backdrop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  z-index: 1035;
  transition: opacity 0.25s ease;
}
.sidebar-backdrop.active {
  display: block;
}

/* Tablet & Mobile Screens (<= 991.98px) */
@media (max-width: 991.98px) {
  #sidebar {
    transform: translateX(-100%);
    width: 270px;
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.6);
  }
  
  body.sidebar-mobile-open #sidebar {
    transform: translateX(0);
  }
  
  #main-wrapper {
    margin-left: 0 !important;
  }
  
  #topbar {
    padding: 0 1rem;
  }
  
  #content-container {
    padding: 1.25rem 1rem;
  }
  
  .search-trigger-box {
    display: none; /* Hide wide search trigger, show search icon button on mobile */
  }
  
  .search-icon-mobile {
    display: inline-flex !important;
  }
  
  .page-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  
  .page-actions {
    width: 100%;
    justify-content: flex-start;
  }
  
  .filter-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-group {
    width: 100%;
  }
  .filter-group .form-control,
  .filter-group .form-select {
    width: 100%;
  }
}

/* Small Screens (<= 576px) */
@media (max-width: 576px) {
  .admin-info {
    display: none;
  }
  
  .status-pill {
    display: none;
  }
  
  .stat-card {
    padding: 1rem;
  }
  .stat-value {
    font-size: 1.5rem;
  }
  
  .table-footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  .modal-dialog {
    margin: 0.75rem;
  }
  
  #admin-footer {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }
}

/* Print Rules */
@media print {
  #sidebar, #topbar, .demo-alert-banner, .btn-action, .pagination-controls, .filter-bar {
    display: none !important;
  }
  #main-wrapper {
    margin-left: 0 !important;
  }
  body {
    background-color: #FFFFFF !important;
    color: #000000 !important;
  }
  .admin-card {
    border: 1px solid #CCCCCC !important;
    box-shadow: none !important;
  }
}

