/* klaseo-v2.css · 2-nov-2026 · Sistema de diseño v2 de Klaseo ("el marcador").
   Capa que va AL FINAL del <head> de cada página. No toca el contenido ni los motores
   de idioma y moneda: sólo tipografía, color y ritmo. La genera rediseno/aplica_v2.py. */
:root{
  --v2-navy:#001F63; --v2-navy-2:#00174A; --v2-royal:#1E66FF; --v2-royal-ink:#0F4FE0;
  --v2-emerald:#19D39B; --v2-emerald-ink:#08805C; --v2-amber:#FFB547;
  --v2-ink:#0B1B3F; --v2-slate:#46577A; --v2-mute:#56647F;
  --v2-court:#F2F5FA; --v2-line:#DCE3EF;
  --v2-display:"Big Shoulders Display","Archivo Narrow","Arial Narrow",sans-serif;
  --v2-text:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html body{font-family:var(--v2-text) !important;color:var(--v2-ink);-webkit-font-smoothing:antialiased}
body,body p,body li,body a,body button,body input,body select,body textarea,body label,body td,body th{font-family:var(--v2-text)}
::selection{background:var(--v2-emerald);color:var(--v2-navy)}
:focus-visible{outline:3px solid var(--v2-royal) !important;outline-offset:3px}

/* Tipografía */
.font-display,h1,h2{font-family:var(--v2-display) !important;font-weight:800 !important;letter-spacing:-.005em !important;line-height:.95 !important;color:var(--v2-navy);text-wrap:balance}
h1{font-size:clamp(2.8rem,1.6rem + 4vw,5rem) !important}
h2{font-size:clamp(2.1rem,1.4rem + 2.4vw,3.5rem) !important}
h3{font-family:var(--v2-text) !important;letter-spacing:0 !important}
h3.font-display{font-family:var(--v2-display) !important;font-size:clamp(1.5rem,1.2rem + .8vw,2rem) !important;line-height:1 !important}
.text-slate-600,.text-slate-500{color:var(--v2-slate) !important}

/* Fuera las etiquetas encima de los títulos */
.uppercase.tracking-widest:has(+ h1),.uppercase.tracking-widest:has(+ h2),
.uppercase.tracking-wider:has(+ h1),.uppercase.tracking-wider:has(+ h2),
.v2-kicker{display:none !important}

/* Encabezado: blanco sólido, sin vidrio; un solo botón de acción */
.kx-h{background:#fff !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border-bottom:1px solid var(--v2-line) !important}
.kx-nav a{font-family:var(--v2-text) !important;font-weight:600 !important;color:var(--v2-slate) !important;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.kx-nav a:hover{color:var(--v2-ink) !important;border-color:var(--v2-emerald)}
.kx-nav .kx-campus{display:none !important}
.kx-btn{border-radius:10px !important;font-family:var(--v2-text) !important;font-weight:700 !important}
.kx-entrar{background:transparent !important;color:var(--v2-ink) !important;box-shadow:none !important}
.kx-entrar:hover{text-decoration:underline}
.kx-signup{background:var(--v2-royal) !important;color:#fff !important;box-shadow:0 8px 20px -8px rgba(30,102,255,.55) !important}
.kx-signup:hover{background:var(--v2-royal-ink) !important}

/* Portadas de página: sin manchas ni cuadrícula, alineadas a la izquierda */
.glow-hero{background:var(--v2-court) !important;background-image:none !important}
.glow-hero::before,.glow-hero::after{display:none !important}
.bg-grid{display:none !important}
.glow-hero > .relative{max-width:1200px !important;text-align:left !important}
.glow-hero > .relative > *{margin-left:0 !important;margin-right:auto !important}
.glow-hero > .relative .justify-center{justify-content:flex-start !important}
.glow-hero h1{max-width:18ch}

/* Botones de Tailwind con el color de marca: un solo azul, sin sombras de color exageradas */
.bg-\[\#1E66FF\]{background-color:var(--v2-royal) !important}
.shadow-\[\#1E66FF\]\/25{--tw-shadow-color:rgba(30,102,255,.25)}

/* Precios: los planes como marcador */
.kfz{--pa:#001F63 !important;--pai:#001F63 !important;border-radius:14px !important;border-color:var(--v2-line) !important}
.kfz-band{background:var(--v2-navy) !important;background-image:none !important}
.kfz-name{font-family:var(--v2-display) !important;font-weight:800 !important;font-size:2rem !important;letter-spacing:0 !important;line-height:1 !important}
.kfz-amt{font-family:var(--v2-display) !important;font-weight:900 !important;font-variant-numeric:tabular-nums;color:var(--v2-navy) !important;background:none !important;-webkit-text-fill-color:currentColor !important;font-size:3.2rem !important;line-height:.9 !important}
.kfz-cta{background:var(--v2-royal) !important;background-image:none !important;box-shadow:none !important;border-radius:10px !important}
.kfz-cta:hover{background:var(--v2-royal-ink) !important}
.kfz-more,.kfz-bill{color:var(--v2-royal-ink) !important}
.kfz-ribbon{display:none !important}
.kfz-feat{border:2px solid var(--v2-royal) !important;box-shadow:0 24px 48px -30px rgba(10,20,40,.45) !important}
.kfz-ck{color:var(--v2-emerald-ink) !important;background:none !important}
.kfz-plus{color:var(--v2-mute) !important}

/* Tarjetas: sin barras de degradado arriba ni fondos degradados */
.fcard,.kx-card,.case-card,.mud-card{background:#fff !important;background-image:none !important}
.fcard::before,.mud-card::before,.kx-fee::before{display:none !important}

/* Pie */
.site-footer{font-family:var(--v2-text) !important}
.site-footer .foot-disclaimer{color:var(--v2-mute) !important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* Arreglos de desborde que ya traía la página (carrusel y tarjetas deslizables) */
.kc-prev{left:0 !important}.kc-next{right:0 !important}
@media (max-width:639px){.kf-grid{margin-inline:0 !important;padding-inline:0 !important}}

/* Un solo acento: los colores por tarjeta o por plan pasan a la paleta de marca */
[style*="--accent"]{--accent:var(--v2-royal) !important;--accent-ink:var(--v2-navy) !important}
th[style*="linear-gradient"]{background:var(--v2-navy) !important}
[style*="color:#7c3aed"]{color:var(--v2-royal-ink) !important;background:#E9F0FF !important}
.text-\[\#7c3aed\]{color:var(--v2-royal-ink) !important}

/* Ritmo: los títulos de sección se alinean a la izquierda, como en el inicio */
main section .text-center:has(> h2),main section .text-center:has(> span + h2){text-align:left !important;margin-left:0 !important;max-width:860px !important}
main section h2.text-center{text-align:left !important}
main section .text-center:has(> h2) p{margin-left:0 !important}
main section .text-center:has(> h2) .justify-center{justify-content:flex-start !important}

/* Franquicias: sin etiquetas sobre el título ni rayitas de degradado bajo cada título */
.kicker,.ub-kick{display:none !important}
.sec h2:after{display:none !important}
.sec h2{text-align:left !important}

/* Solicitar demo: el título comparte renglón con el formulario */
main.max-w-5xl h1{font-size:clamp(2.4rem,1.6rem + 2.2vw,3.6rem) !important}

/* ===== Ronda 2 (2-nov, mesa aprobada) ===== */
/* Un solo botón flotante: el asistente, chico, abajo a la derecha */
#asis-boton{width:48px !important;height:48px !important;right:16px !important;bottom:16px !important;box-shadow:0 6px 16px rgba(10,20,40,.28) !important}
#asis-boton svg{width:24px !important;height:24px !important}
#asis-panel{right:16px !important;bottom:74px !important}
body{padding-bottom:72px}
.site-footer{padding-bottom:24px}

/* Sin píldoras ni badges: chips y sellos pasan a texto */
span.rounded-full.text-xs,.kx-trust,.chip{background:none !important;border:0 !important;padding:0 !important;box-shadow:none !important;border-radius:0 !important}
.kx-trust{font-weight:600 !important;color:var(--v2-slate) !important;margin-right:14px}
/* Sin halos: los botones llevan sombra neutra */
a[class*="shadow-"],button[class*="shadow-"],.kx-btn,.kfz-cta{box-shadow:0 1px 0 rgba(10,20,40,.08) !important}
a.rounded-full,button.rounded-full:not(.bill-btn){border-radius:10px !important}
.kcard:hover,.kfz:hover{transform:none !important}

/* Palomitas con aire */
.kfz-li{display:flex !important;gap:9px;align-items:flex-start}
.kfz-ck{flex:none;margin-top:1px}
.glow-hero .flex-wrap{column-gap:24px !important;row-gap:8px !important}
.glow-hero .flex-wrap > .inline-flex{gap:7px !important}

/* Precios: recomendador y bloque secundario */
.v2-calc{margin:18px 0 26px;padding:20px 22px;background:#fff;border:1px solid var(--v2-line);border-radius:14px}
.v2-calc-h{display:block;font-family:var(--v2-display) !important;font-weight:800;font-size:1.6rem;line-height:1;color:var(--v2-navy)}
.v2-calc-row{display:flex;align-items:center;gap:16px;margin-top:14px}
.v2-calc-row input{flex:1;min-width:0;accent-color:var(--v2-royal);height:28px}
.v2-calc-row output{font-family:var(--v2-display);font-weight:900;font-size:2.2rem;line-height:1;color:var(--v2-navy);min-width:3.2ch;text-align:right;font-variant-numeric:tabular-nums}
.v2-reco{margin-top:10px;font-weight:600;color:var(--v2-ink)}
.kfz.v2-es-tu-plan{outline:3px solid var(--v2-emerald);outline-offset:3px}
.v2-sec-planes{margin-top:72px;padding-top:40px;border-top:2px solid var(--v2-navy)}
.v2-sec-planes h2{text-align:left !important}
.v2-sec-sub{margin-top:10px;color:var(--v2-slate)}
.v2-sec-planes .kfz{--pa:#46577A !important;--pai:#46577A !important}
.v2-sec-planes .kfz-band{background:#46577A !important}

/* Premium: un primario, un secundario y una liga */
.v2-btn-pri,.v2-btn-sec,.v2-btn-liga{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none}
.v2-btn-pri{background:var(--v2-royal);color:#fff}
.v2-btn-pri:hover{background:var(--v2-royal-ink)}
.v2-btn-sec{background:#fff;color:var(--v2-navy);box-shadow:inset 0 0 0 1.5px var(--v2-navy)}
.v2-btn-sec:hover{background:var(--v2-navy);color:#fff}
.v2-btn-liga{padding:0 6px;color:var(--v2-royal-ink);text-decoration:underline;text-underline-offset:.2em}
