/* ==========================================================
   AiDigital · Estilos del sitio
   Colores y letras según el Manual de marca 2026.
   ========================================================== */

:root {
  /* Paleta de marca */
  --negro: #0D0D0F;          /* 60 % · dominante */
  --verde-azulado: #128C7E;  /* 30 % · secundario */
  --verde: #25D366;          /* 10 % · solo botones y llamados a la acción */
  --cian: #12B8C4;           /* apoyo: íconos y datos */
  --gris-claro: #F4F5F6;     /* fondos */
  --blanco: #FFFFFF;
  --degradado: linear-gradient(135deg, #128C7E 0%, #25D366 100%); /* solo para el punto y acentos pequeños */

  /* Tonos de apoyo para textos (contraste accesible) */
  --verde-azulado-texto: #0F7A6E; /* mismo tono, más oscuro, para textos pequeños sobre fondo claro */
  --texto: #1F2124;
  --texto-suave: #4A4E55;
  --texto-claro-suave: #B8BCC2;
  --linea: #E3E5E8;
  --linea-oscura: #26272B;

  /* Tipografía */
  --fuente-titulos: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --fuente-etiquetas: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --fuente-cuerpo: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;

  /* Medidas */
  --ancho-max: 1160px;
  --margen: 20px;
  --radio: 16px;
  --radio-boton: 999px;
  --sombra: 0 1px 2px rgba(13, 13, 15, .04), 0 8px 24px rgba(13, 13, 15, .06);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
body {
  margin: 0;
  font-family: var(--fuente-cuerpo);
  font-size: 17px;
  line-height: 1.6;
  color: var(--texto);
  background: var(--blanco);
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 {
  font-family: var(--fuente-titulos);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0 0 .5em;
  color: var(--negro);
}
h1 { font-size: clamp(2.6rem, 9vw, 5rem); }
h2 { font-size: clamp(1.9rem, 5.5vw, 3rem); }
h3 { font-size: 1.3rem; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--cian); outline-offset: 3px; border-radius: 4px; }
[id] { scroll-margin-top: 76px; } /* que el encabezado fijo no tape los títulos al usar el menú */

.contenedor { width: 100%; max-width: var(--ancho-max); margin: 0 auto; padding: 0 var(--margen); }
.solo-lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--verde); color: var(--negro); padding: 10px 16px; border-radius: 8px; font-family: var(--fuente-etiquetas); font-weight: 600; }
.saltar:focus { top: 12px; }

/* Etiqueta pequeña sobre los títulos */
.etiqueta {
  display: inline-block;
  font-family: var(--fuente-etiquetas);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--verde-azulado-texto);
  margin-bottom: 14px;
}
.fondo-negro .etiqueta { color: var(--verde); }

/* Punto de marca (acento) */
.punto { display: inline-block; width: .5em; height: .5em; border-radius: 50%; background: var(--degradado); vertical-align: middle; }

/* ---------- Botones ---------- */
.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 14px 26px;
  border-radius: var(--radio-boton);
  font-family: var(--fuente-etiquetas); font-weight: 600; font-size: 1rem;
  text-decoration: none; border: 2px solid transparent; cursor: pointer;
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.boton:hover { transform: translateY(-1px); }
.boton-principal { background: var(--verde); color: var(--negro); }
.boton-principal:hover { background: #3BE07A; }
.boton-secundario { background: transparent; color: var(--blanco); border-color: rgba(255,255,255,.35); }
.boton-secundario:hover { border-color: var(--blanco); }
.boton-contorno { background: transparent; color: var(--negro); border-color: var(--negro); }
.boton-contorno:hover { background: var(--negro); color: var(--blanco); }
.boton svg { width: 20px; height: 20px; flex-shrink: 0; }
.nota-boton { font-size: .92rem; margin-top: 12px; color: var(--texto-suave); }
.fondo-negro .nota-boton { color: var(--texto-claro-suave); }

/* ---------- Encabezado ---------- */
.encabezado {
  position: sticky; top: 0; z-index: 50;
  background: rgba(13, 13, 15, .94);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--linea-oscura);
}
.encabezado .contenedor { display: flex; align-items: center; justify-content: space-between; min-height: 68px; gap: 16px; }
.logo { display: block; padding: 8px 0; } /* aire alrededor del logo: área de protección */
.logo img { width: 128px; height: auto; } /* mínimo del manual: 96 px */
.menu { display: none; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; }
.menu a { color: var(--blanco); text-decoration: none; font-family: var(--fuente-etiquetas); font-weight: 500; font-size: .95rem; opacity: .85; }
.menu a:hover { opacity: 1; }
.encabezado .boton { min-height: 44px; padding: 10px 18px; font-size: .9rem; }
.boton-menu { background: none; border: 0; color: var(--blanco); padding: 10px; margin-right: -10px; cursor: pointer; }
.boton-menu svg { width: 26px; height: 26px; }
.encabezado-acciones { display: flex; align-items: center; gap: 8px; }
.encabezado-acciones .boton { display: none; }

