/* ════════════════════════════════════════════════════════════
   AJFV 2026 · Editorial Design System
   Identidad: Índigo → Violeta (monograma AJFV)
   ════════════════════════════════════════════════════════════ */
/* Fuentes: se cargan una sola vez desde functions.php (Fraunces + Inter), sin @import */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Brand */
  --ink:        #14132e;   /* deep indigo-black */
  --ink-2:      #1d1a47;   /* indigo-950 */
  --indigo:     #4f46e5;   /* primary accent */
  --indigo-br:  #6366f1;
  --violet:     #7c3aed;
  --violet-br:  #a78bfa;
  --grad:       linear-gradient(120deg,#4f46e5 0%,#7c3aed 100%);
  --grad-soft:  linear-gradient(120deg,#eef0ff 0%,#f5eefe 100%);

  /* Neutrals */
  --paper:   #ffffff;
  --cream:   #faf9fd;
  --surface: #f3f2fa;
  --border:  #e7e6f1;
  --border-2:#ecebf4;
  --border-input:#b9b7cc;   /* límite de campos de formulario ≥3:1 (WCAG 1.4.11) */
  --text:    #1b1a2e;
  --muted:   #6c6a86;
  --faint:   #6f6d8a;   /* antes #9b99b3 (2,76:1); ahora ≈4,9:1 sobre blanco */

  /* System */
  --radius-xs: 6px;
  --radius:   12px;
  --radius-lg:20px;
  --radius-xl:28px;
  --shadow-xs: 0 1px 2px rgba(20,19,46,.05);
  --shadow-sm: 0 2px 8px rgba(20,19,46,.06),0 1px 2px rgba(20,19,46,.04);
  --shadow:    0 8px 30px rgba(20,19,46,.10),0 2px 8px rgba(20,19,46,.05);
  --shadow-lg: 0 20px 60px rgba(31,27,90,.18),0 8px 20px rgba(31,27,90,.08);
  --shadow-indigo: 0 12px 32px rgba(79,70,229,.28);

  --font-serif:'Fraunces',Georgia,serif;
  --font-sans:'Inter',system-ui,-apple-system,sans-serif;
  --max-w:1240px;
  --gutter:24px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  font-family:var(--font-sans);font-size:16px;line-height:1.65;
  color:var(--text);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-decoration:none;transition:color .18s}
a:hover{color:var(--violet)}
p{margin-bottom:1rem}
h1,h2,h3,h4,h5{font-family:var(--font-serif);color:var(--ink);line-height:1.15;font-weight:600;letter-spacing:-.01em}
::selection{background:var(--violet-br);color:var(--ink)}

/* ── Layout utils ── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
.container-narrow{max-width:780px;margin:0 auto;padding:0 var(--gutter)}
.section{padding:72px 0}
.section-sm{padding:44px 0}
.section-cream{background:var(--cream)}
.section-surface{background:var(--surface)}
.grid{display:grid;gap:28px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g-side{grid-template-columns:1fr 360px;gap:56px}
.flex{display:flex}.items-center{align-items:center}.gap8{gap:8px}.gap16{gap:16px}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ── Section heading kit ── */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--indigo);margin-bottom:14px;
}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--grad);border-radius:2px}
.eyebrow.center{justify-content:center}
.h-title{font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--ink);margin-bottom:10px;letter-spacing:-.02em}
.h-sub{color:var(--muted);font-size:1rem;max-width:560px}
.section-head{margin-bottom:40px}
.section-head.center{text-align:center}
.section-head.center .h-sub{margin-left:auto;margin-right:auto}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.01em;
  padding:13px 26px;border-radius:100px;border:none;cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s,color .2s;white-space:nowrap;
}
.btn svg{transition:transform .2s}
.btn-primary{background:var(--grad);color:#fff!important;box-shadow:var(--shadow-indigo)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(124,58,237,.36);color:#fff!important}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-ghost{background:var(--surface);color:var(--ink)!important;border:1px solid var(--border)}
.btn-ghost:hover{background:#fff;border-color:var(--indigo);color:var(--indigo)!important;transform:translateY(-2px)}
.btn-light{background:rgba(255,255,255,.1);color:#fff!important;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.btn-light:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5);color:#fff!important;transform:translateY(-2px)}
.btn-sm{padding:9px 18px;font-size:.82rem}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.86rem;color:var(--indigo)}
.link-arrow svg{transition:transform .2s}
.link-arrow:hover svg{transform:translateX(4px)}

/* ════════════════ TOP BAR ════════════════ */
.topbar{
  background:var(--ink);color:rgba(255,255,255,.7);font-size:.78rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar-inner{
  max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);height:40px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.topbar-contact{display:flex;align-items:center;gap:22px}
.topbar-contact a{color:rgba(255,255,255,.7)!important;display:inline-flex;align-items:center;gap:7px;transition:color .18s}
.topbar-contact a:hover{color:#fff!important}
.topbar-contact svg{width:13px;height:13px;opacity:.7}
.topbar-right{display:flex;align-items:center;gap:18px}
.topbar-social{display:flex;align-items:center;gap:12px}
.topbar-social a{color:rgba(255,255,255,.6)!important;display:inline-flex}
.topbar-social a:hover{color:var(--violet-br)!important;transform:translateY(-1px)}
.topbar-social svg{width:15px;height:15px}
.topbar-lang{color:rgba(255,255,255,.5)!important;font-weight:600;letter-spacing:.04em;padding-left:18px;border-left:1px solid rgba(255,255,255,.12)}
.topbar-lang:hover{color:#fff!important}

/* ════════════════ HEADER ════════════════ */
#site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border);transition:box-shadow .25s}
#site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);height:76px;display:flex;align-items:center;gap:26px}
.site-logo{flex-shrink:0;display:flex;align-items:center}
.site-logo img{height:46px;width:auto}
.site-logo .logo-fallback{font-family:var(--font-serif);font-weight:700;font-size:1.05rem;color:var(--ink);line-height:1.1}

#primary-nav{flex:1}
#primary-nav>ul{list-style:none;display:flex;align-items:center;gap:2px}
#primary-nav>ul>li{position:relative}
#primary-nav>ul>li>a{display:flex;align-items:center;gap:5px;padding:9px 11px;border-radius:8px;font-size:.82rem;font-weight:600;letter-spacing:.005em;color:var(--text);white-space:nowrap;transition:all .16s}
.mobile-nav-head,.mobile-nav-cta{display:none}
#primary-nav>ul>li.menu-item-has-children>a::after{content:'';width:7px;height:7px;border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
#primary-nav>ul>li:hover>a{color:var(--indigo);background:var(--surface)}
#primary-nav>ul>li:hover>a::after{transform:rotate(225deg) translateY(-2px);border-color:var(--indigo)}
#primary-nav>ul>li.current-menu-item>a,#primary-nav>ul>li.current-menu-ancestor>a{color:var(--indigo)}
/* dropdown */
#primary-nav .sub-menu{list-style:none;padding-left:0;display:block;opacity:0;visibility:hidden;transform:translateY(8px);position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:10px;z-index:200;transition:opacity .2s,transform .2s,visibility .2s}
#primary-nav li:hover>.sub-menu,#primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
#primary-nav .sub-menu::before{content:'';position:absolute;top:-6px;left:24px;width:12px;height:12px;background:#fff;border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}
#primary-nav .sub-menu li{position:relative}
#primary-nav .sub-menu li a{display:block;padding:10px 14px;font-size:.84rem;color:var(--text);border-radius:8px;transition:all .14s}
#primary-nav .sub-menu li a:hover{background:var(--grad-soft);color:var(--indigo);padding-left:18px}
#primary-nav .sub-menu .sub-menu{top:-10px;left:calc(100% + 8px)}

.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-search-btn{width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:all .18s}
.header-search-btn:hover{background:var(--grad);color:#fff;border-color:transparent}
.header-search-btn svg{width:17px;height:17px}
.btn-join{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:#fff!important;font-size:.83rem;font-weight:600;padding:10px 20px;border-radius:100px;box-shadow:var(--shadow-indigo);transition:transform .2s,box-shadow .2s}
.btn-join:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(124,58,237,.4);color:#fff!important}
.btn-join svg{width:15px;height:15px}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink);margin-left:auto}
.mobile-toggle svg{width:26px;height:26px}

/* search overlay */
.search-overlay{
  position:fixed;inset:0;
  background:rgba(14,13,38,.78);backdrop-filter:blur(10px);
  z-index:2000;display:none;
  align-items:center;justify-content:center;
}
.search-overlay.open{display:flex;animation:fade .22s}
.so-inner{
  width:min(660px,92vw);
  display:flex;flex-direction:column;align-items:center;gap:20px;
}
.so-hint{
  color:rgba(255,255,255,.45);font-size:.8rem;letter-spacing:.03em;text-align:center;
}
.so-hint kbd{
  display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:5px;padding:1px 6px;font-size:.75rem;font-family:inherit;
}
.so-inner form{width:100%;position:relative}
.search-overlay input{
  width:100%;font-size:1.4rem;font-family:var(--font-serif);
  padding:22px 64px 22px 28px;border:none;border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.4);background:#fff;color:var(--ink);
  box-sizing:border-box;
}
.search-overlay input:focus{outline:3px solid var(--violet-br)}
.search-overlay .so-submit{
  position:absolute;right:16px;top:50%;transform:translateY(-50%);
  background:var(--grad);border:none;width:46px;height:46px;border-radius:12px;
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:transform .15s,box-shadow .15s;
}
.search-overlay .so-submit:hover{transform:translateY(-50%) scale(1.06);box-shadow:0 8px 20px rgba(124,58,237,.4)}
.search-overlay .so-close{
  display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.6);background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:100px;padding:8px 18px;
  font-size:.82rem;cursor:pointer;
  transition:background .15s,color .15s;
}
.search-overlay .so-close svg{width:14px;height:14px}
.search-overlay .so-close:hover{background:rgba(255,255,255,.15);color:#fff}
@keyframes fade{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

/* ════════════════ HERO (editorial cover) ════════════════ */
.hero{position:relative;background:var(--ink);overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse 50% 60% at 85% 20%,rgba(124,58,237,.35),transparent 60%),
  radial-gradient(ellipse 50% 50% at 15% 90%,rgba(79,70,229,.28),transparent 60%);}
.hero::after{content:'';position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px}
.hero-inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:64px var(--gutter) 72px;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}

.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(167,139,250,.14);border:1px solid rgba(167,139,250,.28);color:var(--violet-br);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 16px;border-radius:100px;margin-bottom:26px}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--violet-br);box-shadow:0 0 0 4px rgba(167,139,250,.25)}
.hero h1{color:#fff;font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:22px;font-weight:600}
.hero h1 em{font-style:italic;background:linear-gradient(120deg,#a78bfa,#c4b5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{color:rgba(255,255,255,.66);font-size:1.1rem;font-weight:300;line-height:1.65;margin-bottom:34px;max-width:500px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:46px}
.hero-stats{display:flex;gap:40px;padding-top:34px;border-top:1px solid rgba(255,255,255,.1)}
.hero-stat .num{font-family:var(--font-serif);font-size:2.4rem;font-weight:600;background:linear-gradient(120deg,#fff,#c4b5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.hero-stat .lbl{font-size:.74rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;margin-top:7px}

/* Hero slider outer + label */
.hero-slider-outer{display:flex;flex-direction:column;gap:10px}
.hs-label{
  display:flex;align-items:center;gap:12px;
}
.hs-label-line{flex:1;height:1px;background:rgba(255,255,255,.15)}
.hs-label-text{
  color:rgba(255,255,255,.45);font-size:.68rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
}
/* Hero slider */
.hero-slider{
  border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:0 24px 60px rgba(15,14,40,.5);
}
/* ── Imagen ── */
.hs-img-wrap{
  display:grid;position:relative;
  aspect-ratio:16/9;background:var(--ink-2);
}
.hs-img{
  grid-row:1;grid-column:1;
  opacity:0;transition:opacity .6s ease;
}
.hs-img.active{opacity:1}
.hs-img img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;transition:transform 7s ease;
}
.hs-img.active img{transform:scale(1.04)}
/* Flechas sobre la imagen */
.hs-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(15,14,40,.45);backdrop-filter:blur(6px);
  color:#fff;display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s;
}
.hs-arrow:hover{background:rgba(15,14,40,.75);transform:translateY(-50%) scale(1.08)}
.hs-prev{left:12px}
.hs-next{right:12px}
/* ── Captions apiladas ── */
.hs-captions{
  display:grid;position:relative;
  background:linear-gradient(135deg,#1a1744 0%,#27206b 100%);
}
.hs-cap{
  grid-row:1;grid-column:1;
  display:flex;align-items:center;gap:16px;
  padding:22px 24px;text-decoration:none!important;
  opacity:0;transform:translateY(4px);
  transition:opacity .5s,transform .5s;pointer-events:none;
}
.hs-cap.active{opacity:1;transform:translateY(0);pointer-events:auto}
.hs-cap-body{flex:1;min-width:0}
.hs-cap h2{
  color:#fff;font-size:clamp(.92rem,1.6vw,1.15rem);
  line-height:1.3;letter-spacing:-.01em;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.hs-cap-cta{
  flex-shrink:0;
  width:40px;height:40px;border-radius:50%;
  background:rgba(167,139,250,.18);border:1px solid rgba(167,139,250,.3);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--violet-br);
  transition:background .2s,transform .2s,border-color .2s;
}
.hs-cap:hover .hs-cap-cta{
  background:var(--grad);border-color:transparent;color:#fff;transform:scale(1.08);
}
/* Dots sobre la imagen (abajo centrado) */
.hs-dots{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  z-index:2;display:flex;gap:7px;align-items:center;
}
.hs-dot{
  width:7px;height:7px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,.4);transition:background .2s,transform .2s;
}
.hs-dot.active{background:#fff;transform:scale(1.3)}

/* ════════════════ TICKER / cat strip ════════════════ */
.ticker{background:var(--paper);border-bottom:1px solid var(--border)}
.ticker-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:0;height:54px;overflow-x:auto;scrollbar-width:none}
.ticker-inner::-webkit-scrollbar{display:none}
.ticker-label{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);padding-right:18px;margin-right:6px;border-right:1px solid var(--border);white-space:nowrap;flex-shrink:0}
.ticker-label .pulse{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 0 rgba(124,58,237,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,58,237,.5)}70%{box-shadow:0 0 0 8px rgba(124,58,237,0)}100%{box-shadow:0 0 0 0 rgba(124,58,237,0)}}
.ticker-link{padding:0 16px;font-size:.82rem;font-weight:500;color:var(--muted)!important;white-space:nowrap;height:100%;display:flex;align-items:center;border-bottom:2px solid transparent;transition:all .16s}
.ticker-link:hover{color:var(--ink)!important;border-bottom-color:var(--violet)}

/* ════════════════ CARDS ════════════════ */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.card-imgwrap{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--surface)}
.card-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-imgwrap img{transform:scale(1.06)}
.card-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);color:rgba(255,255,255,.18);font-size:3rem;font-family:var(--font-serif)}
.card-cat-tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(4px);color:var(--indigo);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:100px;z-index:2}
.card-body{padding:22px;flex:1;display:flex;flex-direction:column}
/* La tarjeta entera es un enlace (foto incluida) */
a.card{color:inherit;text-decoration:none}
.card-title{font-size:1.08rem;line-height:1.32;margin-bottom:10px;color:var(--ink);transition:color .2s}
.card-title a{color:var(--ink)!important;background-image:linear-gradient(var(--violet),var(--violet));background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s}
.card:hover .card-title,.card:hover .card-title a{color:var(--indigo)!important}
.card-excerpt{font-size:.86rem;color:var(--muted);line-height:1.55;margin-bottom:14px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--faint);margin-top:auto;padding-top:14px;border-top:1px solid var(--border-2)}
.card-more{margin-left:auto;font-weight:700;color:var(--indigo);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.card:hover .card-more{opacity:1;transform:none}
/* Sección con menos aire arriba (listados bajo un hero) */
.section-tight{padding-top:34px}
.card-meta svg{width:13px;height:13px}
.card-lg{grid-row:span 2}
.card-lg .card-imgwrap{aspect-ratio:16/11}
.card-lg .card-title{font-size:1.45rem}
.card-lg .card-body{padding:26px}

/* ════════════════ FEATURE ROW (split) ════════════════ */
.feature-split{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.feature-split::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 30%,rgba(124,58,237,.3),transparent 60%);pointer-events:none}
.feature-split-img{position:relative;min-height:340px;overflow:hidden}
.feature-split-img img{width:100%;height:100%;object-fit:cover}
.feature-split-body{position:relative;z-index:1;padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.feature-split-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(167,139,250,.16);border:1px solid rgba(167,139,250,.3);color:var(--violet-br);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:100px;width:fit-content;margin-bottom:18px}
.feature-split-body h2{color:#fff;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.2;margin-bottom:14px}
.feature-split-body h2 a{color:#fff!important}
.feature-split-body h2 a:hover{color:var(--violet-br)!important}
.feature-split-body p{color:rgba(255,255,255,.66);font-size:.95rem;margin-bottom:26px}
.feature-split-meta{color:rgba(255,255,255,.45);font-size:.78rem;margin-top:22px;display:flex;align-items:center;gap:8px}

/* ════════════════ SIDEBAR ════════════════ */
.swidget{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:26px}
.swidget-head{padding:16px 22px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border)}
.swidget-head .ico{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--indigo);flex-shrink:0}
.swidget-head .ico svg{width:17px;height:17px}
.swidget-head h3{font-family:var(--font-sans);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.swidget-body{padding:6px 0}
.slist{list-style:none}
.slist li{border-bottom:1px solid var(--border-2)}
.slist li:last-child{border-bottom:none}
.slist a{display:flex;gap:13px;padding:13px 22px;align-items:flex-start;transition:background .15s}
.slist a:hover{background:var(--cream)}
.slist .thumb{width:62px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0}
.slist .ph{width:62px;height:48px;border-radius:8px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--indigo);flex-shrink:0;font-size:1.1rem}
.slist .t{font-size:.85rem;font-weight:500;color:var(--ink);line-height:1.38;margin-bottom:3px;transition:color .15s}
.slist a:hover .t{color:var(--indigo)}
.slist .d{font-size:.72rem;color:var(--faint)}
.slist .num-badge{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:var(--surface);color:var(--indigo);font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif)}

