/* ==========================================================================
   ESTRATEGOR · CUSTOM CSS DE ÉLITE — Consorcio Vanguardia Digital
   Director de sistema visual: Immersive Garden
   Optimización técnica: Merlin (The Code Boutique)
   Stack: WordPress + Elementor Free · sin dependencias premium
   --------------------------------------------------------------------------
   Cómo usar: Apariencia ▸ Personalizar ▸ CSS Adicional  (pegar todo)
   o cargado automáticamente por el tema estrategor-vanguardia.
   ========================================================================== */

/* -------------------------------------------------------------------------
   1. TOKENS DE MARCA
   Paleta reconciliada: manual de marca (#1A237E/#4A148C/#7B1FA2) +
   colores reales del logo (periwinkle #606090 / navy #303060).
   ------------------------------------------------------------------------- */
:root{
  /* Núcleo */
  --e-indigo:        #1A237E;   /* azul oscuro — autoridad, texto corporativo */
  --e-indigo-deep:   #141A5E;   /* fondos oscuros profundos */
  --e-ink:           #14152B;   /* casi-negro azulado — titulares */
  --e-purple:        #4A148C;   /* morado corporativo — acentos */
  --e-purple-light:  #7B1FA2;   /* morado claro — degradados */
  --e-peri:          #606090;   /* periwinkle real del logo — puente cálido */
  --e-peri-soft:     #8C8CB8;

  /* Acción / señalización */
  --e-green:         #2E7D32;   /* CTA primario */
  --e-green-deep:    #256428;
  --e-orange:        #FF6F00;   /* highlight puntual (usar con avaricia) */

  /* Neutros */
  --e-slate:         #607D8B;   /* texto secundario */
  --e-body:          #333340;   /* cuerpo */
  --e-mist:          #F5F6FA;   /* fondo de sección claro */
  --e-line:          #E4E6F0;   /* hairlines */
  --e-white:         #FFFFFF;

  /* Degradados de marca */
  --e-hero-alpha: .55;   /* opacidad del velo del hero (0 = video sin velo, .9 = muy oscuro) — editable en Personalizar */
  --e-grad-hero:  linear-gradient(135deg, rgba(20,26,94,.94) 0%, rgba(74,20,140,.86) 55%, rgba(123,31,162,.78) 100%);
  --e-grad-brand: linear-gradient(120deg, var(--e-indigo) 0%, var(--e-purple-light) 100%);
  --e-grad-ink:   linear-gradient(180deg, var(--e-indigo-deep) 0%, var(--e-ink) 100%);

  /* Tipografía */
  --e-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --e-body-font: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --e-serif: "Playfair Display", Georgia, "Times New Roman", serif; /* acento editorial */

  /* Escala tipográfica (fluida) */
  --fs-eyebrow: .78rem;
  --fs-body:    1.05rem;
  --fs-lead:    clamp(1.15rem, 1rem + .7vw, 1.4rem);
  --fs-h3:      clamp(1.3rem, 1.1rem + .8vw, 1.7rem);
  --fs-h2:      clamp(1.9rem, 1.4rem + 2vw, 3rem);
  --fs-h1:      clamp(2.6rem, 1.8rem + 4vw, 5rem);

  /* Radios / sombras / ritmo */
  --r-sm: 8px;  --r-md: 14px;  --r-lg: 22px;  --r-pill: 999px;
  --sh-1: 0 1px 3px rgba(20,21,43,.06), 0 8px 24px rgba(20,21,43,.06);
  --sh-2: 0 10px 40px rgba(26,35,126,.14);
  --sh-focus: 0 0 0 3px rgba(96,96,144,.45);
  --pad-section: clamp(4rem, 3rem + 5vw, 8rem);
  --wrap: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* -------------------------------------------------------------------------
   2. BASE
   ------------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body.estrategor{
  margin:0; color:var(--e-body); background:var(--e-white);
  font-family:var(--e-body-font); font-size:var(--fs-body);
  line-height:1.62; font-weight:400; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--e-purple); text-decoration:none; transition:color .2s var(--ease); }
