/* =========================================================
   PREPA FÁCIL — CSS común a todas las páginas
   Editar AQUÍ afecta a las 7 páginas del sitio
   ========================================================= */

/* --- Variables de marca --- */
:root{
  /* Colores legacy (preservados para compatibilidad con páginas internas) */
  --am:#F6C922;     /* amarillo principal histórico */
  --ams:#A28930;
  --az:#1E3A8A;     /* azul unificado (paleta híbrida) */
  --azd:#0F1F4F;
  --bl:#FEFEFD;
  --gc:#D6D5D2;
  --gm:#9D9D9E;
  --go:#484C4E;

  /* Paleta CRO nueva (usada en home y nuevas secciones) */
  --cro-azul:#1E3A8A;
  --cro-azul-oscuro:#0F1F4F;
  --cro-amarillo:#F6C922;
  --cro-amarillo-claro:#FEF3C7;
  --cro-verde-wa:#1FA851;
  --cro-verde-wa-hover:#178A42;
  --cro-gris-caja:#F3F4F6;
  --cro-gris-suave:#F9FAFB;
  --cro-gris-texto:#4B5563;
  --cro-gris-texto-2:#374151;
  --cro-gris-borde:#E5E7EB;
}

/* --- Reset y base --- */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:20px;scroll-padding-top:68px;}
body{font-family:'Source Sans 3',sans-serif;background:var(--bl);color:var(--go);padding-top:68px;}

/* --- Navegación desktop (fixed/sticky) --- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--cro-azul);display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:68px;box-shadow:0 2px 20px rgba(0,0,0,.25);}
.nl{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:var(--bl);text-decoration:none;}
.nl span{color:var(--cro-amarillo);}
.nm{display:flex;gap:2rem;list-style:none;align-items:center;}
.nm a{color:var(--bl);text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;transition:color .2s;}
.nm a:hover{color:var(--cro-amarillo);}

/* CTA WhatsApp en menú principal */
.nav-wa{background:var(--cro-verde-wa);color:#fff!important;padding:.55rem 1.1rem;border-radius:6px;font-weight:700!important;text-transform:none!important;letter-spacing:0!important;transition:background .2s;}
.nav-wa:hover{background:var(--cro-verde-wa-hover)!important;color:#fff!important;}

/* --- Hamburguesa móvil --- */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.hamburger span{display:block;width:26px;height:2px;background:var(--bl);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* --- Menú móvil desplegable --- */
.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;background:var(--cro-azul-oscuro);z-index:99;flex-direction:column;padding:1rem 5%;box-shadow:0 8px 20px rgba(0,0,0,.3);}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--bl);text-decoration:none;font-weight:600;font-size:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.5px;}
.mobile-menu .nav-wa-mobile{background:var(--cro-verde-wa);color:#fff;border-bottom:none;text-transform:none;letter-spacing:0;font-weight:700;padding:.85rem 1rem;border-radius:6px;text-align:center;margin-top:.6rem;}

/* --- Hero (cabecera con título) — legacy para páginas internas --- */
.hero{background:var(--cro-azul);padding:80px 5% 60px;position:relative;overflow:hidden;}
.hero-stripe{position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--cro-amarillo);}
.stag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--cro-amarillo);border-bottom:2px solid var(--cro-amarillo);padding-bottom:3px;margin-bottom:1rem;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--bl);line-height:1.2;margin-bottom:1rem;text-wrap:balance;}
.hero h1 em{font-style:normal;color:var(--cro-amarillo);}
.hero h1 span{display:block;}
.hero p{font-size:1.1rem;font-weight:300;color:rgba(254,254,253,.8);max-width:560px;line-height:1.7;}

/* =========================================================
   HERO NUEVO (CRO) — solo en index.html
   ========================================================= */