/* sidebar cta */
.scta{position:relative;background:var(--ink);border-radius:var(--radius-lg);padding:30px 26px;text-align:center;overflow:hidden;margin-bottom:26px}
.scta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 0%,rgba(124,58,237,.4),transparent 65%)}
.scta>*{position:relative}
.scta .emoji{font-size:2.4rem;margin-bottom:12px}
.scta h3{color:#fff;font-size:1.15rem;margin-bottom:9px}
.scta p{color:rgba(255,255,255,.62);font-size:.84rem;margin-bottom:20px}

/* ════════════════ TOPIC CARDS ════════════════ */
.topic{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px 20px;text-align:center;transition:all .24s;overflow:hidden;display:block;color:inherit}
.topic::before{content:'';position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .24s}
.topic:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent}
.topic:hover::before{opacity:1}
.topic>*{position:relative;z-index:1;transition:color .24s}
.topic .ico{width:54px;height:54px;margin:0 auto 14px;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;font-size:1.6rem;transition:all .24s}
.topic:hover .ico{background:rgba(255,255,255,.16)}
.topic .tt{font-size:1rem;color:var(--ink);margin-bottom:4px}
.topic .tc{font-size:.74rem;color:var(--muted)}
.topic:hover .tt,.topic:hover .tc{color:#fff}

/* ════════════════ PUB CARDS ════════════════ */
.pubrow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pub{display:flex;gap:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:all .22s;align-items:flex-start}
.pub:hover{box-shadow:var(--shadow);border-color:var(--violet-br);transform:translateY(-3px)}
.pub-ico{width:50px;height:62px;border-radius:8px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;flex-shrink:0;box-shadow:var(--shadow-indigo);position:relative}
.pub-ico::after{content:'';position:absolute;top:6px;right:6px;width:14px;height:14px;background:rgba(255,255,255,.25);border-radius:0 8px 0 14px}
.pub-body{min-width:0;flex:1}
.pub-label{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin-bottom:5px}
.pub-title{font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.34;margin-bottom:6px}
.pub-title a{color:var(--ink)!important}
.pub:hover .pub-title a{color:var(--indigo)!important}
.pub-date{font-size:.74rem;color:var(--faint)}

/* ════════════════ CTA BAND ════════════════ */
.cta{position:relative;background:var(--ink);overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(124,58,237,.32),transparent 60%),radial-gradient(ellipse 50% 80% at 90% 100%,rgba(79,70,229,.25),transparent 60%)}
.cta::after{content:'';position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px}
.cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:80px var(--gutter);text-align:center}
.cta h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.14;margin-bottom:18px;letter-spacing:-.02em}
.cta h2 em{font-style:italic;color:var(--violet-br)}
.cta p{color:rgba(255,255,255,.66);font-size:1.08rem;margin-bottom:34px;max-width:540px;margin-left:auto;margin-right:auto}
.cta .btn-primary{font-size:1rem;padding:15px 34px}

/* ════════════════ ARCHIVE / SINGLE ════════════════ */
.page-hero{position:relative;background:var(--ink);overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 100% at 80% 0%,rgba(124,58,237,.3),transparent 60%)}
.page-hero::after{content:'';position:absolute;inset:0;opacity:.4;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px}
.page-hero-inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:56px var(--gutter) 50px}
.crumb{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crumb a{color:rgba(255,255,255,.5)!important}
.crumb a:hover{color:var(--violet-br)!important}
.crumb .sep{opacity:.4}
.page-hero h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.14;letter-spacing:-.02em;max-width:840px}
.page-hero .cat-pill{display:inline-block;background:rgba(167,139,250,.16);border:1px solid rgba(167,139,250,.3);color:var(--violet-br);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:16px}
.page-hero .lead{color:rgba(255,255,255,.6);font-size:1rem;margin-top:14px;max-width:640px}
.page-hero-meta{display:flex;gap:20px;align-items:center;color:rgba(255,255,255,.55);font-size:.84rem;margin-top:22px}
.page-hero-meta .avatar{width:34px;height:34px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.85rem}

/* post list */
.plist{display:flex;flex-direction:column;gap:22px}
.pitem{display:grid;grid-template-columns:200px 1fr;gap:26px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .22s}
.pitem:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pitem-img{position:relative;overflow:hidden;background:var(--surface)}
.pitem-img img{width:100%;height:100%;object-fit:cover;min-height:160px;transition:transform .5s}
.pitem:hover .pitem-img img{transform:scale(1.05)}
.pitem-img .ph{width:100%;height:100%;min-height:160px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:rgba(255,255,255,.18);font-size:2.4rem;font-family:var(--font-serif)}
.pitem-body{padding:24px 26px 24px 0;display:flex;flex-direction:column;justify-content:center}
.pitem-cat{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin-bottom:9px}
.pitem h2{font-size:1.3rem;line-height:1.26;margin-bottom:10px}
.pitem h2 a{color:var(--ink)!important}
.pitem:hover h2 a{color:var(--indigo)!important}
.pitem-ex{font-size:.88rem;color:var(--muted);line-height:1.6;margin-bottom:14px}
.pitem-meta{font-size:.78rem;color:var(--faint);display:flex;gap:16px;align-items:center}

/* single hero */
.single-hero{
  position:relative;min-height:clamp(300px,52vh,540px);
  display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);
}
.single-hero-bg{position:absolute;inset:0}
.single-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.single-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(14,13,38,1) 0%,rgba(14,13,38,.75) 40%,rgba(14,13,38,.18) 100%);
}
.single-hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse 60% 80% at 80% 10%,rgba(124,58,237,.25),transparent 65%);
}
.single-hero::after{
  content:'';position:absolute;inset:0;z-index:1;opacity:.3;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px;
}
.single-hero.has-img::before{opacity:.15}
.single-hero.has-img::after{display:none}
.single-hero-inner{
  position:relative;z-index:2;
  max-width:var(--max-w);margin:0 auto;width:100%;
  padding:80px var(--gutter) 52px;
}
.single-hero-inner .crumb{color:rgba(255,255,255,.5);font-size:.8rem;margin-bottom:12px}
.single-hero-inner .crumb a{color:rgba(255,255,255,.5)}
.single-hero-inner .crumb a:hover{color:#fff}
.single-hero-inner h1{
  color:#fff;font-size:clamp(1.6rem,3.8vw,2.7rem);
  line-height:1.12;letter-spacing:-.02em;max-width:820px;margin:14px 0 20px;
}
.single-hero-meta{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.5);font-size:.83rem}
.single-hero-meta svg{opacity:.6}
/* single */
.article{max-width:760px;margin:0 auto;padding:52px var(--gutter)}
.article-figure{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:40px;box-shadow:var(--shadow);position:relative;margin-top:-90px}
.article-figure img{width:100%;max-height:440px;object-fit:cover}
.entry{font-size:1.08rem;line-height:1.82;color:#2b2a3f}
.entry h2{font-size:1.6rem;margin:2.6rem 0 1rem}
.entry h3{font-size:1.3rem;margin:2rem 0 .8rem}
.entry p{margin-bottom:1.5rem;text-align:left;hyphens:manual}
.entry a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--violet-br)}
.entry a:hover{text-decoration-color:var(--indigo)}
.entry img{border-radius:var(--radius);margin:1.8rem 0}
.entry blockquote{border-left:3px solid var(--violet);padding:8px 26px;margin:2rem 0;font-family:var(--font-serif);font-style:italic;font-size:1.2rem;color:var(--ink);line-height:1.5}
.entry ul,.entry ol{padding-left:1.6rem;margin-bottom:1.5rem}
.entry li{margin-bottom:.5rem}
.entry strong{color:var(--ink)}
.entry [class*="fusion_"],.entry .fusion-builder-live-element{display:none}
.entry img[src*="logoAJFV"]{display:none}

