/* Cratevo · Euríbor. Todo bajo #cev para no chocar con Astra ni Elementor. */
#cev{
  --azul:#306AB3; --azul-osc:#0C4DA2; --marino:#0A1B33;
  --turq:#35A2A6; --turq-cl:#84D0D3; --gris:#4B4F58; --gris-2:#626873;
  --fondo:#F3F6FA; --linea:#DDE5EE; --sube:#C7403C; --baja:#1F8A58;
  --radio:10px; --radio-l:18px; --sombra:0 10px 30px rgba(10,27,51,.10);
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--gris); font-size:17px; line-height:1.6; background:#fff;
  overflow-x:clip;
}
#cev *,#cev *::before,#cev *::after{box-sizing:border-box}
/* Astra limita cada bloque al ancho de contenido del tema: aquí los fondos van de borde a borde. */
#cev>*{max-width:none;margin-left:0;margin-right:0;width:auto}
#cev img,#cev video{display:block;max-width:100%;height:auto}
#cev p,#cev h1,#cev h2,#cev h3,#cev ul,#cev ol{margin:0;padding:0}
#cev p+p{margin-top:14px}
#cev a{color:var(--azul)}
#cev h1,#cev h2,#cev h3{font-family:inherit;color:var(--marino);line-height:1.15;font-weight:800;letter-spacing:-.01em;text-transform:none}
#cev h2{font-size:clamp(28px,4vw,42px);margin-bottom:16px}
#cev h3{font-size:20px;margin:24px 0 8px}
/* 1140 px de contenido, igual que el contenedor de la cabecera de Elementor, para que quede alineado con el logo. */
#cev .cev-env{max-width:1204px;margin:0 auto;padding:0 32px}
#cev .cev-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--turq);margin-bottom:6px}
#cev .cev-lead{font-size:19px;max-width:740px}
#cev .cev-num{font-variant-numeric:tabular-nums}
#cev section{scroll-margin-top:100px}

/* Botones */
#cev .cev-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:var(--radio);font:700 16px/1.2 Montserrat,system-ui,sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background-color .2s,color .2s}
#cev .cev-btn:hover{transform:translateY(-2px)}
#cev .cev-btn svg{width:18px;height:18px;flex:none}
#cev .cev-btn-blanco{background:#fff;color:var(--azul)}
#cev .cev-btn-blanco:hover{background:#EAF1FA;color:var(--azul-osc)}
#cev .cev-btn-borde{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.06)}
#cev .cev-btn-borde:hover{background:#fff;color:var(--azul)}
#cev a:focus-visible,#cev button:focus-visible,#cev input:focus-visible,#cev summary:focus-visible{outline:3px solid var(--turq-cl);outline-offset:3px}

/* Portada */
#cev .cev-hero{position:relative;min-height:min(820px,calc(100svh - 80px));display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--marino)}
#cev .cev-hero .cev-poster,#cev .cev-hero .cev-vid,#cev .cev-banda .cev-poster,#cev .cev-banda .cev-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
#cev .cev-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,51,.94) 0%,rgba(10,27,51,.82) 42%,rgba(10,27,51,.35) 75%,rgba(10,27,51,.2) 100%),linear-gradient(0deg,rgba(10,27,51,.9) 0%,rgba(10,27,51,0) 40%)}
#cev .cev-hero-rej{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:120px}
#cev .cev-hero h1{font-size:clamp(20px,2.2vw,24px);font-weight:600;letter-spacing:0;margin:14px 0 6px;color:var(--turq-cl)}
#cev .cev-dato{font-size:clamp(76px,13vw,168px);font-weight:900;line-height:.95;letter-spacing:-.04em;color:#fff}
#cev .cev-dato small{font-size:.45em;font-weight:800;margin-left:4px}
#cev .cev-fecha{font-size:16px;color:rgba(255,255,255,.88);margin-top:12px}
#cev .cev-fecha strong{color:#fff}
#cev .cev-hero .cev-lead{color:rgba(255,255,255,.92);margin-top:22px}
#cev .cev-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
#cev .cev-vivo{display:inline-flex;align-items:center;gap:8px;background:rgba(53,162,166,.18);border:1px solid rgba(132,208,211,.45);color:#fff;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#cev .cev-vivo i{width:8px;height:8px;border-radius:50%;background:var(--turq-cl);animation:cev-pulso 2s infinite}
@keyframes cev-pulso{0%{box-shadow:0 0 0 0 rgba(132,208,211,.7)}70%{box-shadow:0 0 0 10px rgba(132,208,211,0)}100%{box-shadow:0 0 0 0 rgba(132,208,211,0)}}
#cev .cev-tarjeta{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radio-l);padding:28px}
#cev .cev-t{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--turq-cl)}
#cev .cev-sub{font-size:15px;color:rgba(255,255,255,.88);margin:6px 0 18px}
#cev .cev-fila{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.16)}
#cev .cev-fila span{font-size:15px;color:rgba(255,255,255,.88)}
#cev .cev-fila b{font-size:22px;color:#fff;white-space:nowrap}
#cev .cev-difer{margin-top:14px;padding:14px 16px;border-radius:var(--radio);background:rgba(199,64,60,.28);color:#fff;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:10px}
#cev .cev-nota{font-size:13px;color:rgba(255,255,255,.75);margin-top:12px}
#cev .cev-tarjeta a{color:#fff;font-weight:700}

