@import url('https://fonts.googleapis.com/css2?family=Karla:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,16..72,400;0,16..72,500;0,16..72,600;1,16..72,400&display=swap');

/* ==========================================================================
   AEPSIS · Hoja común de las landings de máster
   Ruta: /wp-content/themes/allegiant/css/aepsis-masters.css
   Se carga solo en las páginas de máster (ver aepsis_es_pagina_master()).
   Todo está encapsulado bajo .aep para no colisionar con el tema.
   ========================================================================== */

.aep{
  /* Paleta corporativa (misma familia que la cabecera de congresos) */
  --acento:#5b21b6;        /* violeta profundo: titulares, precios, enlaces */
  --acento-medio:#8b5cf6;  /* botones, etiquetas y filetes */
  --acento-claro:#a78bfa;  /* detalles suaves */
  --tinta:#221C1A;
  --tinta-suave:#5B5450;
  --papel:#F4F3F1;
  --linea:#DDD8D0;
  --slate-osc:#1e1145;     /* fondo de la barra fija */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  color:var(--tinta);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.aep *,.aep *::before,.aep *::after{box-sizing:border-box;}
.aep p{margin:0 0 1.1em;}
.aep h1,.aep h2,.aep h3,.aep h4{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--tinta);letter-spacing:-.01em;}
.aep a{color:var(--acento);text-decoration:none;}
.aep a:hover{text-decoration:underline;}
.aep img{max-width:100%;height:auto;display:block;}
.aep ul,.aep ol{margin:0 0 1.2em;padding:0;list-style:none !important;}
.aep li{margin:0 0 .5em;margin-left:0 !important;list-style:none !important;}
.aep :focus-visible{outline:3px solid var(--acento-medio);outline-offset:3px;}

/* ---------- Estructura ---------- */

/* ANCHO COMPLETO REAL
   En lugar de romper el contenedor con márgenes negativos en vw (que solo
   funciona si el contenedor está centrado, y aquí no lo está por el
   sidebar del tema), neutralizamos el layout del tema en esta página.
   Requiere la clase de body `aepsis-master` (ver snippet de functions.php). */
body.aepsis-master #main{padding:0 !important;}

body.aepsis-master #main > .container{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.aepsis-master #content{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.aepsis-master #sidebar{display:none !important;}

body.aepsis-master .page-content,
body.aepsis-master #main .hentry{margin:0 !important;padding:0 !important;}

.aep-wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
.aep-sec{padding:64px 0;border-top:1px solid var(--linea);}
.aep-sec:first-of-type{border-top:0;}
.aep-sec--papel{background:var(--papel);border-top:0;}
.aep-eyebrow{
  font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--acento);margin:0 0 14px;display:block;
}
.aep-h2{font-size:34px;margin-bottom:.6em;}
.aep-lead{font-size:19px;color:var(--tinta-suave);}
.aep-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;}

/* ---------- Hero ----------
   Paleta tomada de las cabeceras de congresos: violeta sobre slate.
   Solo afecta al layout; el color va con la paleta corporativa. */
.aep-hero{
  --hero-acento:#a78bfa;
  --hero-acento-claro:#c4b5fd;
  --hero-texto:#cbd5e1;
  --hero-apagado:#94a3b8;

  background:#0f172a;
  background-image:
    radial-gradient(18rem 18rem at 100% 0%, rgba(107,60,185,.35) 0%, rgba(107,60,185,0) 70%),
    radial-gradient(18rem 18rem at 0% 100%, rgba(139,92,246,.16) 0%, rgba(139,92,246,0) 70%),
    linear-gradient(to bottom,#3b1a6e 0%,#1e1145 30%,#0f172a 100%);
  color:var(--hero-texto);
  padding:66px 0 58px;
}
.aep-hero .aep-eyebrow{color:var(--hero-acento-claro);}
.aep-hero-grid{display:grid;grid-template-columns:1fr 240px;gap:44px;align-items:center;}
.aep-hero h1{
  color:#fff;font-size:52px;line-height:1.06;margin:0 0 18px;letter-spacing:-.02em;
}
.aep-hero h1 em{font-style:italic;color:var(--hero-acento-claro);}
.aep-hero-sub{font-size:19px;color:var(--hero-texto);max-width:33em;margin-bottom:26px;}

.aep-datos{
  display:flex;flex-wrap:wrap;gap:0;margin:0 0 30px;padding:0;list-style:none;
  border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);
}
.aep-datos li{
  margin:0;padding:14px 22px 14px 0;margin-right:22px;
  border-right:1px solid rgba(255,255,255,.12);
}
.aep-datos li:last-child{border-right:0;margin-right:0;padding-right:0;}
.aep-datos b{display:block;font-family:var(--serif);font-size:26px;font-weight:500;color:#fff;line-height:1;}
.aep-datos span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--hero-apagado);}