.menu-movil { display: none; background: var(--negro); border-top: 1px solid var(--linea-oscura); }
.menu-movil.abierto { display: block; }
.menu-movil ul { list-style: none; margin: 0; padding: 8px var(--margen) 20px; }
.menu-movil li a { display: block; padding: 14px 0; color: var(--blanco); text-decoration: none; font-family: var(--fuente-etiquetas); font-weight: 500; border-bottom: 1px solid var(--linea-oscura); }
.menu-movil .boton { width: 100%; margin-top: 16px; }

@media (min-width: 900px) {
  .menu { display: block; }
  .boton-menu, .menu-movil, .menu-movil.abierto { display: none; }
  .encabezado-acciones .boton { display: inline-flex; }
  .logo img { width: 140px; }
}

/* ---------- Secciones ---------- */
.seccion { padding: 72px 0; }
@media (min-width: 900px) { .seccion { padding: 112px 0; } }
.fondo-negro { background: var(--negro); color: var(--texto-claro-suave); }
.fondo-negro h1, .fondo-negro h2, .fondo-negro h3 { color: var(--blanco); }
.fondo-gris { background: var(--gris-claro); }
.cabecera-seccion { max-width: 720px; margin-bottom: 44px; }
.cabecera-seccion p { font-size: 1.12rem; color: var(--texto-suave); }
.fondo-negro .cabecera-seccion p { color: var(--texto-claro-suave); }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; padding: 64px 0 80px; }
.hero .contenedor { position: relative; z-index: 2; }
.hero-texto { max-width: 680px; }
.hero h1 { margin-bottom: 22px; }
.hero h1 .etiqueta { display: block; font-size: .78rem; line-height: 1.6; letter-spacing: .14em; margin-bottom: 14px; }
.hero h1 .punto-final { color: var(--verde); }
.hero-subtitulo { font-size: 1.2rem; line-height: 1.55; color: #D6D9DD; max-width: 600px; margin-bottom: 32px; }
.hero-botones { display: flex; flex-direction: column; gap: 12px; }
/* Símbolo decorativo: solo en pantallas grandes, siempre a color completo (el punto no se altera) */
.hero-simbolo {
  position: absolute; z-index: 1; pointer-events: none;
  display: none;
}
@media (min-width: 600px) { .hero-botones { flex-direction: row; flex-wrap: wrap; } }
@media (min-width: 900px) {
  .hero { padding: 120px 0 140px; }
  .hero-simbolo { display: block; right: -40px; bottom: -60px; width: 560px; }
}

/* ---------- Problema ---------- */
.tarjetas { display: grid; gap: 16px; }
@media (min-width: 760px) { .tarjetas-3 { grid-template-columns: repeat(3, 1fr); } }
.tarjeta {
  background: var(--blanco); border-radius: var(--radio); padding: 28px;
  border: 1px solid var(--linea);
}
.tarjeta h3 { margin-bottom: 8px; }
.tarjeta p { margin: 0; color: var(--texto-suave); }
.tarjeta .numero { font-family: var(--fuente-titulos); font-weight: 500; font-size: 1rem; color: var(--verde-azulado-texto); margin-bottom: 18px; display: block; }
.cierre-problema { margin-top: 44px; max-width: 760px; }
.cierre-problema p { font-size: 1.2rem; color: var(--texto); }
.cierre-problema strong { font-family: var(--fuente-titulos); font-weight: 500; font-size: 1.5rem; display: block; color: var(--negro); margin-bottom: 4px; letter-spacing: -0.01em; }

/* ---------- Caminos (servicios) ---------- */
.caminos { display: grid; gap: 20px; }
@media (min-width: 900px) { .caminos { grid-template-columns: repeat(2, 1fr); } }
.camino {
  background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio);
  padding: 28px; display: flex; flex-direction: column;
}
.camino-destacado { background: var(--negro); border-color: var(--negro); color: var(--texto-claro-suave); }
.camino-destacado h3, .camino-destacado .camino-lema { color: var(--blanco); }
.camino-cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 6px; }
.camino-num { font-family: var(--fuente-etiquetas); font-weight: 600; font-size: .8rem; letter-spacing: .12em; color: var(--verde-azulado-texto); }
.camino-destacado .camino-num { color: var(--verde); }
.camino-tipo { font-family: var(--fuente-etiquetas); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-suave); background: var(--gris-claro); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.camino-destacado .camino-tipo { background: #1E1F23; color: var(--texto-claro-suave); }
.camino h3 { font-size: 1.7rem; margin: 6px 0 4px; }
.camino-lema { font-family: var(--fuente-etiquetas); font-weight: 600; color: var(--negro); margin-bottom: 10px; }
.camino-desc { color: var(--texto-suave); }
.camino-destacado .camino-desc { color: var(--texto-claro-suave); }
.lista-check { list-style: none; padding: 0; margin: 0 0 18px; }
.lista-check li { position: relative; padding: 10px 0 10px 28px; border-top: 1px solid var(--linea); }
.camino-destacado .lista-check li { border-color: var(--linea-oscura); }
.lista-check li::before { content: ""; position: absolute; left: 4px; top: 19px; width: 9px; height: 9px; border-radius: 50%; background: var(--degradado); }
.lista-check strong { color: var(--negro); font-weight: 600; }
.camino-destacado .lista-check strong { color: var(--blanco); }

.planes { display: grid; gap: 10px; margin: 6px 0 18px; }
.plan { border: 1px solid var(--linea); border-radius: 12px; padding: 14px 16px; }
.camino-destacado .plan { border-color: var(--linea-oscura); }
.plan-nombre { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-family: var(--fuente-etiquetas); font-weight: 600; color: var(--negro); margin-bottom: 4px; }
.camino-destacado .plan-nombre { color: var(--blanco); }
.plan-incluye { font-size: .95rem; color: var(--texto-suave); margin: 0; }
.camino-destacado .plan-incluye { color: var(--texto-claro-suave); }
.plan-extra { font-size: .9rem; margin: 6px 0 0; color: var(--verde-azulado-texto); font-weight: 600; }
.camino-destacado .plan-extra { color: var(--verde); }
.sello { font-family: var(--fuente-etiquetas); font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; background: var(--verde); color: var(--negro); border-radius: 999px; padding: 3px 9px; }
/* Precio preparado para el futuro: no se muestra mientras esté vacío */
.plan-precio:empty { display: none; }
.plan-precio { display: block; font-family: var(--fuente-titulos); font-size: 1.2rem; color: var(--negro); margin-top: 6px; }

.camino-detalle { font-size: .95rem; margin: 0 0 8px; }
.camino-detalle b { font-family: var(--fuente-etiquetas); font-weight: 600; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--verde-azulado-texto); margin-right: 6px; }
.camino-destacado .camino-detalle b { color: var(--verde); }
.camino-pie { margin-top: auto; padding-top: 14px; }
.camino-destacado .boton-contorno { color: var(--blanco); border-color: rgba(255,255,255,.5); }
.camino-destacado .boton-contorno:hover { background: var(--blanco); color: var(--negro); }