/* Datos clave */
#cev .cev-kpis{position:relative;z-index:5;margin-top:-72px}
#cev .cev-kpis-rej{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#cev .cev-kpi{background:#fff;border-radius:var(--radio-l);padding:22px 22px 20px;box-shadow:var(--sombra);border:1px solid var(--linea)}
#cev .cev-k{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-2)}
#cev .cev-kpi .cev-v{font-size:34px;font-weight:800;color:var(--marino);margin-top:4px;line-height:1.1}
#cev .cev-d{font-size:14px;margin-top:4px}
#cev .cev-sube{color:var(--sube)} #cev .cev-baja{color:var(--baja)}
#cev .cev-dest{background:var(--azul);border-color:var(--azul)}
#cev .cev-dest .cev-k,#cev .cev-dest .cev-d{color:rgba(255,255,255,.88)} #cev .cev-dest .cev-v{color:#fff}
#cev .cev-fuente{font-size:13px;color:var(--gris-2);margin-top:14px}

/* Bloques */
#cev .cev-bloque{padding:96px 0}
#cev .cev-sin-arriba{padding-top:0}
#cev .cev-gris{background:var(--fondo)}
#cev .cev-cab-sec{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
#cev .cev-pesta{display:inline-flex;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:4px;gap:4px}
#cev .cev-pesta button{border:0;background:none;font:700 15px Montserrat,system-ui,sans-serif;color:var(--gris);padding:10px 18px;border-radius:9px;cursor:pointer;min-height:44px;box-shadow:none;text-transform:none;letter-spacing:0}
#cev .cev-pesta button[aria-selected=true]{background:var(--azul);color:#fff}
#cev .cev-panel{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-l);padding:26px;box-shadow:var(--sombra)}
#cev .cev-panel[hidden]{display:none}
#cev .cev-rangos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
#cev .cev-rangos button{border:1px solid var(--linea);background:#fff;border-radius:99px;padding:8px 16px;font:600 14px Montserrat,system-ui,sans-serif;color:var(--gris);cursor:pointer;min-height:40px;box-shadow:none;text-transform:none;letter-spacing:0}
#cev .cev-rangos button.cev-act{border-color:var(--azul);color:var(--azul);background:#EAF1FA}
#cev .cev-graf{position:relative;min-height:280px}
#cev .cev-graf svg{width:100%;height:auto;display:block;touch-action:pan-y}
#cev .cev-graf text{font:500 12px Montserrat,system-ui,sans-serif;fill:var(--gris-2)}
#cev .cev-tip{position:absolute;pointer-events:none;background:var(--marino);color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:600;transform:translate(-50%,-120%);white-space:nowrap;opacity:0;transition:opacity .15s;z-index:3}
#cev .cev-tip b{display:block;font-size:18px}
#cev .cev-tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
#cev table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px;margin:0;border:0}
#cev th,#cev td{padding:11px 12px;text-align:right;border:0;border-bottom:1px solid var(--linea);background:#fff}
#cev th:first-child,#cev td:first-child{text-align:left;position:sticky;left:0}
#cev thead th{color:var(--marino);font-weight:800}
#cev tbody th{font-weight:600;color:var(--marino)}
#cev td.cev-neg{color:var(--baja)}
#cev td.cev-prov{font-style:italic}

