/* ================================================
   GetFysio - Responsive Styles
   ================================================ */

/* --- Wide Desktop (up to 1200px) --- */
@media (max-width: 1200px) {
  :root {
    --container-padding: 1.5rem;
  }

  .stats-bar__number {
    font-size: 2.25rem;
  }
}

/* --- Tablet Landscape (up to 992px) --- */
@media (max-width: 992px) {
  :root {
    --fs-4xl: 2.5rem;
    --fs-3xl: 2rem;
    --fs-2xl: 1.5rem;
  }

  h1 { font-size: 2.5rem; }
  h2 { font-size: 2rem; }

  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats-bar__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-10);
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

  .service-detail__inner {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .service-detail:nth-child(even) .service-detail__inner {
    direction: ltr;
  }

  .service-detail__image {
    height: 260px;
  }

  /* Hero on services page */
  .hero__trust {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* --- Tablet Portrait / Large Mobile (up to 768px) --- */
@media (max-width: 768px) {
  :root {
    --fs-4xl: 2rem;
    --fs-3xl: 1.625rem;
    --space-20: 3.5rem;
    --space-16: 2.5rem;
    --space-12: 2rem;
  }

  /* Header */
  .header-top {
    display: none;
  }

  .nav,
  .nav__actions {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .mobile-nav {
    /* visibility controlled by .nav-open on body */
  }

  /* Grids */
  .grid-2 {
    grid-template-columns: 1fr;
  }

  .grid-3 {
    grid-template-columns: 1fr;
  }

  .grid-4 {
    grid-template-columns: 1fr;
  }

  /* Hero */
  .hero {
    padding: var(--space-16) 0;
    text-align: center;
  }

  .hero__actions {
    justify-content: center;
  }

  .trust-badges {
    justify-content: center;
  }

  /* Stats */
  .stats-bar__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Services page */
  .service-detail {
    padding: var(--space-12) 0;
  }

  /* Contact page */
  .contact-layout {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  /* CTA section */
  .cta-section__actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Page hero */
  .page-hero {
    padding: var(--space-12) 0;
  }

  .page-hero h1 {
    font-size: 2rem;
  }

  /* Pricing table */
  .pricing-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Team cards */
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- Small Mobile (up to 480px) --- */
@media (max-width: 480px) {
  :root {
    --fs-4xl: 1.75rem;
    --fs-3xl: 1.5rem;
    --container-padding: 1rem;
  }

  h1 { font-size: 1.75rem; }

  .btn-lg {
    padding: 0.875rem 1.75rem;
    font-size: var(--fs-base);
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .stats-bar__grid {
    grid-template-columns: 1fr 1fr;
  }

  .stats-bar__number {
    font-size: 1.75rem;
  }

  .team-grid {
    grid-template-columns: 1fr;
  }

  .quick-contact-card__value {
    font-size: var(--fs-lg);
  }

  .about-approach {
    grid-template-columns: 1fr;
  }
}
