/* ICSE · Piezas comunes de navegación (todas las páginas) */
.campus-pop{position:fixed;z-index:150;background:#fff;border:1px solid #E3EBF3;border-radius:16px;padding:12px;box-shadow:0 30px 60px -24px rgba(0,58,102,.45);display:flex;flex-direction:column;gap:4px;font-family:'Geologica',system-ui,sans-serif}
.campus-pop[hidden]{display:none}
.campus-pop .k{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5a6b7d;margin:2px 6px 6px}
.campus-pop a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:0 10px;border-radius:10px;font-size:14px;font-weight:700;color:#13263d;text-decoration:none}
.campus-pop a svg{width:14px;height:14px;color:#9AAABB;flex-shrink:0}
.campus-pop a:hover,.campus-pop a:focus-visible{background:#EAF4FB;color:#0069B4;outline:0}
.campus-pop a:hover svg{color:#0069B4}
/* Redes sociales del pie */
.socials a{display:grid;place-items:center}
.socials a svg{width:16px;height:16px}
/* Formulario final: mensajes */
.fb-err{font-size:13px;font-weight:600;color:#d8392b;margin-top:10px}
.fb-thanks{text-align:center;padding:24px 6px}
.fb-thanks .ok{width:58px;height:58px;border-radius:50%;background:#1F9D57;color:#fff;display:grid;place-items:center;margin:0 auto 14px}
.fb-thanks .ok svg{width:26px;height:26px}
.fb-thanks h3{margin-bottom:6px}
.fb-thanks p{color:#5a6b7d;font-size:14.5px}

/* =====================================================================
   LOS 4 PRODUCTOS DE ICSE — paleta y piezas comunes (nov-2026, README §4.1)
   Criterio: dos familias de la marca.
   · Azules = titulaciones oficiales del sistema educativo
       Educación Superior ........ azul ICSE      #0069B4
       Certificados y G. Medios .. azul petróleo  #00838A (el azul ICSE girado hacia el verde: misma familia, otro nivel)
   · Naranja = formación para el empleo
       Cursos subvencionados ..... naranja ICSE   #EC6216
   · ICSE In Company (empresas) .. azul noche     #1B3A6B con detalle ámbar #F39A2B (el naranja ICSE en clave corporativa)
   Todos los colores principales pasan AA con texto blanco. El CTA global "Matricúlate" sigue en naranja.
   ===================================================================== */
:root{
  --sub:#EC6216; --sub-deep:#B8490C; --sub-soft:#FFF3EA; --sub-line:#FBD3BC; --sub-on:#FFA36B;
  --es:#0069B4;  --es-deep:#004A80;  --es-soft:#EAF4FB;  --es-line:#C9E1F3;  --es-on:#9AC8E9;
  --cp:#00838A;  --cp-deep:#005F64;  --cp-soft:#E6F4F4;  --cp-line:#B9DFDF;  --cp-on:#7FD0CF;
  --inc:#1B3A6B; --inc-deep:#0F2547; --inc-soft:#EEF2F8; --inc-line:#CBD5E5; --inc-on:#A9BEDD; --inc-accent:#F39A2B;
}
.pc-sub,body[data-product="sub"]{--pc:var(--sub);--pc-deep:var(--sub-deep);--pc-soft:var(--sub-soft);--pc-line:var(--sub-line);--pc-on:var(--sub-on)}
.pc-es,body[data-product="es"]{--pc:var(--es);--pc-deep:var(--es-deep);--pc-soft:var(--es-soft);--pc-line:var(--es-line);--pc-on:var(--es-on)}
.pc-cp,body[data-product="cp"]{--pc:var(--cp);--pc-deep:var(--cp-deep);--pc-soft:var(--cp-soft);--pc-line:var(--cp-line);--pc-on:var(--cp-on)}
.pc-inc,body[data-product="inc"]{--pc:var(--inc);--pc-deep:var(--inc-deep);--pc-soft:var(--inc-soft);--pc-line:var(--inc-line);--pc-on:var(--inc-on)}

/* ---------- Cabecera: menú por producto ---------- */
.site-header{display:contents}
.site-header .utility{background:#F4F7FA;color:#5a6b7d;border-bottom:1px solid #E3EBF3}
.site-header .u-right .u-link{color:#5a6b7d}
.site-header .u-right .u-link:hover{color:#13263d;background:#E9EFF5}
.site-header .u-right .u-hist{color:#13263d;font-weight:700}
.site-header .u-phone .lbl{color:#5a6b7d}
.site-header .u-phone .tel{color:#13263d}
.site-header .u-sep{background:#DCE4EC}
.site-header .lang-btn{color:#13263d}
.site-header .lang-btn:hover{background:#E9EFF5;color:#13263d}
.site-header .u-right .u-campus{color:#13263d;background:#fff;border:1px solid #C3D2E0}
.site-header .u-right .u-campus:hover{background:#13263d;border-color:#13263d;color:#fff}
.site-header .nav-bar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid #E3EBF3;box-shadow:0 10px 30px -24px rgba(0,58,102,.35)}
.site-header .nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-header .logo-img{height:42px;width:auto}
.pnav{display:flex;align-items:stretch;height:72px;gap:4px;margin-right:auto;margin-left:22px}
.pn-item{position:relative;display:flex}
.pn-link{display:flex;flex-direction:column;justify-content:center;padding:0 12px;color:#13263d;position:relative;white-space:nowrap}
.pn-link::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.pn-over{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c);line-height:1.1}
.pn-name{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.pn-name .chev{width:13px;height:13px;opacity:.45;transition:transform .2s}
.pn-item.open .pn-link::after,.pn-item.cur .pn-link::after{transform:none}
.pn-item.open .pn-name .chev{transform:rotate(180deg);opacity:1}
.pn-item.open .pn-name,.pn-item.cur .pn-name{color:var(--c-deep)}
.pn-link:focus-visible{outline:3px solid #5FB4EC;outline-offset:-3px;border-radius:8px}
.pn-sub{--c:var(--sub);--c-deep:var(--sub-deep)}
.pn-es{--c:var(--es);--c-deep:var(--es-deep)}
.pn-cp{--c:var(--cp);--c-deep:var(--cp-deep)}
.pn-inc{--c:var(--inc);--c-deep:var(--inc-deep)}
.pn-inc .pn-over{color:#B8650C}
.site-header .nav-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
/* mega-menú */
.pmega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:3px solid var(--pc,#0069B4);box-shadow:0 30px 60px -24px rgba(8,19,32,.4);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:55;max-height:calc(100vh - 120px);overflow-y:auto}
.pmega.open{opacity:1;visibility:visible;transform:none}
.pm-in{display:grid;grid-template-columns:300px minmax(0,1fr) auto;gap:40px;padding-top:30px;padding-bottom:32px}
.pm-intro{background:var(--pc-soft);border:1px solid var(--pc-line);border-radius:20px;padding:22px}
.pm-ic{width:44px;height:44px;border-radius:13px;background:var(--pc);color:#fff;display:grid;place-items:center;margin-bottom:14px}
.pm-ic svg{width:22px;height:22px}
.pc-inc .pm-ic{box-shadow:inset 0 -4px 0 var(--inc-accent)}
.pm-claim{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--pc-deep);margin-bottom:8px}
.pm-desc{font-size:13.5px;color:#5a6b7d;line-height:1.5;margin-bottom:16px}
.pm-cta{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:#fff;background:var(--pc);padding:10px 16px;border-radius:999px;transition:.2s}
.pm-cta:hover{background:var(--pc-deep)}
.pm-cta svg{width:15px;height:15px}
.pm-k{display:block;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#5a6b7d;margin-bottom:10px}
.pm-col{display:flex;flex-direction:column;min-width:0}
.pm-link{display:flex;flex-direction:column;padding:10px 12px;margin:0 -12px;border-radius:12px;transition:.15s}
.pm-link b{font-size:15px;font-weight:800;color:#13263d}
.pm-link small{font-size:12.5px;color:#5a6b7d;margin-top:1px}
.pm-link:hover{background:var(--pc-soft)}
.pm-link:hover b{color:var(--pc-deep)}
.pm-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:2px 18px}
.pm-grid.one{grid-template-columns:minmax(220px,1fr)}
.pm-grid a{display:flex;align-items:center;gap:9px;padding:8px 10px;margin:0 -10px;border-radius:10px;font-size:14px;font-weight:600;color:#13263d}
.pm-grid a:hover{background:var(--pc-soft);color:var(--pc-deep)}
.pm-grid .dot{width:9px;height:9px;border-radius:3px;background:var(--pc);flex-shrink:0}
.pc-inc .pm-in{grid-template-columns:300px minmax(0,1fr)}
.pc-inc .pm-col{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-content:start}
.pc-inc .pm-col .pm-k{grid-column:1/-1}
@media(max-width:1240px){.pnav{margin-left:10px;gap:0}.pn-link{padding:0 9px}.pn-link::after{left:9px;right:9px}.pn-name{font-size:14px}}
@media(max-width:1160px){.site-header .nav-cta .btn-info{display:none}}
@media(max-width:980px){.pnav,.pmega{display:none !important}}

/* ---------- Barra "Estás en…" ---------- */
.pbar{background:var(--pc-soft);border-bottom:1px solid var(--pc-line);color:var(--pc-deep);font-size:13.5px}
.pbar-in{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;min-height:46px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.pbar-here{display:inline-flex;align-items:center;gap:9px;font-weight:600}
.pbar-here b{font-weight:800}
.pbar-here .ic{width:26px;height:26px;border-radius:8px;background:var(--pc);color:#fff;display:grid;place-items:center;flex-shrink:0}
.pbar-here .ic svg{width:15px;height:15px}
.pbar-x{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pbar-x .k{font-size:12.5px;color:#5a6b7d;margin-right:2px}
.pbar-x a{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid #DCE4EC;color:#13263d;font-weight:700;font-size:12.5px;transition:.15s}
.pbar-x a .d{width:8px;height:8px;border-radius:50%;background:var(--pc)}
.pbar-x a:hover{border-color:var(--pc);color:var(--pc-deep)}
@media(max-width:700px){.pbar-x .k{display:none}.pbar-x{overflow-x:auto;flex-wrap:nowrap;margin:0 -20px;padding:0 20px 2px;scrollbar-width:none;max-width:calc(100% + 40px)}.pbar-x a{white-space:nowrap}}

/* ---------- Pop-up Solicitar información (común) ---------- */
.lead-fab{position:fixed;right:22px;bottom:22px;z-index:85;display:inline-flex;align-items:center;gap:10px;background:#EC6216;color:#fff;border:0;border-radius:999px;padding:14px 22px;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;box-shadow:0 22px 50px -14px rgba(8,19,32,.6);transition:background .2s,transform .2s,opacity .3s,visibility .3s;opacity:0;visibility:hidden}
.lead-fab.show{opacity:1;visibility:visible}
.lead-fab:hover{background:#C8520F;transform:translateY(-2px)}
.lead-fab svg{width:18px;height:18px}
.lead-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,19,32,.82);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.lead-modal.open{opacity:1;visibility:visible}
.lm{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:24px;padding:30px 28px 24px;box-shadow:0 50px 90px -30px rgba(8,19,32,.55);transform:scale(.95);transition:transform .35s cubic-bezier(.16,.84,.44,1);font-family:'Geologica',system-ui,sans-serif;color:#13263d}
.lead-modal.open .lm{transform:none}
.lm-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:#F2F5F9;color:#13263d;display:grid;place-items:center;cursor:pointer}
.lm-close svg{width:16px;height:16px}
.lm-pin{width:44px;height:44px;border-radius:13px;background:#EC6216;color:#fff;display:grid;place-items:center;margin-bottom:12px}
.lm-pin svg{width:20px;height:20px}
.lm h3{font-size:24px;font-weight:800;letter-spacing:-.02em}
.lm-sub{font-size:14px;color:#5a6b7d;margin:4px 0 16px}
.lm .field{display:block;width:100%;border:1.5px solid #e2e9f1;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;color:#13263d;background:#fbfdff;margin-bottom:10px}
.lm .field:focus{outline:0;border-color:#0069B4;background:#fff;box-shadow:0 0 0 3px rgba(0,105,180,.12)}
.lm .field[hidden]{display:none}
.lm-sel span{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5a6b7d;margin-bottom:6px}
.lm-sel .field{font-weight:700}
.lm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lm-legal{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#5a6b7d;margin:4px 0 14px}
.lm-legal a{text-decoration:underline}
.lm-err{font-size:13px;font-weight:600;color:#d8392b;margin:-6px 0 12px}
.lm-send{width:100%;justify-content:center}
.lm-thanks{text-align:center;padding:16px 4px}
.lm-thanks .ok{width:56px;height:56px;border-radius:50%;background:#1F9D57;color:#fff;display:grid;place-items:center;margin:0 auto 14px}
.lm-thanks .ok svg{width:26px;height:26px}
.lm-thanks p{color:#5a6b7d;margin-top:6px}
@media(max-width:480px){.lm{padding:26px 20px 20px}.lm-row{grid-template-columns:1fr;gap:0}}

/* ---------- Newsletter: chips de los 4 productos ---------- */
.nl-chip.cp input:checked+span{border-color:var(--cp);background:var(--cp-soft);color:var(--cp-deep)}
.nl-chip.cp input:checked+span::before{background-color:var(--cp);border-color:var(--cp)}
.nl-chip.inc input:checked+span{border-color:var(--inc);background:var(--inc-soft);color:var(--inc)}
.nl-chip.inc input:checked+span::before{background-color:var(--inc);border-color:var(--inc)}

/* ---------- "Toda la formación de ICSE" (antes del pie) ---------- */
.xsell{padding:56px 0;background:#fff;border-top:1px solid #E3EBF3}
.xs-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:22px;flex-wrap:wrap}
.xs-k{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#5a6b7d}
.xs-head h2{font-size:clamp(24px,3vw,32px);font-weight:300;letter-spacing:-.03em;order:-1;color:#13263d}
.xs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.xs-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--pc-soft);border:1px solid var(--pc-line);transition:.2s;min-width:0}
.xs-card:hover{transform:translateY(-3px);border-color:var(--pc);box-shadow:0 20px 40px -26px var(--pc)}
.xs-card .ic{width:46px;height:46px;border-radius:14px;background:var(--pc);color:#fff;display:grid;place-items:center;flex-shrink:0}
.xs-card.pc-inc .ic{box-shadow:inset 0 -4px 0 var(--inc-accent)}
.xs-card .ic svg{width:22px;height:22px}
.xs-card .tx{display:flex;flex-direction:column;min-width:0;flex:1}
.xs-card small{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pc-deep)}
.xs-card b{font-size:15.5px;font-weight:800;color:#13263d;line-height:1.25;margin-top:2px}
.xs-card .go{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--pc);display:grid;place-items:center;flex-shrink:0}
.xs-card .go svg{width:16px;height:16px}

/* ---------- Pie común ---------- */
.site-footer{background:#032447;color:rgba(255,255,255,.6);font-size:14px}
.sf-top{display:grid;grid-template-columns:1.5fr repeat(5,minmax(0,1fr));gap:32px;padding-top:56px;padding-bottom:36px}
.site-footer .foot-col h5{display:flex;align-items:center;gap:8px;color:#fff;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;opacity:1;line-height:1.3}
.site-footer .foot-col h5 .d{width:8px;height:8px;border-radius:50%;background:var(--pc-on);flex-shrink:0}
.site-footer .foot-col a{display:block;color:rgba(255,255,255,.62);font-size:13.5px;padding:4px 0;transition:.15s}
.site-footer .foot-col a:hover{color:#fff}
.site-footer .foot-col a.sf-main{color:#fff;font-weight:700}
.site-footer .sf-brand .lite{color:rgba(255,255,255,.55);font-size:13.5px;line-height:1.55;margin-top:14px;max-width:320px}
.site-footer .socials{display:flex;gap:8px;margin-top:16px}
.site-footer .socials a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;padding:0}
.site-footer .socials a:hover{background:#EC6216}
.site-footer .foot-nl{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:#EC6216;color:#fff;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:10px 16px;border-radius:999px;border:0;cursor:pointer;font-family:inherit}
.site-footer .foot-nl:hover{background:#C8520F}
.site-footer .foot-nl svg{width:15px;height:15px}
.sf-sedes{display:flex;flex-wrap:wrap;gap:8px 32px;padding-top:18px;padding-bottom:18px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.55)}
.sf-sedes b{color:#fff}
.sf-sedes a{color:#fff;font-weight:700}
.site-footer .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:12.5px;color:rgba(255,255,255,.45);text-align:left}
.sf-legal{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap}
.sf-legal nav{display:flex;gap:6px 18px;flex-wrap:wrap}
.sf-legal a:hover{color:#fff}
@media(max-width:1100px){.sf-top{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-brand{grid-column:1/-1}}
@media(max-width:640px){.sf-top{grid-template-columns:1fr 1fr;gap:26px 18px}.xsell{padding:40px 0}}
.site-header .u-right .u-link,.site-header .u-phone .tel,.site-header .lang-btn{white-space:nowrap}
@media(max-width:1200px){.site-header .u-phone .lbl{display:none}}
@media(max-width:1080px){.site-header .od-pill .l2,.site-header .od-pill .vi{display:none}.site-header .u-right .u-link{padding:5px 8px}}
.skip:focus{left:16px !important;top:12px;z-index:200;background:#13263d;color:#fff;padding:10px 16px;border-radius:10px;font-weight:700}

/* Fichas de Grado Medio (ciclo.html): producto Certificados y Grados Medios → la gama azul pasa a petróleo */
body.world-fp[data-product="cp"]{--fp:#00838A;--fp-dark:#005F64;--fp-soft:#E6F4F4;--fp-line:#B9DFDF;--fp-on-dark:#7FD0CF;--blue:#00838A;--blue-dark:#005F64;--orange:#00838A;--orange-dark:#005F64}
/* Área: los Grados Medios se marcan en petróleo */
.ccard[data-nivel="Grado Medio"] .badge{background:#00838A;color:#fff}

/* El logo nunca encoge: si falta sitio, primero se oculta "Solicitar información" (sigue en el botón flotante) */
.site-header .logo{flex-shrink:0}
.site-header .logo-img{max-width:none;width:auto;height:42px}
.site-header .pnav,.site-header .nav-cta,.site-header .logo{flex-shrink:0}
.site-header .utility .wrap,.site-header .nav-bar>.wrap{max-width:1360px}
@media(max-width:1399px){.site-header .nav-cta .btn-info{display:none}}