/* Calculadora */
#cev .cev-calc{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start;margin-top:32px}
#cev .cev-campo{margin-bottom:22px}
#cev .cev-campo.cev-ultimo{margin-bottom:0}
#cev .cev-campo label{display:flex;justify-content:space-between;gap:12px;font-weight:700;color:var(--marino);font-size:15px;margin-bottom:10px}
#cev .cev-campo label output{color:var(--azul)}
#cev .cev-ayuda{font-size:13px;color:var(--gris-2);margin-top:6px}
#cev .cev-entrada{display:flex;gap:12px;align-items:center}
#cev input[type=range]{flex:1;accent-color:var(--azul);height:32px;padding:0;border:0;background:none;box-shadow:none}
#cev input[type=number]{width:120px;min-height:46px;border:1px solid var(--linea);border-radius:8px;padding:8px 10px;font:600 16px Montserrat,system-ui,sans-serif;color:var(--marino);text-align:right;background:#fff;box-shadow:none;margin:0}
#cev .cev-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#cev .cev-chips button{border:1px dashed var(--azul);background:#fff;color:var(--azul);border-radius:99px;padding:6px 12px;font:600 13px Montserrat,system-ui,sans-serif;cursor:pointer;min-height:36px;box-shadow:none;text-transform:none;letter-spacing:0}
#cev .cev-chips button:hover{background:#EAF1FA}
#cev .cev-resultado{background:var(--marino);color:#fff;border-radius:var(--radio-l);padding:30px;position:sticky;top:110px}
#cev .cev-cuotas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
#cev .cev-cuotas div{background:rgba(255,255,255,.08);border-radius:12px;padding:16px}
#cev .cev-cuotas span{font-size:14px;color:rgba(255,255,255,.82)}
#cev .cev-cuotas b{display:block;font-size:28px;margin-top:4px;color:#fff}
#cev .cev-grande{font-size:clamp(40px,5vw,56px);font-weight:900;line-height:1;color:#fff}
#cev .cev-resultado .cev-grande.cev-sube{color:#FF8A85}
#cev .cev-resultado .cev-grande.cev-baja{color:#6FE0AA}
#cev .cev-anual{font-size:16px;color:rgba(255,255,255,.9);margin-top:8px}
#cev .cev-tin{font-size:14px;color:rgba(255,255,255,.75);margin-top:16px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
#cev .cev-resultado .cev-btn{width:100%;margin-top:20px}
#cev .cev-ejemplos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
#cev .cev-ejemplo{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-l);padding:22px}
#cev .cev-t2{font-weight:800;color:var(--marino)}
#cev .cev-flujo{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
#cev .cev-flujo b{font-size:24px;color:var(--marino)}
#cev .cev-flecha{color:var(--gris-2)}
#cev .cev-pill{display:inline-block;border-radius:99px;padding:4px 10px;font-weight:700;font-size:14px}
#cev .cev-pill.cev-sube{background:#FCE9E8;color:#A9332F}

/* Explicación */
#cev .cev-dos{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
#cev .cev-sep{margin-top:80px}
#cev .cev-foto{border-radius:var(--radio-l);overflow:hidden;box-shadow:var(--sombra)}
#cev .cev-foto img{width:100%;height:100%;object-fit:cover}
#cev .cev-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
#cev .cev-caso{background:#fff;border:1px solid var(--linea);border-radius:var(--radio-l);padding:24px;border-top:4px solid var(--azul)}
#cev .cev-caso:nth-child(2){border-top-color:var(--turq)}
#cev .cev-caso:nth-child(3){border-top-color:var(--marino)}
#cev .cev-caso h3{margin-top:0}
#cev .cev-caso p{font-size:16px}
#cev .cev-cierre{margin-top:24px;font-weight:600;color:var(--marino);max-width:820px}
#cev .cev-formula{margin-top:24px;background:#EAF1FA;border-radius:12px;padding:18px 20px;font-weight:600;color:var(--marino);font-size:16px}
#cev .cev-formula b{color:var(--azul)}
#cev .cev-formula span{font-weight:500}

