/* ── Tipografías servidas desde scirehr.com ──────────────────────────────────
   Antes se pedían a fonts.googleapis.com en la primera carga, antes de que el
   visitante decidiera sobre cookies: eso enviaba su IP a Google LLC sin
   autorización previa y contradecía nuestra tabla de terceros.
   Los archivos van en /assets/fuentes/ con estos nombres exactos.
   font-display:swap hace que el texto se vea desde el primer instante con la
   fuente del sistema y se sustituya al cargar la propia. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fuentes/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fuentes/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fuentes/inter-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fuentes/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fuentes/montserrat-700.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;
  src:url('/assets/fuentes/montserrat-800.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fuentes/playfair-italic.woff2') format('woff2')}

/* ============================================================
   Scire HR — scirehr.com · Sistema de diseño
   Paleta: Manual de Identidad v1.0 + profundidad navy de referencias
   ============================================================ */
:root{
  /* Marca (Manual de Identidad) */
  --azul:#0E76BC; --azul-claro:#25AAE1; --gris-experto:#58585A;
  --teal:#75CBCA; --naranja:#F89B1C; --rojo:#C53E27; --verde:#166534;
  /* Profundidad (referencias web) */
  --navy:#0B1F3A; --navy-2:#13294B; --navy-3:#1B2A4A;
  /* Neutros */
  --ink:#1A1A1A; --gray-700:#334155; --gray-500:#64748B; --gray-300:#CBD5E1;
  --gray-100:#F0F4FA; --ice:#F5F8FF; --white:#FFFFFF;
  --font-display:'Montserrat',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-quote:'Playfair Display',Georgia,serif;
  --radius:14px; --shadow:0 10px 30px rgba(11,31,58,.10);
  --shadow-lg:0 24px 60px rgba(11,31,58,.18);
  --maxw:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.6;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:72px 0}
.section.alt{background:var(--ice)}
.section-title{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,3.6vw,38px);color:var(--navy);text-align:center;margin-bottom:14px;letter-spacing:-.5px;position:relative;padding-bottom:18px}
.section-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:56px;height:3px;border-radius:2px;background:var(--azul-claro)}
.section-sub{color:var(--gray-500);text-align:center;max-width:680px;margin:0 auto 44px;font-size:17px}
.eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--azul);margin-bottom:14px}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--gray-100)}
.header-in{display:flex;align-items:center;justify-content:space-between;height:66px;gap:28px}
.header img{height:30px;width:auto}
.nav{display:flex;gap:26px;align-items:center}
.nav a{color:var(--gray-700);font-weight:500;font-size:15px}
.nav a:hover{color:var(--azul);text-decoration:none}
.nav .btn{padding:10px 18px;font-size:14px}
.nav-burger{display:none;background:none;border:none;font-size:26px;color:var(--navy);cursor:pointer;line-height:1;padding:4px 8px}
@media(max-width:760px){
  .nav{position:fixed;inset:0;top:0;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:6px;display:none;padding:24px;z-index:60}
  .nav.open{display:flex}
  .nav a{padding:16px 24px;border-bottom:none;font-size:19px;text-align:center}
  .nav a.active{text-decoration:underline;text-underline-offset:6px}
  .nav .btn{margin:18px 0 0}
  .nav-burger{display:block;position:relative;z-index:70}
  .nav-burger[aria-expanded="true"]{position:fixed;top:18px;right:22px;font-size:28px}
}

