/* ═══════════════════════════════════════════════════════════════
   Talleres ECI — Portada en móvil (versión compacta)
   Solo se aplica a páginas con <body class="mobile-v2"> y en
   pantallas ≤ 767px. No altera ordenador ni otras páginas.
═══════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {

  body.mobile-v2 { --m-gutter: clamp(1rem, 5vw, 2.5rem); --section-py: 2.75rem; }

  /* ── Cabecera y menú ─────────────────────────────────────── */
  body.mobile-v2 .header { height: 60px; }
  body.mobile-v2 .logo__img { height: 42px; }
  body.mobile-v2 .nav { inset-block-start: 60px; max-height: calc(100svh - 60px); padding: 0.75rem 1.25rem 1.5rem; }
  body.mobile-v2 .nav.is-open .nav__link { padding: 0.95rem 0.5rem; font-size: 1.08rem; border-bottom: 1px solid var(--border); border-radius: 0; }
  body.mobile-v2 .nav.is-open .nav__link--cta { margin-top: 1rem; border: 0; border-radius: var(--radius); padding: 0.95rem; }
  body.mobile-v2 .nav__mega-inner { padding: 0 0 0.25rem 0.75rem; gap: 0; }
  body.mobile-v2 .nav__mega li { display: none; }
  body.mobile-v2 .nav__mega-title { margin: 0; padding: 0.8rem 0.25rem; border-bottom: 1px solid var(--border); font-size: 0.82rem; }
  body.mobile-v2 .nav__mega-foot { padding: 0.5rem 0 0.25rem 0.75rem; }
  body.mobile-v2 .nav__mega-all { display: inline-block; padding: 0.6rem 0.25rem; }

  /* ── Estructura general ──────────────────────────────────── */
  body.mobile-v2 .section-header { margin-bottom: 1.5rem; }
  body.mobile-v2 .section-title { font-size: clamp(1.55rem, 6.4vw, 1.9rem); line-height: 1.15; }
  body.mobile-v2 .section-subtitle { font-size: 0.95rem; margin-top: 0.6rem; }
  body.mobile-v2 .btn { min-height: 48px; }
  body.mobile-v2 .split-cta { padding-block: 0.5rem; }
  body.mobile-v2 .split-cta__title { font-size: 1.25rem; }

  /* ── Portada: logo en lugar del vídeo ─────────────────────── */
  body.mobile-v2 .hero { min-height: 92svh; padding-block: 5rem 2rem; align-items: center; }
  body.mobile-v2 .hero__video, body.mobile-v2 .hero__overlay, body.mobile-v2 .hero__grain, body.mobile-v2 .hero__scroll { display: none; }
  body.mobile-v2 .hero__bg { background: radial-gradient(120% 80% at 80% 0%, #1d4ed8 0%, rgba(29,78,216,0) 55%), linear-gradient(165deg, #0b1a3a 0%, #10285a 100%); }
  body.mobile-v2 .hero__logo-m { display: block; width: 138px; height: auto; margin-bottom: 0.5rem; filter: brightness(0) invert(1); opacity: 0.95; }
  body.mobile-v2 .hero__inner { gap: 1.1rem; }
  body.mobile-v2 .hero__title { font-size: clamp(2.2rem, 10vw, 2.9rem); }
  body.mobile-v2 .hero__subtitle { font-size: 1rem; }
  body.mobile-v2 .hero__actions { flex-direction: column; gap: 0.7rem; width: 100%; }
  body.mobile-v2 .hero__actions .btn { width: 100%; justify-content: center; }
  body.mobile-v2 .hero__trust { font-size: 0.82rem; margin-top: 0.25rem; }
  body.mobile-v2 .hero__stats, body.mobile-v2 .hero__trust--talk { display: none; }

  /* ── Clientes · catálogo · sello ISO ─────────────────────── */
  body.mobile-v2 .clients-strip { padding-block: 1.25rem; }
  body.mobile-v2 .cta-banner { padding-block: 1.75rem; }
  body.mobile-v2 .cta-banner__text { font-size: 1.3rem; }
  body.mobile-v2 .cta-banner__btns .btn { flex: 1 1 100%; }
  body.mobile-v2 .catalog-form__row input[type="email"] { min-width: 0; width: 100%; }
  body.mobile-v2 .cert-strip { padding-block: 1.1rem; }
  body.mobile-v2 .cert-strip__inner { flex-direction: row; text-align: left; gap: 1rem; justify-content: flex-start; }
  body.mobile-v2 .cert-strip__badge { padding: 0.5rem 0.7rem; flex-shrink: 0; }
  body.mobile-v2 .cert-strip__badge img { height: 50px; }
  body.mobile-v2 .cert-strip__title { font-size: 1rem; }
  body.mobile-v2 .cert-strip__sub { display: none; }
  body.mobile-v2 .cert-strip__link { font-size: 0.85rem; margin-top: 0.25rem; }

  /* ── Elige cómo empezar: filas compactas ─────────────────── */
  body.mobile-v2 .paths { padding-block: 2.25rem; }
  body.mobile-v2 .paths__title { font-size: 1.55rem; }
  body.mobile-v2 .paths__sub { font-size: 0.92rem; }
  body.mobile-v2 .paths__grid { gap: 0.65rem; margin-top: 1.25rem; }
  body.mobile-v2 .path-card { flex-direction: row; align-items: center; gap: 0.9rem; padding: 0.85rem 1rem; border-radius: var(--radius-lg); }
  body.mobile-v2 .path-card__icon { width: 44px; height: 44px; flex-shrink: 0; }
  body.mobile-v2 .path-card__name { flex: 1; font-size: 1.02rem; line-height: 1.25; }
  body.mobile-v2 .path-card__text { display: none; }
  body.mobile-v2 .path-card__btn { margin: 0; font-size: 0; gap: 0; }
  body.mobile-v2 .path-card__btn svg { width: 22px; height: 22px; }

  /* ── Carruseles (servicios, sectores, blog) ──────────────── */
  body.mobile-v2 .split-blocks,
  body.mobile-v2 .sector-mini-grid,
  body.mobile-v2 .blog-grid {
    display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0.9rem; overflow-x: auto; scroll-snap-type: x mandatory;
    margin-inline: calc(-1 * var(--m-gutter)); padding: 0.25rem var(--m-gutter) 1rem;
    scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-padding-inline: var(--m-gutter);
  }
  body.mobile-v2 .split-blocks::-webkit-scrollbar,
  body.mobile-v2 .sector-mini-grid::-webkit-scrollbar,
  body.mobile-v2 .blog-grid::-webkit-scrollbar { display: none; }
  body.mobile-v2 .split-blocks [data-reveal],
  body.mobile-v2 .sector-mini-grid [data-reveal],
  body.mobile-v2 .blog-grid[data-reveal] { opacity: 1 !important; transform: none !important; }

  /* Servicios */
  body.mobile-v2 .split-blocks .split-block {
    flex: 0 0 82%; scroll-snap-align: center; display: flex; flex-direction: column; gap: 0;
    background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm); overflow: hidden;
  }
  body.mobile-v2 .split-blocks .split-block__media { display: block; order: 0 !important; }
  body.mobile-v2 .split-blocks .split-block__media .img-placeholder { height: 170px; min-height: 0; border-radius: 0; }
  body.mobile-v2 .split-blocks .split-block__content { padding: 1rem 1.1rem 1.2rem; align-self: stretch; }
  body.mobile-v2 .split-blocks .split-block__title { font-size: 1.15rem; margin-bottom: 0.4rem; }
  body.mobile-v2 .split-blocks .split-block__text { font-size: 0.9rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

  /* Sectores */
  body.mobile-v2 .sector-mini-grid .sector-mini-card { flex: 0 0 82%; scroll-snap-align: start; align-items: flex-start; }
  body.mobile-v2 .sector-mini-card__media { width: 72px; height: 72px; }
  body.mobile-v2 .sector-mini-card__text { font-size: 0.82rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

  /* Blog */
  body.mobile-v2 .blog-grid .blog-card { flex: 0 0 80%; scroll-snap-align: start; }
  body.mobile-v2 .blog-card .img-placeholder { height: 150px; min-height: 0; }
  body.mobile-v2 .blog-card__title { font-size: 1rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  body.mobile-v2 .blog-card__text { display: none; }

  /* ── Proceso: solo títulos ───────────────────────────────── */
  body.mobile-v2 .process__steps { gap: 0.6rem; }
  body.mobile-v2 .process__step { padding: 0.75rem 1rem; gap: 0.9rem; align-items: center; }
  body.mobile-v2 .process__step-text { display: none; }
  body.mobile-v2 .process__step-title { font-size: 1rem; margin: 0; }

  /* ── Cifras: sin foto ────────────────────────────────────── */
  body.mobile-v2 .stat-block__media { display: none; }
  body.mobile-v2 .stat-block { display: block; }
  body.mobile-v2 .stat-block__numbers { margin-block: 1.25rem; }

  /* ── Fuera en móvil: certificaciones largas y mapa ───────── */
  body.mobile-v2 #certificaciones-home,
  body.mobile-v2 .world-map-section { display: none; }

  /* ── Ubicación ───────────────────────────────────────────── */
  body.mobile-v2 .location-block { display: block; }
  body.mobile-v2 .location-block__text { margin-bottom: 1rem; }
  body.mobile-v2 .location-block__text .btn { width: 100%; justify-content: center; }
  body.mobile-v2 .location-block__map iframe { height: 220px; }

  /* ── FAQ y guía técnica ──────────────────────────────────── */
  body.mobile-v2 .faq__item.m-hidden { display: none; }
  body.mobile-v2 .m-more { display: flex; margin: 1.25rem auto 0; }
  body.mobile-v2 .m-collapsed { display: none; }
  body.mobile-v2 #que-es-caldereria-industrial { padding-block: 2rem; }
  body.mobile-v2 #que-es-caldereria-industrial .section-header { margin-bottom: 0.75rem; }

  /* ── Contacto ────────────────────────────────────────────── */
  body.mobile-v2 .contact__details { display: none; }
  body.mobile-v2 .contact__inner { display: block; }
  body.mobile-v2 .contact__info { margin-bottom: 1.5rem; }
  body.mobile-v2 .contact__intro { margin-bottom: 1rem; }
  body.mobile-v2 .contact-quick { margin-bottom: 1rem; }
  body.mobile-v2 .contact-quick .btn { flex: 1; justify-content: center; }
  body.mobile-v2 .contact-steps { margin-bottom: 0; gap: 0.5rem; }
  body.mobile-v2 .contact-form { padding: 1.25rem; gap: 0.9rem; }

  /* ── Pie ─────────────────────────────────────────────────── */
  body.mobile-v2 .newsletter { padding-block: 1.75rem; }
  body.mobile-v2 .newsletter__title { font-size: 1.25rem; }
  body.mobile-v2 .footer__inner { padding-block: 2rem 1.25rem; gap: 1.5rem; }
  body.mobile-v2 .footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  body.mobile-v2 .footer__bottom .container { padding-inline-end: var(--m-gutter); }
  /* ── Ajustes de longitud ─────────────────────────────────── */
  body.mobile-v2 .split-cta__text { display: none; }
  body.mobile-v2 .split-cta { gap: 0.75rem; }
  body.mobile-v2 .process__step { padding: 0.6rem 0.9rem; }
  body.mobile-v2 .process__step-num { font-size: 1.15rem; min-width: 2.2rem; }
  body.mobile-v2 .location-block__text p { margin-bottom: 0.35rem; font-size: 0.92rem; }
  body.mobile-v2 .location-block__map iframe { height: 200px; }
  body.mobile-v2 .field__textarea { min-height: 96px; }
  body.mobile-v2 .field__hint { display: none; }
  body.mobile-v2 .newsletter { display: none; }
  body.mobile-v2 .whatsapp-fab { display: none; }
  /* ── Clientes: carrusel horizontal autónomo (de izquierda a derecha) ── */
  body.mobile-v2 .clients-strip .clients-carousel { overflow: hidden; display: block; margin-top: 0.9rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
  body.mobile-v2 .clients-strip .clients-carousel__track { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 2.25rem; width: max-content; animation: m-clients-ltr 32s linear infinite; }
  body.mobile-v2 .clients-strip .clients-carousel__logo { display: block; flex: 0 0 auto; height: 28px; width: auto; max-width: 92px; object-fit: contain; filter: grayscale(1); opacity: 0.7; }
  @keyframes m-clients-ltr { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  @media (prefers-reduced-motion: reduce) {
    body.mobile-v2 .clients-strip .clients-carousel { overflow-x: auto; }
    body.mobile-v2 .clients-strip .clients-carousel__track { animation: none; }
  }

  /* ── Selector de idioma: solo el actual; el resto, escondido hasta pulsar ── */
  body.mobile-v2 .lang-switcher { position: relative; }
  body.mobile-v2 .lang-switcher__flag { display: none; }
  body.mobile-v2 .lang-switcher__trigger { padding: 0.4rem 0.65rem; gap: 0.3rem; font-weight: 700; }
  body.mobile-v2 .lang-switcher__menu { display: none !important; opacity: 0; pointer-events: none; }
  body.mobile-v2 .lang-switcher.is-open .lang-switcher__menu { display: flex !important; opacity: 1; pointer-events: auto; right: 0; min-width: 170px; }
  body.mobile-v2 .lang-switcher__menu .lang-switcher__flag { display: inline-flex; }
}