.hero-cro{background:linear-gradient(180deg, var(--cro-azul) 0%, var(--cro-azul-oscuro) 100%);padding:90px 5% 80px;text-align:center;position:relative;overflow:hidden;}
.hero-container{max-width:900px;margin:0 auto;}
.hero-sello{font-size:.78rem;color:var(--cro-amarillo);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:1.5rem;}
.hero-titulo{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3rem);font-weight:900;color:#fff;line-height:1.15;margin-bottom:1.5rem;text-wrap:balance;}
.resaltado-amarillo{background:var(--cro-amarillo);color:var(--cro-azul-oscuro);padding:0 .35em;border-radius:6px;display:inline-block;line-height:1.05;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-shadow:none;}
.hero-subtitulo{font-size:clamp(1rem,1.6vw,1.15rem);color:rgba(255,255,255,.85);max-width:720px;margin:0 auto 2rem;line-height:1.6;font-weight:300;}
.hero-botones{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.4rem;}
.hero-microcopy{font-size:.82rem;color:rgba(255,255,255,.7);margin-bottom:2.5rem;}
.hero-sellos{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;}
.sello-confianza{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);padding:.7rem 1.2rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;min-width:130px;}
.sello-confianza strong{color:#fff;font-size:.95rem;font-weight:700;}
.sello-confianza span{color:rgba(255,255,255,.7);font-size:.75rem;margin-top:2px;}

/* =========================================================
   BOTONES GENÉRICOS NUEVOS (CRO)
   ========================================================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-family:'Source Sans 3',sans-serif;font-weight:600;border-radius:8px;cursor:pointer;border:none;transition:all .2s;line-height:1.2;}
.btn-whatsapp{background:var(--cro-verde-wa);color:#fff;padding:1rem 1.8rem;}
.btn-whatsapp:hover{background:var(--cro-verde-wa-hover);transform:translateY(-2px);box-shadow:0 6px 18px rgba(37,211,102,.35);}
.btn-outline{border:2px solid #fff;background:transparent;color:#fff;padding:1rem 1.8rem;}
.btn-outline:hover{background:#fff;color:var(--cro-azul);}
.btn-grande{padding:1.1rem 2rem;font-size:1.02rem;min-height:56px;}

/* btn-wa legacy — se mantiene para páginas internas */
.btn-wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--cro-verde-wa);color:#fff;font-family:'Source Sans 3',sans-serif;font-size:1rem;font-weight:700;padding:.85rem 2rem;border-radius:8px;text-decoration:none;transition:background .2s,transform .2s;}
.btn-wa:hover{background:var(--cro-verde-wa-hover);transform:translateY(-2px);}
.btn-wa svg{width:22px;height:22px;fill:#fff;}

/* =========================================================
   SECCIÓN: VALIDACIÓN DEL DOLOR
   ========================================================= */
.seccion-dolor{background:var(--cro-amarillo-claro);padding:80px 5%;border-left:6px solid var(--cro-amarillo);border-right:6px solid var(--cro-amarillo);}
.dolor-container{max-width:720px;margin:0 auto;text-align:center;}
.enfasis-azul{color:var(--cro-azul);font-weight:700;}
.dolor-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);font-weight:700;margin-bottom:1.5rem;text-wrap:balance;}
.dolor-container p{font-size:clamp(1rem,1.6vw,1.1rem);color:var(--cro-gris-texto-2);line-height:1.7;}
.dolor-container p strong{color:var(--cro-azul);}

/* =========================================================
   SECCIÓN: CONFIANZA (sellos institucionales)
   ========================================================= */