.caja-ayuda {
  margin-top: 24px; background: var(--negro); color: var(--texto-claro-suave);
  border-radius: var(--radio); padding: 28px; display: flex; flex-direction: column; gap: 18px;
}
.caja-ayuda h3 { color: var(--blanco); margin: 0 0 6px; }
.caja-ayuda p { margin: 0; }
@media (min-width: 760px) { .caja-ayuda { flex-direction: row; align-items: center; justify-content: space-between; padding: 32px 36px; } .caja-ayuda > div { max-width: 640px; } }

/* ---------- Diagnóstico ---------- */
.diagnostico-grid { display: grid; gap: 40px; }
@media (min-width: 960px) { .diagnostico-grid { grid-template-columns: 5fr 7fr; align-items: start; gap: 64px; } }
.modalidad { display: inline-flex; gap: 10px; align-items: flex-start; background: #17181B; border: 1px solid var(--linea-oscura); border-radius: 12px; padding: 14px 16px; font-size: .98rem; margin: 6px 0 26px; color: #D6D9DD; }
.modalidad svg { width: 22px; height: 22px; flex-shrink: 0; color: var(--cian); margin-top: 2px; }
.revisamos { display: grid; gap: 12px; }
@media (min-width: 600px) { .revisamos { grid-template-columns: repeat(2, 1fr); } }
.revisa { background: #17181B; border: 1px solid var(--linea-oscura); border-radius: 14px; padding: 20px; }
.revisa h3 { font-size: 1.1rem; margin-bottom: 6px; display: flex; align-items: center; gap: 10px; }
.revisa p { margin: 0; font-size: .97rem; }
.icono { position: relative; width: 36px; height: 36px; border-radius: 10px; background: #222327; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--blanco); }
.icono svg { width: 20px; height: 20px; }
.icono::after { content: ""; position: absolute; top: -3px; right: -3px; width: 9px; height: 9px; border-radius: 50%; background: var(--verde); }
.recibes { margin-top: 24px; border-left: 3px solid var(--verde); padding: 4px 0 4px 18px; }
.recibes strong { color: var(--blanco); font-family: var(--fuente-etiquetas); font-weight: 600; display: block; margin-bottom: 4px; }

/* ---------- Proceso ---------- */
.pasos { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: paso; }
@media (min-width: 860px) { .pasos { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.paso { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 28px; position: relative; }
.paso-num { font-family: var(--fuente-titulos); font-weight: 500; font-size: 3rem; line-height: 1; color: #C9CDD2; display: block; margin-bottom: 18px; }
.paso h3 { margin-bottom: 8px; }
.paso p { margin: 0; color: var(--texto-suave); }
.promesa { margin-top: 28px; background: var(--negro); color: var(--blanco); border-radius: var(--radio); padding: 24px 28px; font-size: 1.12rem; }
.promesa b { font-family: var(--fuente-etiquetas); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--verde); display: block; margin-bottom: 6px; }

/* ---------- Neuromarketing (bloque destacado) ---------- */
.neuro { position: relative; overflow: hidden; border-radius: 24px; padding: 40px 28px; margin-bottom: 56px; }
.neuro-patron { position: absolute; inset: 0; pointer-events: none; opacity: .9;
  background-image: radial-gradient(circle, #232428 2.2px, transparent 2.6px);
  background-size: 28px 28px; }
.neuro > * { position: relative; }
.neuro h2 { max-width: 640px; }
.neuro-texto { max-width: 680px; font-size: 1.1rem; color: #D6D9DD; }
.neuro-tres { display: grid; gap: 12px; margin: 30px 0 22px; }
@media (min-width: 760px) { .neuro { padding: 64px 56px; } .neuro-tres { grid-template-columns: repeat(3, 1fr); } }
.neuro-item { background: rgba(23,24,27,.92); border: 1px solid var(--linea-oscura); border-radius: 14px; padding: 20px; }
.neuro-item h3 { font-size: 1.15rem; margin-bottom: 6px; display: flex; align-items: center; gap: 10px; }
.neuro-item h3 .punto { width: 10px; height: 10px; }
.neuro-item p { margin: 0; font-size: .98rem; }
.neuro-cierre { color: var(--blanco); font-family: var(--fuente-etiquetas); font-weight: 500; margin: 0; }

/* ---------- Pilares ---------- */
.pilares { display: grid; gap: 16px; }
@media (min-width: 760px) { .pilares { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pilares { grid-template-columns: repeat(4, 1fr); } }
.pilar { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 26px; }
.pilar-num { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--negro); color: var(--blanco); font-family: var(--fuente-titulos); font-weight: 500; margin-bottom: 16px; }
.pilar h3 { font-size: 1.45rem; margin-bottom: 6px; }
.pilar-frase { font-weight: 600; color: var(--negro); margin-bottom: 12px; }
.pilar-nota { font-size: .95rem; color: var(--texto-suave); border-top: 1px solid var(--linea); padding-top: 12px; margin: 0; }
.pilar-nota b { display: block; font-family: var(--fuente-etiquetas); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--verde-azulado-texto); margin-bottom: 4px; }
.ruta { font-family: var(--fuente-etiquetas); font-weight: 600; color: var(--negro); margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ruta span.flecha { color: var(--verde-azulado-texto); }

.para-ti { display: grid; gap: 16px; margin-top: 48px; }
@media (min-width: 760px) { .para-ti { grid-template-columns: repeat(2, 1fr); } }
.perfil { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 26px; display: flex; gap: 18px; }
.perfil h3 { font-size: 1.15rem; margin-bottom: 6px; }
.perfil p { margin: 0; color: var(--texto-suave); }
.perfil .icono { background: var(--gris-claro); color: var(--negro); width: 44px; height: 44px; }

/* Fotografías (se pueden reemplazar en la carpeta img/fotos) */
.foto { border-radius: var(--radio); overflow: hidden; background: #2A2C30; aspect-ratio: 4 / 3; position: relative; }
.foto img { width: 100%; height: 100%; object-fit: cover; }
.con-foto { display: grid; gap: 28px; margin-bottom: 44px; }
.con-foto .cabecera-seccion { margin-bottom: 0; }
@media (min-width: 960px) { .con-foto { grid-template-columns: 7fr 5fr; align-items: center; gap: 56px; } }
.para-ti-bloque { display: grid; gap: 16px; margin-top: 48px; }
.para-ti-bloque .para-ti { margin-top: 0; grid-template-columns: 1fr; align-content: center; }
@media (min-width: 960px) { .para-ti-bloque { grid-template-columns: 5fr 7fr; gap: 24px; align-items: stretch; } .para-ti-bloque .foto { aspect-ratio: auto; min-height: 280px; } }
.foto-registro { margin-top: 28px; aspect-ratio: 16 / 9; }

/* ---------- Formulario ---------- */
.registro-grid { display: grid; gap: 36px; }
@media (min-width: 960px) { .registro-grid { grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; } }
.registro-info .lista-check li { border-color: var(--linea-oscura); color: #D6D9DD; }
.formulario { background: var(--blanco); color: var(--texto); border-radius: 20px; padding: 26px 20px; box-shadow: var(--sombra); }
@media (min-width: 600px) { .formulario { padding: 36px; } }
.campos { display: grid; gap: 16px; }
@media (min-width: 600px) { .campos { grid-template-columns: repeat(2, 1fr); } .campo-ancho { grid-column: 1 / -1; } }
.campo label, .campo legend { display: block; font-family: var(--fuente-etiquetas); font-weight: 600; font-size: .9rem; color: var(--negro); margin-bottom: 6px; }
.campo .opcional { font-weight: 500; color: var(--texto-suave); font-size: .82rem; }
.campo input, .campo select {
  width: 100%; min-height: 50px; padding: 12px 14px; font: inherit; font-size: 16px; color: var(--texto);
  background: var(--blanco); border: 1.5px solid #C9CDD2; border-radius: 10px; appearance: none; -webkit-appearance: none;
}
.campo select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D0D0F' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.campo input:focus, .campo select:focus { outline: none; border-color: var(--verde-azulado); box-shadow: 0 0 0 3px rgba(18,140,126,.18); }
.campo.con-error input, .campo.con-error select { border-color: #C62828; }
.error { display: none; color: #B3261E; font-size: .88rem; margin-top: 6px; }
.con-error .error { display: block; }
.casillas { margin-top: 22px; display: grid; gap: 14px; }
.casilla { display: flex; gap: 12px; align-items: flex-start; font-size: .95rem; line-height: 1.45; }
.casilla input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--verde-azulado); cursor: pointer; }
.casilla a { color: var(--verde-azulado-texto); font-weight: 600; }
.casilla-grupo .error { margin-left: 34px; }
.aviso-privacidad { font-size: .84rem; line-height: 1.5; color: var(--texto-suave); margin: 18px 0 0; }
.aviso-privacidad a { color: var(--verde-azulado-texto); }
.formulario .boton { width: 100%; margin-top: 22px; }
.formulario .boton[disabled] { opacity: .6; cursor: wait; transform: none; }
.error-envio { display: none; margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: #FDECEA; color: #8C1D18; font-size: .95rem; }
.error-envio.visible { display: block; }
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; } /* campo invisible contra spam */

/* ---------- Preguntas frecuentes ---------- */
.preguntas { max-width: 820px; }
.pregunta { border-bottom: 1px solid var(--linea); }
.pregunta summary {
  list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative;
  font-family: var(--fuente-titulos); font-weight: 500; font-size: 1.18rem; color: var(--negro);
}
.pregunta summary::-webkit-details-marker { display: none; }
.pregunta summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 1.6rem; font-weight: 300; color: var(--verde-azulado-texto); }
.pregunta[open] summary::after { content: "–"; }
.pregunta p { margin: 0 0 22px; color: var(--texto-suave); max-width: 720px; }

/* ---------- Pie de página ---------- */
.pie { background: var(--negro); color: var(--texto-claro-suave); padding: 64px 0 28px; font-size: .97rem; }
.pie-grid { display: grid; gap: 36px; }
@media (min-width: 860px) { .pie-grid { grid-template-columns: 4fr 3fr 3fr 3fr; } }
.pie .logo img { width: 140px; }
.pie-frase { color: var(--blanco); font-family: var(--fuente-etiquetas); font-weight: 500; margin-top: 16px; }
.pie h2 { font-family: var(--fuente-etiquetas); font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--verde); margin-bottom: 14px; }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pie a { color: var(--texto-claro-suave); text-decoration: none; }
.pie a:hover { color: var(--blanco); text-decoration: underline; }
.pie button.enlace { background: none; border: 0; padding: 0; color: var(--texto-claro-suave); font: inherit; cursor: pointer; text-align: left; }
.pie button.enlace:hover { color: var(--blanco); text-decoration: underline; }
.pie-legal { border-top: 1px solid var(--linea-oscura); margin-top: 48px; padding-top: 22px; font-size: .85rem; color: #8E9299; }

/* ---------- Botón flotante de WhatsApp ---------- */
.whatsapp-flotante {
  position: fixed; right: 16px; bottom: 16px; z-index: 60;
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--verde); color: var(--negro);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 20px rgba(13,13,15,.28);
  transition: transform .15s ease;
}
.whatsapp-flotante:hover { transform: scale(1.06); }
.whatsapp-flotante svg { width: 30px; height: 30px; }
body.con-aviso-cookies .whatsapp-flotante { bottom: 16px; }

/* ---------- Aviso de cookies ---------- */
.aviso-cookies {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 70;
  background: var(--negro); color: #D6D9DD; border: 1px solid var(--linea-oscura);
  border-radius: 16px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.35);
  font-size: .93rem; line-height: 1.5; display: none;
}
.aviso-cookies.visible { display: block; }
.aviso-cookies a { color: var(--verde); }
.aviso-cookies p { margin: 0 0 14px; }
.aviso-cookies-botones { display: flex; gap: 10px; flex-wrap: wrap; }
.aviso-cookies .boton { min-height: 44px; padding: 10px 18px; font-size: .9rem; flex: 1 1 auto; }
@media (min-width: 760px) { .aviso-cookies { left: 24px; right: auto; bottom: 24px; max-width: 460px; } }

/* ---------- Páginas internas (política y gracias) ---------- */
.pagina-simple { padding: 56px 0 80px; }
.documento { max-width: 780px; }
.documento h1 { font-size: clamp(2rem, 6vw, 3rem); }
.documento h2 { font-size: 1.5rem; margin-top: 2.2em; padding-bottom: 10px; border-bottom: 2px solid var(--verde-azulado); }
.documento ul, .documento ol { padding-left: 1.3em; }
.documento li { margin-bottom: 8px; }
.documento .meta { color: var(--texto-suave); }
.tabla-scroll { overflow-x: auto; margin: 18px 0 24px; }
.documento table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: .95rem; }
.documento th { background: var(--verde-azulado); color: var(--blanco); text-align: left; padding: 10px 12px; font-family: var(--fuente-etiquetas); font-weight: 600; font-size: .88rem; }
.documento td { border: 1px solid var(--linea); padding: 10px 12px; vertical-align: top; }
.documento tr:nth-child(even) td { background: var(--gris-claro); }
.gracias { text-align: left; max-width: 640px; }
.gracias .punto { width: 22px; height: 22px; margin-bottom: 24px; }