/* ── Noticia: cabecera, figura de portada, compartir, volver ── */
.single-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:14px;color:rgba(255,255,255,.62);font-size:.84rem}
.single-meta-item{display:inline-flex;align-items:center;gap:7px}
.single-meta-item svg{opacity:.7;flex-shrink:0}
.cat-pill-sub{background:rgba(255,255,255,.12);color:#e9e4ff;margin-left:6px}
.entry-lead{margin:0 0 30px;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border)}
.entry-lead img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.entry-lead figcaption{padding:10px 16px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border)}
.entry p{text-align:left;hyphens:manual}
.back-section{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;font-size:.86rem;font-weight:700;color:var(--indigo)}
.back-section:hover{text-decoration:underline;text-underline-offset:3px}
.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:36px 0 22px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.share-row .lbl{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-right:6px}
.share-row a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 15px;border-radius:99px;background:var(--surface);border:1px solid var(--border);color:var(--ink);font-size:.78rem;font-weight:600;transition:all .18s}
.share-row a:hover{background:var(--grad);border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-indigo)}
.share-row svg{width:15px;height:15px;flex-shrink:0}
.postnav-next{text-align:right}
@media(max-width:600px){.share-row a span{display:none}.share-row a{padding:0 11px}.postnav{grid-template-columns:1fr}.postnav-next{text-align:left}}

.tagrow{margin:30px 0 40px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tagrow .lbl{font-size:.74rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}
.tagrow a{background:var(--surface);color:var(--text)!important;font-size:.78rem;padding:5px 13px;border-radius:100px;border:1px solid var(--border);transition:all .16s}
.tagrow a:hover{background:var(--grad);color:#fff!important;border-color:transparent}

.postnav{margin-top:40px;padding-top:28px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:20px}
.postnav a{display:block;padding:22px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s}
.postnav a:hover{border-color:var(--indigo);background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.postnav .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--violet);font-weight:700;margin-bottom:7px}
.postnav .t{font-weight:600;color:var(--ink);font-size:.92rem;line-height:1.34}

/* pagination */
.pagination{display:flex;justify-content:center;gap:7px;margin:52px 0 0}
.pagination ul{display:flex;gap:7px;list-style:none}
.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:12px;font-size:.9rem;font-weight:600;border:1px solid var(--border);color:var(--text);background:#fff;transition:all .18s}
.pagination a:hover{border-color:var(--indigo);color:var(--indigo);transform:translateY(-2px)}
.pagination .current{background:var(--grad);color:#fff!important;border-color:transparent;box-shadow:var(--shadow-indigo)}

/* ════════════════ FOOTER ════════════════ */
#site-footer{background:var(--ink);position:relative;overflow:hidden}
#site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad)}
.footer-cta-strip{border-bottom:1px solid rgba(255,255,255,.08);background:rgba(124,58,237,.06)}
.footer-top{padding:68px 0 50px}
.footer-grid{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:2.4fr 1fr 1fr 1.2fr;gap:48px}
.footer-brand img{height:50px;margin-bottom:20px;filter:brightness(0) invert(1);opacity:.92}
.footer-brand p{color:rgba(255,255,255,.55);font-size:.88rem;line-height:1.75;max-width:340px}
.footer-social{display:flex;gap:10px;margin-top:22px}
.footer-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7)!important;transition:all .18s}
.footer-social a:hover{background:var(--grad);border-color:transparent;color:#fff!important;transform:translateY(-3px)}
.footer-social svg{width:16px;height:16px}
.footer-col h4{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-br);margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:11px}
.footer-col a{color:rgba(255,255,255,.55)!important;font-size:.87rem;transition:all .16s;display:inline-flex;align-items:center;gap:6px}
.footer-col a:hover{color:#fff!important;gap:9px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom-inner{max-width:var(--max-w);margin:0 auto;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.footer-bottom p{color:rgba(255,255,255,.62);font-size:.8rem;margin:0}
.footer-bottom-links{display:flex;gap:22px}
.footer-bottom-links a{color:rgba(255,255,255,.4)!important;font-size:.8rem}
.footer-bottom-links a:hover{color:var(--violet-br)!important}

/* forms */
input[type=text],input[type=email],input[type=search],input[type=tel],select,textarea{font-family:var(--font-sans);font-size:.92rem;border:1px solid var(--border-input);border-radius:10px;padding:11px 15px;width:100%;color:var(--text);background:#fff;transition:border-color .18s,box-shadow .18s}
input:focus,select:focus,textarea:focus{outline:2px solid var(--indigo);outline-offset:1px;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.35)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ════════════════ SIDEBAR STACK + PROMO BLOCKS ════════════════ */
.sidebar{align-self:start}
.sidebar-stack{display:flex;flex-direction:column;gap:22px}

/* Promo card base (CODA / Juez Europeo) */
.sb-promo{position:relative;display:block;border-radius:var(--radius-lg);padding:26px 24px 24px;overflow:hidden;color:#fff;isolation:isolate;transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s}
.sb-promo:hover{transform:translateY(-4px);color:#fff}
.sb-promo-tag{display:inline-block;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:100px;margin-bottom:14px}
.sb-promo-tag.light{background:rgba(255,255,255,.16);color:#fff}
.sb-promo-title{display:block;font-family:var(--font-serif);font-size:1.32rem;font-weight:600;line-height:1.18;letter-spacing:-.01em;margin-bottom:9px}
.sb-promo-text{display:block;font-size:.86rem;line-height:1.55;opacity:.82;margin-bottom:18px}
.sb-promo-link{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;letter-spacing:.01em}
.sb-promo-link svg{width:15px;height:15px;transition:transform .22s}
.sb-promo:hover .sb-promo-link svg{transform:translateX(4px)}
.sb-promo-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);margin-bottom:16px}
.sb-promo-ico svg{width:24px;height:24px}

/* CODA — escudo / protección al asociado */
.sb-coda{background:linear-gradient(150deg,#1d1a47 0%,#4f46e5 60%,#7c3aed 120%);box-shadow:var(--shadow-indigo)}
.sb-coda::after{content:'';position:absolute;right:-40px;bottom:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.5),transparent 70%);z-index:-1}
.sb-coda .sb-promo-tag{background:rgba(255,255,255,.16);color:#fff}
.sb-coda:hover{box-shadow:0 18px 44px rgba(79,70,229,.4)}

/* Juez Europeo — azul UE con corona de estrellas */
.sb-eu{background:linear-gradient(160deg,#0b1f6b 0%,#15348f 100%);box-shadow:0 12px 32px rgba(11,31,107,.32)}
.sb-eu .sb-promo-tag{background:rgba(255,204,0,.18);color:#ffd84d}
.sb-eu .sb-promo-link{color:#ffd84d}
.sb-eu:hover{box-shadow:0 18px 44px rgba(11,31,107,.45)}
.sb-eu-stars{position:absolute;top:-26px;right:-26px;width:120px;height:120px;opacity:.9;z-index:-1}
.sb-eu-stars span{position:absolute;top:50%;left:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;
  background:#ffcc00;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  transform-origin:5.5px 60px}
.sb-eu-stars span:nth-child(1){transform:rotate(0deg) translateY(-60px)}
.sb-eu-stars span:nth-child(2){transform:rotate(30deg) translateY(-60px)}
.sb-eu-stars span:nth-child(3){transform:rotate(60deg) translateY(-60px)}
.sb-eu-stars span:nth-child(4){transform:rotate(90deg) translateY(-60px)}
.sb-eu-stars span:nth-child(5){transform:rotate(120deg) translateY(-60px)}
.sb-eu-stars span:nth-child(6){transform:rotate(150deg) translateY(-60px)}
.sb-eu-stars span:nth-child(7){transform:rotate(180deg) translateY(-60px)}
.sb-eu-stars span:nth-child(8){transform:rotate(210deg) translateY(-60px)}
.sb-eu-stars span:nth-child(9){transform:rotate(240deg) translateY(-60px)}
.sb-eu-stars span:nth-child(10){transform:rotate(270deg) translateY(-60px)}
.sb-eu-stars span:nth-child(11){transform:rotate(300deg) translateY(-60px)}
.sb-eu-stars span:nth-child(12){transform:rotate(330deg) translateY(-60px)}

/* swidget footer + dot */
.swidget-foot{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 22px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--indigo);border-top:1px solid var(--border);background:var(--cream);transition:background .16s,color .16s}
.swidget-foot:hover{background:var(--grad-soft)}
.swidget-foot svg{width:14px;height:14px;transition:transform .2s}
.swidget-foot:hover svg{transform:translateX(3px)}
.slist .dot-cat{flex-shrink:0;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--grad)}

/* Rincón del Opositor (scta enhanced) */
.scta-glyph{position:absolute;right:14px;top:6px;font-size:4.4rem;opacity:.16;line-height:1;z-index:0;filter:grayscale(.2)}
.scta.sb-opo{text-align:left;padding:28px 26px}
.scta.sb-opo>*{position:relative;z-index:1}
.scta.sb-opo h3{margin-top:4px}
.sb-opo-btns{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.sb-opo-btns .btn{width:100%;justify-content:center}

/* Síguenos */
.sb-social{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;text-align:center}
.sb-social h3{font-family:var(--font-sans);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.sb-social-links{display:flex;justify-content:center;gap:10px}
.sb-social-links a{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink)!important;transition:all .18s}
.sb-social-links a:hover{background:var(--grad);border-color:transparent;color:#fff!important;transform:translateY(-3px)}
.sb-social-links svg{width:18px;height:18px}

/* ════════════════ PDF embed ════════════════ */
.entry-pdf-block{
  margin:2rem 0;
  display:flex;flex-direction:column;align-items:center;gap:16px;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:16px;
  box-shadow:var(--shadow-sm);
}
.entry-pdf-viewer{
  width:100%;height:clamp(480px,70vh,760px);
  border:none;border-radius:var(--radius);
  background:#f4f4f8;
}
.entry-pdf-dl{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--grad);color:#fff!important;
  font-weight:600;font-size:.92rem;
  padding:12px 28px;border-radius:100px;
  box-shadow:var(--shadow-indigo);text-decoration:none!important;
  transition:transform .2s,box-shadow .2s;
}
.entry-pdf-dl:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(124,58,237,.36)}
.entry-pdf-dl svg{flex-shrink:0}

/* ════════════════ ENTRY — contenido limpio (botones/vídeo/etc.) ════════════════ */
.page-main{min-width:0}
.entry-figure{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:30px;box-shadow:var(--shadow)}
.entry-figure img{width:100%;max-height:420px;object-fit:cover}
.entry-btn-wrap{margin:1.2rem 0}
.entry-btn{display:inline-flex;align-items:center;gap:9px;background:var(--grad);color:#fff!important;font-weight:600;font-size:.92rem;padding:12px 24px;border-radius:100px;box-shadow:var(--shadow-indigo);text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.entry-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(124,58,237,.36);color:#fff!important}
.entry-btn svg{width:15px;height:15px;transition:transform .2s}
.entry-btn:hover svg{transform:translateX(3px)}
.entry-sep{border:none;height:1px;background:linear-gradient(90deg,var(--border),transparent);margin:2rem 0}
.entry-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;margin:1.8rem 0;box-shadow:var(--shadow-sm)}
.entry-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.entry-check{list-style:none;padding-left:0!important}
.entry-check li{position:relative;padding-left:30px;margin-bottom:.7rem}
.entry-check li::before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:6px;background:var(--grad-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center}

/* ════════════════ ENTRY — maquetación moderna de páginas interiores ════════════════ */
/* Encabezados con acento */
.entry h2,.entry .entry-h{font-size:clamp(1.4rem,2.6vw,1.7rem);margin:2.4rem 0 1.1rem;letter-spacing:-.01em;scroll-margin-top:100px}
.entry h2::after,.entry h2.entry-h::after{content:'';display:block;width:46px;height:3px;background:var(--grad);border-radius:3px;margin-top:.65rem}
.entry h3,.entry h3.entry-h{font-size:1.25rem;margin:2rem 0 .8rem}
.entry h4,.entry h4.entry-h{font-size:1.08rem;margin:1.6rem 0 .7rem}
.entry>:first-child{margin-top:0}

/* Tablas (p. ej. tablas de protección de datos en los toggles) */
.entry table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.entry table td,.entry table th{padding:11px 15px;border:1px solid var(--border-2);text-align:left;vertical-align:top;line-height:1.55}
.entry table th,.entry table tr:first-child td[colspan]{background:var(--grad-soft);color:var(--ink);font-weight:700}
.entry table tr:nth-child(even){background:var(--cream)}
.entry table a{word-break:break-word}

/* Rejilla de columnas (fusion_builder_column → flex) */
.entry-row{display:flex;flex-wrap:wrap;gap:28px;margin:1.8rem 0;align-items:flex-start}
.entry-row:first-child{margin-top:0}
.entry-col{flex:1 1 0;min-width:min(100%,240px)}
.entry-col>:first-child,.entry-row>:first-child{margin-top:0}
.entry-col>:last-child{margin-bottom:0}

/* Imágenes con marco */
.entry-img{margin:1.8rem auto;text-align:center}
.entry-img a{display:inline-block}
.entry-img img{max-width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0}

/* Acordeones / toggles nativos */
.entry-accordion{margin:1.8rem 0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-xs)}
.entry-accordion .entry-toggle{margin:0;border:none;border-radius:0;border-bottom:1px solid var(--border);box-shadow:none}
.entry-accordion .entry-toggle:last-child{border-bottom:none}
.entry-toggle{margin:1rem 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-xs)}
.entry-toggle>summary{list-style:none;cursor:pointer;padding:16px 22px;font-family:var(--font-sans);font-weight:600;font-size:.96rem;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:background .16s,color .16s}
.entry-toggle>summary::-webkit-details-marker{display:none}
.entry-toggle>summary::after{content:'';flex-shrink:0;width:9px;height:9px;border-right:2px solid var(--indigo);border-bottom:2px solid var(--indigo);transform:rotate(45deg);transition:transform .25s}
.entry-toggle>summary:hover{background:var(--cream)}
.entry-toggle[open]>summary{background:var(--grad-soft);color:var(--indigo)}
.entry-toggle[open]>summary::after{transform:rotate(-135deg)}
.entry-toggle-body{padding:6px 22px 20px}
.entry-toggle-body>:first-child{margin-top:.5rem}
.entry-toggle-body>:last-child{margin-bottom:0}
.entry-toggle-body table{margin-top:.6rem}

/* Testimonios → citas */
.entry-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin:1.8rem 0}
.entry-quote{position:relative;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 26px 22px;margin:0;font-style:normal}
.entry-quote::before{content:'\201C';position:absolute;top:8px;left:18px;font-family:var(--font-serif);font-size:3.4rem;color:var(--violet-br);opacity:.45;line-height:1}
.entry-quote .eq-body{position:relative;font-size:.94rem;line-height:1.7;color:var(--text)}
.entry-quote .eq-body p:last-child{margin-bottom:0}
.entry-quote cite{display:block;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-style:normal;font-weight:700;font-size:.8rem;letter-spacing:.01em;color:var(--indigo)}

/* Tarjetas (flip boxes / content boxes) */
.entry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:1.8rem 0}
.entry-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .24s,box-shadow .24s,border-color .24s}
.entry-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.entry-card img{margin:0}
.entry-card .ec-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--surface);border-radius:0}
.entry-card>.ec-tag{margin:18px 22px 0;width:fit-content;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);background:var(--grad-soft);padding:4px 11px;border-radius:100px}
.entry-card>h4{font-family:var(--font-serif);font-size:1.1rem;margin:12px 22px 0;color:var(--ink)}
.entry-card>h4::after{display:none}
.entry-card .ec-body{padding:10px 22px 22px;font-size:.9rem;line-height:1.62;color:var(--muted);flex:1}
.entry-card .ec-body>:first-child{margin-top:0}
.entry-card .ec-body>:last-child{margin-bottom:0}
/* Caja con icono */
.entry-card.entry-iconbox{padding:26px 24px}
.entry-iconbox .ec-ico{width:50px;height:50px;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--indigo);margin-bottom:16px}
.entry-iconbox .ec-ico svg{width:24px;height:24px}
.entry-iconbox>h4{margin:0 0 8px}
.entry-iconbox .ec-body{padding:0}
.entry-iconbox .ec-link{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-weight:700;font-size:.84rem;color:var(--indigo)}
.entry-iconbox .ec-link:hover{gap:9px}

