/* ═══════════════════════════════════════════════════════
   PHYSIQUE AUTHORITY — style.css
   Complément global aux styles inline de chaque page
   physiqueauthority.com
═══════════════════════════════════════════════════════ */

/* ── Language Switcher ── */
.lang-switcher {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.lang-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  padding: 0.2rem 0.35rem;
  border-radius: 3px;
  transition: color 0.2s, background 0.2s;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  min-height: 28px;
}
.lang-btn.active {
  color: #C9A84C;
}
.lang-btn:hover {
  color: #fff;
}
.lang-switcher > span {
  color: #333;
  font-weight: 400;
  font-size: 0.65rem;
}

/* ── Touch targets (accessibilité) ── */
a, button {
  min-height: 44px;
  min-width: 44px;
}

/* Exception pour petits éléments UI (lang, nav-link) */
.lang-btn,
.nav-link,
.filter-tab {
  min-height: unset;
  min-width: unset;
}

/* ── Prevent iOS zoom on input focus ── */
input, select, textarea {
  font-size: 16px !important;
}

/* ── Smooth scroll global ── */
html {
  scroll-behavior: smooth;
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — Mobile First (max 768px)
═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Typographie */
  h1 { font-size: clamp(1.8rem, 5vw, 2.5rem) !important; line-height: 1.15 !important; }
  h2 { font-size: clamp(1.4rem, 4.5vw, 2rem) !important; }
  h3 { font-size: clamp(1.1rem, 3.5vw, 1.5rem) !important; }

  /* Sections padding */
  .section { padding: 64px 18px !important; }
  .section-sm { padding: 52px 18px !important; }

  /* Container */
  .container, .container-sm { padding: 0 18px !important; }

  /* Stats bar — 2 colonnes */
  .stats-grid,
  .trust-bar-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  /* Cards coaching pricing */
  .pricing-grid {
    grid-template-columns: 1fr !important;
    max-width: 420px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pricing-card.featured {
    transform: none !important;
  }

  /* Before/After */
  .ba-grid,
  .fw-grid {
    grid-template-columns: 1fr !important;
  }

  /* Weeks grid */
  .weeks {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Modules 2 → 1 col */
  .modules {
    grid-template-columns: 1fr !important;
  }

  /* Testimonials */
  .testi-grid {
    grid-template-columns: 1fr !important;
  }

  /* Why grid */
  .why-grid {
    grid-template-columns: 1fr !important;
  }

  /* Coach grid */
  .coach-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
  .coach-photos {
    grid-template-columns: 1fr !important;
  }

  /* Photo strip */
  .strip-grid {
    grid-template-columns: 1fr !important;
  }
  .strip-item img { height: 320px !important; }

  /* Transfo grid */
  .transfo-grid {
    grid-template-columns: 1fr !important;
  }
  .transfo-card:nth-child(n) { grid-column: span 1 !important; }
  .transfo-card:nth-child(n) .transfo-img-wrap img { height: 260px !important; }

  /* Hero image */
  .hero-img img { height: 360px !important; }
  .hero-img { order: -1 !important; }

  /* Hero grid */
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .hero-about-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .story-inner {
    grid-template-columns: 1fr !important;
  }
  .method-grid {
    grid-template-columns: 1fr !important;
  }
  .values-grid {
    grid-template-columns: 1fr !important;
  }
  .creds-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .promises-grid {
    grid-template-columns: 1fr !important;
  }

  /* CTA buttons full width */
  .hero-about-btns,
  .final-cta-btns,
  .hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .btn-gold,
  .btn-outline {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Offer box */
  .offer-box { padding: 28px 18px !important; }
  .price-now { font-size: 4rem !important; }

  /* Footer nav */
  .footer-nav {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* Steps row */
  .steps-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
  .steps-row::before { display: none !important; }

  /* Final promise */
  .final-promise {
    grid-template-columns: repeat(3, 1fr) !important;
    max-width: 100% !important;
  }

  /* Trust items — scroll horizontal si nécessaire */
  .trust-grid {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .trust-item { min-width: 140px; }

  /* Blog: search bar */
  .search-bar { flex-direction: column !important; }
  .search-bar button { width: 100% !important; }

  /* Filter tabs wrap */
  .filter-tabs { gap: 6px !important; }

  /* Lang switcher size */
  .lang-switcher { font-size: 0.65rem; }
}

/* ═══════════════════════════════════════════════════════
   TABLET — 769px à 1024px
═══════════════════════════════════════════════════════ */
@media (min-width: 769px) and (max-width: 1024px) {
  h1 { font-size: clamp(2rem, 4vw, 3rem) !important; }

  .pricing-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .pricing-card:last-child {
    grid-column: span 2 !important;
    max-width: 420px;
    margin: 0 auto !important;
  }

  .transfo-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .transfo-card:nth-child(n) { grid-column: span 1 !important; }

  .testi-grid { grid-template-columns: 1fr 1fr !important; }
  .creds-grid { grid-template-columns: 1fr 1fr !important; }
  .values-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ═══════════════════════════════════════════════════════
   PRINT — masquer éléments inutiles
═══════════════════════════════════════════════════════ */
@media print {
  .nav, .wa-float, .sticky-cta, #cookieBanner, #popup { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