/* ---------- Botones ---------- */
.btn{display:inline-block;font-family:var(--font-display);font-weight:700;border-radius:10px;padding:15px 28px;font-size:16px;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease;text-align:center}
.btn:hover{transform:translateY(-2px);text-decoration:none}
.btn-cta{background:var(--naranja);color:#fff !important;box-shadow:0 8px 22px rgba(248,155,28,.35)}
.btn-cta:hover{box-shadow:0 12px 28px rgba(248,155,28,.45)}
.btn-azul{background:var(--azul);color:#fff !important;box-shadow:0 8px 22px rgba(14,118,188,.30)}
.btn-ghost{background:transparent;color:var(--white) !important;border:2px solid rgba(255,255,255,.45)}
.btn-ghost:hover{border-color:#fff}
.btn-line{background:#fff;color:var(--azul) !important;border:2px solid var(--azul)}
.btn-block{display:block;width:100%}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0E3158 100%);color:#fff;padding:84px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(37,170,225,.18),transparent)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:1}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,4.6vw,50px);line-height:1.12;letter-spacing:-1px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--azul-claro)}
.hero p.lead{font-size:18px;color:#C9D6E8;max-width:560px;margin-bottom:30px}
.hero .badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.hero .badge{font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#DCE7F5}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{font-size:13px;color:#9FB3CC;margin-top:14px}
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:28px;backdrop-filter:blur(4px)}
.hero-card h3{font-family:var(--font-display);font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--azul-claro);margin-bottom:16px}
.hero-card li{list-style:none;padding:9px 0 9px 30px;position:relative;color:#E7EEF7;font-size:15px;border-bottom:1px solid rgba(255,255,255,.07)}
.hero-card li:last-child{border-bottom:none}
.hero-card li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}

/* ---------- Cards de kits ---------- */
.kits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px){.kits-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.kits-grid{grid-template-columns:1fr}}
.kit-card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;position:relative}
.kit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.kit-card .pill{position:absolute;top:-12px;left:24px;background:var(--azul);color:#fff;font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:1px;padding:5px 12px;border-radius:999px;text-transform:uppercase}
.kit-card .pill.hot{background:var(--naranja)}
.kit-card h3{font-family:var(--font-display);font-size:19px;color:var(--navy);margin:10px 0 6px;line-height:1.3}
.kit-card .quien{font-size:13.5px;color:var(--gray-500);margin-bottom:14px;min-height:40px}
.kit-card .precio{font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--navy)}
.kit-card .precio small{font-size:13px;color:var(--gray-700);font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.kit-card ul{margin:16px 0 22px}
.kit-card li{list-style:none;font-size:14px;color:var(--gray-700);padding:6px 0 6px 24px;position:relative}
.kit-card li::before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:700}
.kit-card .mas{font-size:13px;color:var(--gray-500);font-style:italic}
.kit-card .btn{margin-top:auto}

/* ---------- Bloques bundle ---------- */
.bundle{background:var(--white);border:1px solid var(--gray-100);border-radius:18px;color:var(--navy);padding:46px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;box-shadow:var(--shadow-lg)}
.bundle.destacada{border:1px solid var(--teal);box-shadow:0 16px 44px rgba(11,31,58,.12);position:relative}
.bundle.destacada::before{content:"Combo popular";position:absolute;top:-13px;left:30px;background:var(--teal);color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;padding:5px 14px;border-radius:999px}
.bundle.bundle-pro{background:var(--ice);border:2px solid var(--naranja);box-shadow:0 0 0 4px rgba(248,155,28,.12),0 20px 50px rgba(11,31,58,.10);position:relative}
.bundle.bundle-pro::before{content:"⭐ El mejor valor";position:absolute;top:-13px;left:30px;background:var(--naranja);color:#fff;font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;padding:5px 14px;border-radius:999px}
.bundle.bundle-pro .big{color:var(--azul)}
.bundle.bundle-pro .ahorro{background:rgba(248,155,28,.14);border-color:var(--naranja);color:#B5680A}
@media(max-width:840px){.bundle{grid-template-columns:1fr;padding:32px}}
.bundle h3{font-family:var(--font-display);font-size:clamp(22px,3vw,30px);margin-bottom:12px;color:var(--navy)}
.bundle p{color:var(--gray-700);margin-bottom:8px}
.bundle .tach{color:var(--gray-500);text-decoration:line-through;font-size:18px}
.bundle .big{font-family:var(--font-display);font-weight:800;font-size:46px;color:var(--navy)}
.bundle .ahorro{display:inline-block;background:rgba(117,203,202,.15);border:1px solid var(--teal);color:#0E7E7C;font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;margin-left:10px}

/* ---------- Tablas ---------- */
.tabla{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:14.5px}
.tabla th{background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:600;text-align:left;padding:13px 16px;font-size:13.5px}
.tabla td{padding:12px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}
.tabla tr:last-child td{border-bottom:none}
.tabla .si{color:var(--verde);font-weight:700}.tabla .no{color:var(--gray-300)}

/* ---------- Semáforo / urgencia ---------- */
.semaforo{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:840px){.semaforo{grid-template-columns:1fr}}
.sem-card{border-radius:var(--radius);padding:26px;background:#fff;box-shadow:var(--shadow);border-top:5px solid var(--gray-300)}
.sem-card.rojo{border-top-color:var(--rojo)}
.sem-card.ambar{border-top-color:var(--naranja)}
.sem-card.verde{border-top-color:var(--verde)}
.sem-card h4{font-family:var(--font-display);font-size:16px;color:var(--navy);margin-bottom:8px}
.sem-card p{font-size:14.5px;color:var(--gray-700)}
.sem-card .fecha{font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;display:block}
.rojo .fecha{color:var(--rojo)}.ambar .fecha{color:var(--naranja)}.verde .fecha{color:var(--verde)}

/* ---------- Lead magnet ---------- */
.lead-box{background:linear-gradient(150deg,var(--azul) 0%,#0A5A92 100%);border-radius:18px;color:#fff;padding:46px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;box-shadow:var(--shadow-lg)}
@media(max-width:840px){.lead-box{grid-template-columns:1fr;padding:30px}}
.lead-box h3{font-family:var(--font-display);font-size:clamp(22px,3vw,28px);margin-bottom:10px}
.lead-box p{color:#D7EAF8;font-size:15.5px}
.lead-form{background:#fff;border-radius:var(--radius);padding:26px}
.lead-form label{display:block;font-size:13px;font-weight:600;color:var(--gray-700);margin:12px 0 5px}
.lead-form input[type=text],.lead-form input[type=email]{width:100%;padding:12px 14px;border:1.5px solid var(--gray-300);border-radius:9px;font-size:15px;font-family:var(--font-body)}
.lead-form input:focus{outline:none;border-color:var(--azul)}
.lead-form .consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0;font-size:12.5px;color:var(--gray-500);line-height:1.45}
.lead-form .consent input{margin-top:3px}
.lead-form .btn{width:100%;margin-top:4px}
.lead-form .ok,.lead-form .err{display:none;margin-top:12px;font-size:14px;font-weight:600;text-align:center}
.lead-form .ok{color:var(--verde)}.lead-form .err{color:var(--rojo)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ---------- FAQ ---------- */
.faq{max-width:780px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--gray-100);border-radius:12px;margin-bottom:12px;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;padding:18px 22px;font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:15.5px;list-style:none;position:relative;padding-right:46px}
.faq summary::after{content:"+";position:absolute;right:20px;top:14px;font-size:22px;color:var(--azul)}
.faq details[open] summary::after{content:"–"}
.faq .faq-body{padding:0 22px 18px;color:var(--gray-700);font-size:14.5px}

/* ---------- Página de kit ---------- */
.kit-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:64px 0 56px}
.kit-hero .crumb{font-size:13px;color:#9FB3CC;margin-bottom:18px}
.kit-hero .crumb a{color:#C9D6E8}
.kit-hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.5px;margin-bottom:14px;max-width:760px}
.kit-hero .para-quien{font-size:17px;color:#C9D6E8;max-width:640px;margin-bottom:24px}
.kit-buy{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.kit-buy .precio{font-family:var(--font-display);font-weight:800;font-size:42px}
.kit-buy .precio small{font-size:15px;font-weight:500;color:#9FB3CC}
.kit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
@media(max-width:880px){.kit-grid{grid-template-columns:1fr}}
.doc-list{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.doc-list .doc{display:flex;gap:14px;padding:15px 20px;border-bottom:1px solid var(--gray-100);align-items:flex-start}
.doc-list .doc:last-child{border-bottom:none}
.doc-list .doc .num{font-family:var(--font-display);font-weight:700;color:var(--azul);font-size:13px;background:var(--gray-100);border-radius:8px;padding:4px 9px;white-space:nowrap}
.doc-list .doc b{display:block;color:var(--navy);font-size:14.5px}
.doc-list .doc span{font-size:13px;color:var(--gray-500)}
.sticky-buy{position:sticky;top:86px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:28px}
.sticky-buy .precio{font-family:var(--font-display);font-weight:800;font-size:38px;color:var(--navy)}
.sticky-buy .det{font-size:13.5px;color:var(--gray-500);margin:10px 0 18px}
.sticky-buy ul{margin:0 0 18px}
.sticky-buy li{list-style:none;font-size:13.5px;padding:5px 0 5px 22px;position:relative;color:var(--gray-700)}
.sticky-buy li::before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:700}
.sticky-buy .ob{border-top:1px dashed var(--gray-300);margin-top:16px;padding-top:14px;font-size:13px;color:var(--gray-500)}
.garantia{display:flex;gap:12px;align-items:flex-start;background:var(--gray-100);border-radius:10px;padding:13px 15px;font-size:12.5px;color:var(--gray-700);margin-top:16px}

/* ---------- Prosa legal ---------- */
.prosa{max-width:780px;margin:0 auto;font-size:15.5px;color:var(--gray-700)}
.prosa h1{font-family:var(--font-display);color:var(--navy);font-size:32px;margin-bottom:8px}
.prosa h2{font-family:var(--font-display);color:var(--navy);font-size:20px;margin:34px 0 10px}
.prosa p,.prosa li{margin-bottom:12px}
.prosa ul{padding-left:22px}
.prosa .meta{color:var(--gray-500);font-size:13.5px;margin-bottom:28px}

/* ---------- Footer ---------- */
.footer{background:var(--navy);color:#9FB3CC;padding:54px 0 30px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;margin-bottom:34px}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr}}

/* Solape del selector de país sobre el logo entre 880 y 1050 px (portátil pequeño
   y tablet horizontal): reducimos el espaciado del nav antes de que colapse a móvil. */
@media (min-width:861px) and (max-width:1050px){
  .header-in{gap:18px}
  .nav{gap:10px;flex-wrap:nowrap}
  .nav a{font-size:13px;padding-left:0;padding-right:0;white-space:nowrap}
  .nav .btn{padding:9px 14px}
}

/* ---------- Tabla del registro normativo ---------- */
.tabla-normas{width:100%;border-collapse:collapse;margin:26px 0;font-size:14.5px;min-width:640px}
.tabla-normas th{background:#0E76BC;color:#fff;text-align:left;padding:11px 14px;font-weight:600;font-size:13.5px}
.tabla-normas td{padding:12px 14px;border-bottom:1px solid #D9E1F2;vertical-align:top;line-height:1.5}
.tabla-normas tr:nth-child(even) td{background:#EAF4FB}
.tabla-normas td a{color:#0E76BC;text-decoration:underline}

/* ---------- Vista previa de documento real ---------- */
.preview-doc{margin:0 0 10px;border:1px solid #D9E1F2;border-radius:10px;overflow:hidden;background:#fff;
  box-shadow:0 6px 22px rgba(11,37,69,.09)}
.preview-doc img{display:block;width:100%;height:auto}
.preview-doc figcaption{font-size:12.5px;color:#6B7C93;padding:10px 14px;border-top:1px solid #EAF0F7;background:#FAFCFE}

/* El aviso de cookies y el enlace de salto llevan sus estilos dentro de
   assets/scire-consent.js: nueve páginas del sitio usan CSS embebido y no
   cargan esta hoja. Una sola fuente evita que vuelvan a divergir. */
.footer h5{font-family:var(--font-display);color:#fff;font-size:13.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}
.footer a{color:#C9D6E8;display:block;padding:4px 0}
/* El padding-right deja libre la esquina donde se ancla el botón de WhatsApp:
   sin él, el botón flotante tapaba la última línea del texto legal (la que dice que
   los documentos están elaborados para la legislación colombiana). El padding-bottom
   hace lo mismo en móvil, donde el botón se apoya más cerca del borde inferior. */
.footer .legalico{font-size:13.5px;line-height:1.65;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;padding-right:96px;padding-bottom:104px;color:#7E94B5}
@media(max-width:760px){.footer .legalico{padding-right:0;padding-bottom:92px}}
.footer .logo-foot{height:26px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.9}

/* ---------- WhatsApp flotante ---------- */
/* El z-index tiene que estar POR ENCIMA del aviso de cookies (2147483000). Con 80
   el botón quedaba detrás del banner en la primera visita y no se podía tocar hasta
   decidir sobre cookies. Además sube mientras el banner está abierto: scire-consent.js
   mide su altura real y la escribe en --ck-alto, así no se solapan. */
.wa-float{position:fixed;bottom:calc(160px + var(--ck-alto, 0px));right:22px;z-index:2147483001;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(18,140,70,.45);transition:transform .15s ease,bottom .28s ease}
.wa-float:hover{transform:scale(1.08);text-decoration:none}
/* El flotante es fijo y se plantaba encima del bloque de compra y del pie: tapaba
   justamente el aviso de entrega y de retracto, que es el texto que el comprador
   tiene que leer ANTES de pagar. Se reserva su carril a la derecha para que nunca
   se monte sobre texto. 58px de botón + 22 de margen + aire = 96. */
/* Carril del botón flotante de WhatsApp.

   Historia de dos errores, para que no se repitan:

   1) Primero lo resolví bloque por bloque (.sticky-buy, .kit-buy) midiendo solo en
      la página de kit. En la portada chocaban siete bloques más. Proteger uno a uno
      es un juego de topos que además se rompe con cada bloque nuevo.
   2) Luego lo puse en el contenedor, pero con un punto de corte a mano —1100px— y
      escribí que «por encima el contenido ya no llega hasta la burbuja». Falso: el
      contenedor mide --maxw (1120px), así que entre 1101px y ~1280px el borde
      derecho del contenido SIGUE cayendo bajo la burbuja. En esa franja —que
      incluye el portátil de 1280— se comía 18px del H2 de la portada y, en TODAS
      las páginas, 11px del enlace «Derecho de retracto y reembolsos» del pie. Con
      z-index 2147483001 esos píxeles dejan de ser clicables: no es estética, es un
      enlace legal que se vuelve inalcanzable.

   Ahora no hay punto de corte. El carril se calcula:

       margen libre a cada lado = max(0, (100vw - --maxw) / 2)
       carril necesario         = 88px - margen libre        (mínimo, el padding base)

   88 = 22 (derecha de la burbuja) + 58 (ancho) + 8 (aire). Cuando la ventana es
   más ancha que el contenedor, el margen que sobra ya hace de carril y el relleno
   vuelve solo a su valor base. Se deriva de --maxw, así que si algún día cambia el
   ancho del contenedor esto se ajusta sin que nadie tenga que acordarse.

   revisar.py comprueba la fórmula y falla si vuelve a aparecer un punto de corte
   fijo o un carril por bloque. */
main .container,
.footer .container{padding-right:max(22px, calc(88px - max(0px, (100vw - var(--maxw)) / 2)))}
.sticky-buy{padding-bottom:96px}
@media(max-width:1100px){.sticky-buy{padding-bottom:112px}}
/* El pie de las páginas sin columna de compra también necesita su carril. */
.footer .legalico{padding-bottom:104px}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media(max-width:760px){.wa-float{bottom:calc(120px + var(--ck-alto, 0px));right:14px;width:52px;height:52px}}

/* ---------- Redes sociales (footer) ---------- */
.socials{display:flex;gap:14px;margin-top:18px}
.socials a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);padding:0;transition:border-color .15s ease,background .15s ease}
.socials a:hover{border-color:var(--azul-claro);background:rgba(37,170,225,.12);text-decoration:none}
.socials svg{width:16px;height:16px;fill:#C9D6E8}
.socials a:hover svg{fill:#fff}

/* ---------- Popup de salida ---------- */
.exit-overlay{position:fixed;inset:0;background:rgba(11,31,58,.72);z-index:90;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.exit-overlay.on{display:flex}
.exit-box{background:#fff;border-radius:16px;max-width:480px;width:100%;padding:34px;position:relative;box-shadow:var(--shadow-lg)}
.exit-box h3{font-family:var(--font-display);color:var(--navy);font-size:21px;margin:6px 0 8px;line-height:1.3}
.exit-box>p{color:var(--gray-700);font-size:14.5px}
.exit-box .lead-form{padding:0;box-shadow:none}
.exit-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:18px;color:var(--gray-500);cursor:pointer;padding:6px}
.exit-close:hover{color:var(--navy)}

/* util */
.center{text-align:center}
.mt-30{margin-top:30px}.mt-50{margin-top:50px}
.nota-precio{font-size:12.5px;color:var(--gray-500)}

/* ── Selector "¿Cuál kit necesito?" ── */
.finder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
@media(max-width:980px){.finder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.finder-grid{grid-template-columns:1fr}}
.finder-chip{cursor:pointer;text-align:left;font-family:var(--font-body);font-size:14.5px;font-weight:600;color:var(--navy);background:#fff;border:1.5px solid var(--gray-100);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;line-height:1.35}
.finder-chip:hover{border-color:var(--azul);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.finder-chip::before{content:"→ ";color:var(--naranja);font-weight:800}
.kit-card.ring{box-shadow:0 0 0 3px var(--naranja),0 16px 40px rgba(248,155,28,.22);transform:translateY(-5px)}