/* Fichas de persona */
.entry-person{display:flex;gap:22px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin:1.4rem 0;align-items:flex-start}
.entry-person .ep-pic{width:108px;height:108px;border-radius:16px;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm);margin:0}
.entry-person .ep-info{min-width:0}
.entry-person h4{font-family:var(--font-serif);font-size:1.2rem;margin:0 0 3px;color:var(--ink)}
.entry-person h4::after{display:none}
.entry-person .ep-role{font-size:.78rem;font-weight:700;color:var(--violet);text-transform:uppercase;letter-spacing:.05em;margin-bottom:11px}
.entry-person .ep-bio{font-size:.92rem;line-height:1.66;color:var(--muted)}
.entry-person .ep-bio p:last-child{margin-bottom:0}

/* Listado de noticias por categoría (recent_posts/blog → posts reales) */
.entry-postlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:24px;margin:1.8rem 0}
.entry-postlist:first-child{margin-top:0}

/* ════════════════ RESPONSIVE ════════════════ */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:44px}
  .hero-slider{max-width:560px}
  .g-side{grid-template-columns:1fr;gap:40px}
  .feature-split{grid-template-columns:1fr}
  .feature-split-img{min-height:240px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .pubrow{grid-template-columns:1fr 1fr}
  .card-lg{grid-row:auto}
  .card-lg .card-title{font-size:1.2rem}
  .sidebar-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
  .sidebar-stack>.swidget,.sidebar-stack>.scta.sb-opo{grid-column:1/-1}
}

/* ══════════════════════════════════════════
   MOBILE PADDING — valores px fijos para que
   funcionen independientemente de --gutter
   ══════════════════════════════════════════ */
@media(max-width:900px){
  /* Todos los wrappers de anchura máxima */
  .container,
  .container-narrow,
  .header-inner,
  .topbar-inner,
  .hero-inner,
  .page-hero-inner,
  .single-hero-inner,
  .footer-grid,
  .footer-bottom-inner,
  .ticker-inner,
  .cta-inner {
    padding-left:  20px !important;
    padding-right: 20px !important;
  }
}

/* ── Hamburger breakpoint ── */
@media(max-width:900px){
  #primary-nav{display:none!important}
  .header-search-btn{display:none}
  .mobile-toggle{display:flex!important}
  .header-inner{height:68px}
  .site-logo img{height:42px}
}

/* ── Tablet ── */
@media(max-width:768px){
  :root{--gutter:20px}
  .topbar{font-size:.74rem}
  .topbar-contact a:not(:first-child),.topbar-social{display:none}
  .btn-join span{display:none}
  .btn-join{padding:10px 12px}
  /* hero portada */
  .hero-inner{padding:36px var(--gutter) 44px;gap:30px}
  .hero h1{font-size:clamp(1.8rem,6.5vw,2.3rem)}
  .hero-desc{font-size:.97rem}
  .hero-actions{gap:10px}
  .hero-actions .btn{flex:1;justify-content:center}
  .hero-stats{gap:18px 26px;flex-wrap:wrap;padding-top:22px}
  .hero-stat .num{font-size:1.65rem}
  .hero-slider-outer{gap:8px}
  .hs-label-text{font-size:.64rem}
  .hero-slider{max-width:none}
  /* single hero */
  .single-hero{min-height:clamp(240px,48vw,380px)}
  .single-hero-inner{padding:56px var(--gutter) 36px}
  .single-hero-inner h1{font-size:clamp(1.4rem,5.5vw,2rem);margin:10px 0 14px}
  /* page hero */
  .page-hero-inner{padding:38px var(--gutter) 34px}
  .page-hero h1{font-size:clamp(1.5rem,5vw,2rem)}
  /* grids */
  .g2,.g3,.g4,.pubrow{grid-template-columns:1fr}
  .sidebar-stack{grid-template-columns:1fr}
  .sidebar-stack>.swidget,.sidebar-stack>.scta.sb-opo{grid-column:auto}
  /* footer */
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom-inner{flex-direction:column;text-align:center;gap:10px}
  /* listados */
  .pitem{grid-template-columns:1fr}
  .pitem-img{display:none}
  .pitem-body{padding:20px}
  /* article */
  .postnav{grid-template-columns:1fr}
  .article-figure{margin-top:0}
  .section{padding:44px 0}
  .section-head{margin-bottom:28px}
  .feature-split-body{padding:28px 20px}
  .cta-inner{padding:52px var(--gutter)}
  .entry-row{gap:18px;margin:1.2rem 0}
  .entry-person{flex-direction:column;gap:14px}
  .entry-person .ep-pic{width:88px;height:88px}
  .entry table{font-size:.82rem}
  .entry table td,.entry table th{padding:8px 10px}
  .topic{padding:20px 16px}
  .topic .ico{width:46px;height:46px;font-size:1.35rem}
  /* share/tags */
  .share-row{gap:10px;flex-wrap:wrap}
  /* PDF viewer */
  .entry-pdf-viewer{height:clamp(300px,60vh,480px)}
}

/* ── Móvil pequeño ── */
@media(max-width:520px){
  :root{--gutter:16px}
  .topbar-inner{justify-content:center;gap:12px}
  .topbar-lang{padding-left:12px}
  .topbar-contact{display:none}
  /* hero portada */
  .hero-inner{padding:28px var(--gutter) 36px;gap:24px}
  .hero h1{font-size:clamp(1.6rem,8vw,2rem)}
  .hero-actions .btn{font-size:.84rem;padding:11px 18px}
  .hero-stats{gap:14px}
  .hero-stat{flex:1;min-width:76px}
  .hero-stat .num{font-size:1.5rem}
  /* single hero */
  .single-hero{min-height:220px}
  .single-hero-inner{padding:44px var(--gutter) 28px}
  .single-hero-inner h1{font-size:clamp(1.25rem,7vw,1.7rem)}
  /* slider */
  .hs-cap{padding:16px var(--gutter)}
  .hs-cap h2{font-size:.88rem}
  .hs-cap-cta{width:34px;height:34px}
  /* listas */
  .pitem-body{padding:16px}
  /* footer */
  .footer-grid{grid-template-columns:1fr;gap:22px}
  .footer-col{border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
  .footer-brand{border:none;padding-top:0}
  /* misc */
  .pagination a,.pagination span{min-width:38px;height:38px;font-size:.82rem}
  .share-row{gap:8px}
  .postnav a{font-size:.86rem}
  /* entry */
  .entry{font-size:1rem;line-height:1.76}
  /* PDF viewer */
  .entry-pdf-viewer{height:clamp(260px,55vh,400px)}
  .entry-pdf-block{padding:10px}
}

/* ════════════════ MOBILE NAV — panel deslizante + acordeón ════════════════ */
body.nav-open{overflow:hidden}
.nav-backdrop{position:fixed;inset:0;background:rgba(20,19,46,.5);backdrop-filter:blur(3px);z-index:1090;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.nav-backdrop.show{opacity:1;visibility:visible}

@media(max-width:900px){
  #primary-nav.open{display:flex!important;flex-direction:column;position:fixed;top:0;right:0;bottom:0;
    width:min(340px,88vw);background:#fff;z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:-20px 0 60px rgba(20,19,46,.22);animation:navSlide .32s cubic-bezier(.2,.8,.3,1)}
  @keyframes navSlide{from{transform:translateX(100%)}to{transform:translateX(0)}}

  .mobile-nav-head{display:flex!important;align-items:center;justify-content:space-between;
    padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:2}
  .mobile-nav-logo{height:38px;width:auto}
  .mobile-nav-close{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex-shrink:0}
  .mobile-nav-close svg{width:20px;height:20px}

  #primary-nav.open>ul{flex-direction:column;gap:0;align-items:stretch;padding:8px 14px}
  #primary-nav.open>ul>li{position:static}
  #primary-nav.open li{border-bottom:1px solid var(--border-2)}
  #primary-nav.open .sub-menu li:last-child{border-bottom:none}
  #primary-nav.open a{display:flex;align-items:center;justify-content:space-between;
    font-size:1rem;font-weight:600;color:var(--ink);padding:15px 12px;border-radius:0;white-space:normal}
  #primary-nav.open>ul>li>a{font-size:1.06rem}

  /* caret en padres */
  #primary-nav.open .menu-item-has-children>a::after{content:'';flex-shrink:0;width:9px;height:9px;
    border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);
    transition:transform .25s;margin-left:10px;position:static}
  #primary-nav.open .menu-item-has-children.is-open>a::after{transform:rotate(-135deg)}
  #primary-nav.open .menu-item-has-children.is-open>a{color:var(--indigo)}

  /* submenús ocultos hasta abrir */
  #primary-nav.open .sub-menu{display:none;opacity:1;visibility:visible;transform:none;position:static;
    box-shadow:none;border:none;border-radius:0;min-width:0;padding:0 0 8px 14px;margin-top:-2px}
  #primary-nav.open .menu-item-has-children.is-open>.sub-menu{display:block}
  #primary-nav.open .sub-menu::before{display:none}
  #primary-nav.open .sub-menu a{font-size:.94rem;font-weight:500;color:var(--text);padding:12px 12px}
  #primary-nav.open .sub-menu .sub-menu a{font-size:.88rem;color:var(--muted)}

  .mobile-nav-cta{display:block!important;padding:18px 20px 28px;margin-top:auto}
  .mobile-nav-cta .btn{width:100%;justify-content:center;padding:14px}
}