.aep-hero-precio{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 22px;}
.aep-hero-precio .antes{font-size:19px;color:var(--hero-apagado);text-decoration:line-through;}
.aep-hero-precio .ahora{font-family:var(--serif);font-size:44px;color:#fff;line-height:1;}
.aep-hero-precio .ahorro{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:#8b5cf6;color:#fff;padding:6px 10px;border-radius:2px;
}

.aep .aep-cta{
  display:inline-block;font-family:var(--sans);font-weight:700;font-size:16px;
  letter-spacing:.02em;padding:16px 30px;border-radius:2px;text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.aep a.aep-cta:hover{text-decoration:none;transform:translateY(-2px);}
/* Todos los botones de matrícula usan la paleta corporativa.
   Los sufijos --oro y --granate son nombres heredados del markup:
   ambos pintan igual, no hace falta tocar el HTML de las páginas. */
.aep a.aep-cta--oro,
.aep a.aep-cta--oro:visited,
.aep a.aep-cta--granate,
.aep a.aep-cta--granate:visited{
  background:var(--acento-medio);color:#fff;box-shadow:0 6px 0 var(--acento);
}
.aep a.aep-cta--oro:hover,
.aep a.aep-cta--granate:hover{background:var(--acento-claro);color:#fff;}
.aep-cta-nota{display:block;margin-top:14px;font-size:14px;color:var(--hero-apagado);}

/* Sello circular */
.aep-sello{width:230px;height:230px;}
.aep-sello svg{width:100%;height:auto;display:block;}
.aep-sello circle,
.aep-sello line{stroke:#8b5cf6;}
.aep-sello text{fill:var(--hero-acento-claro);}
.aep-sello svg > text:first-of-type{fill:#fff;}
.aep-sello .sello-rot{transform-origin:115px 115px;animation:aep-giro 46s linear infinite;}
@keyframes aep-giro{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.aep-sello .sello-rot{animation:none;}}

/* ---------- Bloques de contenido ---------- */
.aep-nota{
  background:#fff;border:1px solid var(--linea);border-left:3px solid var(--acento);
  padding:20px 24px;margin:0 0 24px;font-size:16px;
}
.aep-nota strong{color:var(--acento);}
.aep-legal{
  background:var(--papel);border:1px solid var(--linea);padding:20px 24px;
  font-size:15px;color:var(--tinta-suave);
}
.aep-legal p:last-child{margin-bottom:0;}

.aep-quote{
  margin:34px 0;padding:26px 30px 26px 62px;position:relative;
  background:#fff;border:1px solid var(--linea);
  font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.45;color:var(--tinta);
}
.aep-quote::before{
  content:"“";position:absolute;left:20px;top:6px;
  font-family:var(--serif);font-size:76px;color:var(--acento-medio);line-height:1;
}
.aep-quote p{margin:0;}
.aep-quote cite{display:block;margin-top:12px;font-style:normal;font-family:var(--sans);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave);}

.aep-figura{margin:34px 0 0;}
.aep-figura img{margin:0 auto;border:1px solid var(--linea);}

/* Lista con marca de verificación */
.aep-check{list-style:none;padding:0;margin:0;}
.aep-check li{position:relative;padding:0 0 0 34px;margin:0 0 14px;}
.aep-check li::before{
  content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;
  border-left:2.5px solid var(--acento);border-bottom:2.5px solid var(--acento);
  transform:rotate(-45deg);
}

/* ---------- Precio ---------- */
.aep-precio-card{
  background:#fff;border:1px solid var(--linea);border-top:4px solid var(--acento);
  padding:34px;
}
.aep-precio-cifra{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px;}
.aep-precio-cifra .antes{font-size:22px;color:var(--tinta-suave);text-decoration:line-through;}
.aep-precio-cifra .ahora{font-family:var(--serif);font-size:56px;color:var(--acento);line-height:1;}
.aep-precio-cifra .etiqueta{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--acento);color:#fff;padding:6px 10px;border-radius:2px;
}
.aep-precio-txt{font-size:15px;color:var(--tinta-suave);margin:0 0 22px;}
.aep-tabla{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid var(--linea);}
.aep-tabla li{
  margin:0;padding:16px 0;border-bottom:1px solid var(--linea);
  display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;
}
.aep-tabla .concepto{font-weight:600;}
.aep-tabla .detalle{display:block;font-weight:400;font-size:15px;color:var(--tinta-suave);}
.aep-tabla .importe{font-family:var(--serif);font-size:24px;color:var(--acento);white-space:nowrap;}

/* ---------- Temario ---------- */
.aep-temario{
  list-style:none;counter-reset:mod;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;
}
.aep-temario li{
  counter-increment:mod;margin:0;padding:14px 0;border-bottom:1px solid var(--linea);
  display:grid;grid-template-columns:44px 1fr;align-items:baseline;gap:6px;
}
.aep-temario li::before{
  content:counter(mod,decimal-leading-zero);
  font-family:var(--serif);font-size:15px;color:var(--acento-medio);letter-spacing:.04em;
}
.aep-temario a{color:var(--tinta);font-weight:500;}
.aep-temario a:hover{color:var(--acento);text-decoration:underline;}
.aep-temario-pie{
  margin-top:24px;padding-top:18px;border-top:2px solid var(--acento);
  font-family:var(--serif);font-size:19px;
}

/* ---------- Programa por bloques (temarios con submódulos) ---------- */
.aep-bloque{margin:0 0 44px;}
.aep-bloque:last-child{margin-bottom:0;}
.aep-bloque-tit{
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--acento);
  margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid var(--acento);
  display:block;
}
.aep-modulos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;}
.aep-modulos > *{min-width:0;}
.aep-modulo{
  background:#fff;border:1px solid var(--linea);border-top:3px solid var(--acento-medio);
  padding:22px 24px;
}
.aep-modulo h4{
  font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.25;
  color:var(--tinta);margin:0 0 12px;letter-spacing:0;
}
.aep-modulo ul{margin:0;}
.aep-modulo li{
  position:relative;padding-left:16px;margin:0 0 6px;
  font-size:15px;line-height:1.5;color:var(--tinta-suave);
}
.aep-modulo li:last-child{margin-bottom:0;}
.aep-modulo li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:7px;height:1px;background:var(--acento-medio);
}
.aep-programa-pdf{
  display:inline-flex;align-items:center;gap:14px;
  background:#fff;border:1px solid var(--linea);padding:14px 20px;margin:0 0 34px;
  font-weight:600;
}
.aep-programa-pdf img{width:34px;height:auto;flex:none;}
.aep-programa-pdf:hover{border-color:var(--acento);}

