/* ==========================================================================
   🖥️ PROX PROVIDER - DESKTOP RESPONSIVE LAYOUT (Breakpoint: ≥ 992px)
   ========================================================================== */

@media (min-width: 992px) {
  /* ── 1. Page / Body Spacing ── */
  body:has(.navbar-menu) {
    padding-left: 80px !important;
    max-width: 100% !important;
    height: auto;
    min-height: 100vh;
  }

  /* ── 2. Reusable Centered Containers ── */
  .custom-container,
  .center-wrap,
  .page-wrap,
  main.custom-container {
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  /* Offset page elements under fixed headers */
  body > section,
  main,
  .page-wrap {
    padding-top: 100px !important;
  }

  /* Collapse mobile bottom spacing */
  .panel-space {
    display: none !important;
  }

  /* ── 3. Fixed Header Adaptation ── */
  /* Sidebar-present header layout */
  body:has(.navbar-menu) .header,
  body:has(.navbar-menu) .main-header,
  body:has(.navbar-menu) .app-header {
    left: 80px !important;
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    transform: none !important;
    padding: 16px 0 !important;
    backdrop-filter: blur(20px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  /* Non-sidebar header layout (centered subpages) */
  body:not(:has(.navbar-menu)) .header,
  body:not(:has(.navbar-menu)) .main-header,
  body:not(:has(.navbar-menu)) .app-header {
    position: fixed !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 0 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-left: none !important;
    border-right: none !important;
  }

  .header .custom-container,
  .main-header .custom-container,
  .app-header .custom-container {
    max-width: 100% !important;
    padding: 0 16px !important;
  }

  /* ── 4. Sidebar Rail Navigation ── */
  .navbar-menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 80px !important;
    max-width: 80px !important;
    height: 100vh !important;
    transform: none !important;
    border-radius: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.06) !important;
    z-index: 1050 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px 0 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) saturate(1.3) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.3) !important;
  }

  .navbar-menu ul {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 !important;
    width: 100% !important;
    align-items: center !important;
  }

  .navbar-menu ul li {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .navbar-menu ul li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 12px 8px !important;
    border-radius: 14px !important;
    width: 64px !important;
    position: relative !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-decoration: none !important;
  }

  .navbar-menu ul li a:hover {
    background: rgba(93, 63, 211, 0.08) !important;
  }

  .navbar-menu ul li.active a {
    background: rgba(93, 63, 211, 0.1) !important;
  }

  /* Left-side active indicator bar */
  .navbar-menu ul li.active a::before {
    content: '' !important;
    position: absolute !important;
    left: -8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 4px !important;
    height: 28px !important;
    border-radius: 0 4px 4px 0 !important;
    background: linear-gradient(180deg, #5D3FD3, #7557E6) !important;
    box-shadow: 0 2px 8px rgba(93, 63, 211, 0.4) !important;
  }

  .navbar-menu ul li.active a::after {
    display: none !important; /* Hide the mobile bottom indicator dot */
  }

  .navbar-menu ul li a h5 {
    font-size: 11px !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
    color: inherit !important;
  }

  .navbar-menu ul li a .icon {
    width: 24px !important;
    font-size: 22px !important;
  }

  .navbar-menu ul li a .icon img {
    width: 22px !important;
    height: 22px !important;
  }

  /* Middle Action / Plus Button */
  .navbar-menu ul li .scanner-btn {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 48px !important;
    height: 48px !important;
    margin: 8px 0 !important;
    box-shadow: 0 6px 20px rgba(93, 63, 211, 0.35) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }

  .navbar-menu ul li .scanner-btn:hover {
    transform: scale(1.12) !important;
    box-shadow: 0 8px 28px rgba(93, 63, 211, 0.45) !important;
  }

  /* ── 5. Dark Mode Adjustments ── */
  body.dark .navbar-menu,
  html.dark .navbar-menu,
  [data-theme="dark"] .navbar-menu,
  [data-theme="dark"] body .navbar-menu {
    background: rgba(18, 19, 28, 0.92) !important;
    border-right-color: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.3) !important;
  }

  body.dark .navbar-menu ul li a:hover,
  html.dark .navbar-menu ul li a:hover,
  [data-theme="dark"] .navbar-menu ul li a:hover {
    background: rgba(93, 63, 211, 0.12) !important;
  }

  body.dark .navbar-menu ul li.active a,
  html.dark .navbar-menu ul li.active a,
  [data-theme="dark"] .navbar-menu ul li.active a {
    background: rgba(255, 255, 255, 0.06) !important;
  }

  body.dark .header,
  body.dark .main-header,
  body.dark .app-header {
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
  }

  /* ── 6. Sticky CTA bottom buttons adaptation ── */
  .sticky-cta {
    max-width: 1000px !important;
  }

  /* ── 7. Home Page Calendar Layout Adjustments ── */
  #availability-calendar .fc-daygrid-day-frame {
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 100px !important;
  }

  #availability-calendar .fc-daygrid-day {
    position: relative !important;
    transition: background-color 0.2s ease !important;
  }

  #availability-calendar .fc-daygrid-day:hover {
    background-color: rgba(93, 63, 211, 0.04) !important;
  }

  body.dark #availability-calendar .fc-daygrid-day:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
  }

  #availability-calendar .fc-daygrid-day-top {
    flex-direction: row !important;
    justify-content: flex-end !important;
    padding: 6px 8px !important;
  }

  #availability-calendar .fc-daygrid-day-number {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: inherit !important;
    text-decoration: none !important;
    opacity: 0.8;
  }

  #availability-calendar .fc-event {
    margin: 2px 4px !important;
    padding: 4px 6px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  /* Make filter bar more spacious and aligned on desktop */
  .calendar-filter-bar {
    padding: 12px 20px !important;
    gap: 16px !important;
  }

  /* Prevent desktop sidebar rail from overlapping the profile offcanvas drawer */
  .sidebar-offcanvas {
    left: 80px !important;
  }

  /* RTL Support for Desktop Rail and Offcanvas */
  [dir="rtl"] body:has(.navbar-menu) {
    padding-left: 0 !important;
    padding-right: 80px !important;
  }
  [dir="rtl"] body:has(.navbar-menu) .header,
  [dir="rtl"] body:has(.navbar-menu) .main-header,
  [dir="rtl"] body:has(.navbar-menu) .app-header {
    left: auto !important;
    right: 80px !important;
  }
  [dir="rtl"] .navbar-menu {
    left: auto !important;
    right: 0 !important;
    border-right: none !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.06) !important;
  }
  [dir="rtl"] .sidebar-offcanvas {
    left: auto !important;
    right: 80px !important;
  }

  /* ── 8. Desktop Subpages (Non-Sidebar) Spacing and Alignment ── */
  /* Unlock body width globally on desktop */
  body {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* Center and constrain forms, details, and reviews to 800px on desktop */
  .subscription-plan-ui .custom-container,
  .upgrade-ui .page-shell,
  .notification-ui .page-shell,
  .payment-ui .custom-container,
  .review-ui .custom-container,
  .add-service-ui .custom-container,
  .edit-service-ui .custom-container,
  .add-package-ui .custom-container {
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Centering subpage headers on desktop */
  body:not(:has(.navbar-menu)) .app-header,
  body:not(:has(.navbar-menu)) .main-header,
  body:not(:has(.navbar-menu)) .rv-header,
  body:not(:has(.navbar-menu)) .subscription-header {
    position: fixed !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-left: none !important;
    border-right: none !important;
    box-sizing: border-box !important;
  }

  /* Adjust padding for subpage header panels to align with centered containers */
  .header-panel,
  .subscription-header-panel,
  .payment-header-panel {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .add-service-ui .header-panel,
  .edit-service-ui .header-panel,
  .add-package-ui .header-panel,
  .review-ui .rv-header,
  .subscription-plan-ui .header-panel,
  .upgrade-ui .header-panel,
  .payment-ui .payment-header-panel {
    max-width: 800px !important;
  }

  /* 3-Column SaaS pricing layout for subscription plan cards */
  .plans-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  .plan-card {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }

  /* 3-Column layout for services grid on desktop */
  .services-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    padding: 16px 0 40px !important;
  }

  /* Center footer sticky/fixed actions on desktop to align with containers */
  .sticky-cta,
  .footer-bar,
  .footer-paybar {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: 1000px !important;
    border-radius: 16px 16px 0 0 !important;
    box-sizing: border-box !important;
  }

  .add-service-ui .sticky-cta,
  .edit-service-ui .sticky-cta,
  .add-package-ui .sticky-cta,
  .subscription-plan-ui .footer-bar,
  .payment-ui .footer-paybar {
    max-width: 800px !important;
  }

  .footer-action {
    margin: 18px auto 0 !important;
    max-width: 800px !important;
    border-radius: 24px !important;
  }
}