/* ── Contact Form 7 ── */
.wpcf7{
  background:linear-gradient(135deg,#1d1a47 0%,#2d2a6e 60%,#3b1f6b 100%);
  border-radius:20px;
  padding:32px 36px 36px;
  margin:2rem 0;
  box-shadow:0 20px 60px rgba(20,19,46,.35);
  position:relative;
  overflow:hidden;
}
.wpcf7::before{
  content:'';
  position:absolute;
  top:-60px;right:-60px;
  width:260px;height:260px;
  background:radial-gradient(circle,rgba(124,58,237,.22) 0%,transparent 70%);
  pointer-events:none;
}
/* Layout base del form: columna única compacta */
.wpcf7 form{display:block}

/* Texto de etiqueta (texto plano en <p>, no <label>) */
.wpcf7 form p{
  margin:0 0 12px;
  color:rgba(255,255,255,.72);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  line-height:1.4;
}
/* El span que envuelve cada control debe ser bloque */
.wpcf7 .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  margin-top:5px;
}
/* Inputs & textarea */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="search"],
.wpcf7 select,
.wpcf7 textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  font-family:var(--font-sans);
  font-size:.9rem;
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1.5px solid rgba(255,255,255,.4);
  border-radius:10px;
  padding:10px 14px;
  transition:border-color .18s,background .18s,box-shadow .18s;
  outline:none;
}
.wpcf7 textarea{min-height:100px;resize:vertical;line-height:1.6}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:rgba(255,255,255,.55)}
.wpcf7 input[type="date"]{color-scheme:dark}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  border-color:var(--violet-br);
  background:rgba(255,255,255,.14);
  box-shadow:0 0 0 3px rgba(167,139,250,.2);
}
/* Validación errores */
.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid{
  border-color:#f87171;
  box-shadow:0 0 0 3px rgba(248,113,113,.15);
}
.wpcf7-not-valid-tip{
  display:block;
  margin-top:4px;
  font-size:.74rem;
  color:#fca5a5;
  font-weight:500;
}
/* Textos inline fuera de <p>: acceptance y checkbox */
.wpcf7 form>br{display:none}
.wpcf7 form>a,.wpcf7 form>*:not(p):not(.wpcf7-response-output){
  color:rgba(255,255,255,.65);
  font-size:.82rem;
}
/* Labels dentro de checkboxes/radio/acceptance */
.wpcf7 label{
  color:rgba(255,255,255,.75);
  font-size:.84rem;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
}
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"]{
  width:15px;height:15px;
  accent-color:var(--violet-br);
  margin-right:7px;
  cursor:pointer;
  vertical-align:middle;
  flex-shrink:0;
}
.wpcf7 .wpcf7-list-item{display:inline-flex;align-items:center;margin:4px 0}
.wpcf7 .wpcf7-list-item label{margin:0}
.wpcf7 .wpcf7-acceptance,.wpcf7 .wpcf7-checkbox{
  display:block;
  margin:10px 0 6px;
}
.wpcf7 .wpcf7-acceptance a,.wpcf7 form a{color:var(--violet-br)}
/* File upload */
.wpcf7 input[type="file"]{
  color:rgba(255,255,255,.65);
  font-size:.83rem;
  padding:6px 0;
  background:none;
  border:none;
  box-shadow:none;
  width:auto;
}
/* Botón enviar */
.wpcf7 input[type="submit"],.wpcf7 .wpcf7-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--indigo);   /* antes degradado #a78bfa→#7c3aed (2,72:1 en el extremo claro); ahora 6,29:1 */
  color:#fff!important;
  font-family:var(--font-sans);
  font-size:.83rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  padding:12px 34px;
  border:none;
  border-radius:100px;
  cursor:pointer;
  box-shadow:0 8px 28px rgba(124,58,237,.45);
  transition:transform .2s,box-shadow .2s;
  margin-top:12px;
}
.wpcf7 input[type="submit"]:hover,.wpcf7 .wpcf7-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(124,58,237,.6);
}
.wpcf7 input[type="submit"]:disabled,.wpcf7 .wpcf7-submit:disabled{
  opacity:.5;cursor:not-allowed;transform:none;
}
/* Mensajes de respuesta */
.wpcf7-response-output{
  margin-top:1rem!important;
  padding:12px 16px!important;
  border-radius:10px!important;
  font-size:.86rem!important;
  font-weight:500!important;
  border:none!important;
}
.wpcf7-form.sent .wpcf7-response-output{
  background:rgba(16,185,129,.18);
  color:#6ee7b7;
  border-left:4px solid #10b981!important;
}
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.unacceptable .wpcf7-response-output{
  background:rgba(248,113,113,.15);
  color:#fca5a5;
  border-left:4px solid #f87171!important;
}
/* Spinner */
.wpcf7-spinner{
  display:inline-block;
  width:18px;height:18px;
  border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .7s linear infinite;
  margin-left:8px;
  vertical-align:middle;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
  .wpcf7{padding:22px 18px 26px}
  /* slider caption: evitar que el título se corte demasiado */
  .hs-captions{min-height:unset}
}

/* ── Formularios estructurados (.ajfv-form): asóciate, CODA, contacto ── */
.ajfv-form .ajfv-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ajfv-form .ajfv-field{margin:0 0 15px;min-width:0}
.ajfv-form .ajfv-field>label{display:block;margin:0 0 5px;color:rgba(255,255,255,.72);font-size:.73rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.4}
.ajfv-form .req{color:var(--violet-br)}
.ajfv-form .ajfv-hint{display:block;margin-top:5px;color:rgba(255,255,255,.62);font-size:.72rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4}
.ajfv-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23a78bfa' stroke-width='2'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}
.ajfv-form select option{color:#1d1a47;background:#fff}
.ajfv-form .ajfv-accept{display:flex;align-items:flex-start;gap:2px;margin:14px 0 4px}
.ajfv-form .ajfv-accept .wpcf7-list-item{margin:0}
.ajfv-form .ajfv-accept-optional{margin-top:8px}
.ajfv-form .ajfv-submit{margin-top:10px}
@media(max-width:600px){.ajfv-form .ajfv-row{grid-template-columns:1fr;gap:0}}
/* details "más campos" dentro del formulario oscuro */
.ajfv-form .ajfv-more{margin:4px 0 14px;border:1px solid rgba(255,255,255,.16);border-radius:12px;overflow:hidden}
.ajfv-form .ajfv-more>summary{list-style:none;cursor:pointer;padding:12px 16px;color:#c4b5fd;font-size:.8rem;font-weight:700;letter-spacing:.03em}
.ajfv-form .ajfv-more>summary::-webkit-details-marker{display:none}
.ajfv-form .ajfv-more>summary::after{content:'+';float:right;font-weight:700}
.ajfv-form .ajfv-more[open]>summary::after{content:'–'}
.ajfv-form .ajfv-more[open]>summary{border-bottom:1px solid rgba(255,255,255,.12)}
.ajfv-form .ajfv-more>*:not(summary){padding:14px 16px 2px}

/* ── Página de Contacto ── */
.ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start}
.ct-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px 26px 28px;box-shadow:var(--shadow,0 10px 28px rgba(20,18,50,.06))}
.ct-card h2,.ct-form h2{font-family:var(--font-serif,'Playfair Display',serif);font-size:1.35rem;color:var(--ink);margin:0 0 16px}
.ct-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:16px}
.ct-list li{display:flex;align-items:flex-start;gap:13px;font-size:.92rem;line-height:1.5;color:var(--text)}
.ct-list li strong{color:var(--ink)}
.ct-list a{color:var(--indigo);font-weight:600}
.ct-ico{flex-shrink:0;width:38px;height:38px;border-radius:11px;background:var(--grad-soft,rgba(124,58,237,.08));display:grid;place-items:center;font-size:1.05rem}
.ct-dossier{width:100%;justify-content:center}
.ct-map{margin-top:18px;border-radius:16px;overflow:hidden;border:1px solid var(--border);line-height:0}
.ct-map iframe{display:block;width:100%}
.ct-form-intro{color:var(--muted);font-size:.94rem;line-height:1.6;margin:0 0 6px}
.ct-privacy{margin-top:20px;background:var(--grad-soft,rgba(124,58,237,.05));border:1px solid var(--border);border-radius:12px;overflow:hidden}
.ct-privacy>summary{list-style:none;cursor:pointer;padding:14px 18px;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--violet)}
.ct-privacy>summary::-webkit-details-marker{display:none}
.ct-privacy>summary::after{content:'+';float:right}
.ct-privacy[open]>summary::after{content:'–'}
.ct-privacy-body{padding:4px 18px 16px;font-size:.86rem;line-height:1.6;color:var(--text)}
.ct-privacy-body p{margin:0 0 8px}
.ct-privacy-body a{color:var(--indigo);font-weight:600}
@media(max-width:860px){.ct-grid{grid-template-columns:1fr;gap:24px}}

/* ═══ v7.5 · Rediseño tras reunión con cliente ═══ */