/* ---------- Tarjetas duración ---------- */
.aep-card{background:#fff;border:1px solid var(--linea);padding:28px;height:100%;}
.aep-card h3{font-size:23px;margin-bottom:.4em;}
.aep-card p:last-child{margin-bottom:0;}

/* ---------- Formulario ---------- */
.aep-form-box{
  background:#fff;border:1px solid var(--linea);border-top:4px solid var(--acento);
  padding:34px;
}
.aep-form-box input[type="text"],
.aep-form-box input[type="email"],
.aep-form-box input[type="tel"],
.aep-form-box select,
.aep-form-box textarea{max-width:100%;}

/* ---------- Vídeos ---------- */
.aep .aep-videos{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px;
  align-items:start;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}
.aep .aep-videos > *{min-width:0;max-width:100%;}
.aep .aep-videos--solo{grid-template-columns:minmax(0,720px) !important;}
.aep .aep-videos--dos{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.aep .aep-video{
  position:relative;
  width:100% !important;
  max-width:100% !important;
  height:0 !important;
  padding-bottom:56.25% !important;
  margin:0 !important;
  float:none !important;
  overflow:hidden;
  background:#000;
  border:1px solid var(--linea);
}
.aep .aep-video iframe{
  position:absolute !important;
  top:0;left:0;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  border:0 !important;
  margin:0 !important;
  display:block;
}

/* ---------- Barra fija móvil ---------- */
.aep-barra{display:none;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .aep-hero-grid{grid-template-columns:1fr;gap:30px;}
  .aep-sello{width:170px;height:170px;margin:0 auto;}
  .aep-hero h1{font-size:38px;}
  .aep-cols{grid-template-columns:1fr;gap:28px;}
  .aep-temario{grid-template-columns:1fr;gap:0;}
  .aep-modulos{grid-template-columns:1fr;}
  .aep-h2{font-size:28px;}
  .aep-sec{padding:48px 0;}
  .aep-precio-card,.aep-form-box{padding:24px;}
  .aep-precio-cifra .ahora{font-size:44px;}
  .aep{padding-bottom:76px;}
  .aep-barra{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;
    align-items:center;justify-content:space-between;gap:14px;
    background:var(--slate-osc);
    background-image:linear-gradient(90deg,#3b1a6e 0%,#1e1145 100%);
    border-top:1px solid rgba(167,139,250,.35);
    padding:10px 16px;
    box-shadow:0 -4px 18px rgba(0,0,0,.28);
  }
  .aep-barra .precio{color:#fff;font-family:var(--serif);font-size:22px;line-height:1.1;}
  .aep-barra .precio small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a78bfa;}
  .aep-barra a.aep-cta{padding:13px 20px;font-size:15px;box-shadow:none;}
}
@media (max-width:700px){
  .aep .aep-videos{grid-template-columns:1fr !important;}
}
@media (max-width:480px){
  .aep-hero h1{font-size:32px;}
  .aep-datos li{padding-right:16px;margin-right:16px;}
  .aep-tabla li{grid-template-columns:1fr;}
}
