/* =========================================================
   styles-responsive.css — Estilos responsivos globales
   ========================================================= */

@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-figure { order: -1; }
  .sol-grid, .mv-grid, .movil-grid, .contacto-grid { grid-template-columns: 1fr; }
  .eco-grid { grid-template-columns: 1fr 1fr; }
  .suc-grid { grid-template-columns: 1fr 1fr; }
  
  /* Nosotros (Fallback) */
  .quienes-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .quienes-media { order: -1; aspect-ratio: 16/9; }
  .mvv-grid { grid-template-columns: 1fr; }
  
  /* Porque (Fallback) */
  .porque-layout { grid-template-columns: 1fr; }
  .porque-fig { display: none; }
  .porque-col--left { flex-direction: column; }

  /* Vista Contacto */
  .contact-grid-split {
    grid-template-columns: 1fr;
  }
  .contact-info-col {
    padding: var(--sp-4);
  }
  .contact-form-col {
    padding: var(--sp-4);
  }
}

@media (max-width: 980px) {
  .main-nav, .header-cta { display: none; }
  .nav-toggle { display: flex; }

  .serv-grid { grid-template-columns: 1fr; }
  .eco-grid, .suc-grid, .sol-list, .mapa-cobertura-grid { grid-template-columns: 1fr; }
  .sol-list-items { grid-template-columns: 1fr; }
  .section { padding: var(--sp-6) 0; }
  .hero-badge { left: 0; }
  
  /* Fuerza (index.html) */
  .fuerza-logos-wrap {
    flex-direction: column !important;
    gap: 1rem !important;
  }
  .brand-logo-img {
    max-height: 60px !important;
  }
  .fuerza-x {
    font-size: 1.2rem !important;
    margin: 0.2rem 0 !important;
  }
  .mv-grid { grid-template-columns: 1fr; }
  
  /* Nosotros (Fallback) */
  .mvv-grid { grid-template-columns: 1fr; }
  .quienes-logos { gap: .8rem; }
  .quienes-logos img { height: 34px; }

  /* Banners / Carrusel Slider */
  .home-banner,
  .slider-wrapper,
  .slider-track,
  .slide {
    height: auto !important;
  }
  .slide img {
    height: auto !important;
    width: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
  }
  .slider-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 0.8rem !important;
  }
  .prev-btn { left: 10px !important; }
  .next-btn { right: 10px !important; }
  .slider-dots {
    bottom: 8px !important;
    gap: 6px !important;
  }
  .dot {
    width: 8px !important;
    height: 8px !important;
  }
  .dot.active {
    width: 18px !important;
  }

  /* Hero Section */
  .hero {
    padding: var(--sp-4) 0 !important;
    text-align: center;
  }
  .hero-inner {
    gap: 1.5rem !important;
  }
  .hero-main-row {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .hero-brand-block {
    align-items: center !important;
    gap: 1rem !important;
  }
  .hero-brand-block .display {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.2rem !important;
    line-height: 1.1 !important;
  }
  .hero-brand-block .display .d-line1 {
    font-size: 1.8rem !important;
  }
  .hero-brand-block .display .d-line2 {
    font-size: 2.2rem !important;
  }
  .hero-brand-block .display .d-line3 {
    font-size: 2.4rem !important;
  }
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 290px !important;
    gap: 0.8rem !important;
    margin: 0.5rem auto 0 !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    padding: 0.65rem 1.2rem !important;
    font-size: var(--fs-xs) !important;
  }
  .hero-desc-block p {
    font-size: var(--fs-sm) !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }
  .hero-stats {
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 1.2rem !important;
  }
  .hero-stats li {
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 0.8rem !important;
  }
  .hero-stats li:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 680px) {
  /* Mindmap interactive diagram */
  .mindmap-wrap { display: none; }
  .mindmap-mobile-fallback { display: block; }
  
  /* Risks Grid */
  .risks-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.8rem !important;
  }

  /* Slider Height Override */
  .home-banner,
  .slider-wrapper,
  .slider-track,
  .slide {
    height: 200px !important;
  }
}

@media (max-width: 580px) {
  /* Vista Contacto */
  .form-grid-2col {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .contact-premium-form {
    gap: 14px;
  }
}

@media (max-width: 480px) {
  /* Slider Height Override */
  .home-banner,
  .slider-wrapper,
  .slider-track,
  .slide {
    height: 180px !important;
  }

  /* FAQ Chatbox */
  .faq-chatbox {
    bottom: 15px;
    right: 15px;
    left: 15px;
  }
  .chatbox-trigger {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .chatbox-tooltip {
    bottom: 70px;
    right: 0;
    left: 0;
    white-space: normal;
  }
  .chatbox-window {
    position: fixed;
    bottom: 85px;
    left: 15px;
    right: 15px;
    width: auto;
    height: calc(100% - 100px);
    max-height: 480px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .btn:hover, a.eco-card:hover { transform: none; }
}
