/* ============================================================
   7-responsive.css — Media Queries (Mobile-first)
   Método 5L — Sanación Energética Práctica
   ============================================================ */

/* ============================================================
   TABLET — max 1024px
   ============================================================ */
@media (max-width: 1024px) {

  /* Navbar */
  .navbar__links { display: none; }
  .navbar__cta   { display: none; }
  .navbar__hamburger { display: flex; }

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

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

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

  /* Events grid — 2 columnas en tablet (desktop es 3 col) */
  .events-grid {
    grid-template-columns: 1fr 1fr;
  }

  .events-grid .event-card:last-child {
    grid-column: auto;
    max-width: none;
    margin-inline: unset;
    width: 100%;
  }

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

  /* Garantías */
  .garantias-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* P2 — Founder: columna única en tablet */
  .founder-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .founder-image-col {
    max-width: 380px;
    margin-inline: auto;
    width: 100%;
  }

  /* P3 — Video testimonios: 2 columnas en tablet */
  .video-testimonios-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

/* ============================================================
   TABLET PORTRAIT / PHABLET — max 768px
   ============================================================ */
@media (max-width: 768px) {

  /* P4 — Para quién: 1 columna */
  .para-quien-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 32px;
  }

  /* P9 — Event card CTA full-width */
  .event-card .btn {
    width: 100%;
    justify-content: center;
  }

}

/* ============================================================
   MOBILE — max 767px
   ============================================================ */
