/* ══════════════════════════════════════
   RESPONSIVE — MicroCare SB
   Consolidado por breakpoint (desc.)
   Carga después de styles.css
══════════════════════════════════════ */

/* ══ TABLET GRANDE — 1100px ══ */
@media (max-width: 1100px) {
  .site-nav { padding: 0 28px; }
  .nav-links { gap: 20px; }
  .hero-l { padding: 64px 40px; }
  .hero h1 { font-size: 42px; }
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
  .mapa-wrap { grid-template-columns: 1fr; }
  .mapa-svg-wrap { border-right: none; border-bottom: 1px solid var(--line); }
}

/* ══ TABLET — 1024px ══ */
@media (max-width: 1024px) {
  .mc-cal-body { grid-template-columns: 1fr; }
  .mc-leyenda {
    border-right: none;
    border-bottom: 1px solid var(--line);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .mc-leyenda-title { grid-column: 1 / -1; margin-bottom: 0; }
  .mc-leyenda-grupo { margin-bottom: 0; }
  .mc-meses-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .mc-results-header { grid-template-columns: 1fr; gap: 28px; }
  .mc-results-copy {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 24px;
  }
  .mc-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .mc-lightbox-inner { grid-template-columns: 1fr; overflow-y: auto; }
  .mc-lightbox-image-wrap { min-height: 420px; }
  .mc-lightbox-info { border-left: none; border-top: 1px solid var(--line); }
  .mc-lightbox-next { right: 48px; }
}

/* ══ TABLET CHICA / MÓVIL GRANDE — 768px ══ */
@media (max-width: 768px) {
  .mc-calendar-section { padding: 48px 20px; }
  .mc-cal-header { grid-template-columns: 1fr; padding: 22px 20px; }
  .mc-brand { align-items: flex-start; flex-direction: column; }
  .mc-logo { width: 190px; max-width: 80vw; }
  .mc-year { display: none; }
  .mc-notice { padding: 16px 20px; flex-direction: column; align-items: flex-start; }
  .mc-whatsapp { width: 100%; }
  .mc-leyenda { grid-template-columns: 1fr; padding: 20px; }
  .mc-meses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 14px; }
  .mc-dia { min-height: 30px; font-size: 10px; }

  .mc-results-section-home { padding: 52px 24px; }
  .mc-gallery-grid { grid-template-columns: 1fr; }
  .mc-gallery-overlay { opacity: 1; padding: 14px; }
  .mc-gallery-overlay span { font-size: 9px; }
  .mc-gallery-item { aspect-ratio: 4 / 3.1; }
  .mc-lightbox { padding: 16px; }
  .mc-lightbox-inner { max-height: calc(100vh - 32px); }
  .mc-lightbox-image-wrap { min-height: 300px; }
  .mc-lightbox-info { padding: 28px 22px; }
  .mc-lightbox-info h3 { font-size: 24px; }
  .mc-lightbox-prev, .mc-lightbox-next { width: 40px; height: 48px; font-size: 24px; }
}

/* ══ MÓVIL — 767px ══ */
@media (max-width: 767px) {

  /* -- Navegación: menú hamburguesa -- */
  .site-nav { padding: 0 20px; }
  .nav-logo { height: 30px; max-width: 190px; }
  .nav-actions { gap: 10px; }
  .nav-cta { padding: 8px 14px; font-size: 10px; }
  .nav-toggle { display: flex; }

  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-height 0.3s ease, opacity 0.25s ease;
  }
  .nav-links.open {
    max-height: 420px;
    opacity: 1;
    pointer-events: auto;
  }
  .nav-links a {
    width: 100%;
    padding: 16px 20px;
    font-size: 12px;
    white-space: normal;
    border-bottom: 1px solid var(--line);
  }

  /* -- Layout general -- */
  .sec, .sec-alt { padding: 48px 24px; }
  .met-item { grid-template-columns: 1fr; }
  .met-label { border-right: none; border-bottom: 1px solid var(--line); }

  .hero, .page-hero, .nos-grid, .gallery-grid, .gallery-nivel1, .masculina-grid, .cta-section {
    grid-template-columns: 1fr;
  }
  .hero-r, .nos-img, .masculina-img { display: block; min-height: 260px; }
  .hero-r img, .nos-img img, .masculina-img img { min-height: 260px; }
  .hero-l, .nos-text, .masculina-texto { padding: 44px 24px; border-right: none; }
  .nos-text p { text-align: left; }
  .hero h1, .page-hero-l h1 { font-size: 32px; }
  .sec h2, .cta-left h2 { font-size: 30px; }

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

  .stats-bar, .testi-grid, .resultados-grid { grid-template-columns: 1fr; }
  .stat-item, .testi-item, .resultado-col { border-right: none; border-bottom: 1px solid var(--line); }
  .testimonio-grid { grid-template-columns: 1fr; }
  .testimonio-img { width: 100%; height: 200px; }

  .rec-item { grid-template-columns: 48px 1fr; }
  .rec-num { padding: 24px 14px; }
  .rec-body { padding: 24px 20px; }

  .page-hero { padding: 56px 24px 44px; gap: 24px; }

  .modal-box { max-width: calc(100% - 24px); }
  .modal-header, .modal-body { padding-left: 24px; padding-right: 24px; }

  .wa-float { bottom: 18px; right: 18px; }
  .wa-float-btn { padding: 12px 16px; font-size: 10px; }

  .microcare-clinical-block { grid-template-columns: 1fr; margin: 32px 24px; }
  .microcare-clinical-img { border-right: none; border-bottom: 1px solid var(--line); padding: 20px; }
  .microcare-clinical-text { padding: 28px 24px; }
}

/* ══ MÓVIL CHICO — 520px ══ */
@media (max-width: 520px) {
  .mc-meses-grid { grid-template-columns: 1fr; }
  .mc-dia { min-height: 34px; font-size: 12px; }
  .mc-dia-nombre { font-size: 10px; padding: 8px 2px; }
}