/* Hitos */
#cev .cev-hitos{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:32px}
#cev .cev-hito{background:#fff;border-radius:var(--radio-l);padding:22px;border:1px solid var(--linea);margin:0}
#cev .cev-f{font-size:13px;font-weight:700;color:var(--turq);letter-spacing:.06em;text-transform:uppercase}
#cev .cev-hito .cev-v{font-size:30px;font-weight:900;color:var(--marino);margin:4px 0}
#cev .cev-hito p{font-size:15px}

/* Banda con vídeo */
#cev .cev-banda{position:relative;color:#fff;overflow:hidden;background:var(--marino)}
#cev .cev-banda::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,51,.94) 0%,rgba(10,27,51,.82) 50%,rgba(10,27,51,.3) 100%)}
#cev .cev-banda .cev-env{position:relative;z-index:2;padding-top:110px;padding-bottom:110px}
#cev .cev-caja{max-width:640px}
#cev .cev-banda h2{color:#fff}
#cev .cev-banda .cev-eyebrow{color:var(--turq-cl)}
#cev .cev-banda p{color:rgba(255,255,255,.92);font-size:18px}
#cev .cev-banda ul{list-style:none;margin:22px 0 30px;display:grid;gap:12px}
#cev .cev-banda li{display:flex;gap:12px;align-items:flex-start;font-weight:600;margin:0}
#cev .cev-banda li svg{flex:none;width:22px;height:22px;color:var(--turq-cl);margin-top:2px}

/* Preguntas */
#cev .cev-faq{max-width:860px;margin:0 auto}
#cev details{border-bottom:1px solid var(--linea);margin:0}
#cev summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-weight:700;color:var(--marino);font-size:18px;position:relative}
#cev summary::-webkit-details-marker{display:none}
#cev summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2.5px solid var(--azul);border-bottom:2.5px solid var(--azul);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
#cev details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
#cev .cev-r{padding:0 0 22px}
#cev .cev-rel{max-width:860px;margin:48px auto 0}
#cev .cev-rel ul{list-style:none;display:grid;gap:10px}
#cev .cev-rel li{margin:0}
#cev .cev-rel a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--turq-cl)}
#cev .cev-rel a:hover{color:var(--azul-osc);border-color:var(--azul)}

/* Cierre */
#cev .cev-final{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radio-l);overflow:hidden;background:var(--azul);color:#fff}
#cev .cev-txt{padding:48px}
#cev .cev-final h2{color:#fff}
#cev .cev-final p{color:rgba(255,255,255,.94)}
#cev .cev-final-lista{list-style:none;display:grid;gap:10px;margin:22px 0}
#cev .cev-final-lista li{display:flex;gap:10px;align-items:center;font-weight:700;color:#fff;margin:0}
#cev .cev-final-lista svg{width:20px;height:20px;flex:none;color:var(--turq-cl)}
#cev .cev-final-tel{font-size:16px}
#cev .cev-final-tel a{color:#fff;font-weight:700}