/* Sumario de últimas publicaciones (hero, sustituye al slider) */
.hero-sumario{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px 26px 20px;backdrop-filter:blur(6px)}
.hsum-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.hsum-line{flex:1;height:1px;background:rgba(255,255,255,.2)}
.hsum-title{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c4b5fd;white-space:nowrap}
.hsum-list{list-style:none;margin:0;padding:0}
.hsum-list li{border-bottom:1px solid rgba(255,255,255,.09)}
.hsum-list li:last-child{border-bottom:0}
.hsum-list a{display:block;padding:11px 2px;transition:transform .15s}
.hsum-list a:hover{transform:translateX(4px)}
.hsum-meta{display:flex;align-items:center;gap:10px;margin-bottom:3px}
.hsum-cat{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a78bfa}
.hsum-date{font-size:.7rem;color:rgba(255,255,255,.68)}
.hsum-t{display:block;font-size:.88rem;font-weight:600;line-height:1.35;color:#fff}
.hsum-list a:hover .hsum-t{color:#c4b5fd}
.hsum-foot{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:.8rem;font-weight:700;color:#c4b5fd!important}
.hsum-foot:hover{color:#fff!important}

/* Comunicados destacados en portada */
.comunicados-home{background:linear-gradient(180deg,var(--paper) 0%,#f4f2fb 100%)}
.com-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.com-featured{align-self:center;display:flex;flex-direction:column;gap:10px;background:linear-gradient(150deg,#1d1a47 0%,#4f46e5 75%,#7c3aed 130%);border-radius:18px;padding:24px 26px;color:#fff!important;box-shadow:var(--shadow-indigo);transition:transform .2s,box-shadow .2s}
.com-featured:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(79,70,229,.42)}
.com-badge{width:fit-content;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.16);color:#fff;padding:5px 12px;border-radius:99px}
.com-featured h3{font-family:var(--font-serif,'Playfair Display',serif);font-size:clamp(1.1rem,1.9vw,1.35rem);line-height:1.25;color:#fff}
.com-featured p{font-size:.88rem;line-height:1.55;color:rgba(255,255,255,.78);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.com-featured .com-meta{margin-top:4px;display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#e9e4ff}
.com-list{display:flex;flex-direction:column;gap:12px}
.com-item{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--violet);border-radius:12px;padding:15px 18px;transition:transform .15s,box-shadow .15s}
.com-item:hover{transform:translateX(4px);box-shadow:var(--shadow,0 8px 24px rgba(20,18,50,.08))}
.com-item-date{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet)}
.com-item-t{font-size:.9rem;font-weight:600;line-height:1.4;color:var(--ink)}
.com-all{margin-top:auto;width:fit-content}

/* CODA · banner destacado en portada */
.coda-band{padding:0 0 56px;background:linear-gradient(180deg,#f4f2fb 0%,var(--paper) 100%)}
.coda-band-inner{display:flex;align-items:center;gap:26px;background:linear-gradient(120deg,#1d1a47 0%,#4f46e5 65%,#7c3aed 120%);border-radius:20px;padding:30px 36px;box-shadow:var(--shadow-indigo);transition:transform .2s,box-shadow .2s;flex-wrap:wrap}
.coda-band-inner:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(79,70,229,.42)}
.coda-band-ico{flex-shrink:0;width:64px;height:64px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.coda-band-ico svg{width:34px;height:34px;color:#fff}
.coda-band-body{flex:1;min-width:240px;display:flex;flex-direction:column;gap:4px}
.coda-band-tag{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#e9e4ff}
.coda-band-title{font-family:var(--font-serif,'Playfair Display',serif);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.3;color:#fff}
.coda-band-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--indigo)!important;font-size:.85rem;font-weight:700;padding:13px 22px;border-radius:99px;white-space:nowrap}

/* CODA sidebar: más presencia */
.sb-coda{padding-top:30px;padding-bottom:30px;border:2px solid rgba(196,181,253,.35)}
.sb-coda .sb-promo-title{font-size:1.25rem}
.sb-coda .sb-promo-link{background:#fff;color:var(--indigo)!important;padding:10px 18px;border-radius:99px;width:fit-content}

/* Banda Instagram */
.ig-band{background:var(--paper)}
.ig-inner{display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:20px;padding:34px 38px}
.ig-ico{flex-shrink:0;width:72px;height:72px;border-radius:20px;background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);display:grid;place-items:center}
.ig-ico svg{width:38px;height:38px;color:#fff}
.ig-body{flex:1;min-width:240px}
.ig-body .h-title{margin-bottom:4px}
.ig-body .h-sub{margin-bottom:0}

/* Rincón del Opositor */
.opo-hero{min-height:auto}
.opo-hero .single-hero-inner{padding:70px var(--gutter) 56px}
.opo-hero h1 em{font-style:italic;color:#c4b5fd}
.opo-hero-sub{margin-top:14px;max-width:620px;font-size:1rem;line-height:1.65;color:rgba(255,255,255,.75)}
.opo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.opo-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:30px 28px;transition:transform .18s,box-shadow .18s}
.opo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow,0 14px 34px rgba(20,18,50,.1))}
.opo-card-ico{font-size:2rem;line-height:1}
.opo-card-tag{width:fit-content;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);background:rgba(124,58,237,.08);padding:4px 10px;border-radius:99px}
.opo-card h2{font-size:1.2rem;line-height:1.3;color:var(--ink)}
.opo-card p{font-size:.9rem;line-height:1.6;color:var(--muted)}
.opo-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--violet)}
.opo-card-featured{grid-column:1/-1;background:linear-gradient(140deg,#1d1a47 0%,#4f46e5 70%,#7c3aed 125%);border:0;box-shadow:var(--shadow-indigo)}
.opo-card-featured h2,.opo-card-featured .opo-card-link{color:#fff}
.opo-card-featured p{color:rgba(255,255,255,.78)}
.opo-card-featured .opo-card-tag{background:rgba(255,255,255,.16);color:#fff}

@media(max-width:900px){
  .com-grid{grid-template-columns:1fr}
  .opo-grid{grid-template-columns:1fr}
  .coda-band-inner{padding:26px 22px}
  .ig-inner{padding:26px 22px}
  .hero-sumario{padding:20px 18px 16px}
}

/* Filtros de la página Actualidad unificada (v7.6) */
.filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.filter-chips .chip{display:inline-flex;align-items:center;padding:9px 20px;border-radius:99px;font-size:.85rem;font-weight:600;border:1px solid var(--border);color:var(--muted);background:#fff;transition:all .16s}
.filter-chips .chip:hover{border-color:var(--indigo);color:var(--indigo)}
.filter-chips .chip.active{background:var(--grad,linear-gradient(120deg,#4f46e5,#7c3aed));color:#fff;border-color:transparent;box-shadow:var(--shadow-indigo)}

/* Barra de progreso de lectura en posts (v7.9) */
.read-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1200;background:transparent;pointer-events:none}
.read-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#4f46e5,#2563eb);border-radius:0 99px 99px 0;transition:width .1s linear}

/* Quiénes Somos rediseñada (v8.0) */
.qs-layout{display:grid;grid-template-columns:250px 1fr;gap:52px;align-items:start}
.qs-toc{position:sticky;top:96px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 8px 22px 22px}
.qs-toc-head{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin-bottom:12px}
.qs-toc ol{list-style:none;margin:0;padding:0;counter-reset:qs}
.qs-toc li{counter-increment:qs}
.qs-toc a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:9px;font-size:.86rem;font-weight:600;color:var(--muted);border-left:3px solid transparent;transition:all .16s}
.qs-toc a::before{content:counter(qs,decimal-leading-zero);font-size:.68rem;font-weight:800;color:var(--indigo);opacity:1}
.qs-toc a:hover{color:var(--indigo);background:var(--cream)}
.qs-toc a.active{color:var(--indigo);background:var(--grad-soft,rgba(124,58,237,.07));border-left-color:var(--violet)}
.qs-section{scroll-margin-top:110px;margin-bottom:56px}
.qs-h{display:flex;align-items:baseline;gap:14px;margin:0 0 1.1rem!important;padding-bottom:12px;border-bottom:2px solid var(--border)}
.qs-num{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--violet)}
.qs-person{display:grid;grid-template-columns:220px 1fr;gap:28px;background:var(--cream);border:1px solid var(--border);border-radius:18px;padding:28px;align-items:start}
.qs-person>img{width:100%;border-radius:14px;margin:0!important}
.qs-person-body h3{margin:0 0 4px!important}
.qs-person-role{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--violet);margin-bottom:14px}
.qs-person-body p{font-size:.95rem}
@media(max-width:900px){
  .qs-layout{grid-template-columns:1fr;gap:28px}
  .qs-toc{position:static}
  .qs-person{grid-template-columns:1fr}
  .qs-person>img{max-width:220px}
}

/* Cajas de acceso al final de Quiénes Somos (v8.1) */
.qs-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.qs-links{grid-template-columns:1fr}}

/* Estatutos (v8.2) */
.est-dl{margin-top:22px;width:fit-content}
.est-body{counter-reset:estcap}
.est-cap{counter-increment:estcap;display:flex;align-items:baseline;gap:14px;margin:3rem 0 1.4rem!important;padding:16px 20px;background:var(--cream);border-left:4px solid var(--violet);border-radius:0 12px 12px 0;font-size:1.25rem!important;text-transform:none}
.est-cap::before{content:counter(estcap,upper-roman);font-family:var(--font-serif);font-weight:700;font-size:1.4rem;color:var(--violet)}
.est-art{margin:2.2rem 0 .7rem!important;font-size:1.02rem!important;font-weight:700;color:var(--indigo);letter-spacing:.02em;text-transform:uppercase}
.est-art::after{content:'';display:block;width:44px;height:2px;margin-top:6px;background:linear-gradient(90deg,var(--indigo),var(--violet))}
.est-body ol{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 18px 18px 40px;margin-bottom:1.5rem}
.est-body ol li{margin-bottom:.55rem}
.est-body ol li:last-child{margin-bottom:0}
.est-dl-wrap{margin-top:44px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* Comité Nacional (v8.4) */
.cn-group{margin:0 0 40px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow,0 14px 34px rgba(20,18,50,.12))}
.cn-group img{display:block;width:100%}
.cn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.cn-card{display:flex;gap:22px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;transition:transform .18s,box-shadow .18s}
.cn-card:hover{transform:translateY(-4px);box-shadow:var(--shadow,0 14px 34px rgba(20,18,50,.1))}
.cn-card-media{flex-shrink:0;width:130px}
.cn-card-media img{width:130px;height:150px;object-fit:cover;object-position:top;border-radius:14px}
.cn-card-ph{width:130px;height:150px;border-radius:14px;background:var(--cream);display:grid;place-items:center;font-size:2rem;color:var(--violet)}
.cn-card-body h2{font-size:1.08rem;line-height:1.3;margin-bottom:8px;color:var(--ink)}
.cn-role{display:inline-block;vertical-align:middle;margin-left:6px;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--grad,linear-gradient(120deg,#4f46e5,#7c3aed));padding:4px 10px;border-radius:99px}
.cn-card-body p{font-size:.85rem;line-height:1.6;color:var(--muted);text-align:left}
@media(max-width:900px){
  .cn-grid{grid-template-columns:1fr}
  .cn-card{flex-direction:column}
  .cn-card-media,.cn-card-media img,.cn-card-ph{width:100%;max-width:220px}
}

/* Comités Territoriales · mapa-mosaico (v8.5) */
.ct-map-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:48px}
.ct-map{display:grid;grid-template-columns:repeat(7,minmax(64px,96px));grid-auto-rows:64px;gap:8px;justify-content:center}
.ct-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--border);border-radius:12px;background:var(--cream);cursor:pointer;padding:4px;transition:all .16s;font-family:inherit}
.ct-tile:hover{background:var(--grad-soft,rgba(124,58,237,.1));border-color:var(--violet);transform:translateY(-2px)}
.ct-tile.active{background:var(--grad,linear-gradient(120deg,#4f46e5,#7c3aed));border-color:transparent;box-shadow:var(--shadow-indigo)}
.ct-tile-ab{font-size:.78rem;font-weight:800;color:var(--indigo)}
.ct-tile-nm{font-size:.55rem;line-height:1.1;text-align:center;color:var(--muted);max-width:100%;overflow:hidden}
.ct-tile.active .ct-tile-ab,.ct-tile.active .ct-tile-nm{color:#fff}
.ct-card-tag{width:fit-content;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);background:rgba(124,58,237,.08);padding:4px 10px;border-radius:99px;margin-bottom:8px;display:inline-block}
.ct-card-role{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ct-card-mail{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:.82rem;font-weight:600;color:var(--indigo)}
.ct-card{transition:opacity .25s,transform .18s,box-shadow .18s}
.ct-card.dim{opacity:.25}
.ct-card.focus{outline:2px solid var(--violet);outline-offset:2px}
@media(max-width:900px){
  .ct-map{grid-template-columns:repeat(7,minmax(38px,1fr));grid-auto-rows:48px;gap:6px;width:100%}
  .ct-tile-nm{display:none}
}

/* Mapa en silueta de Comités Territoriales (v8.6) */
.ct-map-svg{position:relative;width:min(680px,100%);margin:0 auto}
.ct-map-svg svg{display:block;width:100%;height:auto}
.ct-region path{fill:#e4e0f7;stroke:#fff;stroke-width:1.6;transition:fill .15s;cursor:pointer}
.ct-region:hover path{fill:var(--violet)}
.ct-region.active path{fill:var(--indigo)}
.ct-region-off path{fill:#efedf6;stroke:#fff;stroke-width:1.6}
.ct-map-label{position:absolute;z-index:3;pointer-events:none;background:var(--ink);color:#fff;font-size:.74rem;font-weight:700;padding:6px 12px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 18px rgba(20,18,50,.25)}

/* Comités Territoriales · fichas y tooltip v2 (v8.7) */
.ct-card-region{font-size:1.25rem!important;color:var(--ink);margin-bottom:10px!important}
.ct-card .ct-card-tag{text-transform:none;letter-spacing:.02em;font-weight:700;margin-bottom:6px}
.ct-card-voz{font-size:1rem!important;font-weight:600;color:#2b2a3f;text-align:left!important}
.ct-map-label{display:flex;flex-direction:column;gap:2px;padding:8px 14px}
.ct-map-label[hidden]{display:none}
.ct-lbl-region{font-size:.8rem;font-weight:800}
.ct-lbl-voz{font-size:.7rem;font-weight:500;color:#c4b5fd}

/* Comités Territoriales · tarjetas v3 (v8.8) */
.tv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tv-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:transform .18s,box-shadow .18s,opacity .25s}
.tv-card:hover{transform:translateY(-5px);box-shadow:var(--shadow,0 14px 34px rgba(20,18,50,.12))}
.tv-media{position:relative;aspect-ratio:4/3;background:var(--cream)}
.tv-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .35s}
.tv-card:hover .tv-media img{transform:scale(1.04)}
.tv-ph{width:100%;height:100%;display:grid;place-items:center;font-size:2.4rem;color:var(--violet)}
.tv-region{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 18px 12px;font-size:1.15rem;line-height:1.2;color:#fff;background:linear-gradient(to top,rgba(14,13,38,.88) 0%,rgba(14,13,38,.45) 60%,transparent 100%)}
.tv-body{padding:16px 18px 18px}
.tv-role{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);margin-bottom:4px}
.tv-voz{font-size:.98rem;font-weight:600;color:var(--ink);line-height:1.35;margin:0}
.tv-mail{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.78rem;font-weight:600;color:var(--indigo)}
.tv-card.focus{outline:2px solid var(--violet);outline-offset:2px}
@media(max-width:900px){.tv-grid{grid-template-columns:repeat(2,1fr);gap:14px}.tv-region{font-size:.95rem;padding:26px 12px 10px}.tv-body{padding:12px 14px 14px}}
@media(max-width:560px){.tv-grid{grid-template-columns:1fr}}

/* Comités Territoriales · tarjetas v4, directorio con avatar (v8.9) */
.tv-grid{grid-template-columns:repeat(4,1fr)}
.tv-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 22px 26px;overflow:visible;position:relative;border-top:3px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,var(--indigo),var(--violet)) border-box}
.tv-avatar{width:112px;height:112px;border-radius:50%;padding:4px;background:linear-gradient(140deg,var(--indigo),var(--violet));margin-bottom:16px}
.tv-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 20%;border:3px solid #fff;transition:none;transform:none!important}
.tv-avatar-ph{width:100%;height:100%;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:2rem;color:var(--violet);border:3px solid #fff}
.tv-card .tv-region{position:static;padding:0;margin:0 0 10px;background:none;color:var(--ink);font-family:var(--font-serif);font-size:1.22rem;line-height:1.25}
.tv-sep{display:block;width:36px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--indigo),var(--violet));margin-bottom:12px}
.tv-card .tv-role{margin-bottom:3px}
.tv-card .tv-voz{font-size:.94rem}
.tv-card .tv-mail{margin-top:8px;background:var(--cream);padding:6px 13px;border-radius:99px;font-size:.74rem}
@media(max-width:1080px){.tv-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.tv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tv-grid{grid-template-columns:1fr}}

/* Comités Territoriales · tarjetas v5, foto grande sin recorte circular (v9.0) */
.tv-grid{grid-template-columns:repeat(3,1fr)}
.tv-photo{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;margin-bottom:18px;background:var(--cream)}
.tv-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.tv-photo-ph{width:100%;height:100%;display:grid;place-items:center;font-size:2.6rem;color:var(--violet)}
@media(max-width:1080px){.tv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tv-grid{grid-template-columns:1fr}}

/* Administración (v9.1) */
.adm-grid{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.adm-person{max-width:340px}
.adm-contact{background:#fff;border:1px solid var(--border);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:22px}
.adm-contact h2{font-size:1.3rem;color:var(--ink)}
.adm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.adm-list li{display:flex;align-items:flex-start;gap:14px}
.adm-ico{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--grad-soft,rgba(124,58,237,.08));display:grid;place-items:center}
.adm-ico svg{width:19px;height:19px;color:var(--violet)}
.adm-list strong{display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.adm-list a{font-weight:600;color:var(--indigo)}
@media(max-width:900px){.adm-grid{grid-template-columns:1fr}.adm-person{max-width:none}}

/* Transparencia (v9.2) */
.tr-stat{display:inline-flex;align-items:center;gap:14px;margin-top:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:16px 24px;backdrop-filter:blur(6px)}
.tr-stat-num{font-family:var(--font-serif);font-size:2.4rem;font-weight:700;line-height:1;background:linear-gradient(120deg,#c4b5fd,#818cf8);-webkit-background-clip:text;background-clip:text;color:transparent}
.tr-stat-lbl{font-size:.85rem;font-weight:700;color:#fff;line-height:1.25}
.tr-stat-lbl small{font-weight:500;color:rgba(255,255,255,.55)}
.tr-body .entry-toggle>summary{font-size:1.02rem}

/* Comisiones (v9.3) */
.cm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-items:start}
.cm-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:box-shadow .18s}
.cm-card:hover{box-shadow:var(--shadow,0 10px 28px rgba(20,18,50,.08))}
.cm-card>summary{list-style:none;display:flex;align-items:center;gap:16px;padding:20px 22px;cursor:pointer}
.cm-card>summary::-webkit-details-marker{display:none}
.cm-ico{flex-shrink:0;width:48px;height:48px;border-radius:13px;background:var(--grad-soft,rgba(124,58,237,.08));display:grid;place-items:center;font-size:1.35rem}
.cm-head{flex:1;min-width:0}
.cm-title{display:block;font-weight:700;font-size:.98rem;line-height:1.3;color:var(--ink)}
.cm-count{display:block;font-size:.72rem;font-weight:600;color:var(--violet);margin-top:2px}
.cm-chevron{flex-shrink:0;width:9px;height:9px;border-right:2px solid var(--indigo);border-bottom:2px solid var(--indigo);transform:rotate(45deg);transition:transform .25s}
.cm-card[open]>summary{background:var(--grad-soft,rgba(124,58,237,.06))}
.cm-card[open] .cm-chevron{transform:rotate(-135deg)}
.cm-body{overflow:hidden;transition:max-height .42s cubic-bezier(.4,0,.2,1)}
.cm-card:hover{transform:translateY(-2px)}
.cm-card{transition:box-shadow .18s,transform .18s}
.cm-card[open]{box-shadow:var(--shadow,0 12px 32px rgba(20,18,50,.10));border-color:color-mix(in srgb,var(--violet) 35%,var(--border))}
.cm-ico{transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s}
.cm-card[open] .cm-ico{transform:scale(1.08) rotate(-4deg);background:var(--grad,linear-gradient(120deg,#4f46e5,#7c3aed));filter:saturate(1.1)}
.cm-members{list-style:none;margin:0;padding:6px 22px 18px}
.cm-members li{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.cm-card[open] .cm-members li{opacity:1;transform:none;transition-delay:calc(var(--i,0)*38ms)}
/* ── Accesibilidad global (audit sept 2026) ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .cm-body{transition:none}
  .cm-members li{opacity:1;transform:none;transition:none}
  .cm-card:hover,.card:hover,.opo-card:hover,.com-item:hover,.com-featured:hover{transform:none}
}
/* Texto con relleno degradado: visible en modo de alto contraste de Windows */
@media(forced-colors:active){
  .hero h1 em,.hero-stat .num,.tr-stat-num{-webkit-text-fill-color:CanvasText;background:none}
}
/* Saltar al contenido */
.skip-link{position:absolute;left:-9999px;top:10px;z-index:3000;background:var(--indigo);color:#fff!important;padding:10px 16px;border-radius:8px;font-weight:700;font-size:.9rem}
.skip-link:focus{left:16px;outline:2px solid #fff;outline-offset:2px}
/* Foco visible y homogéneo en enlaces y botones */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;border-radius:4px}
/* Tablas del contenido: scroll horizontal en móvil en vez de desbordar */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.6rem 0}
.table-wrap>table{margin:0}
/* Ancho de lectura del cuerpo de la noticia */
.page-main .entry{max-width:68ch}
/* Encabezados semánticos en tarjetas y comisiones sin cambiar su aspecto */
h2.card-title,h3.card-title{margin:0 0 10px}
h2.cm-title{margin:0;font-family:inherit;font-size:.98rem}
/* Buscador dentro del hero (búsqueda y 404) */
.hero-search{display:flex;gap:10px;margin-top:20px;max-width:540px}
.hero-search input[type=search]{flex:1;min-width:0;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.96)}
@media(max-width:520px){.hero-search{flex-direction:column}}

/* ═══ Tono sobrio institucional (decisión del cliente, sept 2026) ═══
   Mantiene la identidad índigo/violeta pero la contiene: degradados solo en heros
   y bandas, botones planos, radios 8–16 px, sin elevaciones al pasar el ratón,
   sin retículas punteadas ni texto degradado, formularios sobre fondo claro,
   iconos SVG monocromos en lugar de emojis. Va al final para ganar en cascada. */
:root{
  --grad:var(--indigo);                       /* botones, acentos: color plano */
  --radius-xs:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;
  --shadow-indigo:0 4px 14px rgba(20,19,46,.12);
  --shadow-lg:0 10px 28px rgba(31,27,90,.10),0 2px 8px rgba(31,27,90,.05);
}
/* Radios: familias de tarjeta, bandas y botones */
.card,.opo-card,.cm-card,.com-item,.ct-card,.pitem,.entry-card,.tv-card,.cn-card,.ct-tile,.sb-promo,.swidget,.postnav a,.hero-sumario,.ct-map,.entry-lead,.ct-privacy,.ajfv-form .ajfv-more{border-radius:var(--radius-lg)}
.com-featured,.coda-band-inner,.wpcf7,.cta-inner,.hero-search input[type=search]{border-radius:var(--radius-xl)}
.btn,.btn-primary,.btn-ghost,.btn-light,.btn-sm,.btn-join,.entry-btn,.entry-pdf-dl,.coda-band-btn,.sb-coda .sb-promo-link,.sb-promo-link,.wpcf7 input[type="submit"],.wpcf7 .wpcf7-submit,.filter-chips .chip,.cm-tw,.share-row a,.tagrow a,.pagination a,.pagination .current,.search-overlay .so-submit,.header-search-btn{border-radius:var(--radius)}
.cat-pill,.card-cat-tag,.opo-card-tag,.com-badge,.sb-promo-tag,.cm-role,.cn-role,.ct-card-tag,.hero-eyebrow,.entry-card>.ec-tag,.tv-card .tv-mail,.lj-num,.feature-split-badge,.page-hero .cat-pill{border-radius:var(--radius-xs)}
/* Sin elevaciones ni zooms al pasar el ratón: solo borde/sombra suave */
.btn-primary:hover,.btn-ghost:hover,.btn-light:hover,.topbar-social a:hover,.btn-join:hover,.search-overlay .so-submit:hover,.hs-arrow:hover,.card:hover,.topic:hover,.pub:hover,.pitem:hover,.share-row a:hover,.postnav a:hover,.pagination a:hover,.footer-social a:hover,.sb-promo:hover,.sb-social-links a:hover,.entry-pdf-dl:hover,.entry-btn:hover,.entry-card:hover,.com-featured:hover,.coda-band-inner:hover,.opo-card:hover,.cn-card:hover,.ct-tile:hover,.tv-card:hover,.cm-card:hover,.sb-santander:hover,.com-item:hover,.wpcf7 input[type="submit"]:hover,.wpcf7 .wpcf7-submit:hover{transform:none}
.card:hover .card-imgwrap img{transform:none}
.card:hover,.opo-card:hover,.cm-card:hover,.com-item:hover,.pitem:hover,.entry-card:hover,.cn-card:hover,.tv-card:hover{border-color:var(--indigo);box-shadow:var(--shadow-sm)}
.cm-card[open] .cm-ico{transform:none}
/* Sin retículas punteadas ni halos radiales en heros y bandas */
.hero::after,.cta::after,.page-hero::after,.single-hero::after,.wpcf7::before{content:none}
/* Texto sin relleno degradado */
.hero h1 em{background:none;-webkit-text-fill-color:currentColor;color:#c4b5fd}
.hero-stat .num{background:none;-webkit-text-fill-color:currentColor;color:#fff}
/* Iconos SVG monocromos (sustituyen a los emojis) */
.opo-card-ico,.cm-ico,.ct-ico,.topic .ico,.slist .ph{color:var(--indigo);background:var(--grad-soft)}
.opo-card-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:var(--radius);margin-bottom:14px;font-size:0}
.opo-card-ico svg,.cm-ico svg,.ct-ico svg,.topic .ico svg,.slist .ph svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topic .ico svg{width:24px;height:24px}
.card-ph svg,.pitem-img .ph svg{width:44px;height:44px;stroke:rgba(255,255,255,.4);fill:none;stroke-width:1.5}
.scta-glyph svg{width:30px;height:30px;stroke:currentColor;fill:none}
.tv-photo-ph svg,.cn-card-ph svg{stroke:currentColor;fill:none;opacity:.7}
.cm-card[open] .cm-ico{background:var(--indigo);color:#fff;filter:none}
/* Formularios sobre fondo claro */
.wpcf7{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text)}
.wpcf7 form p,.ajfv-form .ajfv-field>label{color:var(--ink);text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 input[type="url"],.wpcf7 input[type="number"],.wpcf7 input[type="date"],.wpcf7 input[type="search"],.wpcf7 select,.wpcf7 textarea{color:var(--text);background:#fff;border:1.5px solid var(--border-input);border-radius:var(--radius)}
.wpcf7 input[type="date"]{color-scheme:light}
.wpcf7 input[type="text"]:focus,.wpcf7 input[type="email"]:focus,.wpcf7 input[type="tel"]:focus,.wpcf7 input[type="url"]:focus,.wpcf7 input[type="number"]:focus,.wpcf7 input[type="date"]:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:var(--indigo);background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.25)}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:#7a7894}
.wpcf7 label,.wpcf7 form>a,.wpcf7 form>*:not(p):not(.wpcf7-response-output),.ajfv-form .ajfv-hint,.wpcf7 input[type="file"]{color:var(--muted)}
.wpcf7 .wpcf7-acceptance a,.wpcf7 form a,.ajfv-form .req,.ajfv-form .ajfv-more>summary{color:var(--indigo)}
.ajfv-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%234f46e5' stroke-width='2'><path d='M1 1l5 5 5-5'/></svg>")}
.ajfv-form .ajfv-more{border-color:var(--border)}
.ajfv-form .ajfv-more[open]>summary{border-bottom-color:var(--border)}
.wpcf7 input.wpcf7-not-valid,.wpcf7 textarea.wpcf7-not-valid{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.wpcf7-not-valid-tip{color:#b91c1c}
.wpcf7-form.sent .wpcf7-response-output{background:#ecfdf5;color:#065f46;border-left-color:#10b981!important}
.wpcf7-form.failed .wpcf7-response-output,.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output,.wpcf7-form.unacceptable .wpcf7-response-output{background:#fef2f2;color:#991b1b;border-left-color:#dc2626!important}
.wpcf7-spinner{border-color:rgba(20,19,46,.2);border-top-color:var(--indigo)}

/* ── Portada · Últimos comunicados: banda destacada a todo el ancho + fila de tres ── */
.com-grid.com-stack{grid-template-columns:1fr;gap:18px;align-items:stretch}
.com-featured.com-featured-wide{align-self:stretch;flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding:26px 30px}
.com-featured-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.com-featured.com-featured-wide h3{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:64ch}
.com-featured.com-featured-wide p{max-width:72ch;-webkit-line-clamp:2}
.com-featured.com-featured-wide .com-meta{margin:0;flex-shrink:0;white-space:nowrap}
.com-list.com-list-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.com-list.com-list-row .com-item{height:100%}
.com-more{display:flex;justify-content:flex-end}
@media(max-width:900px){
  .com-featured.com-featured-wide{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 20px}
  .com-featured.com-featured-wide .com-meta{white-space:normal}
  .com-list.com-list-row{grid-template-columns:1fr}
  .com-more{justify-content:flex-start}
}

/* ── Tarjeta "portada" (boletines y revistas): la miniatura vertical se ve entera ── */
.card-cover .card-imgwrap{aspect-ratio:3/4;background:var(--cream);padding:18px;display:flex;align-items:center;justify-content:center}
.card-cover .card-imgwrap img{width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:4px;box-shadow:0 8px 22px rgba(20,19,46,.16)}
.card-cover .card-cat-tag{top:10px;left:10px}
.card-cover .card-excerpt{-webkit-line-clamp:2}

/* ── Iframes embebidos en el contenido (p. ej. inscripción Meetmaps) ── */
.embed-frame{position:relative;width:100%;height:760px;margin:1.4rem 0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff}
.embed-frame-tall{height:1100px}
.embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.entry-note{font-size:.86rem;color:var(--muted)}
@media(max-width:600px){.embed-frame-tall{height:1300px}}

/* ── Portada · banda de la Asamblea General (temporal, hasta el 20/11/2026) ── */
.asamblea-band{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.asamblea-inner{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:36px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);padding:26px;box-shadow:var(--shadow-sm)}
.asamblea-img{display:block;border-radius:var(--radius-lg);overflow:hidden;line-height:0}
.asamblea-img img{width:100%;height:auto;display:block}
.asamblea-body .h-title{margin:6px 0 8px}
.asamblea-dates{font-weight:700;color:var(--indigo);margin:0 0 10px}
.asamblea-body .h-sub{margin:0 0 18px;max-width:64ch}
.asamblea-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.asamblea-count{font-size:.9rem;color:var(--muted)}
.asamblea-count strong{color:var(--ink);font-size:1.05rem}
@media(max-width:800px){.asamblea-inner{grid-template-columns:1fr;gap:20px;padding:18px}}

/* ── Estatutos: la caja solo para la lista de primer nivel; las anidadas van dentro, sin caja ── */
.est-body ol ol,.est-body ol ul,.est-body ul ol{background:none;border:0;border-radius:0;box-shadow:none;padding:6px 0 0 22px;margin:6px 0 0}
.est-body ol ol{list-style:lower-alpha}
.est-body ol ol ol{list-style:lower-roman}
.est-body li>p{margin:0 0 .4rem}

/* ── Desplegables del contenido: tipografía uniforme, nada en versales ── */
.entry-toggle>summary{text-transform:none;letter-spacing:0;font-size:1rem}
.entry-toggle-body{padding:4px 22px 18px;font-size:.95rem;line-height:1.7;color:var(--text)}
.entry-toggle-body p{margin:0 0 .9rem;text-align:left}
.entry-toggle-body strong{font-weight:600;color:var(--ink)}
.entry-toggle-body ul,.entry-toggle-body ol{margin:0 0 1rem;padding-left:1.4rem}
.entry-sub{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--ink);margin:1.3rem 0 .45rem;letter-spacing:0;text-transform:none}
.entry-sub:first-child{margin-top:.2rem}
.entry h4.entry-sub::after{content:none}

/* ── Listados de posts dentro de páginas (Actividades, etc.): rejilla regular ── */
.page-main .entry-postlist{grid-template-columns:repeat(2,1fr);gap:22px;align-items:stretch}
.entry-postlist .card-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:0}
.entry-postlist .card-imgwrap{aspect-ratio:16/10}
@media(max-width:700px){.page-main .entry-postlist{grid-template-columns:1fr}}

/* ── Actualidad: lista editorial en columna de lectura + pestañas de filtro ── */
.news-wrap{max-width:920px;margin:0 auto}
.news-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:0 0 6px;overflow-x:auto;scrollbar-width:none}
.news-tabs::-webkit-scrollbar{display:none}
.news-tab{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;font-size:.92rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;border-radius:0;transition:color .15s,border-color .15s}
.news-tab:hover{color:var(--ink)}
.news-tab.active{color:var(--indigo);border-bottom-color:var(--indigo)}
.news-tab .n{font-size:.72rem;font-weight:700;background:var(--surface);color:var(--muted);padding:2px 8px;border-radius:var(--radius-xs)}
.news-tab.active .n{background:var(--grad-soft);color:var(--indigo)}
.news-list{display:flex;flex-direction:column}
.news-row{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;padding:24px 10px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;border-radius:var(--radius);transition:background .15s}
.news-row:hover{background:var(--cream)}
.news-row:last-child{border-bottom:0}
.news-thumb{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;background:var(--surface);position:relative}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--indigo);opacity:.45}
.news-body{min-width:0}
.news-kicker{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:8px}
.news-kicker span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo)}
.news-kicker time{font-size:.82rem;font-weight:500;color:var(--muted)}
.news-row h2{font-family:var(--font-serif);font-size:1.22rem;line-height:1.35;margin:0 0 8px;color:var(--ink);transition:color .15s}
.news-row:hover h2{color:var(--indigo)}
.news-row p{margin:0;font-size:.94rem;line-height:1.62;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-more{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:700;color:var(--indigo)}
.news-empty{color:var(--muted);padding:32px 0}
.news-wrap .pagination{margin-top:30px}
@media(max-width:640px){
  .news-row{grid-template-columns:1fr;gap:12px;padding:18px 4px}
  .news-thumb{aspect-ratio:16/9}
  .news-row h2{font-size:1.1rem}
}
.cm-members li{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}
.cm-members li:last-child{border-bottom:0}
.cm-name{font-size:.88rem;font-weight:600;color:var(--ink)}
.cm-role{font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--grad,linear-gradient(120deg,#4f46e5,#7c3aed));padding:3px 9px;border-radius:99px}
.cm-detail{width:100%;font-size:.76rem;color:var(--muted)}
.cm-tw{display:inline-flex;align-items:center;gap:7px;margin:0 22px 20px;font-size:.78rem;font-weight:700;color:var(--indigo);background:var(--cream);padding:7px 14px;border-radius:99px}
@media(max-width:900px){.cm-grid{grid-template-columns:1fr}}

/* Latinajos jurídicos · flashcards giratorias (v9.4) */
.lj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lj-card{position:relative;border:0;background:none;padding:0;cursor:pointer;perspective:1200px;aspect-ratio:1/1;font-family:inherit;text-align:center}
.lj-inner{position:absolute;inset:0;transition:transform .6s cubic-bezier(.3,.7,.3,1);transform-style:preserve-3d}
.lj-card.flipped .lj-inner{transform:rotateY(180deg)}
.lj-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:24px}
.lj-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lj-front-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,13,38,.92) 0%,rgba(14,13,38,.35) 55%,rgba(14,13,38,.15) 100%)}
.lj-num{position:absolute;top:14px;right:14px;z-index:1;font-size:.66rem;font-weight:800;color:#fff;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:99px;backdrop-filter:blur(4px)}
.lj-term{position:relative;z-index:1;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.2;color:#fff;margin-bottom:10px}
.lj-hint{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c4b5fd}
.lj-back{justify-content:center;gap:12px;background:linear-gradient(150deg,#1d1a47 0%,#4f46e5 70%,#7c3aed 125%);transform:rotateY(180deg)}
.lj-back-term{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:#c4b5fd}
.lj-lit{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;line-height:1.3;color:#fff}
.lj-def{font-size:.85rem;line-height:1.55;color:rgba(255,255,255,.82)}
.lj-card:hover .lj-inner{box-shadow:0 18px 40px rgba(79,70,229,.3)}
@media(max-width:900px){.lj-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lj-grid{grid-template-columns:1fr}.lj-card{aspect-ratio:4/3}}

/* ═══ v9.5 · Optimización móvil ═══ */

/* Cabecera: logo a la izquierda; Asóciate + hamburguesa agrupados a la derecha */
@media(max-width:900px){
  .header-inner{gap:10px}
  .header-actions{margin-left:auto;gap:8px}
  .mobile-toggle{margin-left:0;flex-shrink:0}
  .btn-join{padding:9px 14px;font-size:.78rem}
}
@media(max-width:768px){
  /* topbar sin contenido útil en móvil → fuera */
  .topbar{display:none}
}
@media(max-width:520px){
  .btn-join span{display:none}
  .btn-join{padding:9px 11px}
}

/* Pulido general móvil */
@media(max-width:768px){
  .section{padding:40px 0}
  .h-title{font-size:clamp(1.35rem,5.5vw,1.7rem)}
  .com-featured{padding:22px 20px}
  .com-featured h3{font-size:1.1rem}
  .coda-band{padding-bottom:44px}
  .coda-band-btn{width:100%;justify-content:center}
  .ig-inner{flex-direction:column;text-align:center}
  .ig-inner .btn{width:100%;justify-content:center}
  .hero-sumario{padding:18px 16px 14px}
  .hsum-t{font-size:.84rem}
  .qs-toc{padding:16px 14px}
  .opo-hero .single-hero-inner{padding:52px var(--gutter) 40px}
  .tr-stat{width:100%;justify-content:center}
}

/* Footer rediseñado */
#site-footer{position:relative}
#site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--indigo),var(--violet),var(--indigo))}
.footer-top{padding:56px 0 42px}
.footer-col ul li{margin-bottom:2px}
.footer-col ul a{display:inline-block;padding:5px 0;font-size:.86rem;color:rgba(255,255,255,.6)!important;transition:color .15s,transform .15s}
.footer-col ul a:hover{color:#fff!important;transform:translateX(3px)}
@media(max-width:768px){
  .footer-top{padding:40px 0 28px}
  .footer-grid{grid-template-columns:1fr;gap:0}
  .footer-brand{text-align:center;padding-bottom:26px}
  .footer-brand img{height:42px;margin-bottom:14px}
  .footer-brand p{max-width:none;font-size:.84rem}
  .footer-social{justify-content:center;margin-top:18px}
  .footer-social a{width:44px;height:44px}
  .footer-col{border-top:1px solid rgba(255,255,255,.09);padding:18px 0 6px}
  .footer-col h4{margin-bottom:10px}
  .footer-col ul{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
  .footer-col ul a{padding:7px 0;font-size:.84rem}
  .footer-bottom-inner{flex-direction:column;text-align:center;gap:8px;padding-top:16px;padding-bottom:20px}
  .footer-bottom-inner p{font-size:.74rem}
  .footer-bottom-links{display:flex;gap:18px}
}

/* FIX menú móvil (v9.6): #primary-nav vive dentro de #site-header (z-index:1000,
   crea stacking context), así que el backdrop (1090) tapaba el panel abierto.
   Con el menú abierto, la cabecera sube por encima del backdrop. */
body.nav-open #site-header{z-index:1100}
/* backdrop-filter convierte al header en containing block de los fixed:
   el panel del menú quedaba anclado (y recortado) a la cabecera de 68px.
   Sin el filtro mientras está abierto, el panel se ancla al viewport. */
body.nav-open #site-header{-webkit-backdrop-filter:none;backdrop-filter:none}

/* Comité Nacional móvil: retratos cuadrados con recorte centrado en la cara (v9.7) */
@media(max-width:900px){
  .cn-card-media img,.cn-card-ph{height:220px;object-position:center 18%}
}
@media(max-width:900px){.cn-card{align-items:center}.cn-card-body{width:100%}}

/* Banner Santander en sidebar (v9.8) */
.sb-santander{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#fff;transition:transform .18s,box-shadow .18s}
.sb-santander:hover{transform:translateY(-3px);box-shadow:var(--shadow,0 12px 28px rgba(20,18,50,.1))}
.sb-santander img{display:block;width:100%;height:auto}

/* ── Heros con imagen destacada desenfocada (gaussiano) ── */
.single-hero-bg img,.page-hero .single-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.8;filter:blur(26px) saturate(1.15);transform:scale(1.18);will-change:transform}
.page-hero .single-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero .single-hero-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(to top,rgba(14,13,38,.94) 0%,rgba(14,13,38,.62) 45%,rgba(14,13,38,.22) 100%)}
.single-hero.has-img .single-hero-overlay{background:linear-gradient(to top,rgba(14,13,38,.94) 0%,rgba(14,13,38,.62) 45%,rgba(14,13,38,.22) 100%)}
.page-hero.has-img::before{opacity:.15}
.page-hero.has-img::after{display:none}
.page-hero.has-img .page-hero-inner{padding-top:84px;padding-bottom:56px}
.single-hero.has-img{min-height:clamp(320px,46vh,480px)}
/* Píldora de sección/recuento en los heros (antes sin estilo: texto oscuro sobre fondo oscuro) */
.single-hero .cat-pill,.page-hero .cat-pill{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#e9e4ff;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-xs);margin-bottom:6px}
.single-hero .cat-pill-sub{background:transparent}

/* Imagen principal del artículo: entera, sin recorte (las portadas 4:3 y verticales se cortaban) */
.entry-lead img{max-height:640px;object-fit:contain;background:var(--cream)}
.entry-figure img{max-height:640px;object-fit:contain;background:var(--cream)}
.entry-figure{box-shadow:none;border:1px solid var(--border)}

/* Cuerpo de artículo: texto justificado con guionado (petición del cliente, sept 2026) */
.entry p,.entry li{text-align:justify;hyphens:auto;-webkit-hyphens:auto;text-justify:inter-word}
.entry p.entry-note,.entry .entry-btn-wrap,.entry figcaption,.entry blockquote p{text-align:left;hyphens:manual}
.entry>p:first-of-type:not(.entry-note){font-size:1.14rem;line-height:1.7;color:var(--ink)}

/* Ficha de evento (fechas · lugar · hora) dentro del contenido */
.event-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0 0 1.8rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}
.event-facts>div{padding:16px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}
.event-facts>div:last-child{border-right:0}
.event-facts span{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo)}
.event-facts strong{font-family:var(--font-serif);font-weight:600;font-size:1.05rem;color:var(--ink);line-height:1.3}
@media(max-width:600px){.event-facts>div{border-right:0;border-bottom:1px solid var(--border)}.event-facts>div:last-child{border-bottom:0}}

/* Formulario de inscripción (Meetmaps): el proveedor no envía su altura, así que el marco se fija a
   la altura real del formulario (≈2.230 px escritorio / ≈2.430 px móvil, medida sept 2026) para que no
   aparezca scroll interno. Si Meetmaps añade campos, subir estas cifras. */
.embed-frame-tall{height:2420px;border:0;border-radius:var(--radius-lg)}
@media(max-width:600px){.embed-frame-tall{height:2620px}}

/* Listados de posts dentro del contenido (páginas de archivo heredadas): sin subrayado de enlace */
.entry .entry-postlist a,.entry .entry-postlist a:hover{text-decoration:none}
.entry .entry-postlist .card-title{font-family:var(--font-serif)}
.entry .entry-postlist .card-excerpt{color:var(--muted)}
.entry .entry-postlist{margin-top:0}

/* Actualidad: el hero se alinea con la columna de lectura (920px) */
.news-hero .single-hero-inner{max-width:calc(920px + 2 * var(--gutter))}

/* Tarjetas dentro del contenido: sin justificar */
.entry .entry-postlist p,.entry .card p{text-align:left;hyphens:manual}

/* Actualidad: pestañas y filas al ras de la columna (misma vertical que el hero) */
.news-tab:first-child{padding-left:0}
.news-row{margin:0 -10px}
