/* ==========================================================================
   Adaptación — los dos cortes de Elementor: 1024 (tableta) y 767 (móvil)
   ========================================================================== */
@media (max-width: 1024px) {
  .cid-nav a { padding: 8px 10px; }

  .cid-contacto { gap: 70px; padding: 12% 8%; }

  .cid-tarjetas { flex-wrap: wrap; gap: 65px; }

  .cid-tarjeta { width: 40%; max-width: 40%; }

  .cid-tarjeta p { font-size: 14px; }

  .cid-cta { min-height: 421px; padding: 100px 60px; }

  .cid-cta-titulo { font-size: 45px; line-height: 1; }

  .cid-pie-cuerpo { flex-wrap: wrap; padding: 8% 4%; }

  .cid-pie-marca { width: 36%; padding-right: 4%; gap: 30px; }

  .cid-pie-marca img { width: 30%; min-width: 180px; }

  .cid-pie-marca p { font-size: 14px; }

  .cid-pie-menu,
  .cid-pie-contacto { width: 32%; padding-left: 4%; }

  .cid-pie-menu a,
  .cid-pie-contacto a { font-size: 14px; }

  .cid-pie-mapa { width: 100%; margin-top: 30px; }

  .cid-popup-caja { width: 75vw; height: 75vh; }

  .cid-popup-cuerpo h2 { font-size: 24px; line-height: 30px; }

  .cid-popup-subtitulo { font-size: 13px; line-height: 23px; }
}

@media (max-width: 767px) {
  /* Cabecera: logo y hamburguesa; los iconos sociales desaparecen. */
  .cid-logo { flex: 0 0 70%; }

  .cid-logo img { max-width: 75%; }

  .cid-redes.es-cabecera { display: none; }

  .cid-nav-abrir {
    display: block;
    margin: 0 15px 0 auto;
    color: var(--azul);
  }

  .cid-nav-abrir:hover { color: var(--rojo); }

  .cid-nav-abrir svg { width: 18px; height: 20px; }

  /* Menú móvil de JetBlocks: un cajón desde la derecha al 70 %. */
  .cid-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    width: 70%;
    padding: 60px 10px 30px 30px;
    background: var(--blanco);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .5);
    transform: translateX(110%);
    transition: transform .3s;
  }

  .cid-nav.es-abierta { transform: none; }

  .cid-nav ul { flex-direction: column; align-items: stretch; }

  .cid-nav a { padding: 10px; text-align: right; }

  .cid-nav-cerrar {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    color: var(--rojo);
  }

  .cid-nav-cerrar svg { width: 16px; height: 20px; }

  .cid-nav-velo { position: fixed; inset: 0; z-index: 55; background: rgba(0, 0, 0, .3); }

  /* Contacto: las tarjetas se apilan y el icono sube encima del texto. */
  .cid-contacto { gap: 75px; padding: 30% 6%; }

  .cid-tarjetas { flex-direction: column; align-items: center; gap: 70px; }

  .cid-tarjeta { flex-direction: column; align-items: center; text-align: center; }

  .cid-tarjeta-icono { margin: 0 0 0; }

  .cid-tarjeta h4 { font-size: 18px; }

  .cid-formulario { grid-template-columns: 1fr; }

  .cid-formulario.es-pagina .cid-fila:nth-child(n) { margin-bottom: 18px; }

  .cid-formulario.es-pagina .cid-fila-envio { margin-bottom: 0; padding-top: 0; }

  .cid-formulario.es-pagina .cid-enviar { justify-self: start; }

  .cid-formulario.es-pagina .cid-fila-envio { display: flex; }

  /* Banda: sin video en móvil, como Elementor por defecto. */
  .cid-cta { min-height: 0; padding: 25px; padding-top: 60px; padding-bottom: 60px; }

  .cid-cta-cuerpo { gap: 13px; }

  .cid-cta-video { display: none; }

  .cid-cta-texto { font-size: 20px; }

  /* En móvil la palabra que rota va en su propia línea, como en el original. */
  .cid-animada,
  .cid-cta-despues { display: block; }

  .cid-cta-titulo { font-size: 24px; line-height: 1.2; }

  .cid-cta-boton { margin-top: 30px; padding: 15px 55px; font-size: 16px; }

  /* Pie: solo la marca, centrada. */
  .cid-pie-cuerpo { padding: 20% 6%; }

  .cid-pie-marca { width: 100%; padding: 0; align-items: center; text-align: center; }

  .cid-pie-marca img { width: 60%; min-width: 0; }

  .cid-pie-menu,
  .cid-pie-contacto,
  .cid-pie-mapa { display: none; }

  .cid-pie-derechos { flex-direction: column; text-align: center; padding: 30px 10px 10px; }

  .cid-pie-derechos p,
  .cid-pie-derechos p + p { text-align: center; margin-bottom: 30px; }

  .cid-popup-caja { width: 100vw; height: 90vh; padding: 50px 5%; }

  .cid-popup-subtitulo { font-size: 12px; line-height: 22px; }

  .cid-formulario.es-popup { grid-template-columns: 1fr 1fr; }
}
