/* FIX v2.1 (build v2.3) — Ajustes finales UX/responsive */

/* Back-to-top MÁS ABAJO - cerca del chat pero visible */
.back-to-top {
  bottom: 88px !important;
  right: 24px !important;
}
@media (max-width: 720px) {
  .back-to-top {
    bottom: 82px !important;
    right: 16px !important;
  }
}

/* ============= RESPONSIVE MOBILE ============= */

/* FAQ mobile - apilar en 1 columna en móvil (evita textos cortados) */
@media (max-width: 900px) {
  .container[style*="grid-template-columns:1fr 1.4fr"],
  .container[style*="grid-template-columns: 1fr 1.4fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

/* Grid de productos mobile */
@media (max-width: 900px) {
  .products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}
@media (max-width: 560px) {
  .products-grid { grid-template-columns: 1fr !important; }
}

/* Industries grid mobile */
@media (max-width: 900px) {
  .industries-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; }
}
@media (max-width: 560px) {
  .industries-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Filter block mobile */
@media (max-width: 800px) {
  .filter-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* Hero mobile - texto un poco más chico */
@media (max-width: 720px) {
  .hero__title { font-size: clamp(28px, 8vw, 42px) !important; line-height: 1.1 !important; }
  .hero__inner { padding: 40px 0 !important; }
}

/* Page head mobile */
@media (max-width: 720px) {
  .page-head h1 { font-size: clamp(26px, 7vw, 40px) !important; }
  .page-head p { font-size: 15px !important; }
  .page-head__actions { flex-direction: column; }
  .page-head__actions .btn { width: 100%; text-align: center; justify-content: center; }
}

/* Trust bar mobile más compacto */
@media (max-width: 720px) {
  .trust-bar { padding: 20px 0 !important; }
  .trust-bar__cell { padding: 10px 12px !important; }
}

/* Utility bar - reducir en mobile */
@media (max-width: 720px) {
  .utility-bar { font-size: 12px !important; padding: 4px 0 !important; }
  .utility-bar__inner { padding: 6px 12px !important; gap: 6px !important; }
  .utility-bar__right { gap: 8px !important; }
}

/* CTA banner mobile - apilar */
@media (max-width: 720px) {
  .cta-banner__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  .cta-banner__actions { width: 100%; }
  .cta-banner__actions .btn { width: 100%; justify-content: center; }
}

/* Stats grid mobile */
@media (max-width: 720px) {
  .stats-grid { padding: 24px !important; gap: 20px !important; }
  .stat-item__number { font-size: 40px !important; }
}

/* Applications grid mobile */
@media (max-width: 900px) {
  .applications-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
}
@media (max-width: 480px) {
  .applications-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Diffs grid mobile */
@media (max-width: 720px) {
  .diffs-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
}

/* Materials grid mobile */
@media (max-width: 720px) {
  .materials-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}

/* Services grid mobile */
@media (max-width: 720px) {
  .services-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .service-card { padding: 24px !important; }
}

/* Contact grid mobile */
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .contact-info { padding: 28px !important; }
}

/* Footer mobile más compacto */
@media (max-width: 560px) {
  .site-footer { padding: 48px 0 0 !important; }
  .site-footer__inner { padding-bottom: 32px !important; gap: 24px !important; }
  .site-footer__col img { width: 100px !important; padding: 8px !important; }
}

/* Menu CTA cambia a "Contacto" verde marca */
.main-nav__list .menu-cta > a {
  background: var(--gf-primary) !important;
  color: #fff !important;
}
.main-nav__list .menu-cta > a:hover {
  background: var(--gf-green-700) !important;
}