@media (max-width: 767px) {

  /* Variables */
  :root {
    --navbar-height: 64px;
    --ticker-height: 48px;
  }

  /* Body */
  body { font-size: 15px; }

  /* Section spacing */
  .section { padding-block: var(--space-16); }
  .section__header { margin-bottom: var(--space-10); }

  /* Navbar CTA oculto en mobile */
  .navbar__cta { display: none; }

  /* Pain grid — 1 columna */
  .pain-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .pain-card {
    padding: var(--space-6) var(--space-5);
  }

  /* Stats grid — 1 columna */
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
  }

  /* Events grid — 1 columna */
  .events-grid {
    grid-template-columns: 1fr;
  }

  .events-grid .event-card:last-child {
    grid-column: auto;
    max-width: none;
  }

  /* Testimonios — 1 columna */
  .testimonios-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  /* Garantías — 1 columna */
  .garantias-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

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

  /* Hero */
  .hero__inner {
    padding-block: var(--space-16);
  }

  .hero__ctas {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
  }

  .hero__ctas .btn {
    width: 100%;
  }

  .hero__stats {
    gap: var(--space-5);
    padding: var(--space-5);
  }

  .hero__stat-divider { display: none; }

  /* P5 — Hero stat label: limitar ancho y ajustar legibilidad */
  .hero__stat-label {
    max-width: 160px;
    text-align: center;
    line-height: 1.4;
    text-transform: none;       /* evitar ALLCAPS en textos largos */
    letter-spacing: 0.02em;
  }

  .hero__stat-number {
    font-size: var(--size-2xl); /* reducir ligeramente de 3xl */
  }

  /* Form */
  .form-row {
    grid-template-columns: 1fr;
  }

  .reserva-form {
    padding: var(--space-8) var(--space-5);
  }

  /* Pricing */
  .pricing-highlight {
    flex-direction: column;
    gap: var(--space-5);
    padding: var(--space-6);
  }

  /* Ticker */
  .premium-ticker__inner {
    gap: var(--space-3);
    justify-content: space-between;
  }

  .premium-ticker__item {
    font-size: var(--size-xs);
  }

  .premium-ticker__item span[data-es] {
    display: none; /* Solo mostrar números en mobile */
  }

  .hidden-mobile {
    display: none !important;
  }

  .premium-ticker__cta {
    font-size: var(--size-xs);
    padding: 6px 12px;
  }

  /* Cookie banner */
  .cookie-banner {
    bottom: calc(var(--ticker-height) + 8px);
    padding: var(--space-5);
  }

  .cookie-banner__inner {
    gap: var(--space-3);
  }

  .cookie-banner__icon {
    display: none;
  }

  .cookie-banner__actions {
    width: 100%;
    justify-content: stretch;
  }

  .btn--cookie-accept,
  .btn--cookie-reject {
    flex: 1;
  }

  /* Accordion */
  .accordion__num {
    font-size: var(--size-xl);
    min-width: 36px;
  }

  .accordion__title {
    font-size: var(--size-base);
  }

  .accordion__body {
    padding-left: calc(36px + var(--space-5));
  }

  /* Footer bottom */
  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  /* Contact alternatives */
  .contact-alternatives__links {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Expandable */
  .expandable-content {
    padding-inline: 0;
  }

  /* Section padding ajuste */
  .section--cta-final {
    padding-bottom: calc(var(--space-16) + var(--ticker-height));
  }

  /* Events note */
  .events-note {
    flex-direction: column;
    text-align: center;
    gap: var(--space-2);
  }

  /* P2 — Founder en mobile */
  .founder-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .founder-image-col {
    max-width: 300px;
    margin-inline: auto;
    width: 100%;
  }

  .founder-credentials {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .founder-credential {
    padding: 12px 8px;
  }

  .founder-credential__num {
    font-size: 20px;
  }

  .founder-credential__label {
    font-size: 10px;
  }

  /* P3 — Video testimonios: 1 columna en mobile */
  .video-testimonios-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

}

/* ============================================================
   MOBILE PEQUEÑO — max 480px
   lang-switcher VISIBLE pero compacto (Opción A)
   ============================================================ */
@media (max-width: 480px) {

  /* Reducir gap general del navbar__right */
  .navbar__right {
    gap: var(--space-2);
  }

  /* Switcher compacto: mantener visible, reducir separador */
  .navbar__right .lang-switcher {
    display: flex;         /* siempre visible */
    gap: 0;
  }

  /* Botones ES|CA más estrechos — mantienen 44px de alto (touch target) */
  .navbar__right .lang-btn {
    min-width: 36px;       /* reducir de 44px → 36px de ancho */
    padding: 6px 6px;      /* padding lateral mínimo */
    font-size: 12px;       /* texto ligeramente más pequeño */
  }

  /* Separador más discreto */
  .navbar__right .lang-separator {
    font-size: 10px;
    padding: 0 1px;
  }

}

/* ============================================================
   EXTRA SMALL — max 400px
   ============================================================ */
@media (max-width: 400px) {

  :root {
    --container-px: 1rem;
  }

  .hero__stats {
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
  }

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

  .premium-ticker__inner {
    gap: var(--space-2);
  }

  .event-card {
    padding: var(--space-6) var(--space-4);
  }

  .garantia-card {
    padding: var(--space-8) var(--space-5);
  }

}

/* ============================================================
   EXTRA SMALL — max 360px (P10: logo más pequeño)
   ============================================================ */
@media (max-width: 360px) {

  /* P10 — Logo compacto en pantallas muy pequeñas */
  .navbar__logo-main {
    font-size: var(--size-base);
  }

  .navbar__logo-sub {
    font-size: 10px;
  }

  .navbar__logo-icon {
    width: 30px;
    height: 30px;
    font-size: 0.9rem;
  }

  .navbar__logo {
    gap: var(--space-2);
  }

}

/* ============================================================
   LARGE DESKTOP — min 1280px
   ============================================================ */
@media (min-width: 1280px) {

  .pain-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .testimonios-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .garantias-grid {
    grid-template-columns: repeat(3, 1fr);
  }

}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
  .premium-ticker,
  .cookie-banner,
  .navbar__hamburger,
  .mobile-menu,
  .hero__particles,
  .hero__scroll-indicator,
  .contact-alternatives {
    display: none !important;
  }

  .section {
    padding-block: var(--space-10);
    break-inside: avoid;
  }

  body {
    background: white;
    color: black;
  }
}