a:hover{ color:var(--e-purple-light); }
::selection{ background:var(--e-peri); color:#fff; }

.e-wrap{ width:min(var(--wrap), 92vw); margin-inline:auto; }
.e-narrow{ width:min(760px, 92vw); margin-inline:auto; }

/* -------------------------------------------------------------------------
   3. TIPOGRAFÍA
   ------------------------------------------------------------------------- */
h1,h2,h3,h4{ font-family:var(--e-display); color:var(--e-ink); line-height:1.06;
  letter-spacing:-.02em; margin:0 0 .5em; font-weight:800; }
h1{ font-size:var(--fs-h1); font-weight:900; }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); letter-spacing:-.01em; }
p{ margin:0 0 1.1em; }
.e-lead{ font-size:var(--fs-lead); color:var(--e-indigo); line-height:1.5; font-weight:500; }
strong{ color:var(--e-ink); font-weight:700; }

/* Eyebrow — ecoa el wordmark espaciado del logo */
.e-eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--e-peri); margin:0 0 1rem;
}
.e-eyebrow::before{ /* tick del compás estratégico */
  content:""; width:26px; height:2px; background:var(--e-orange); flex:0 0 auto;
}
.on-dark .e-eyebrow{ color:var(--e-peri-soft); }
.on-dark, .on-dark h1,.on-dark h2,.on-dark h3,.on-dark p{ color:#EDEEF7; }
.on-dark h1,.on-dark h2,.on-dark h3{ color:#fff; }

/* Acento serif editorial — solo pull-quotes y cifras firma */
.e-serif{ font-family:var(--e-serif); font-style:italic; font-weight:500; }

/* Frase rectora */
.e-rector{ font-family:var(--e-display); font-weight:900; letter-spacing:-.02em; }
.e-rector .lead-strike{ color:var(--e-peri-soft); }
.e-rector .lead-strike s{ text-decoration-thickness:2px; text-decoration-color:var(--e-orange); }

/* -------------------------------------------------------------------------
   4. BOTONES / CTA
   ------------------------------------------------------------------------- */
.e-btn{
  --btn-bg:var(--e-green); --btn-fg:#fff;
  display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
  font-family:var(--e-display); font-weight:700; font-size:.98rem; letter-spacing:.01em;
  padding:.95rem 1.7rem; border-radius:var(--r-pill); border:2px solid transparent;
  background:var(--btn-bg); color:var(--btn-fg); line-height:1;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s var(--ease);
  box-shadow:0 6px 18px rgba(46,125,50,.28);
}
.e-btn:hover{ transform:translateY(-2px); background:var(--e-green-deep); color:#fff;
  box-shadow:0 12px 30px rgba(46,125,50,.34); }
.e-btn:active{ transform:translateY(0); }
.e-btn .arrow{ transition:transform .25s var(--ease); }
.e-btn:hover .arrow{ transform:translateX(4px); }

.e-btn--ghost{ background:transparent; color:var(--e-indigo); border-color:var(--e-line);
  box-shadow:none; }
.e-btn--ghost:hover{ background:var(--e-indigo); color:#fff; border-color:var(--e-indigo); }
.on-dark .e-btn--ghost,.e-hero .e-btn--ghost{ color:#fff; border-color:rgba(255,255,255,.4); }
.on-dark .e-btn--ghost:hover,.e-hero .e-btn--ghost:hover{ background:#fff; color:var(--e-indigo); }

.e-btn--wa{ --btn-bg:#25D366; box-shadow:0 6px 18px rgba(37,211,102,.3); }
.e-btn--wa:hover{ background:#1ebe5a; }

/* Foco accesible visible (WCAG) — Merlin */
a:focus-visible,.e-btn:focus-visible,button:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:none; box-shadow:var(--sh-focus); border-radius:var(--r-sm);
}

/* -------------------------------------------------------------------------
   5. SECCIONES / RITMO
   ------------------------------------------------------------------------- */
.e-section{ padding-block:var(--pad-section); }
.e-section--mist{ background:var(--e-mist); }
.e-section--ink{ background:var(--e-grad-ink); }
.e-section--brand{ background:var(--e-grad-brand); }
.e-section-head{ max-width:720px; margin-bottom:3rem; }
.e-section-head.center{ margin-inline:auto; text-align:center; }

/* Compás estratégico: rayos sutiles de fondo (signature) */
.e-rays{ position:relative; overflow:hidden; isolation:isolate; }
.e-rays::before{
  content:""; position:absolute; inset:-20% -10% auto auto; width:60vmax; height:60vmax;
  background:
    repeating-conic-gradient(from 200deg at 100% 0,
      rgba(255,255,255,.05) 0deg 2deg, transparent 2deg 14deg);
  z-index:-1; pointer-events:none;
}

/* -------------------------------------------------------------------------
   6. HERO
   ------------------------------------------------------------------------- */
.e-hero{ position:relative; min-height:min(88vh,760px); display:flex; align-items:center;
  color:#fff; overflow:hidden; background:var(--e-indigo-deep); }
.e-hero__media{ position:absolute; inset:0; z-index:0; }
.e-hero__media video,.e-hero__media img{ width:100%; height:100%; object-fit:cover; }
.e-hero__media::after{ content:""; position:absolute; inset:0; background:
    linear-gradient(90deg,
      rgba(16,20,70, var(--e-hero-alpha)) 0%,
      rgba(16,20,70, calc(var(--e-hero-alpha) * .55)) 48%,
      rgba(20,26,94, .06) 100%),
    linear-gradient(180deg, rgba(16,20,70,.06) 0%, rgba(16,20,70,.22) 100%); }
.e-hero__inner{ position:relative; z-index:2; padding-block:6rem; }
.e-hero h1{ color:#fff; max-width:16ch; }
.e-hero .e-lead{ color:#DfE0F2; max-width:52ch; }
.e-hero__cta{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }
.e-hero__strip{ display:flex; gap:2.4rem; flex-wrap:wrap; margin-top:3rem;
  padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.18); }
.e-hero__strip .stat b{ display:block; font-family:var(--e-display); font-weight:900;
  font-size:1.9rem; color:#fff; line-height:1; }
.e-hero__strip .stat span{ font-size:.82rem; color:#C9CBEA; letter-spacing:.02em; }

/* -------------------------------------------------------------------------
   7. CARDS
   ------------------------------------------------------------------------- */
.e-grid{ display:grid; gap:1.6rem; }
.e-grid--3{ grid-template-columns:repeat(3,1fr); }
.e-grid--2{ grid-template-columns:repeat(2,1fr); }
.e-grid--4{ grid-template-columns:repeat(4,1fr); }

.e-card{ background:#fff; border:1px solid var(--e-line); border-radius:var(--r-lg);
  padding:2rem 1.8rem; transition:transform .3s var(--ease), box-shadow .3s var(--ease),
  border-color .3s var(--ease); position:relative; overflow:hidden; }
.e-card:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); border-color:transparent; }
.e-card__tick{ width:34px; height:34px; margin-bottom:1.1rem; color:var(--e-purple); }
.e-card h3{ font-size:1.22rem; }
.e-card p{ color:var(--e-slate); font-size:.98rem; margin-bottom:0; }
.e-card__more{ margin-top:1.2rem; font-weight:700; font-size:.9rem; color:var(--e-green);
  display:inline-flex; gap:.4rem; }

/* Solución card con imagen */
.e-sol{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--e-line);
  border-radius:var(--r-lg); overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.e-sol:hover{ transform:translateY(-6px); box-shadow:var(--sh-2); }
.e-sol__img{ aspect-ratio:4/3; overflow:hidden; background:var(--e-mist); }
.e-sol__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.e-sol:hover .e-sol__img img{ transform:scale(1.06); }
.e-sol__body{ padding:1.6rem 1.5rem 1.8rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.e-sol__tag{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--e-peri); }
.e-sol__body h3{ font-size:1.16rem; margin:0; }
.e-sol__meta{ margin-top:auto; padding-top:1rem; display:flex; gap:1rem; font-size:.84rem;
  color:var(--e-slate); border-top:1px solid var(--e-line); }
.e-sol__meta b{ color:var(--e-ink); }

/* -------------------------------------------------------------------------
   8. SPLIT (texto + imagen)
   ------------------------------------------------------------------------- */
.e-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,5rem); align-items:center; }
.e-split__media img{ border-radius:var(--r-lg); box-shadow:var(--sh-2); width:100%; }
.e-split--rev .e-split__media{ order:-1; }
.e-checklist{ list-style:none; padding:0; margin:1.4rem 0 0; display:grid; gap:.8rem; }
.e-checklist li{ display:flex; gap:.7rem; align-items:flex-start; font-weight:500; }
.e-checklist li::before{ content:""; flex:0 0 auto; width:22px; height:22px; margin-top:2px;
  border-radius:50%; background:var(--e-green)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat; }

/* Pull-quote firma */
.e-quote{ font-family:var(--e-serif); font-style:italic; font-size:clamp(1.4rem,1.1rem+1.4vw,2.2rem);
  line-height:1.35; color:#fff; max-width:20ch; }

/* -------------------------------------------------------------------------
   9. FORMULARIOS
   ------------------------------------------------------------------------- */
.e-form{ display:grid; gap:1rem; }
.e-form label{ font-size:.85rem; font-weight:600; color:var(--e-ink); display:block; margin-bottom:.35rem; }
.e-field, .e-form input, .e-form select, .e-form textarea{
  width:100%; padding:.85rem 1rem; font:inherit; color:var(--e-ink);
  background:#fff; border:1.5px solid var(--e-line); border-radius:var(--r-sm);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease); }
.e-form input:focus,.e-form select:focus,.e-form textarea:focus{
  border-color:var(--e-peri); outline:none; box-shadow:var(--sh-focus); }
.e-form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.e-form small{ color:var(--e-slate); font-size:.78rem; }

/* -------------------------------------------------------------------------
   10. HEADER (fallback del tema; HFE lo reemplaza si está activo)
   ------------------------------------------------------------------------- */
.e-header{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.86);
  backdrop-filter:saturate(150%) blur(12px); border-bottom:1px solid var(--e-line);
  transition:box-shadow .3s var(--ease); }
.e-header.scrolled{ box-shadow:0 6px 24px rgba(20,21,43,.08); }
.e-header__bar{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:1.5rem; }
.e-header__logo img{ height:44px; width:auto; }
.e-nav{ display:flex; gap:1.7rem; align-items:center; }
.e-nav a{ color:var(--e-ink); font-weight:600; font-size:.96rem; position:relative; }
.e-nav a::after{ content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0;
  background:var(--e-orange); transition:width .25s var(--ease); }
.e-nav a:hover::after{ width:100%; }
.e-header__cta{ display:flex; gap:.7rem; align-items:center; }
.e-burger{ display:none; background:none; border:0; cursor:pointer; padding:.4rem; }
.e-burger span{ display:block; width:26px; height:2px; background:var(--e-ink); margin:5px 0;
  transition:.3s var(--ease); }

/* Menú móvil */
.e-mobile{ position:fixed; inset:0 0 0 auto; width:min(360px,88vw); background:#fff; z-index:80;
  transform:translateX(100%); transition:transform .35s var(--ease); padding:5rem 2rem 2rem;
  box-shadow:-20px 0 60px rgba(20,21,43,.16); display:flex; flex-direction:column; gap:1.2rem; }
.e-mobile.open{ transform:translateX(0); }
.e-mobile a{ color:var(--e-ink); font-weight:600; font-size:1.15rem; padding:.4rem 0;
  border-bottom:1px solid var(--e-line); }
.e-mobile__close{ position:absolute; top:1.4rem; right:1.4rem; background:none; border:0;
  font-size:1.8rem; cursor:pointer; color:var(--e-ink); line-height:1; }
.e-overlay{ position:fixed; inset:0; background:rgba(20,21,43,.5); z-index:70; opacity:0;
  visibility:hidden; transition:.3s var(--ease); }
.e-overlay.open{ opacity:1; visibility:visible; }

/* -------------------------------------------------------------------------
   11. FOOTER
   ------------------------------------------------------------------------- */
.e-footer{ background:var(--e-grad-ink); color:#C9CBEA; padding-block:4rem 2rem; }
.e-footer a{ color:#C9CBEA; }
.e-footer a:hover{ color:#fff; }
.e-footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.5rem; }
.e-footer__logo img{ height:52px; margin-bottom:1.2rem; }
.e-footer h4{ color:#fff; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  margin:0 0 1.1rem; font-weight:700; }
.e-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:.6rem; font-size:.94rem; }
.e-footer__partner{ margin-top:1.4rem; }
.e-footer__partner span{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--e-peri-soft); margin-bottom:.5rem; }
.e-footer__partner img{ height:46px; background:#fff; padding:8px 12px; border-radius:var(--r-sm); }
.e-footer__base{ margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.12);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.82rem;
  color:var(--e-peri-soft); }

/* -------------------------------------------------------------------------
   12. COOKIE CONSENT (ventana emergente — requisito del cliente)
   ------------------------------------------------------------------------- */
.e-cookie{ position:fixed; left:1.2rem; right:1.2rem; bottom:1.2rem; z-index:120;
  max-width:520px; margin-inline:auto; background:#fff; border:1px solid var(--e-line);
  border-radius:var(--r-md); box-shadow:0 20px 60px rgba(20,21,43,.22); padding:1.4rem 1.5rem;
  transform:translateY(140%); transition:transform .45s var(--ease); }
.e-cookie.show{ transform:translateY(0); }
.e-cookie h4{ font-size:1.02rem; margin:0 0 .4rem; }
.e-cookie p{ font-size:.86rem; color:var(--e-slate); margin:0 0 1rem; }
.e-cookie__row{ display:flex; gap:.7rem; flex-wrap:wrap; }
.e-cookie .e-btn{ padding:.7rem 1.3rem; font-size:.88rem; }

/* -------------------------------------------------------------------------
   13. MOTION / REVEAL
   ------------------------------------------------------------------------- */
[data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].in{ opacity:1; transform:none; }

/* -------------------------------------------------------------------------
   14. RESPONSIVE
   ------------------------------------------------------------------------- */
@media (max-width:980px){
  .e-grid--3,.e-grid--4{ grid-template-columns:repeat(2,1fr); }
  .e-split{ grid-template-columns:1fr; }
  .e-split--rev .e-split__media{ order:0; }
  .e-footer__grid{ grid-template-columns:1fr 1fr; }
  .e-nav,.e-header__cta .e-btn{ display:none; }
  .e-burger{ display:block; }
}
@media (max-width:600px){
  .e-grid--3,.e-grid--4,.e-grid--2{ grid-template-columns:1fr; }
  .e-footer__grid{ grid-template-columns:1fr; }
  .e-hero__strip{ gap:1.4rem; }
  .e-form .row2{ grid-template-columns:1fr; }
}

/* -------------------------------------------------------------------------
   15. ACCESIBILIDAD
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; transition-duration:.001ms!important;
    scroll-behavior:auto!important; }
  [data-reveal]{ opacity:1; transform:none; }
}
.e-skip{ position:absolute; left:-999px; top:0; background:var(--e-indigo); color:#fff;
  padding:.7rem 1.2rem; z-index:200; border-radius:0 0 var(--r-sm) 0; }
.e-skip:focus{ left:0; }
.visually-hidden{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* =========================================================================
   v2 — Componentes añadidos (cursos/webinar, redes sociales, legal, CF7)
   ========================================================================= */

/* Cursos / Programas */
.e-cursos{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.e-curso{ background:#fff; border:1px solid var(--e-line); border-radius:var(--r-lg);
  padding:1.7rem 1.5rem; display:flex; flex-direction:column; gap:.7rem;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease); }
.e-curso:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); border-color:transparent; }
.e-curso__tag{ font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--e-peri); }
.e-curso h3{ font-size:1.1rem; margin:0; line-height:1.2; }
.e-curso p{ font-size:.92rem; color:var(--e-slate); margin:0; }
.e-curso__meta{ margin-top:auto; padding-top:1rem; border-top:1px solid var(--e-line);
  display:flex; gap:.8rem; flex-wrap:wrap; font-size:.8rem; color:var(--e-slate); }
.e-curso__meta b{ color:var(--e-ink); font-weight:700; }
.e-webinar{ background:var(--e-grad-brand); color:#fff; border:0; }
.e-webinar .e-curso__tag{ color:#E9D9FF; }
.e-webinar h3,.e-webinar p{ color:#fff; }
.e-webinar .e-curso__meta{ border-color:rgba(255,255,255,.25); color:#E9D9FF; }
.e-webinar .e-curso__meta b{ color:#fff; }

/* Iconos de redes sociales (cabecera/pie) — 100% editables por el usuario */
.e-social{ display:flex; gap:.55rem; align-items:center; }
.e-social a{ width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; border:1.5px solid var(--e-line); color:var(--e-ink);
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease); }
.e-social a:hover{ background:var(--e-indigo); color:#fff; border-color:var(--e-indigo); transform:translateY(-2px); }
.e-social svg{ width:18px; height:18px; fill:currentColor; }
.on-dark .e-social a,.e-footer .e-social a{ border-color:rgba(255,255,255,.28); color:#fff; }
.on-dark .e-social a:hover,.e-footer .e-social a:hover{ background:#fff; color:var(--e-indigo); }
.e-header .e-social{ margin-right:.4rem; }
@media (max-width:980px){ .e-header .e-social{ display:none; } }

/* Prosa legal (política de privacidad) */
.e-prose{ max-width:800px; }
.e-prose h2{ font-size:1.3rem; margin:2.2rem 0 .8rem; color:var(--e-indigo); }
.e-prose h1{ margin-bottom:.4rem; }
.e-prose p,.e-prose li{ color:var(--e-body); font-size:1rem; line-height:1.7; }
.e-prose ul{ padding-left:1.2rem; margin:.6rem 0 1.2rem; }
.e-prose a{ color:var(--e-purple); }
.e-legal-meta{ color:var(--e-slate); font-size:.85rem; margin-top:2rem; padding-top:1rem;
  border-top:1px solid var(--e-line); }

/* Contact Form 7 — estilos para que herede el design system */
.wpcf7 .e-form input, .wpcf7 .e-form textarea, .wpcf7-form p{ margin:0; }
.wpcf7-form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.wpcf7-form label{ display:block; font-size:.85rem; font-weight:600; color:var(--e-ink); margin-bottom:.35rem; }
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form textarea{
  width:100%; padding:.85rem 1rem; font:inherit; color:var(--e-ink); background:#fff;
  border:1.5px solid var(--e-line); border-radius:var(--r-sm); }
.wpcf7-form input:focus,.wpcf7-form textarea:focus{ border-color:var(--e-peri); outline:none; box-shadow:var(--sh-focus); }
.wpcf7-form .wpcf7-submit{ margin-top:1rem; }
.wpcf7 .wpcf7-response-output{ border-radius:var(--r-sm); margin:1rem 0 0; font-size:.9rem; }
@media (max-width:600px){ .e-cursos{ grid-template-columns:1fr; } .wpcf7-form .row2{ grid-template-columns:1fr; } }
