/* ================================================
   MOBILE ADAPTIVE STYLES - PANDORA DAYZ SHOP
   Подключить после всех основных стилей
   ================================================ */

/* ===== БАЗОВЫЕ АДАПТИВЫ ДЛЯ ВСЕХ СТРАНИЦ ===== */

@media (max-width: 1024px) {
    body {
      font-size: 15px;
    }
  
    .wrapper {
      padding: 16px;
      max-width: 100%;
    }
  
    .container {
      padding: 24px 18px;
      max-width: 95%;
    }
  }
  
  /* ===== ПЛАНШЕТЫ И НЕБОЛЬШИЕ ЭКРАНЫ ===== */
  
  @media (max-width: 768px) {
    body {
      font-size: 14px;
      padding: 0 8px;
    }
  
    .logo img {
      max-width: 200px;
      margin-bottom: 12px;
    }
  
    .description {
      font-size: 1.1em;
      margin-bottom: 20px;
    }
  
    .auth-steam {
      padding: 10px 20px;
      font-size: 14px;
    }
  
    .auth-steam img {
      width: 20px;
      height: 20px;
      margin-right: 10px;
    }
  
    /* Карточки и контейнеры */
    .rating-container,
    .contact-container,
    .profile-container,
    .product-container,
    .purchases-container {
      padding: 20px 16px;
      margin: 16px auto;
      border-radius: 14px;
    }
  
    /* Заголовки */
    h1, .rating-container h2, .contact-container h1 {
      font-size: 20px;
      margin-bottom: 14px;
    }
  
    h2 {
      font-size: 18px;
    }
  
    h3 {
      font-size: 16px;
    }
  }
  
  /* ===== МОБИЛЬНЫЕ УСТРОЙСТВА (ОСНОВНЫЕ) ===== */
  
  @media (max-width: 640px) {
    
    /* ===== ОБЩИЕ ЭЛЕМЕНТЫ ===== */
    
    body {
      font-size: 13px;
      height: auto;
      min-height: 100vh;
      padding: 0;
    }
  
    .container {
      padding: 20px 14px;
      max-width: 98%;
      margin: 10px auto;
      border-radius: 12px;
    }
  
    .wrapper {
      padding: 12px 8px;
    }
  
    /* Логотип */
    .logo img {
      max-width: 180px;
      margin-bottom: 10px;
    }
  
    .description {
      font-size: 1em;
      margin-bottom: 18px;
      line-height: 1.3em;
    }
  
    /* Кнопка Steam Auth */
    .auth-steam {
      padding: 12px 18px;
      font-size: 13px;
      width: 100%;
      justify-content: center;
      box-sizing: border-box;
    }
  
    /* ===== RATING PAGE ===== */
    
    .rating-container {
      padding: 16px 12px;
      margin: 16px auto;
      border-radius: 12px;
    }
  
    .rating-container h2 {
      font-size: 18px;
      margin-bottom: 12px;
    }
  
    .rating-container p {
      font-size: 13px;
      margin-bottom: 14px;
    }
  
    /* Таблица рейтинга */
    .rating-container table {
      display: block;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      border-radius: 12px;
    }
  
    .rating-container th,
    .rating-container td {
      padding: 10px 8px;
      font-size: 12px;
      white-space: nowrap;
    }
  
    .rating-container th {
      font-size: 11px;
      padding: 12px 8px;
    }
  
    /* Аватары в рейтинге */
    .rating-container .profile-avatar {
      width: 34px;
      height: 34px;
      border-width: 1.5px;
    }
  
    .rating-container .profile-name {
      font-size: 13px;
    }
  
    .rating-container .profile-sub {
      font-size: 11px;
    }
  
    .rating-container .profile-info {
      gap: 8px;
      flex-direction: column;
    }
  
    /* Топ-3 места */
    .rating-container tbody tr:nth-child(1) td:first-child {
      font-size: 16px;
    }
  
    .rating-container tbody tr:nth-child(2) td:first-child {
      font-size: 15px;
    }
  
    .rating-container tbody tr:nth-child(3) td:first-child {
      font-size: 14px;
    }
  
    /* ===== CONTACT PAGE ===== */
    
    .contact-container {
      padding: 18px 14px;
      margin-top: 16px;
      border-radius: 14px;
    }
  
    .contact-container h1 {
      font-size: 19px;
      gap: 10px;
      margin-bottom: 14px;
    }
  
    .contact-container h1 i {
      font-size: 20px;
    }
  
    .contact-richtext {
      font-size: 13px;
      margin-bottom: 16px;
      line-height: 1.6;
    }
  
    .contact-richtext p {
      margin-bottom: 10px;
    }
  
    /* Кнопки контактов */
    .contact-links {
      gap: 12px;
      margin-bottom: 18px;
      flex-direction: column;
    }
  
    .contact-btn {
      width: 100%;
      padding: 13px 20px;
      font-size: 14px;
      justify-content: center;
      border-radius: 12px;
    }
  
    .contact-btn i {
      font-size: 16px;
    }
  
    /* Developer Info */
    .developer-info {
      padding: 14px 16px;
      border-radius: 14px;
    }
  
    .developer-info h3 {
      font-size: 16px;
      margin-bottom: 8px;
    }
  
    .developer-info p {
      font-size: 13px;
    }
  
    /* ===== PROFILE PAGE ===== */
    
    .profile-container {
      padding: 18px 14px;
      border-radius: 14px;
    }
  
    .profile-header {
      flex-direction: column;
      text-align: center;
      gap: 14px;
      padding: 16px 12px;
    }
  
    .profile-avatar {
      width: 90px !important;
      height: 90px !important;
      margin: 0 auto;
    }
  
    .profile-info h1 {
      font-size: 20px;
    }
  
    .profile-info p {
      font-size: 13px;
    }
  
    /* Статистика профиля */
    .profile-stats {
      grid-template-columns: 1fr;
      gap: 12px;
      margin-top: 16px;
    }
  
    .stat-item {
      padding: 14px 16px;
    }
  
    .stat-item i {
      font-size: 22px;
    }
  
    .stat-value {
      font-size: 20px;
    }
  
    .stat-label {
      font-size: 12px;
    }
  
    /* ===== PRODUCT PAGE ===== */
    
    .product-container {
      padding: 18px 14px;
      border-radius: 14px;
    }
  
    .product-grid {
      grid-template-columns: 1fr;
      gap: 14px;
    }
  
    .product-card {
      padding: 16px 14px;
      border-radius: 12px;
    }
  
    .product-image {
      height: 140px;
      border-radius: 10px;
    }
  
    .product-title {
      font-size: 16px;
      margin: 10px 0 8px;
    }
  
    .product-description {
      font-size: 12px;
      margin-bottom: 10px;
    }
  
    .product-price {
      font-size: 18px;
      margin-bottom: 12px;
    }
  
    .product-btn {
      padding: 11px 18px;
      font-size: 13px;
      border-radius: 10px;
    }
  
    .product-btn i {
      font-size: 15px;
    }
  
    /* Категории товаров */
    .category-filter {
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 16px;
    }
  
    .category-btn {
      padding: 9px 14px;
      font-size: 12px;
      border-radius: 8px;
      white-space: nowrap;
    }
  
    /* ===== MY PURCHASES PAGE ===== */
    
    .purchases-container {
      padding: 18px 14px;
      border-radius: 14px;
    }
  
    .purchases-header h1 {
      font-size: 20px;
    }
  
    .purchases-header p {
      font-size: 13px;
    }
  
    /* Список покупок */
    .purchase-list {
      gap: 12px;
    }
  
    .purchase-item {
      padding: 14px 12px;
      border-radius: 12px;
      flex-direction: column;
      align-items: flex-start;
    }
  
    .purchase-image {
      width: 100%;
      height: 120px;
      border-radius: 10px;
      margin-bottom: 12px;
    }
  
    .purchase-details {
      width: 100%;
    }
  
    .purchase-title {
      font-size: 16px;
      margin-bottom: 8px;
    }
  
    .purchase-info {
      font-size: 12px;
      gap: 8px;
      flex-wrap: wrap;
    }
  
    .purchase-status {
      padding: 6px 12px;
      font-size: 11px;
      border-radius: 8px;
    }
  
    .purchase-actions {
      width: 100%;
      margin-top: 12px;
      flex-direction: column;
      gap: 8px;
    }
  
    .purchase-actions button {
      width: 100%;
      padding: 10px 16px;
      font-size: 13px;
      border-radius: 10px;
    }
  
    /* Пустое состояние */
    .empty-purchases {
      padding: 30px 16px;
    }
  
    .empty-purchases i {
      font-size: 50px;
    }
  
    .empty-purchases h3 {
      font-size: 18px;
    }
  
    .empty-purchases p {
      font-size: 13px;
    }
  
    /* ===== ОБЩИЕ КНОПКИ И ФОРМЫ ===== */
    
    button,
    .btn,
    input[type="submit"] {
      padding: 11px 18px;
      font-size: 13px;
      border-radius: 10px;
      cursor: pointer;
    }
  
    input[type="text"],
    input[type="email"],
    input[type="password"],
    textarea,
    select {
      padding: 11px 14px;
      font-size: 13px;
      border-radius: 10px;
      width: 100%;
      box-sizing: border-box;
    }
  
    textarea {
      min-height: 100px;
    }
  
    /* ===== МОДАЛЬНЫЕ ОКНА ===== */
    
    .modal-content {
      width: 95%;
      max-width: 400px;
      padding: 20px 16px;
      border-radius: 14px;
      margin: 0 auto;
    }
  
    .modal-header h2 {
      font-size: 18px;
    }
  
    .modal-body {
      font-size: 13px;
      padding: 14px 0;
    }
  
    .modal-footer {
      flex-direction: column;
      gap: 10px;
    }
  
    .modal-footer button {
      width: 100%;
    }
  
    /* ===== НАВИГАЦИЯ ===== */
    
    nav,
    .navbar {
      flex-direction: column;
      padding: 12px 10px;
    }
  
    nav a,
    .nav-link {
      padding: 10px 14px;
      font-size: 13px;
      width: 100%;
      text-align: center;
      margin: 4px 0;
    }
  
    /* ===== FOOTER ===== */
    
    footer {
      padding: 18px 14px;
      font-size: 12px;
      text-align: center;
    }
  
    .footer-links {
      flex-direction: column;
      gap: 8px;
    }
  
    /* ===== КАРТОЧКИ И СЕТКИ ===== */
    
    .grid,
    .cards-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }
  
    .card {
      padding: 14px 12px;
      border-radius: 12px;
    }
  
    /* ===== УТИЛИТЫ ===== */
    
    .flex-row {
      flex-direction: column;
    }
  
    .gap-lg {
      gap: 12px;
    }
  
    .gap-md {
      gap: 8px;
    }
  
    .gap-sm {
      gap: 6px;
    }
  
    /* Отступы */
    .p-lg {
      padding: 18px 14px;
    }
  
    .p-md {
      padding: 14px 12px;
    }
  
    .p-sm {
      padding: 10px 8px;
    }
  
    .m-lg {
      margin: 18px auto;
    }
  
    .m-md {
      margin: 14px auto;
    }
  
    .m-sm {
      margin: 10px auto;
    }
  }
  
  /* ===== ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ (<=380px) ===== */
  
  @media (max-width: 380px) {
    
    body {
      font-size: 12px;
    }
  
    .container {
      padding: 16px 10px;
      border-radius: 10px;
    }
  
    .logo img {
      max-width: 160px;
    }
  
    .description {
      font-size: 0.95em;
    }
  
    /* Заголовки */
    h1, .rating-container h2, .contact-container h1 {
      font-size: 17px;
    }
  
    h2 {
      font-size: 16px;
    }
  
    h3 {
      font-size: 14px;
    }
  
    /* Таблица рейтинга */
    .rating-container th,
    .rating-container td {
      padding: 8px 6px;
      font-size: 11px;
    }
  
    .rating-container .profile-avatar {
      width: 30px;
      height: 30px;
    }
  
    .rating-container .profile-name {
      font-size: 12px;
    }
  
    .rating-container .profile-sub {
      font-size: 10px;
    }
  
    /* Кнопки */
    .contact-btn,
    button,
    .btn {
      padding: 10px 14px;
      font-size: 12px;
    }
  
    /* Карточки товаров */
    .product-card {
      padding: 12px 10px;
    }
  
    .product-image {
      height: 120px;
    }
  
    .product-title {
      font-size: 14px;
    }
  
    .product-price {
      font-size: 16px;
    }
  }
  
  /* ===== LANDSCAPE ORIENTATION НА МОБИЛЬНЫХ ===== */
  
  @media (max-width: 900px) and (orientation: landscape) {
    
    body {
      height: auto;
      min-height: 100vh;
    }
  
    .container {
      margin: 20px auto;
      max-height: none;
    }
  
    .rating-container table {
      font-size: 12px;
    }
  
    .profile-header {
      flex-direction: row;
      text-align: left;
    }
  
    .profile-stats {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  /* ===== ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ ===== */
  
  @media (max-width: 640px) {
    
    /* Отключаем анимации для слабых устройств */
    * {
      animation-duration: 0.3s !important;
      transition-duration: 0.2s !important;
    }
  
    /* Упрощаем тени */
    .rating-container,
    .contact-container,
    .profile-container,
    .product-container,
    .purchases-container {
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.8);
    }
  
    /* Упрощаем градиенты для производительности */
    body {
      background-size: 300% 300%;
    }
  
    /* Оптимизация canvas */
    canvas {
      display: none; /* Можно скрыть частицы на мобильных для производительности */
    }
  }
  
  /* ===== ФИКСЫ ДЛЯ СКРОЛЛА ===== */
  
  @media (max-width: 640px) {
    
    /* Плавный скролл */
    html {
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
    }
  
    /* Фикс для горизонтального скролла таблиц */
    .rating-container table::-webkit-scrollbar {
      height: 6px;
    }
  
    .rating-container table::-webkit-scrollbar-track {
      background: rgba(15, 23, 42, 0.5);
      border-radius: 10px;
    }
  
    .rating-container table::-webkit-scrollbar-thumb {
      background: rgba(139, 92, 246, 0.6);
      border-radius: 10px;
    }
  
    .rating-container table::-webkit-scrollbar-thumb:hover {
      background: rgba(139, 92, 246, 0.8);
    }
  }
  
  /* ===== ДОСТУПНОСТЬ НА МОБИЛЬНЫХ ===== */
  
  @media (max-width: 640px) {
    
    /* Увеличиваем область тапа */
    button,
    a,
    .btn,
    .contact-btn,
    .product-btn {
      min-height: 44px;
      min-width: 44px;
    }
  
    /* Улучшаем читаемость */
    body {
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
  
    /* Фокус для доступности */
    button:focus,
    a:focus,
    input:focus,
    select:focus,
    textarea:focus {
      outline: 2px solid rgba(139, 92, 246, 0.8);
      outline-offset: 2px;
    }
  }