/*
Theme Name: Eliforma
Theme URI: https://www.eliforma.com
Author: Eliforma · Formación Programada Empresarial, S.L.U.
Description: Tema a medida de eliforma.com (rediseño «un expediente en orden», septiembre de 2026). Web corporativa de formación programada por las empresas con enlace al campus Moodle.
Version: 2.0.9
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: eliforma
*/
:root{--rojo:#e8002e;--rojo-suave:#fff0f3;--azul:#1f2bd8;--azul-prof:#111a6e;--hielo:#eef0fb;--hielo-2:#e2e5f7;--tinta:#15182b;--tinta2:#4a4f66;--gris:#6b7085;--linea:#d9dbe8;--papel:#fff;--ok:#1d7f4b;--ok-suave:#e6f4ec;--aviso:#b26a00;--ft:"Sora","Segoe UI",Arial,sans-serif;--fx:"Source Sans 3","Segoe UI",Arial,sans-serif;--fm:"IBM Plex Mono",Menlo,Consolas,monospace;--radio:8px;--sombra:0 10px 24px -16px rgba(20,25,80,.35);--cont:1200px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font:17px/1.6 var(--fx)}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--ft);font-weight:600;line-height:1.15;margin:0;text-wrap:balance;color:var(--tinta)}
h1{font-size:clamp(2.1rem,1.3rem + 2.6vw,3.25rem);letter-spacing:-.02em;line-height:1.06}
h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);letter-spacing:-.015em}
h3{font-size:1.25rem;line-height:1.3}
h4{font-size:1rem}
p{margin:0}
a{color:var(--azul)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rojo);outline-offset:2px}
ul,ol{margin:0;padding:0;list-style:none}
.mono{font-family:var(--fm);font-variant-numeric:tabular-nums}
.vh{position:absolute;left:-9999px}
.salto{position:absolute;left:-999px;top:8px;background:var(--azul);color:#fff;padding:.5rem 1rem;border-radius:6px;z-index:100}
.salto:focus{left:8px}
.contenedor{max-width:var(--cont);margin:0 auto;padding:0 24px}
.eyebrow{display:block;font-family:var(--ft);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--azul);margin-bottom:.9rem}
.lead{font-size:1.25rem;line-height:1.5;color:var(--tinta2);max-width:56ch}
.peq{font-size:.875rem;color:var(--gris)}
.marcador{border-bottom:2px dotted rgba(255,255,255,.55)}
/* botones y chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--ft);font-weight:600;font-size:.95rem;line-height:1;padding:.85rem 1.25rem;border-radius:var(--radio);text-decoration:none;border:1px solid transparent;cursor:pointer;min-height:44px;white-space:nowrap}
.btn-pri{background:var(--rojo);color:#fff}
.btn-pri:hover{background:#c90028}
.btn-sec{background:#fff;color:var(--azul);border-color:#c5c9ea}
.btn-sec:hover{background:var(--hielo);border-color:var(--azul)}
.btn-blanco{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-blanco:hover{background:rgba(255,255,255,.1);border-color:#fff}
.chip{display:inline-flex;align-items:center;font-family:var(--ft);font-weight:600;font-size:.8rem;line-height:1;padding:.42rem .7rem;border-radius:999px;background:var(--hielo);color:var(--azul);border:1px solid transparent}
.chip.peq{font-size:.75rem;padding:.32rem .6rem}
button.chip{cursor:pointer;min-height:36px;padding:.5rem .9rem;font-size:.875rem}
button.chip:hover{border-color:var(--azul)}
button.chip.activo{background:var(--tinta);color:#fff}
.pill{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--ft);font-weight:600;font-size:.75rem;padding:.3rem .6rem;border-radius:999px}
.pill.ok{background:var(--ok-suave);color:#14603a}
.pill.ok::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.ico{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* cabecera */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.cab .contenedor{display:flex;align-items:center;gap:1.5rem;min-height:76px}
.logo{display:inline-flex;align-items:center;flex:none}
.logo img{height:46px;width:auto;display:block}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.7rem}
.nav ul{display:flex;align-items:center;gap:1.7rem;list-style:none;margin:0;padding:0}
.nav a{font-family:var(--ft);font-weight:600;font-size:.95rem;color:var(--tinta);text-decoration:none;padding:.45rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item>a,.nav .current-menu-ancestor>a,.nav .current_page_parent>a{color:var(--azul);border-color:var(--azul)}
.nav .nav-campus{display:none}
.cab-campus{flex:none}
.hamb{display:none;margin-left:auto;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);width:46px;height:44px;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.hamb span{display:block;width:20px;height:2px;background:var(--tinta);border-radius:2px;transition:transform .2s,opacity .2s}
.menu-abierto .hamb span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-abierto .hamb span:nth-child(2){opacity:0}
.menu-abierto .hamb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* pie */
.pie{background:var(--azul-prof);color:#d5d9f5;padding:56px 0 28px;margin-top:0}
.pie a{color:#fff;text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.pie h2{color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}
.pie li{margin-bottom:.5rem;font-size:.95rem}
.placa{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:1rem}
.placa img{height:40px;width:auto;display:block}
.pie-marca p{font-size:.95rem;line-height:1.55}
.pie-bajo{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);margin-top:40px;padding-top:22px;font-size:.875rem;color:#aeb4e6}
/* secciones */
.seccion{padding:72px 0}
.banda{padding:56px 0}
.banda.hielo{background:var(--hielo)}
.banda.oscura{background:var(--azul-prof);color:#fff}
.banda.oscura h2,.banda.oscura h3{color:#fff}
.sec-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}
.sec-cab p{color:var(--tinta2);max-width:58ch;margin-top:.5rem}
.sec-enlace{font-family:var(--ft);font-weight:600;font-size:.95rem;white-space:nowrap}
.sec-enlace a{text-decoration:none}
.sec-enlace a:hover{text-decoration:underline}
.cabecera-pag{background:var(--hielo);padding:56px 0 48px;border-bottom:1px solid var(--hielo-2)}
.cabecera-pag h1{max-width:20ch;font-size:clamp(1.9rem,1.3rem + 2vw,2.5rem)}
.cabecera-pag .lead{margin-top:1rem}
.miga{font-size:.875rem;color:var(--tinta2);margin-bottom:1.2rem;display:flex;gap:.5rem;flex-wrap:wrap}
.miga a{color:var(--tinta2);text-decoration:none}
.miga a:hover{color:var(--azul)}
/* hero */
.hero{padding:76px 0 72px;overflow:hidden}
.hero .contenedor{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.hero h1 em{font-style:normal;color:var(--azul)}
.hero .lead{margin-top:1.3rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .cta{margin-top:2.1rem}
.hero-nota{margin-top:1.5rem;font-size:.95rem;color:var(--gris)}
.hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}
.exp{background:#fff;border:1px solid var(--linea);border-radius:14px}
.exp-2,.exp-3{position:absolute;inset:auto;width:82%;height:78%;background:var(--hielo)}
.exp-2{right:-16px;top:8px;transform:rotate(3deg)}
.exp-3{right:-30px;top:26px;transform:rotate(6deg);background:var(--hielo-2)}
.exp-1{position:relative;width:100%;max-width:470px;padding:22px 24px 20px;box-shadow:0 30px 50px -28px rgba(17,26,110,.45)}
.exp-eti{position:absolute;top:-11px;left:22px;background:var(--tinta);color:#fff;font-family:var(--ft);font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .55rem;border-radius:4px}
.exp-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;flex-wrap:wrap}
.exp-cab .mono{font-family:var(--ft);font-weight:600;font-size:.75rem;color:var(--gris);letter-spacing:.06em;text-transform:uppercase}
.exp-1 h3{font-size:1.125rem}
.exp-meta{font-family:var(--fx);font-size:.9rem;color:var(--tinta2);margin:.35rem 0 1.1rem}
.exp-prog li{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;align-items:center;padding:.55rem 0;border-top:1px solid var(--hielo-2);font-size:.875rem}
.exp-prog li span{color:var(--tinta2)}
.exp-prog li i{grid-column:1/-1;display:block;height:6px;border-radius:3px;background:var(--hielo-2);position:relative;overflow:hidden}
.exp-prog li i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--v);background:var(--azul);border-radius:3px}
.exp-prog li b{font-size:.875rem;color:var(--tinta)}
.exp-pie{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--hielo-2);font-size:.9rem}
.exp-pie span{color:var(--tinta2)}
.exp-pie b{font-family:var(--ft);font-size:.875rem}
.exp-chip{position:absolute;left:-22px;bottom:-18px;display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--linea);border-radius:999px;padding:.5rem .85rem;font-family:var(--ft);font-weight:600;font-size:.8rem;color:var(--tinta);box-shadow:var(--sombra)}
.exp-chip .ico{width:18px;height:18px;color:var(--ok)}
/* garantías */
.gar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.gar-grid li{display:flex;gap:.9rem;align-items:flex-start}
.gar-grid .ico{color:var(--azul);margin-top:.15rem}
.gar-grid b{display:block;font-family:var(--ft);font-size:1rem;margin-bottom:.2rem}
.gar-grid p{font-size:.95rem;color:var(--tinta2)}
/* pasos */
.pasos{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;counter-reset:paso}
.pasos li{border-top:2px solid var(--azul);padding-top:1rem}
.pasos .num{display:block;font-family:var(--ft);font-weight:600;font-size:.75rem;color:var(--azul);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
.pasos b{display:block;font-family:var(--ft);font-size:1.0625rem;margin-bottom:.35rem}
.pasos p{font-size:.95rem;color:var(--tinta2)}
.pasos.vertical{grid-template-columns:1fr;gap:0;border-left:2px solid var(--hielo-2);margin:1rem 0 1.5rem}
.pasos.vertical li{border-top:0;padding:0 0 1.4rem 1.6rem;position:relative}
.pasos.vertical li::before{content:"";position:absolute;left:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--azul)}
.pasos.vertical .num{display:inline-block;margin:0 .6rem 0 0}
.pasos.vertical b{display:inline}
.pasos.vertical p{margin-top:.3rem;max-width:62ch}
/* crédito / calculadora */
.credito-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.credito-grid p{color:var(--tinta2);margin-top:.8rem;max-width:48ch}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:1.4rem 1.5rem}
.calc label{display:block;font-family:var(--ft);font-weight:600;font-size:.875rem;margin-bottom:.35rem}
.calc input{display:block;width:100%;margin:0 0 .9rem;font:1rem var(--fm);padding:.6rem .7rem;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--tinta)}
.calc .input-eur input{margin-bottom:0}
.calc .input-eur{margin-bottom:.9rem}
.input-eur{position:relative;display:block}
.input-eur span{position:absolute;right:.75rem;top:50%;transform:translateY(-10%);font-family:var(--fm);color:var(--gris)}
.calc-out{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.2rem .8rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--hielo-2)}
.calc-out span{font-family:var(--ft);font-weight:600;font-size:.875rem;color:var(--tinta2)}
.calc-out b{font-family:var(--fm);font-weight:500;font-size:1.7rem;color:var(--azul);font-variant-numeric:tabular-nums;grid-column:2;grid-row:1/3;text-align:right}
.calc-out small{font-size:.8rem;color:var(--gris)}
.calc .peq{margin-top:.9rem}
/* cursos */
.rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.curso{border:1px solid var(--linea);border-radius:12px;background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}
.curso:hover{box-shadow:var(--sombra);transform:translateY(-2px)}
.curso-top{background:var(--hielo);display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;min-height:92px}
.curso-top .codigo{font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:500;color:var(--azul-prof);letter-spacing:.02em}
.curso-top .ico{width:34px;height:34px;color:var(--azul);stroke-width:1.5}
.curso-cuerpo{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.curso h3 a{color:var(--tinta);text-decoration:none}
.curso h3 a:hover{color:var(--azul)}
.curso .meta{font-family:var(--fx);font-weight:600;font-size:.9rem;color:var(--tinta2);font-variant-numeric:tabular-nums}
.curso p.desc{font-size:.95rem;color:var(--tinta2);flex:1}
.curso-acciones{display:flex;align-items:center;gap:1rem;margin-top:.6rem;flex-wrap:wrap}
.curso-acciones .btn{padding:.65rem 1rem;min-height:40px}
.curso-acciones .enlace{font-family:var(--ft);font-weight:600;font-size:.875rem;text-decoration:none}
.curso-acciones .enlace:hover{text-decoration:underline}
.filtros{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.h-sub{margin:3.2rem 0 .5rem;font-size:1.5rem}
.lista-cursos{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:1.4rem}
.lista-cursos li{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--linea)}
.lista-cursos b{font-family:var(--ft);font-size:1rem;font-weight:600;grid-column:1}
.lista-cursos .chip{grid-column:1;justify-self:start}
.lista-cursos a{grid-column:2;grid-row:1/3;font-family:var(--ft);font-weight:600;font-size:.875rem;text-decoration:none;white-space:nowrap}
.lista-cursos a:hover{text-decoration:underline}
/* cifras */
.cifras-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cifras b{display:block;font-family:var(--fm);font-weight:500;font-size:2.5rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.cifras > div > span{display:block;margin-top:.55rem;font-size:.95rem;color:#c3c8f0}
.senales li{display:flex;gap:.7rem;align-items:center;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.16);font-family:var(--ft);font-weight:600;font-size:1rem}
.senales li:first-child{border-top:0}
.senales .ico{width:20px;height:20px;color:#9fb0ff}
/* cierre */
.cta-caja{display:flex;justify-content:space-between;align-items:center;gap:2.5rem;border:1px solid var(--linea);border-radius:16px;padding:2.4rem 2.6rem;flex-wrap:wrap}
.cta-caja p{color:var(--tinta2);max-width:52ch;margin-top:.6rem}
/* ficha de curso */
.ficha-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
.ficha-cab .eyebrow{margin-bottom:.7rem}
.ficha h2{font-size:1.5rem;margin:2.4rem 0 .9rem}
.ficha h2:first-of-type{margin-top:0}
.ficha p{max-width:66ch;color:var(--tinta2)}
.ficha .lead{color:var(--tinta2)}
.lista-check li,.lista-num li{padding:.55rem 0 .55rem 2rem;position:relative;border-top:1px solid var(--hielo-2);max-width:66ch}
.lista-check li::before{content:"";position:absolute;left:.15rem;top:.95rem;width:12px;height:7px;border-left:2px solid var(--azul);border-bottom:2px solid var(--azul);transform:rotate(-45deg)}
.lista-num{counter-reset:n}
.lista-num li{counter-increment:n}
.lista-num li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:.7rem;font-family:var(--fm);font-size:.8rem;color:var(--azul)}
.panel{position:sticky;top:96px;border:1px solid var(--linea);border-radius:14px;padding:1.4rem 1.5rem;background:#fff;box-shadow:var(--sombra)}
.panel dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:.95rem;margin:0 0 1.3rem}
.panel dt{color:var(--gris);font-family:var(--ft);font-size:.8rem;font-weight:600;padding-top:.1rem}
.panel dd{margin:0;color:var(--tinta)}
.panel dd.mono{font-size:.95rem}
.panel .btn{width:100%;margin-top:.6rem}
.panel .btn-pri{margin-top:0}
.panel .peq{margin-top:1rem;text-align:center}
/* documento largo (formación bonificada) */
.doc-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:.15rem}
.toc a{font-family:var(--ft);font-weight:600;font-size:.875rem;color:var(--tinta2);text-decoration:none;padding:.45rem .8rem;border-left:2px solid var(--hielo-2);border-radius:0 6px 6px 0}
.toc a:hover,.toc a.activo{color:var(--azul);border-color:var(--azul);background:var(--hielo)}
.texto h2{font-size:1.5rem;margin:2.6rem 0 .9rem;scroll-margin-top:96px}
.texto h2:first-child{margin-top:0}
.texto p{max-width:66ch;margin-bottom:1rem}
.texto strong{font-weight:600}
.tabla{width:100%;max-width:640px;border-collapse:collapse;margin:1.2rem 0 1.6rem;font-size:1rem}
.tabla th,.tabla td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--linea)}
.tabla th{font-family:var(--ft);font-size:.8rem;color:var(--gris);font-weight:600;letter-spacing:.02em}
.tabla td:last-child{font-family:var(--fm);font-variant-numeric:tabular-nums;font-size:.95rem}
.texto .calc{max-width:640px;margin:0 0 1rem}
.callout{border:1px solid var(--linea);border-left:4px solid var(--azul-prof);border-radius:0 10px 10px 0;padding:1.1rem 1.3rem;background:var(--hielo);max-width:66ch}
.callout p{margin:0;color:var(--tinta)}
/* contacto */
.contacto-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 360px;gap:64px;align-items:start}
.form{padding:1.8rem 2rem 2rem}
.campo{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}
.campo label{font-family:var(--ft);font-weight:600;font-size:.88rem}
.campo label small{font-weight:400;color:var(--gris)}
.campo input,.campo textarea{font:1rem var(--fx);padding:.7rem .8rem;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--tinta);width:100%}
.campo textarea{resize:vertical;min-height:120px}
.fila-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.acepta{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--tinta2);margin:.4rem 0 1.3rem}
.acepta input{width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--azul)}
.rgpd{font-size:.8rem;color:var(--gris);margin-top:1.4rem;line-height:1.5}
.contacto-datos{display:flex;flex-direction:column;gap:1.4rem;padding-top:.4rem}
.dato{display:flex;gap:.9rem;align-items:flex-start}
.dato .ico{color:var(--azul);margin-top:.1rem}
.dato b{display:block;font-family:var(--ft);font-size:.95rem;margin-bottom:.15rem}
.dato p{font-size:.95rem;color:var(--tinta2)}
.dato.campus{display:block;border:1px solid var(--linea);border-radius:12px;padding:1.2rem 1.3rem;background:var(--hielo);margin-top:.4rem}
.dato.campus p{margin:.2rem 0 .9rem}
/* ===== responsive ===== */
@media (max-width:1279px){
  .hero .contenedor{gap:44px}
  .pie-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
}
@media (max-width:1023px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 24px 1rem;box-shadow:var(--sombra)}
  .menu-abierto .nav{display:flex}
  .nav a{padding:.85rem 0;border-bottom:1px solid var(--hielo-2);font-size:1rem}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a{display:block}
  .nav .current-menu-item>a,.nav a:hover{border-color:var(--hielo-2)}
  .nav .nav-campus{display:inline-flex;margin-top:1rem;border-bottom:1px solid transparent}
  .cab-campus{display:none}
  .hamb{display:flex}
  .cab .contenedor{position:relative}
  .hero{padding:52px 0 56px}
  .hero .contenedor{grid-template-columns:1fr;gap:44px}
  .hero-visual{min-height:0;padding:12px 20px 12px 8px}
  .gar-grid{grid-template-columns:1fr 1fr;gap:22px}
  .pasos{grid-template-columns:1fr 1fr;gap:20px 28px}
  .credito-grid,.cifras-grid{grid-template-columns:1fr;gap:32px}
  .rejilla{grid-template-columns:1fr 1fr}
  .ficha-grid{grid-template-columns:1fr;gap:32px}
  .panel{position:static}
  .ficha-grid > .panel{order:-1}
  .doc-grid{grid-template-columns:1fr;gap:24px}
  .toc{position:static;flex-direction:row;flex-wrap:wrap;gap:.4rem}
  .toc a{border:1px solid var(--linea);border-radius:999px;padding:.4rem .8rem}
  .contacto-grid{grid-template-columns:1fr;gap:32px}
  .pie-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  body{font-size:16px}
  .lead{font-size:1.125rem}
  .texto p,.ficha p,.lead{hyphens:auto}
  .seccion{padding:48px 0}
  .banda{padding:40px 0}
  .cabecera-pag{padding:36px 0 32px}
  .hero{padding:36px 0 44px}
  .hero .cta .btn,.cta-caja .btn{width:100%}
  .hero-visual{padding:0;flex-direction:column;align-items:stretch}
  .exp-2,.exp-3{display:none}
  .exp-chip{position:static;margin-top:.9rem;align-self:flex-start}
  .gar-grid{grid-template-columns:1fr;gap:18px}
  .pasos{grid-template-columns:1fr;gap:18px}
  .rejilla{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr 1fr 1fr;gap:12px}
  .cifras b{font-size:2rem}
  .cta-caja{padding:1.6rem 1.4rem}
  .lista-cursos{grid-template-columns:1fr}
  .lista-cursos li{grid-template-columns:1fr}
  .lista-cursos a{grid-column:1;grid-row:auto}
  .fila-2{grid-template-columns:1fr}
  .form{padding:1.3rem 1.2rem 1.5rem}
  .pie-grid{grid-template-columns:1fr;gap:24px}
  .pie-bajo .btn{width:100%}
  .tabla thead{position:absolute;left:-9999px}
  .tabla tr{display:block;border-bottom:1px solid var(--linea);padding:.6rem 0}
  .tabla td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.25rem 0}
  .tabla td::before{content:attr(data-eti);font-family:var(--ft);font-size:.8rem;color:var(--gris);font-weight:600}
}
@media (max-width:479px){
  .logo img{height:40px}
  h1{font-size:2.1rem}
  .cifras{grid-template-columns:1fr}
  .cifras > div{display:flex;align-items:baseline;gap:.8rem}
  .cifras span{margin:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .curso,.hamb span{transition:none}
}
/* ===== WordPress: contenido editado en el editor, formulario CF7, utilidades ===== */
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hero-foto{width:100%;height:auto;border-radius:14px;box-shadow:0 30px 50px -28px rgba(17,26,110,.45);display:block}
.pie nav ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}
/* texto largo (páginas) */
.texto>*:first-child{margin-top:0}
.texto h3{font-size:1.25rem;margin:1.8rem 0 .6rem}
.texto ul,.texto ol{max-width:66ch;margin:0 0 1.2rem;padding-left:1.3rem}
.texto ul{list-style:disc}
.texto ol{list-style:decimal}
.texto li{margin-bottom:.45rem}
.texto li::marker{color:var(--azul)}
.texto a{text-decoration-thickness:1px;text-underline-offset:2px}
.texto figure{margin:1.4rem 0}
.texto img{border-radius:10px}
.texto blockquote{border-left:4px solid var(--azul-prof);background:var(--hielo);border-radius:0 10px 10px 0;padding:1.1rem 1.3rem;margin:1.2rem 0;max-width:66ch}
.texto blockquote p{margin:0}
.texto .tabla-envoltorio{overflow-x:auto;margin:1.2rem 0 1.6rem}
.texto table{width:100%;max-width:640px;border-collapse:collapse;font-size:1rem}
.texto th,.texto td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--linea);vertical-align:top}
.texto th{font-family:var(--ft);font-size:.8rem;color:var(--gris);font-weight:600;letter-spacing:.02em}
.texto td:last-child{font-variant-numeric:tabular-nums}
.texto hr{border:0;border-top:1px solid var(--linea);margin:2rem 0}
.texto .calc{margin:0 0 1.5rem}
.doc-una .texto{max-width:760px}
/* formulario de contacto (Contact Form 7) */
.form .wpcf7-form-control-wrap{display:block}
.form .campo input,.form .campo textarea{font:1rem var(--fx);padding:.7rem .8rem;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--tinta);width:100%}
.form .campo textarea{min-height:120px;resize:vertical}
.form .wpcf7-not-valid{border-color:var(--rojo)}
.form .wpcf7-not-valid-tip{display:block;font-size:.875rem;color:var(--rojo);margin-top:.3rem}
.acepta .wpcf7-list-item{margin:0}
.acepta label{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--tinta2);cursor:pointer}
.acepta input{width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--azul)}
.form .wpcf7-spinner{margin-left:.6rem}
.form .wpcf7-response-output{margin:1.2rem 0 0;padding:.9rem 1rem;border:1px solid var(--linea);border-radius:8px;font-size:.95rem}
.form .wpcf7-form.sent .wpcf7-response-output{border-color:var(--ok);background:var(--ok-suave);color:var(--ok)}
.form .wpcf7-form.invalid .wpcf7-response-output,.form .wpcf7-form.failed .wpcf7-response-output{border-color:var(--aviso);background:#fff6e8;color:var(--aviso)}
/* estado sin resultados en el catálogo */
.sin-resultados{color:var(--tinta2);padding:2rem 0}
/* paginación */
.pagination{margin-top:2.5rem;font-family:var(--ft);font-weight:600}
.pagination .page-numbers{display:inline-block;padding:.5rem .8rem;border:1px solid var(--linea);border-radius:6px;margin-right:.4rem;text-decoration:none;color:var(--azul)}
.pagination .page-numbers.current{background:var(--tinta);color:#fff;border-color:var(--tinta)}
/* admin bar */
.admin-bar .cab{top:32px}
@media (max-width:782px){.admin-bar .cab{top:46px}}
@media (max-width:767px){
  .texto table{max-width:none}
  .texto table[data-apilable] thead{position:absolute;left:-9999px}
  .texto table[data-apilable] tr{display:block;border-bottom:1px solid var(--linea);padding:.6rem 0}
  .texto table[data-apilable] td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.25rem 0}
  .texto table[data-apilable] td::before{content:attr(data-eti);font-family:var(--ft);font-size:.8rem;color:var(--gris);font-weight:600}
}
/* panel «formación obligatoria» del hero */
.obl{position:relative;width:100%;max-width:520px;background:#fff;border:1px solid var(--linea);border-radius:16px;box-shadow:0 30px 50px -28px rgba(17,26,110,.45);overflow:hidden}
.obl-cab{padding:1.4rem 1.5rem 1.1rem;border-bottom:1px solid var(--hielo-2)}
.obl-eti{display:inline-block;font-family:var(--ft);font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rojo);background:var(--rojo-suave);padding:.3rem .6rem;border-radius:999px;margin-bottom:.7rem}
.obl-cab h2{font-size:1.3rem;line-height:1.2;margin-bottom:.5rem}
.obl-cab p{font-size:.95rem;color:var(--tinta2)}
.obl-lista li{border-bottom:1px solid var(--hielo-2)}
.obl-lista a{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.5rem;color:var(--tinta);text-decoration:none}
.obl-lista a:hover{background:var(--hielo)}
.obl-lista a:hover b{color:var(--azul)}
.obl-lista .ico{color:var(--azul);flex:none;width:36px;height:36px;padding:7px;background:var(--hielo);border-radius:10px}
.obl-lista a:hover .ico{background:#fff}
.obl-lista div{flex:1;min-width:0}
.obl-lista b{display:block;font-family:var(--ft);font-size:.95rem;line-height:1.25}
.obl-lista span{display:block;font-size:.82rem;color:var(--gris);margin-top:.15rem}
.obl-lista .flecha{width:20px;height:20px;padding:0;background:none;color:var(--gris)}
.obl-lista a:hover .flecha{color:var(--azul);background:none}
.obl-pie{display:flex;align-items:center;gap:.8rem;padding:1rem 1.5rem;background:var(--azul-prof);color:#fff}
.obl-pie .ico{color:#9fb0ff;flex:none}
.obl-pie b{display:block;font-family:var(--ft);font-size:1rem}
.obl-pie span{display:block;font-size:.85rem;color:#c3c8f0}
@media (max-width:767px){.obl{max-width:none}.obl-cab,.obl-lista a,.obl-pie{padding-left:1.1rem;padding-right:1.1rem}}
/* bloque «curso del mes» */
.mes-banda{background:var(--azul-prof);padding:0}
.mes{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem 3rem;align-items:center;background:#fff;border-radius:16px;padding:1.8rem 2.2rem;margin:-1px 0 0;transform:translateY(0);box-shadow:0 24px 40px -28px rgba(17,26,110,.5);border-left:6px solid var(--rojo)}
.mes-banda .contenedor{padding-top:0;padding-bottom:40px}
.mes-eti{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ft);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rojo);margin-bottom:.6rem}
.mes-eti .ico{width:20px;height:20px}
.mes h2{font-size:1.6rem;margin-bottom:.5rem}
.mes-meta{font-size:.95rem;color:var(--tinta2)}
.mes-meta .mono{font-size:.9rem;color:var(--azul-prof)}
.mes-meta b{font-weight:600;color:var(--tinta)}
.mes-texto{margin-top:.6rem;color:var(--tinta2);max-width:62ch}
.mes-plazo{margin-top:.6rem;font-family:var(--ft);font-weight:600;font-size:.95rem;color:var(--rojo)}
.mes-acciones{display:flex;flex-direction:column;gap:.7rem;min-width:240px}
.mes-acciones .btn{width:100%}
.mes-nota{font-size:.82rem;color:var(--gris);text-align:center}
@media (max-width:1023px){.mes{grid-template-columns:1fr;gap:1.4rem}.mes-acciones{min-width:0}}
@media (max-width:767px){.mes{padding:1.3rem 1.2rem;border-left-width:5px}.mes h2{font-size:1.35rem}.mes-banda .contenedor{padding-bottom:28px}}
/* «curso del mes» dentro del hero */
.mes-hero{grid-template-columns:1fr;gap:1.2rem;max-width:520px;margin:0;padding:1.6rem 1.7rem;border-left:0;border-top:6px solid var(--rojo);border-radius:16px;box-shadow:0 30px 50px -28px rgba(17,26,110,.45)}
.mes-hero h2{font-size:1.45rem}
.mes-fechas{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-family:var(--ft);font-weight:600;font-size:.95rem;color:var(--tinta)}
.mes-fechas .ico.peq{width:18px;height:18px;color:var(--azul)}
.mes-hero .mes-acciones{min-width:0}
/* panel obligatorio como franja ancha bajo el hero */
.obl-seccion{padding-top:0}
.obl-ancho{max-width:none;box-shadow:var(--sombra)}
.obl-ancho .obl-cab{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:.5rem 3rem;align-items:end;padding:1.6rem 1.8rem 1.2rem}
.obl-ancho .obl-cab p{margin:0}
.obl-ancho .obl-lista{display:grid;grid-template-columns:1fr 1fr}
.obl-ancho .obl-lista li:nth-child(odd){border-right:1px solid var(--hielo-2)}
.obl-ancho .obl-lista a{padding:1rem 1.8rem}
.obl-ancho .obl-pie{padding:1rem 1.8rem}
@media (max-width:767px){.obl-ancho .obl-cab{grid-template-columns:1fr;padding:1.3rem 1.1rem 1rem}.obl-ancho .obl-lista{grid-template-columns:1fr}.obl-ancho .obl-lista li:nth-child(odd){border-right:0}.obl-ancho .obl-lista a,.obl-ancho .obl-pie{padding-left:1.1rem;padding-right:1.1rem}.mes-hero{max-width:none;padding:1.3rem 1.2rem}}
/* cifras sin datos: solo señales */
.cifras-grid.solo-senales{grid-template-columns:1fr}
.solo-senales .senales{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.solo-senales .senales li:nth-child(2){border-top:0}
.lead p{margin-bottom:.6rem}
.lead p:last-child{margin-bottom:0}
.ficha-foto{display:block;max-width:560px;border-radius:12px;margin:1.2rem 0 .4rem}
.curso-top.curso-foto{padding:0;min-height:0;aspect-ratio:16/9;overflow:hidden}
.curso-top.curso-foto img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:767px){.solo-senales .senales{grid-template-columns:1fr}.solo-senales .senales li:nth-child(2){border-top:1px solid rgba(255,255,255,.16)}}
