/* ═══════════════════════════════════════════════════
   RESPONSIVE — Breakpoints de mayor a menor
═══════════════════════════════════════════════════ */

/* ── 1200px — tablet grande ── */
@media (max-width: 1200px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .footer-brand { grid-column: span 2; }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid  { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .pricing-card.featured { transform: scale(1.02); }
}

/* ── 1024px — tablet ── */
@media (max-width: 1024px) {
  :root { --section-py: 5rem; }

  /* Header */
  .nav-links { display: none; }
  .nav-cta   { display: none; }
  .hamburger { display: flex; }

  /* About */
  .about-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .osensei-wrap { max-width: 480px; margin-inline: auto; }

  /* Video */
  .video-grid { grid-template-columns: 1fr; gap: 3rem; }

  /* Instructor */
  .inst-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .inst-portrait-wrap { max-width: 360px; margin-inline: auto; }
  .formation-grid { grid-template-columns: repeat(2, 1fr); }
  .history-row { grid-template-columns: 110px 1fr; gap: 1rem; padding: .8rem 1.25rem; }

  /* Precios */
  .pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
  .pricing-card.featured { transform: none; }
  .pricing-card.featured:hover { transform: translateY(-6px); }
}

/* ── 768px — móvil ── */
@media (max-width: 768px) {
  .logo-img {
    height: 40px;
    max-width: 160px;
    width: auto;
    object-fit: contain;
  }
  :root { --section-py: 4rem; }

  /* Hero */
  .hero-h1 { font-size: clamp(2.5rem, 8vw, 4rem); }
  .hero-kanji-bg { font-size: 12rem; opacity: .4; }
  .hero-ctas { flex-direction: column; align-items: flex-start; }

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

  /* Benefits */
  .benefits-grid { grid-template-columns: 1fr; }

  /* Schedule */
  .schedule-grid { grid-template-columns: 1fr; }
  .clases-header { flex-direction: column; gap: 1.5rem; }
  .clases-header-graphic { display: flex; justify-content: center; }
  .aikido-graphic { width: 160px; }

  /* Gallery */
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-item.full-wide { grid-column: span 2; aspect-ratio: 16 / 6; }

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

  /* Techniques */
  .tech-grid { grid-template-columns: repeat(2, 1fr); }
  /* Exams */
  .exam-header { flex-direction: column; align-items: flex-start; }
  .tech-table th, .tech-table td { padding: .6rem .75rem; white-space: nowrap; }
  .exam-acc-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .formation-grid { grid-template-columns: 1fr; }
  .history-row { grid-template-columns: 1fr; gap: .35rem; }
  .history-year { padding-top: 0; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
  .form-row { grid-template-columns: 1fr; }

  /* Instagram */
  .ig-grid { grid-template-columns: repeat(3, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: span 2; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }

  /* Lightbox */
  .lb-prev { left: .5rem; }
  .lb-next { right: .5rem; }
}

/* ── 480px — móvil pequeño ── */
@media (max-width: 480px) {
  .logo-img {
    height: 34px;
    max-width: 130px;
  }
  .aikido-graphic { width: 130px; }
  :root { --section-py: 3rem; }

  /* Hero */
  .hero-badge { font-size: .62rem; }
  .hero-sub   { font-size: .95rem; }
  .hero-ctas .btn { width: 100%; }

  /* Stats */
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .stats-bar .stat-val { font-size: 1.8rem; }

  /* Gallery */
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item.full-wide { grid-column: span 1; aspect-ratio: 16 / 7; }

  /* FAQ */
  .faq-question { padding: 1.1rem 1.25rem; }
  .faq-answer   { padding-inline: 1.25rem; }
  .faq-q-text   { font-size: .88rem; }

  /* Pricing */
  .pricing-card { padding: 1.75rem; }

  /* Instagram */
  .ig-grid { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }

  /* Floating buttons */
  .float-group { bottom: 1.25rem; right: 1.25rem; }
  .wa-btn::before { display: none; }

  /* CTA Banner */
  .cta-banner-btns { flex-direction: column; align-items: center; }
  .cta-banner-btns .btn { width: 100%; max-width: 320px; }
}

/* ── Motion reducido (accesibilidad) ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}
