/* ============================================================
   responsive.css — Media queries globales
   ============================================================ */

/* ── TABLET — max-width: 1024px ── */
@media (max-width: 1024px) {
  :root {
    --container-padding: 48px;
  }
  .mico-inner-row { flex-direction: column; }
  .mico-left { width: 100%; }

  /* Product hero en tablet */
  .product-hero { flex-direction: column; height: auto; }
  .product-hero__img { flex: none; height: 360px; }
  .product-hero__info { padding: 48px 48px; }

  /* Navbar — hamburguesa desde 1024px */
  .navbar__links {
    display: none;
    position: fixed;
    top: var(--navbar-height);
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--color-white);
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 48px;
    gap: 0;
    overflow-y: auto;
    z-index: 999;
    border-top: 1px solid var(--color-border);
  }
  .navbar__links.is-visible { display: flex; }
  .navbar__link {
    width: 100%;
    padding: 14px 0;
    font-size: 16px;
    border-bottom: 1px solid var(--color-border);
  }
  .navbar__cta { display: none; }
  .navbar__hamburger { display: flex; }
}

/* ── TABLET — max-width: 768px ── */
@media (max-width: 768px) {
  :root {
    --container-padding: 32px;
    --navbar-height: 60px;
  }

  /* Navbar */
  .navbar__cta-text { display: none; }

  /* Dropdown en móvil */
  .navbar__dropdown-menu {
    position: static;
    transform: none !important;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0 0 0 16px;
    background: transparent;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    min-width: 0;
  }
  .navbar__dropdown-menu::before { display: none; }
  .navbar__dropdown.is-open .navbar__dropdown-menu { display: block; }
  .navbar__dropdown-item {
    padding: 10px 8px;
    border-radius: 0;
    border-top: none !important;
    border-bottom: 1px solid var(--color-border);
  }
  .navbar__dropdown-item:last-child { border-bottom: none; }
  .navbar__link--dropdown {
    width: 100%;
    justify-content: space-between;
    padding: 14px 0;
    font-size: 16px;
  }

  /* Hero */
  .hero { height: auto; display: flex; flex-direction: column; justify-content: flex-start; padding: 48px 32px 40px; overflow: visible; }
  .hero__content { position: static; width: 100%; height: auto; left: auto; }
  .hero__title { font-size: 44px; }
  .hero__stats { position: static; left: auto; bottom: auto; gap: 24px; margin-top: 40px; }

  /* Tech blocks */
  .tech-block { flex-direction: column !important; height: auto; }
  .tech-block__img { height: 280px; flex: none; }
  .tech-block__content { padding: 32px 32px; }

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

  /* Producto hero */
  .product-hero { flex-direction: column; height: auto; }
  .product-hero__img { height: 300px; flex: none; }
  .product-hero__info { padding: 40px 32px; }

  /* Quick specs */
  .quick-specs { height: auto; }
  .quick-specs__inner { flex-wrap: wrap; gap: 16px; padding: 20px 32px; }

  /* Specs section */
  .specs-section { padding: 48px 32px; }
  .specs-cell--label { flex: 0 0 50%; }

  /* Contacto */
  .contact-sec__inner { flex-direction: column; }
  .contact-info-col { flex: none; }

  /* Footer */
  .footer { padding: 40px 32px 28px; }
  .footer__top { flex-direction: column; }
  .footer__nav { gap: 24px; }

  /* Tecnología hero */
  .tech-hero { padding: 72px 48px 60px; }
  .tech-hero h1 { font-size: 44px; }
  .tech-hero p { font-size: 17px; }

  /* Sección soft / bat */
  .soft-sec,
  .bat-sec { flex-direction: column; padding: 48px 32px; }

  /* Photo section */
  .photo-grid { flex-direction: column; height: auto; }
  .photo-main { height: 280px; }

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

  /* Galería de imágenes producto */
  .img-quality__grid,
  .img-quality__grid--2col { grid-template-columns: 1fr; }

  /* Section title */
  .section__title { font-size: 28px; }
  .section__desc { font-size: 15px; }
}

/* ── MÓVIL — max-width: 480px ── */
@media (max-width: 480px) {
  :root {
    --container-padding: 20px;
    --navbar-height: 56px;
  }

  .hero { padding: 36px 20px 80px; overflow: visible; }
  .hero__stats { flex-wrap: wrap; gap: 16px 24px; justify-content: center; }
  .hero__content { width: 100%; }
  .hero__title { font-size: 32px; }
  .hero__desc { font-size: 15px; }
  .hero__actions { flex-direction: column; }
  .hero__stats { gap: 16px; flex-wrap: wrap; margin-top: 24px; }

  .trust-bar { height: auto; padding: 20px; }
  .trust-bar__inner { flex-wrap: wrap; gap: 16px; padding: 0; }

  .tech-block__img { height: 240px; }
  .tech-block__content { padding: 28px 20px; }
  .tech-block__content h3 { font-size: 24px; }

  .product-hero__img { height: 260px; }
  .product-hero__info { padding: 28px 20px; }
  .product-hero__info h1 { font-size: 36px; }

  .btn--lg { padding: 14px 24px; font-size: 15px; }
  .btn--full-mobile { width: 100%; }

  .cta-section__btns { flex-direction: column; align-items: center; }
  .hero__actions .btn { width: 100%; }

  .contact-sec { padding: 36px 20px; }

  .especialidades__grid { grid-template-columns: 1fr; }
  .productos__grid { grid-template-columns: 1fr; }

  .footer { padding: 36px 20px 24px; }
  .footer__nav { flex-wrap: wrap; gap: 20px; }

  .tech-hero { padding: 56px 24px 48px; }
  .tech-hero h1 { font-size: 32px; }
  .tech-hero p { font-size: 16px; }
  .tech-stats { flex-wrap: wrap; gap: 24px; }

  .fab-cards { overflow-x: auto; }
  .fab-cards__row { flex-wrap: nowrap; }

  .specs-section { padding: 36px 20px; }
  .specs-cell { padding: 12px 16px; font-size: 13px; }
  .specs-cell--label { flex: 0 0 50%; }

  .about-card > div { flex-direction: column !important; }
  .about-card > div > div:last-child { align-self: flex-start !important; }


  .chips-container { gap: 8px; }
}

/* ── */

  .product-card__footer {
    flex-direction: column;
    gap: 12px;
  }
  .product-card__footer .btn {
    width: 100%;
  }

.specs-group__cat {
  width: 40px;
  padding: 12px 6px;
}

.specs-group__cat span {
  font-size: 11px;
  letter-spacing: 0.5px;
}

