/**
 * Prime Genie — mobile / tablet layout.
 * Loaded last so it wins over panel + shell conflicts.
 */

@media (min-width: 992px) {
  body.prime-member .prime-sidebar-overlay {
    display: none !important;
  }
  body.prime-member #menu-close-btn {
    display: none !important;
  }
}

html,
body.prime-member,
body.ptlog-login-body {
  overflow-x: hidden;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.prime-member img,
body.prime-member svg,
body.prime-member video,
body.prime-member iframe,
body.prime-member canvas {
  max-width: 100%;
  height: auto;
}

body.prime-member table {
  max-width: 100%;
}

/* Overlay is in the layout; hide until the drawer is open */
body.prime-member .prime-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  z-index: 950;
  -webkit-tap-highlight-color: transparent;
}

body.prime-member .prime-sidebar-overlay.visible,
body.prime-member.sidebar-open .prime-sidebar-overlay,
body.prime-member.prime-mobile-nav-open .prime-sidebar-overlay {
  display: block;
}

@media (max-width: 991px) {
  body.prime-member {
    overflow-x: hidden !important;
  }

  body.prime-member .sidebar,
  body.prime-member .sidebar.active {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: -110% !important;
    width: min(280px, 86vw) !important;
    max-width: 86vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 1100 !important;
    transform: none !important;
  }

  body.prime-member .sidebar.active,
  body.prime-member .sidebar.mobile-open,
  body.prime-member.sidebar-open .sidebar,
  body.prime-member.prime-mobile-nav-open .sidebar {
    left: 0 !important;
    width: min(280px, 86vw) !important;
    box-shadow: 0 0 50px rgba(15, 23, 42, 0.28) !important;
  }

  body.prime-member .sidebar.active .logo-details .logo_full,
  body.prime-member .sidebar.mobile-open .logo-details .logo_full,
  body.prime-member .sidebar.active .logo-details .logo_name,
  body.prime-member .sidebar.mobile-open .logo-details .logo_name,
  body.prime-member .sidebar.active .nav-links li a .links_name,
  body.prime-member .sidebar.mobile-open .nav-links li a .links_name,
  body.prime-member .sidebar.active .profile-details .name-job,
  body.prime-member .sidebar.mobile-open .profile-details .name-job,
  body.prime-member .sidebar.active .profile-details i,
  body.prime-member .sidebar.mobile-open .profile-details i,
  body.prime-member .sidebar.active .profile-details .logout-icon,
  body.prime-member .sidebar.mobile-open .profile-details .logout-icon {
    display: block !important;
  }

  body.prime-member .sidebar.active .logo-details .logo_icon,
  body.prime-member .sidebar.mobile-open .logo-details .logo_icon {
    display: none !important;
  }

  body.prime-member .sidebar.active #menu-close-btn,
  body.prime-member .sidebar.mobile-open #menu-close-btn {
    display: block !important;
    font-size: 28px !important;
    flex-shrink: 0;
    padding: 6px;
  }

  body.prime-member .sidebar .nav-links li a,
  body.prime-member .sidebar .nav-links li.nav-item-dropdown .dropdown-btn {
    min-height: 44px;
  }

  body.prime-member .home-section,
  body.prime-member .sidebar.active ~ .home-section,
  body.prime-member .sidebar.mobile-open ~ .home-section {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin-left: 0 !important;
    min-width: 0 !important;
  }

  body.prime-member .home-section > nav.top-nav,
  body.prime-member .home-section > nav {
    height: 60px !important;
    padding: 0 12px !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    gap: 8px !important;
  }

  body.prime-member .home-section nav .sidebar-button i {
    font-size: 28px !important;
    margin-right: 0 !important;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  body.prime-member .home-section nav .sidebar-button .dashboard,
  body.prime-member .admin_name {
    display: none !important;
  }

  body.prime-member .home-section nav .center-logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    pointer-events: none;
  }

  body.prime-member .home-section nav .center-logo a {
    pointer-events: auto;
  }

  body.prime-member .home-section nav .center-logo img,
  body.prime-member .home-section nav .center-logo .header-brand-logo {
    height: 32px !important;
    max-height: 32px !important;
    max-width: 120px !important;
  }

  body.prime-member .profile-dropdown {
    padding: 4px 8px !important;
    gap: 0 !important;
  }

  body.prime-member .main-content-container {
    padding: 12px 14px 28px !important;
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
    margin-top: 8px !important;
    min-width: 0 !important;
    overflow-x: hidden;
  }

  body.prime-member .welcome-card,
  body.prime-member .section-card,
  body.prime-member .plans-container,
  body.prime-member .amember-page-body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  body.prime-member .welcome-card {
    padding: 16px 16px !important;
    margin-bottom: 16px !important;
  }

  body.prime-member .welcome-content h2,
  body.prime-member .welcome-card h2 {
    font-size: 18px !important;
    line-height: 1.3 !important;
    word-break: break-word;
  }

  body.prime-member .welcome-content p,
  body.prime-member .welcome-card p {
    font-size: 13px !important;
  }

  body.prime-member .overview-boxes,
  body.prime-member .plans-grid,
  body.prime-member .tools-grid,
  body.prime-member .faq-list,
  body.prime-member .customers-grid {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.prime-member .overview-boxes {
    gap: 12px !important;
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
  }

  body.prime-member .overview-boxes .box,
  body.prime-member .overview-boxes .box.products-box .number,
  body.prime-member .overview-boxes .box.download-box .number,
  body.prime-member .access-items-list .access-item-title {
    max-width: 100% !important;
  }

  body.prime-member .overview-boxes .box {
    padding: 14px 16px !important;
  }

  body.prime-member .tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.prime-member .tool-card,
  body.prime-member .plan-card,
  body.prime-member .section-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.prime-member .tool-card {
    padding: 14px 10px !important;
  }

  body.prime-member .plans-grid {
    gap: 14px !important;
  }

  body.prime-member .plans-container {
    padding: 0 !important;
  }

  body.prime-member .plan-card {
    padding: 24px 16px !important;
  }

  body.prime-member .section-card {
    padding: 18px 14px !important;
  }

  body.prime-member .section-card.wide-card {
    padding: 18px 14px !important;
  }

  body.prime-member .amember-page-body .am-form,
  body.prime-member .amember-page-body form,
  body.prime-member .am-form,
  body.prime-member .am-grid-wrap,
  body.prime-member .am-grid-container {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.prime-member table.am-grid,
  body.prime-member .am-grid {
    min-width: 0 !important;
  }

  body.prime-member .am-row,
  body.prime-member .am-element,
  body.prime-member input,
  body.prime-member select,
  body.prime-member textarea {
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.prime-member input,
  body.prime-member select,
  body.prime-member textarea {
    font-size: 16px !important;
  }

  body.prime-member .full-bleed-view {
    margin: -10px -14px -50px -14px !important;
    height: calc(100dvh - 60px) !important;
  }

  body.prime-member .plan-badge {
    right: -32px !important;
  }
}

@media (max-width: 600px) {
  body.prime-member .tools-grid {
    grid-template-columns: 1fr !important;
  }

  body.prime-member .home-section nav .center-logo img,
  body.prime-member .home-section nav .center-logo .header-brand-logo {
    max-width: 96px !important;
    height: 28px !important;
  }

  body.prime-member .profile-dropdown img {
    width: 28px !important;
    height: 28px !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 480px) {
  body.prime-member .main-content-container {
    padding: 10px 10px 24px !important;
  }

  body.prime-member .welcome-card h2 {
    font-size: 16px !important;
  }

  body.prime-member .plan-card h3 {
    font-size: 17px !important;
  }

  body.prime-member .plan-pricing .current-price {
    font-size: 26px !important;
  }
}

/* Auth (login / signup / reset) */
@media (max-width: 768px) {
  .ptlog-login-body {
    align-items: flex-start !important;
    min-height: 100dvh !important;
  }

  .ptlog-auth-container {
    padding: 16px 12px !important;
    padding-top: max(16px, env(safe-area-inset-top)) !important;
    min-height: 100dvh !important;
    align-items: flex-start !important;
  }

  .ptlog-auth-wrapper,
  .ptlog-auth-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ptlog-auth-card {
    padding: 24px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  }

  .ptlog-auth-title {
    font-size: 22px !important;
  }

  .ptlog-logo-container img {
    max-width: 220px !important;
    height: auto !important;
  }

  .ptlog-phone-group {
    flex-wrap: nowrap !important;
  }

  .ptlog-login-body input,
  .ptlog-login-body select,
  .ptlog-login-body textarea,
  .ptlog-input-wrapper input {
    font-size: 16px !important;
  }
}