@media (min-width:821px){#cev .cev-txt{position:sticky;top:100px;align-self:start}}
/* Formulario de HubSpot. Hoy HubSpot lo sirve en un iframe y su aspecto se define en HubSpot;
   estas reglas solo actúan si el formulario se pasa a "HTML sin estilo" en HubSpot. */
#cev .cev-form{background:#fff;padding:40px;min-height:420px}
#cev .cev-form .hs-form fieldset{max-width:none!important;margin:0;padding:0;border:0}
#cev .cev-form .hs-form-field{margin-bottom:16px}
#cev .cev-form .hs-form-field>label{display:block;font:700 14px Montserrat,system-ui,sans-serif;color:var(--marino);margin-bottom:6px}
#cev .cev-form .hs-form-required{color:var(--sube);margin-left:2px}
#cev .cev-form .input{margin:0!important}
#cev .cev-form .hs-input:not([type=checkbox]):not([type=radio]){width:100%!important;min-height:48px;border:1px solid var(--linea);border-radius:8px;padding:10px 12px;font:500 16px Montserrat,system-ui,sans-serif;color:var(--marino);background:#fff;box-shadow:none}
#cev .cev-form .hs-input:focus{outline:3px solid var(--turq-cl);outline-offset:1px;border-color:var(--azul)}
#cev .cev-form textarea.hs-input{min-height:96px}
#cev .cev-form .hs-error-msgs{list-style:none;margin:6px 0 0;padding:0}
#cev .cev-form .hs-error-msg,#cev .cev-form .hs-main-font-element{font-size:13px;color:var(--sube)}
#cev .cev-form .legal-consent-container,#cev .cev-form .hs-richtext{font-size:13px;line-height:1.5;color:var(--gris-2)}
#cev .cev-form .legal-consent-container p{margin:0 0 8px}
#cev .cev-form .hs-form-booleancheckbox-display{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:500}
#cev .cev-form .hs-submit .actions{margin:8px 0 0;padding:0}
#cev .cev-form .hs-button{width:100%;min-height:52px;border:0;border-radius:var(--radio);background:var(--azul);color:#fff;font:700 16px Montserrat,system-ui,sans-serif;cursor:pointer;padding:14px 20px;text-transform:none;letter-spacing:0;box-shadow:none;transition:background-color .2s}
#cev .cev-form .hs-button:hover{background:var(--azul-osc)}
#cev .cev-form .submitted-message{font-weight:600;color:var(--marino)}
#cev .cev-legal{font-size:13px;color:var(--gris-2);margin-top:24px}

@media (max-width:1024px){
  #cev .cev-hero-rej{grid-template-columns:1fr;gap:32px;padding-bottom:110px}
  #cev .cev-kpis-rej{grid-template-columns:repeat(2,1fr)}
  #cev .cev-calc{grid-template-columns:1fr}
  #cev .cev-resultado{position:static}
  #cev .cev-hitos{grid-template-columns:repeat(2,1fr)}
  #cev .cev-dos{grid-template-columns:1fr;gap:32px}
}
@media (max-width:820px){
  #cev .cev-tres,#cev .cev-ejemplos,#cev .cev-final{grid-template-columns:1fr}
}
@media (max-width:600px){
  #cev{font-size:16px}
  #cev .cev-env{padding:0 16px}
  #cev .cev-lead{font-size:17px}
  #cev .cev-hero{min-height:auto}
  #cev .cev-hero::after{background:linear-gradient(180deg,rgba(10,27,51,.72) 0%,rgba(10,27,51,.88) 45%,rgba(10,27,51,.96) 100%)}
  #cev .cev-hero-rej{padding-top:40px;padding-bottom:96px}
  #cev .cev-ctas .cev-btn{width:100%}
  #cev .cev-tarjeta{padding:22px}
  #cev .cev-kpis-rej{gap:12px}
  #cev .cev-kpi{padding:16px}
  #cev .cev-kpi .cev-v{font-size:26px}
  #cev .cev-bloque{padding:64px 0}
  #cev .cev-sin-arriba{padding-top:0}
  #cev .cev-panel{padding:16px}
  #cev .cev-resultado{padding:22px}
  #cev .cev-cuotas b{font-size:22px}
  #cev .cev-hitos{grid-template-columns:1fr}
  #cev .cev-banda .cev-env{padding-top:72px;padding-bottom:72px}
  #cev .cev-banda::after{background:rgba(10,27,51,.85)}
  #cev .cev-txt{padding:30px 22px}
  #cev .cev-form{padding:24px 18px}
  #cev input[type=number]{width:104px}
}
@media (prefers-reduced-motion:reduce){
  #cev .cev-vivo i{animation:none}
  #cev .cev-btn:hover{transform:none}
}