.seccion-confianza{padding:80px 5%;background:#fff;}
.seccion-confianza::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.confianza-container{max-width:1100px;margin:0 auto;}
.confianza-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:1rem;text-wrap:balance;}
.confianza-subtitulo{font-size:1.05rem;color:var(--cro-gris-texto);text-align:center;max-width:680px;margin:0 auto 3rem;line-height:1.6;}
.confianza-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.confianza-card{background:#fff;padding:2rem 1.8rem;border-radius:12px;border:1px solid var(--cro-gris-borde);border-top:4px solid var(--cro-amarillo);box-shadow:0 2px 12px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;}
.confianza-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.confianza-icono{width:54px;height:54px;background:var(--cro-azul);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;box-shadow:0 4px 12px rgba(30,58,138,.25);}
.confianza-card h3{color:var(--cro-azul);font-size:1.1rem;font-weight:700;margin-bottom:.8rem;}
.confianza-card p{color:var(--cro-gris-texto-2);font-size:.95rem;line-height:1.6;}
.confianza-cierre{text-align:center;margin-top:2.5rem;color:#6B7280;font-size:.85rem;}

/* =========================================================
   SECCIÓN: PASOS (Cómo funciona)
   ========================================================= */
.seccion-pasos{padding:80px 5%;background:var(--cro-gris-suave);position:relative;}
.seccion-pasos::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.pasos-container{max-width:1200px;margin:0 auto;}
.pasos-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:1rem;text-wrap:balance;}
.pasos-subtitulo{font-size:1.05rem;color:var(--cro-gris-texto);text-align:center;max-width:680px;margin:0 auto 3rem;line-height:1.6;}
.pasos-lista{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.paso-card{background:#fff;padding:1.8rem;border-radius:12px;border:1px solid var(--cro-gris-borde);}
.paso-tiempo{display:inline-block;background:var(--cro-amarillo);color:#fff;padding:.35rem .8rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.paso-card h3{color:var(--cro-azul);font-size:1.05rem;font-weight:700;margin:.8rem 0;}
.paso-card p{color:var(--cro-gris-texto-2);font-size:.92rem;line-height:1.6;}
.pasos-cierre{text-align:center;margin-top:3rem;}
.pasos-cierre p{color:var(--cro-gris-texto);margin-bottom:1rem;font-size:1rem;}

/* =========================================================
   SECCIÓN: BENEFICIOS
   ========================================================= */
.seccion-beneficios{padding:80px 5%;background:#fff;}
.seccion-beneficios::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.beneficios-container{max-width:1200px;margin:0 auto;}
.beneficios-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:1rem;text-wrap:balance;}
.beneficios-subtitulo{font-size:1.05rem;color:var(--cro-gris-texto);text-align:center;max-width:720px;margin:0 auto 3rem;line-height:1.6;}
.beneficios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.beneficio-card{background:#fff;padding:2rem;border:1px solid var(--cro-gris-borde);border-radius:12px;transition:box-shadow .2s,transform .2s;}
.beneficio-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-2px);}
.beneficio-icono{font-size:1.8rem;margin-bottom:1rem;color:var(--cro-azul);}
.beneficio-card h3{color:var(--cro-azul-oscuro);font-size:1.05rem;font-weight:700;margin-bottom:.7rem;}
.beneficio-card p{color:var(--cro-gris-texto-2);font-size:.93rem;line-height:1.6;}

/* =========================================================
   SECCIÓN: FAQ embebido
   ========================================================= */
.seccion-faq{padding:80px 5%;background:#EFF4FB;}
.seccion-faq::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.faq-container{max-width:820px;margin:0 auto;}
.faq-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:1rem;text-wrap:balance;}
.faq-subtitulo{font-size:1rem;color:var(--cro-gris-texto);text-align:center;max-width:680px;margin:0 auto 2.5rem;line-height:1.6;}
.faq-acordeon{background:#fff;border-radius:12px;border:1px solid var(--cro-gris-borde);overflow:hidden;}
.faq-item{border-bottom:1px solid var(--cro-gris-borde);}
.faq-item:last-child{border-bottom:none;}
.faq-item summary{cursor:pointer;font-weight:600;color:var(--cro-azul-oscuro);padding:1.1rem 1.5rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.98rem;transition:background .15s;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.4rem;color:var(--cro-azul);font-weight:400;transition:transform .2s;flex-shrink:0;}
.faq-item[open] summary{color:var(--cro-azul);background:var(--cro-gris-suave);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 1.5rem 1.3rem;color:var(--cro-gris-texto-2);line-height:1.65;font-size:.94rem;}
.faq-cierre{text-align:center;margin-top:2.5rem;}
.faq-cierre p{color:var(--cro-gris-texto);margin-bottom:1rem;font-size:1rem;}

/* =========================================================
   SECCIÓN: PRECIO
   ========================================================= */
.seccion-precio{padding:80px 5%;background:#fff;}
.seccion-precio::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.precio-container{max-width:720px;margin:0 auto;text-align:center;}
.precio-etiqueta{font-size:.78rem;color:var(--cro-amarillo);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:.8rem;}
.precio-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.5vw,2rem);color:var(--cro-azul-oscuro);margin-bottom:2rem;text-wrap:balance;}
.precio-tarjeta{background:#fff;border:2px solid var(--cro-azul);padding:2.5rem 1.8rem;border-radius:12px;max-width:460px;margin:0 auto 1.5rem;}
.precio-monto{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,3.4rem);font-weight:900;color:var(--cro-azul-oscuro);line-height:1;}
.precio-desglose{color:var(--cro-gris-texto);font-size:.9rem;margin:.8rem 0 1.2rem;}
.precio-sello{display:inline-block;background:#DBEAFE;color:var(--cro-azul);padding:.35rem .9rem;border-radius:20px;font-size:.78rem;font-weight:600;margin-top:.6rem;}
.precio-comparacion{background:var(--cro-gris-caja);padding:1.4rem;border-radius:8px;margin:0 auto 1.5rem;}
.precio-comparacion p{color:var(--cro-gris-texto-2);font-size:.92rem;line-height:1.6;}
.precio-beca{background:var(--cro-amarillo-claro);border:1px solid var(--cro-amarillo);padding:1.2rem;border-radius:8px;max-width:460px;margin:0 auto 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;}
.precio-beca strong{color:var(--cro-azul-oscuro);font-size:1rem;}
.precio-beca span{color:var(--cro-gris-texto-2);font-size:.85rem;}


/* Resaltar la línea de cierre en la comparación de precio */
.precio-comparacion u{text-decoration:underline;text-decoration-color:var(--cro-amarillo);text-decoration-thickness:2px;text-underline-offset:3px;}
.precio-comparacion-punch{margin-top:.8rem!important;font-size:1.05rem!important;font-weight:600!important;color:var(--cro-azul-oscuro)!important;}
.precio-comparacion-punch strong{color:var(--cro-azul);background:var(--cro-amarillo-claro);padding:0 .25em;border-radius:3px;}

/* =========================================================
   SECCIÓN: GARANTÍA
   ========================================================= */
.seccion-garantia{padding:80px 5%;background:var(--cro-gris-suave);}
.seccion-garantia::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.garantia-container{max-width:1100px;margin:0 auto;}
.garantia-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.5vw,2.1rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:2.5rem;text-wrap:balance;}
.garantia-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.garantia-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;border:1px solid var(--cro-gris-borde);}
.garantia-icono{font-size:2rem;margin-bottom:1rem;}
.garantia-card h3{color:var(--cro-azul);font-size:1.05rem;font-weight:700;margin-bottom:.7rem;}
.garantia-card p{color:var(--cro-gris-texto-2);font-size:.92rem;line-height:1.6;}

/* =========================================================
   SECCIÓN: CTA FINAL fuerte
   ========================================================= */
.seccion-cta-final{padding:90px 5%;background:linear-gradient(135deg, var(--cro-azul) 0%, var(--cro-azul-oscuro) 100%);color:#fff;text-align:center;}
.cta-final-container{max-width:720px;margin:0 auto;}
.cta-final-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,2.6rem);color:#fff;margin-bottom:1.5rem;line-height:1.2;text-wrap:balance;}
.cta-final-texto{font-size:clamp(1rem,1.6vw,1.1rem);color:rgba(255,255,255,.9);line-height:1.6;margin-bottom:2rem;}
.cta-final-microcopy{font-size:.85rem;color:rgba(255,255,255,.7);margin-top:1rem;}
.cta-final-cierre{font-size:.95rem;font-style:italic;color:rgba(255,255,255,.75);margin-top:1.5rem;}

/* =========================================================
   SECCIÓN: CONTACTO simplificado
   ========================================================= */
.seccion-contacto{padding:80px 5%;background:#fff;}
.seccion-contacto::before{content:"";display:block;width:60px;height:4px;background:var(--cro-amarillo);margin:0 auto 2.5rem;border-radius:2px;}
.contacto-container{max-width:1100px;margin:0 auto;}
.contacto-container h2{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.2rem);color:var(--cro-azul-oscuro);text-align:center;margin-bottom:1rem;text-wrap:balance;}
.contacto-subtitulo{font-size:1.05rem;color:var(--cro-gris-texto);text-align:center;max-width:680px;margin:0 auto 2.5rem;line-height:1.6;}
.contacto-principal{background:var(--cro-gris-suave);padding:2.5rem;border-radius:12px;text-align:center;max-width:520px;margin:0 auto 2.5rem;border:1px solid var(--cro-gris-borde);}
.asesor-placeholder{width:84px;height:84px;background:linear-gradient(135deg, var(--cro-azul) 0%, var(--cro-azul-oscuro) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;box-shadow:0 6px 20px rgba(30,58,138,.3);}
.contacto-principal p{margin-bottom:1.2rem;color:var(--cro-gris-texto-2);}
.contacto-datos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.contacto-datos>div{padding:1.2rem;background:var(--cro-gris-caja);border-radius:8px;}
.contacto-datos strong{display:block;color:var(--cro-azul);margin-bottom:.5rem;font-size:.95rem;}
.contacto-datos p{color:var(--cro-gris-texto-2);font-size:.88rem;line-height:1.5;}
.contacto-datos a{color:var(--cro-azul);text-decoration:none;font-weight:600;}
.contacto-datos a:hover{text-decoration:underline;}


/* === Botones de redes sociales (estilo "Visítanos en Facebook" / "Síguenos en Instagram") === */
.contacto-redes{display:flex;flex-direction:column;gap:.6rem;}
.contacto-redes strong{margin-bottom:.4rem;}
.btn-red{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1rem;border-radius:8px;color:#fff!important;text-decoration:none!important;font-weight:600;font-size:.92rem;transition:transform .15s,box-shadow .2s;}
.btn-red:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18);}
.btn-red svg{flex-shrink:0;}
.btn-red-fb{background:#1877F2;}
.btn-red-fb:hover{background:#1664D4;}
.btn-red-ig{background:linear-gradient(135deg, #F58529 0%, #DD2A7B 50%, #8134AF 100%);}

/* =========================================================
   FOOTER nuevo
   ========================================================= */
footer{background:var(--cro-azul-oscuro);color:rgba(255,255,255,.85);padding:3rem 5% 1.5rem;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:2rem;max-width:1200px;margin:0 auto 2rem;}
.footer-col h4{color:#fff;font-size:.95rem;margin-bottom:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.footer-col .fl{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:#fff;display:block;margin-bottom:.6rem;}
.footer-col .fl span{color:var(--cro-amarillo);}
.footer-tag{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.5;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:.5rem;}
.footer-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.88rem;transition:color .15s;}
.footer-links a:hover{color:var(--cro-amarillo);}
.footer-col p{font-size:.85rem;line-height:1.6;margin-bottom:.5rem;color:rgba(255,255,255,.75);}
.footer-col p a{color:var(--cro-amarillo);text-decoration:none;}
.footer-redes{display:flex;gap:.8rem;}
.footer-redes a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.1);border-radius:8px;transition:background .2s;}
.footer-redes a:hover{background:rgba(255,255,255,.2);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.2rem;text-align:center;}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.6);}
.footer-bottom a{color:var(--cro-amarillo);text-decoration:none;}

/* Para .fl legacy (footer viejo de páginas internas que aún lo usan, pero ya no debería) */
.fl{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--bl);}
.fl span{color:var(--cro-amarillo);}

/* =========================================================
   BOTÓN FLOTANTE WhatsApp
   ========================================================= */
.whatsapp-floating{position:fixed;bottom:20px;right:20px;width:60px;height:60px;background:var(--cro-verde-wa);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:9999;transition:transform .2s ease;text-decoration:none;}
.whatsapp-floating:hover{transform:scale(1.08);}
.whatsapp-floating::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--cro-verde-wa);opacity:0;z-index:-1;animation:wa-pulse 2.5s ease-out infinite;}
@keyframes wa-pulse{0%{opacity:.5;transform:scale(1);}100%{opacity:0;transform:scale(1.6);}}
@media (max-width:600px){
  .whatsapp-floating{width:56px;height:56px;bottom:16px;right:16px;}
}

/* =========================================================
   ANIMACIONES
   ========================================================= */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

/* =========================================================
   FORM INPUTS — previene zoom de iOS Safari
   ========================================================= */
.fg input,.fg textarea,.fg select{font-size:16px;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:900px){
  .pasos-lista{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contacto-datos{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .nm{display:none;}
  .hamburger{display:flex;}
  .hero-botones{flex-direction:column;align-items:stretch;}
  .hero-botones .btn{width:100%;}
  .confianza-grid,.beneficios-grid,.garantia-grid{grid-template-columns:1fr;}
  .seccion-dolor,.seccion-confianza,.seccion-pasos,.seccion-beneficios,.seccion-faq,.seccion-precio,.seccion-garantia,.seccion-contacto{padding:50px 5%;}
  .seccion-cta-final{padding:60px 5%;}
  .hero-cro{padding:50px 5% 40px;}
  .footer-grid{grid-template-columns:1fr;text-align:center;}
  .footer-redes{justify-content:center;}
  .pasos-lista{grid-template-columns:1fr;}
  .contacto-datos{grid-template-columns:1fr;}
}
@media(max-width:480px){
  footer{padding:2rem 5% 1.2rem;}
}
