/* Responsive Styles */

/* Large desktops and above */
@media (min-width: 1200px) {
  .container {
    padding: 0 var(--spacing-6);
  }
}

/* Desktops and large tablets */
@media (max-width: 1199px) {
  :root {
    --container-width: 960px;
  }
  
  .hero-section h1 {
    font-size: 2.25rem;
  }
  
  .broker-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablets and small desktops */
@media (max-width: 991px) {
  :root {
    --container-width: 720px;
  }
  
  .hero-section h1 {
    font-size: 2rem;
  }
  
  .hero-section p {
    font-size: 1rem;
  }
  
  .broker-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .methodology-section h2,
  .reviews-section h2,
  .comparison-table-section h2 {
    font-size: 1.75rem;
  }
}

/* Tablets and large phones */
@media (max-width: 767px) {
  :root {
    --container-width: 540px;
    --header-height: 70px;
  }
  
  .logo h1 {
    font-size: 1.25rem;
  }
  
  .hero-section {
    padding-top: calc(var(--header-height) + var(--spacing-10));
    padding-bottom: var(--spacing-10);
  }
  
  .hero-section h1 {
    font-size: 1.75rem;
    margin-bottom: var(--spacing-4);
  }
  
  .comparison-table th,
  .comparison-table td,
  .methodology-table th,
  .methodology-table td {
    padding: var(--spacing-3);
    font-size: 0.875rem;
  }
  
  .broker-cards {
    grid-template-columns: 1fr;
    gap: var(--spacing-4);
  }
  
  .broker-card {
    padding: var(--spacing-4);
  }
  
  .footer-content {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-4);
  }
  
  .footer-nav ul {
    justify-content: center;
  }
  
  .error-content h1 {
    font-size: 6rem;
  }
  
  .error-content h2 {
    font-size: 1.5rem;
  }
  
  .error-actions {
    flex-direction: column;
    gap: var(--spacing-3);
  }
  
  .btn {
    width: 100%;
  }
}

/* Small phones */
@media (max-width: 575px) {
  :root {
    --container-width: 100%;
    --header-height: 60px;
  }
  
  .container {
    padding: 0 var(--spacing-3);
  }
  
  .logo h1 {
    font-size: 1.125rem;
  }
  
  .hero-section h1 {
    font-size: 1.5rem;
  }
  
  .hero-section p {
    font-size: 0.875rem;
  }
  
  .comparison-table-section,
  .reviews-section,
  .methodology-section {
    padding: var(--spacing-8) 0;
  }
  
  .methodology-section h2,
  .reviews-section h2,
  .comparison-table-section h2 {
    margin-bottom: var(--spacing-6);
    font-size: 1.5rem;
  }
  
  .methodology-section h3 {
    font-size: 1.25rem;
  }
  
  .broker-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
  }
  
  .stars {
    width: 80px;
    height: 16px;
    background-size: 16px 16px;
  }
  
  .stars::before {
    background-size: 16px 16px;
  }
  
  .error-content h1 {
    font-size: 4rem;
  }
  
  .error-content p {
    font-size: 1rem;
  }
}

/* Very small phones */
@media (max-width: 375px) {
  .language-switcher {
    gap: var(--spacing-2);
  }
  
  .comparison-table th,
  .comparison-table td,
  .methodology-table th,
  .methodology-table td {
    padding: var(--spacing-2);
    font-size: 0.75rem;
  }
}