/* =====================================================================
   portal.css — hoja única del portal público de ADIC (T2, 2026-10-16)
   Se carga después de Bootstrap, Bootstrap Icons, Manrope y el UIKit. El orden de las secciones es el de la
   cascada anterior (portal.css → accesibilidad.css → portal-v2.css): no reordenar sin comparar estilos calculados.
     1. Vitrina: tamaño del carrusel de Bootstrap
     2. Controles de accesibilidad (botón flotante y panel)
     3. Portal: tokens (:root), base y componentes pv-* (masthead, héroe, bandas, tarjetas, listados, detalle,
        micrositios, búsqueda, audiencias, pie)
     4. Banda «Sistemas» de la portada (E3)
     5. Reproductor de video con fachada (adic-player, E4; propuesta al UIKit en docs/avisos-uikit.md §6–§7)
   Las secciones 4 y 5 solo usan tokens del UIKit (--se-*), no los :root propios de la sección 3.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Vitrina: tamaño del carrusel de Bootstrap
   --------------------------------------------------------------------- */
.carousel-item {
    height: 400px;
    background-color: #333;
}
.carousel-item img {
    width: 100%; height: 100%;
    object-fit: cover; opacity: 0.8;
}

/* ---------------------------------------------------------------------
   2. Controles de accesibilidad
   --------------------------------------------------------------------- */
/* Controles de accesibilidad universales: solo tokens del UIKit (teal Pantone 626 y pizarra), sin azules ni rojos sueltos.
   Contrastes: blanco sobre --se-primary-fill (#006b5f) 6.6:1 y sobre --se-topbar-bg (#4d545d) 7.6:1;
   --se-fg-strong sobre --se-card-bg o --se-surface-bg > 15:1; ícono --se-primary-text sobre --se-surface-bg 4.9:1. */

/* Botón flotante: arriba a la derecha, a la altura del inicio del contenido. Abajo a la derecha queda libre para la
   burbuja del chat de MAI, y a media altura estorbaba la flecha «siguiente» de los visores. */
#acc-btn {
    position: fixed;
    top: calc(9.5rem + env(safe-area-inset-top, 0px));
    right: 0;
    background: var(--se-primary-fill);
    color: var(--se-card-bg);
    border: none;
    padding: 15px 12px;
    border-radius: var(--se-radius-xl) 0 0 var(--se-radius-xl);
    box-shadow: var(--se-shadow-md);
    cursor: pointer;
    z-index: 9999;
    font-size: 1.5rem;
    transition: background var(--se-transition-base), padding var(--se-transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
}
#acc-btn:hover {
    background: var(--se-topbar-bg);
    padding: 15px 16px;
}
/* Con un visor, video o ventana abierta, el botón se oculta (no tapa sus controles; el panel se abre al cerrarlo). */
body.pv-lightbox-abierto #acc-btn,
body.modal-open #acc-btn,
html:has(dialog[open]:not(#acc-panel)) #acc-btn,
:fullscreen ~ #acc-btn { display: none; }
#acc-btn:focus-visible {
    outline: 3px solid var(--se-fg-strong);
    outline-offset: 2px;
}

/* Panel: <dialog> modal nativo (js/accesibilidad.js), pegado al borde derecho */
#acc-panel {
    position: fixed;
    inset: 50% 0 auto auto;
    margin: 0;
    transform: translateY(-50%);
    width: 300px;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    background: var(--se-card-bg);
    color: var(--se-fg-strong);
    border: 1px solid var(--se-border);
    border-top: 3px solid var(--se-primary);
    box-shadow: var(--se-shadow-key);
    border-radius: var(--se-radius-xl) 0 0 var(--se-radius-xl);
    padding: 20px;
    font-family: var(--se-font-sans);
}
#acc-panel::backdrop { background: color-mix(in srgb, var(--ink) 35%, transparent); }
/* sin JS el botón no hace nada; en celular el panel se abre desde «Accesibilidad» del menú (el flotante tapaba contenido) */
html:not(.pv-js) #acc-btn { display: none; }
@media (max-width: 980px) { #acc-btn { display: none; } }

#acc-panel h2 {
    margin-top: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--se-fg-strong);
    border-bottom: 1px solid var(--se-border);
    padding-bottom: 10px;
    margin-bottom: 15px;
    text-align: center;
}

.acc-option {
    display: flex;
    width: 100%;
    font-family: inherit;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    background: var(--se-surface-bg);
    padding: 10px;
    border-radius: var(--se-radius-lg);
    border: 1px solid var(--se-border);
    color: var(--se-fg-strong);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--se-transition-fast);
    text-decoration: none;
}
.acc-option:hover {
    background: var(--se-primary-subtle);
    border-color: var(--se-primary-border);
    color: var(--se-fg-strong);
}
/* activo: fondo teñido y anillo completo (sin barra lateral, regla v2.66) */
.acc-option[aria-pressed="true"] {
    background: var(--se-primary-subtle);
    border-color: var(--se-primary-fill);
    box-shadow: inset 0 0 0 1px var(--se-primary-fill);
}
.acc-option i {
    font-size: 1.25rem;
    color: var(--se-primary-text);
}
.acc-option:focus-visible,
.acc-close:focus-visible {
    outline: 3px solid var(--se-primary-fill);
    outline-offset: 2px;
}

/* Cerrar: botón pizarra; Restablecer: contorno (acción secundaria) */
.acc-close {
    width: 100%;
    background: var(--se-topbar-bg);
    color: var(--se-card-bg);
    border: 1px solid var(--se-topbar-bg);
    padding: 10px;
    border-radius: var(--se-radius-lg);
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
    margin-top: 10px;
}
.acc-close:hover { background: var(--se-fg-strong); border-color: var(--se-fg-strong); }
.acc-reset { background: transparent; color: var(--se-fg-strong); border-color: var(--se-border-form); margin-top: 5px; }
.acc-reset:hover { background: var(--se-surface-bg); color: var(--se-fg-strong); border-color: var(--se-topbar-bg); }

/* MODIFICADORES DE ACCESIBILIDAD */

/* 1. Fuente Grande */
html.acc-text-large { font-size: 115% !important; }
html.acc-text-xlarge { font-size: 130% !important; }

/* 2 y 3. Alto contraste y escala de grises: el filtro va en <html>. En el elemento raíz un filtro no crea
   bloque contenedor, así lo fijo (botón flotante, modales, panel) sigue pegado a la ventana; en <body> sí lo creaba. */
html.acc-high-contrast { filter: invert(100%) hue-rotate(180deg) contrast(120%); }
html.acc-grayscale { filter: grayscale(100%); }
html.acc-high-contrast.acc-grayscale { filter: invert(100%) hue-rotate(180deg) contrast(120%) grayscale(100%); }
html.acc-high-contrast body {
    background-color: #000000 !important;
    color: #ffff00 !important;
}
html.acc-high-contrast img,
html.acc-high-contrast video,
html.acc-high-contrast .hero {
    filter: invert(100%) hue-rotate(180deg); /* Re-invertir imágenes para que se vean bien */
}

/* 4. Enlaces Subrayados */
body.acc-underline a {
    text-decoration: underline !important;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
    color: var(--se-primary-text) !important;
}

/* 5. Fuente Legible (Anti-Dislexia support general fallback) */
body.acc-readable {
    font-family: Arial, Helvetica, sans-serif !important;
    line-height: 1.8 !important;
    letter-spacing: 0.05em !important;
}

/* ---------------------------------------------------------------------
   3. Portal (pv-*)
   --------------------------------------------------------------------- */
/* =========================================================================
   ADIC Portal · Rediseño público P-1 (gaceta editorial institucional)
   Todas las clases custom van prefijadas con .pv- para no colisionar con
   portal.css ni con el UIKit (@sechiapas/uikit). Manrope únicamente.
   ========================================================================= */
:root{
  --teal:#009887; --teal-d:#006b5f; --guinda:#ac1f38; --arena:#BC955C; --verde:#005F56;
  /* acentos institucionales del UIKit para micrositios: guinda = --se-crimson, dorado = --se-warning, pizarra = --se-topbar-bg */
  --dorado:#b38e5d; --dorado-d:#7d5f35; --pizarra:#4d545d;
  --ink:#0C0206; --body:#585f69; --muted:#5f6b77; --line:#e4e1da; --line-soft:#efece6;
  --bg:#F4F4F4; --paper:#ffffff; --slate:#2b2f36;
  /* rampa teal-oscuro para la vitrina (fondos oscuros institucionales) */
  --teal-darker:#04302b; --teal-deep:#00564c; --teal-mid:#007a6c;
  --teal-tint:#9fe6db; --teal-wash:#e8f5f4; --vitrina-bg:#0d1014;
  --guinda-d:#7a1527; --arena-d:#8a6a3e;
  --r:3px;
  --teal-h:#008072; --foco:var(--teal-d); --statebar-tld:#8b919a;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55}
.pv-h,.pv-display{font-family:'Manrope',sans-serif;color:var(--ink);margin:0}
a{color:inherit;text-decoration:none}
.pv-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.pv-kicker{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-d)}
.pv-rule{height:2px;width:46px;background:var(--teal);border:0;margin:0}

/* ---- barra del Estado (gobchis) ---- */
.pv-statebar{background:#1c1f24;color:#cfd3d8;font-size:.78rem;font-weight:500}
.pv-statebar .pv-wrap{display:flex;align-items:center;height:34px;gap:22px}
.pv-statebar .pv-brand{font-weight:700;color:#fff;letter-spacing:.02em}
.pv-brand-tld{color:var(--statebar-tld)}
.pv-statebar nav{margin-left:auto;display:flex;gap:20px}
.pv-statebar a:hover{color:#fff}

/* ---- masthead ---- */
.pv-masthead{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.pv-masthead .pv-wrap{display:flex;align-items:center;height:84px;gap:28px}
.pv-masthead .pv-logo{height:54px}
.pv-mnav{margin-left:auto;display:flex;gap:30px;align-items:center}
.pv-mnav-list{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0}
.pv-mnav a,.pv-mnav-toggle{font-size:.92rem;font-weight:600;color:var(--ink);position:relative;padding:6px 0}
.pv-mnav a.pv-active,.pv-mnav-toggle.pv-active{color:var(--teal-d)}
.pv-mnav-list > li > a::after,.pv-mnav-toggle::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--teal);transition:right .25s}
.pv-mnav-list > li > a:hover::after,.pv-mnav-list > li > a.pv-active::after,
.pv-mnav-toggle:hover::after,.pv-mnav-toggle.pv-active::after{right:0}
/* submenú (Configuración › Navegación): botón «disclosure» + lista; menu-portal.js maneja aria-expanded */
.pv-mnav-item{position:relative}
.pv-mnav-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;font-family:inherit;cursor:pointer}
.pv-mnav-toggle i{font-size:.7rem;transition:transform .2s}
.pv-mnav-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.pv-mnav-sub{display:none;position:absolute;top:calc(100% + 10px);left:-16px;z-index:30;min-width:230px;margin:0;padding:6px 0;list-style:none;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
.pv-mnav-sub.is-open{display:block}
html:not(.pv-js) .pv-mnav-item:hover .pv-mnav-sub,html:not(.pv-js) .pv-mnav-item:focus-within .pv-mnav-sub{display:block}
.pv-mnav-sub a{display:block;padding:10px 16px;font-weight:600}
.pv-mnav-sub a:hover{background:var(--teal-wash);color:var(--teal-d)}
.pv-mnav-sub a.pv-active{background:var(--teal-wash)}
.pv-masthead .pv-search{flex-shrink:0;background:none;cursor:pointer;font-family:inherit;padding:0;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;color:var(--ink);font-size:1.05rem}
.pv-masthead .pv-search:hover{border-color:var(--teal);color:var(--teal-d)}
/* menú del celular: botón «Menú» y la entrada «Accesibilidad» solo existen por debajo de 980 px */
.pv-menu-btn,.pv-mnav-acc{display:none}

/* ---- HERO editorial con marca de agua del escudo ---- */
.pv-hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 88% 8%, rgba(0,152,135,.06), transparent 60%),
  var(--paper);
  border-bottom:1px solid var(--line)}
.pv-hero .pv-crest{position:absolute;top:-60px;right:-120px;width:560px;height:auto;opacity:.05;filter:grayscale(1);pointer-events:none}
.pv-hero .pv-wrap{position:relative;padding:74px 32px 0}
.pv-hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:56px;align-items:start}
.pv-hero h1{font-size:3.55rem;line-height:1.04;letter-spacing:-.022em;font-weight:800;margin:.7rem 0 0;color:var(--ink)}
.pv-hero h1 em{font-style:normal;font-weight:800;color:var(--teal-d);box-shadow:inset 0 -.12em 0 rgba(0,152,135,.14)}
.pv-hero .pv-lede{font-size:1.12rem;color:var(--body);max-width:34ch;margin:1.3rem 0 0}
.pv-hero .pv-cta{display:flex;gap:14px;margin-top:1.9rem;flex-wrap:wrap}
.pv-btn{display:inline-flex;align-items:center;gap:9px;padding:.78rem 1.3rem;border-radius:var(--r);font-weight:700;font-size:.92rem;border:1.5px solid transparent;transition:.18s}
.pv-btn-teal{background:var(--teal-h);color:#fff}
.pv-btn-teal:hover{background:var(--teal-d);color:#fff}
.pv-btn-ghost{border-color:var(--line);color:var(--ink)}
.pv-btn-ghost:not(span):hover{border-color:var(--ink)}
.pv-hero-aside{padding-top:8px}
.pv-searchbox{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.7rem .9rem}
.pv-searchbox:focus-within{border-color:var(--teal)}
.pv-searchbox input{border:0;outline:0;flex:1;font:inherit;font-size:.95rem;color:var(--ink);background:transparent}
.pv-searchbox i{color:var(--muted)}
/* atajo de teclado del buscador: solo con teclado físico y pantalla amplia */
.pv-kbd{font:inherit;font-size:.7rem;font-weight:700;line-height:1;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:var(--r);padding:4px 6px;box-shadow:none;white-space:nowrap}
/* botón de enviar del buscador del héroe: ícono visible, nombre accesible en texto oculto, objetivo de 40 px */
.pv-searchbox--heroe{padding:.35rem .35rem .35rem .9rem}
.pv-searchbox-enviar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:var(--r);background:var(--teal-h);color:var(--paper);cursor:pointer;transition:.18s}
.pv-searchbox .pv-searchbox-enviar i{color:inherit;font-size:1rem}
.pv-searchbox-enviar:hover{background:var(--teal-d)}
.pv-searchbox-enviar:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
@media (max-width:980px),(pointer:coarse){.pv-kbd{display:none}}
.pv-quick{margin-top:1.1rem;display:flex;flex-direction:column}
.pv-quick a{display:flex;align-items:center;gap:12px;padding:.85rem .2rem;border-bottom:1px solid var(--line-soft);font-weight:600;color:var(--ink);font-size:.92rem}
.pv-quick a span.pv-n{color:var(--teal-d);font-weight:800;font-size:.8rem;width:22px;font-variant-numeric:tabular-nums}
.pv-quick a i.pv-go{margin-left:auto;color:var(--muted);transition:.2s}
.pv-quick a:hover i.pv-go{color:var(--teal);transform:translateX(3px)}

/* ---- banda de audiencias (triángulo educativo) ---- */
.pv-aud{margin-top:64px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.pv-aud a{padding:30px 30px 30px 26px;border-left:1px solid var(--line);position:relative;display:block;transition:.2s;background:var(--paper)}
.pv-aud a:first-of-type{border-left:0}
.pv-aud a::before{content:'';position:absolute;left:-1px;top:0;width:3px;height:0;transition:height .25s}
.pv-aud a:hover{background:#fff}
.pv-aud a:hover::before{height:100%}
.pv-aud .pv-a-alumnos::before{background:var(--verde)} .pv-aud .pv-a-docentes::before{background:var(--guinda)} .pv-aud .pv-a-tutores::before{background:var(--arena)}
.pv-aud .pv-ico{font-size:1.5rem;margin-bottom:14px;display:block}
.pv-aud .pv-a-alumnos .pv-ico{color:var(--verde)} .pv-aud .pv-a-docentes .pv-ico{color:var(--guinda)} .pv-aud .pv-a-tutores .pv-ico{color:var(--arena)}
.pv-aud h3{font-size:1.18rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.pv-aud p{font-size:.86rem;color:var(--muted);margin:.35rem 0 0}
.pv-aud .pv-arrow{position:absolute;right:24px;top:28px;color:var(--muted);transition:.2s}
.pv-aud a:hover .pv-arrow{color:var(--ink);transform:translateX(3px)}

/* ---- secciones ---- */
.pv-section{padding:64px 0}
.pv-sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}
.pv-sec-head h2{font-size:1.7rem;font-weight:800;letter-spacing:-.018em;color:var(--ink)}
.pv-sec-tit{margin-top:8px}
.pv-sec-head .pv-more{font-weight:700;font-size:.86rem;color:var(--teal-d);display:inline-flex;gap:6px;align-items:center;min-height:24px}

/* actualidad editorial (1 líder + columna) */
.pv-news{display:grid;grid-template-columns:1.6fr 1fr;gap:44px}
.pv-lead{display:block}
.pv-lead .pv-media{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:
  linear-gradient(135deg,var(--verde),var(--teal-d));position:relative;border:1px solid var(--line);background-size:cover;background-position:center}
.pv-lead .pv-media .pv-tag{position:absolute;top:16px;left:16px;background:#fff;color:var(--guinda);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:2px;z-index:2}
.pv-lead .pv-media .pv-cr{position:absolute;inset:0;background:url('/images/logos/escudo-blanco.webp') no-repeat right -40px bottom -30px;background-size:230px;opacity:.16}
.pv-lead .pv-meta{display:flex;gap:14px;align-items:center;margin:18px 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pv-lead .pv-meta .pv-dot{width:4px;height:4px;border-radius:50%;background:var(--arena)}
.pv-lead h3{font-size:1.62rem;font-weight:800;letter-spacing:-.02em;line-height:1.12;color:var(--ink)}
.pv-lead p{margin:.7rem 0 0;color:var(--body);max-width:52ch}
.pv-lead:hover h3{color:var(--teal-d)}
.pv-feeds{display:flex;flex-direction:column}
.pv-feed{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.pv-feed:first-child{padding-top:0}
.pv-feed .pv-date{flex-shrink:0;text-align:center;width:48px}
.pv-feed .pv-date .pv-d{font-size:1.55rem;color:var(--guinda);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pv-feed .pv-date .pv-m{font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.pv-feed h3{font-size:1.02rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.pv-feed p{font-size:.84rem;color:var(--muted);margin:.3rem 0 0}
.pv-feed:hover h3{color:var(--teal-d)}
.pv-empty-note{padding:28px;border:1px dashed var(--line);border-radius:var(--r);background:var(--paper);color:var(--muted);font-size:.92rem}
.pv-empty-note strong{display:block;color:var(--ink);font-weight:700;margin-bottom:4px}

/* convocatorias strip */
.pv-band-alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pv-convs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.pv-conv{padding:26px;border-left:1px solid var(--line)}
.pv-conv:first-child{border-left:0}
.pv-conv .pv-st{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.pv-conv .pv-st.pv-open{color:var(--verde)} .pv-conv .pv-st.pv-open .pv-b{width:7px;height:7px;border-radius:50%;background:var(--verde)}
.pv-conv .pv-st.pv-closed{color:var(--muted)} .pv-conv .pv-st.pv-closed .pv-b{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.pv-conv .pv-dep{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px}
.pv-conv h3{font-size:1.08rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--ink)}
.pv-conv .pv-lnk{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.84rem;color:var(--guinda)}

/* micrositios + videoteca band */
.pv-duo{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.pv-ms-list{display:flex;flex-direction:column}
.pv-ms-list a{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.pv-ms-list a:first-child{padding-top:0}
.pv-ms-list .pv-ms-bar{width:3px;align-self:stretch;border-radius:2px;background:var(--ms-acento,var(--teal));flex-shrink:0}
.pv-ms-list .pv-ms-kicker{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.pv-ms-list h3{font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.pv-ms-list a .pv-ms-go{margin-left:auto;color:var(--muted);transition:.2s}
.pv-ms-list a:hover .pv-ms-go{color:var(--teal);transform:translateX(3px)}
.pv-ms-list a:hover h3{color:var(--teal-d)}
.pv-vidtile{display:block;position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--slate),#1c1f24);background-size:cover;background-position:center}
.pv-vidtile .pv-vid-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,2,6,.05),rgba(12,2,6,.75))}
.pv-vidtile .pv-vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--guinda);display:grid;place-items:center;font-size:1.7rem;transition:.2s}
.pv-vidtile:hover .pv-vid-play{transform:translate(-50%,-50%) scale(1.06)}
.pv-vidtile .pv-vid-meta{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.pv-vidtile .pv-vid-badge{display:inline-block;background:var(--guinda);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;margin-bottom:8px}
.pv-vidtile h3{color:#fff;font-size:1.12rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
/* showcase de video del home: destacado grande contenido + riel de 4 */
.pv-vshow{max-width:920px;margin:0 auto}
/* micrositios a 2 columnas cuando van a ancho completo */
.pv-ms-list--cols{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
@media (max-width:760px){.pv-ms-list--cols{grid-template-columns:1fr}}
/* riel de 4 videos bajo el destacado (home) */
.pv-vrail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.pv-vrail .pv-vid-play{width:42px;height:42px;font-size:1.1rem}
.pv-vrail .pv-vid-meta{left:12px;right:12px;bottom:11px}
.pv-vrail .pv-vid-badge{font-size:.58rem;padding:3px 7px;margin-bottom:5px}
.pv-vrail h3{font-size:.82rem;font-weight:700}
@media (max-width:980px){.pv-vrail{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pv-vrail{grid-template-columns:1fr}}

/* lightbox de video */
.pv-lightbox-content{position:relative;background:#0c0206;border:0;border-radius:var(--r);overflow:hidden}
.pv-lightbox-content .pv-embed{margin-top:0;border:0;border-radius:0}
.pv-lightbox-close{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--guinda);display:grid;place-items:center;font-size:1rem;cursor:pointer;transition:.2s}
.pv-lightbox-close:hover{background:#fff;transform:scale(1.06)}

/* servicios ciudadanos */
.pv-svc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.pv-svc a{padding:26px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px;transition:.2s}
.pv-svc a:first-child{border-left:0}
.pv-svc a:hover{background:var(--bg)}
.pv-svc i{font-size:1.55rem;color:var(--teal-d)}
.pv-svc span{font-weight:700;font-size:.96rem;color:var(--ink);letter-spacing:-.01em}

/* footer institucional */
.pv-foot{background:var(--slate);color:#c4cad2;padding:56px 0 0}
.pv-foot a{color:#c4cad2}
.pv-foot a:hover{color:#fff}
.pv-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.pv-foot .pv-se-logo{height:46px;margin-bottom:16px}
.pv-foot .pv-about{font-size:.86rem;color:#9aa3ad;max-width:30ch}
.pv-foot h2{color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
.pv-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px;font-size:.88rem}
/* objetivo táctil >= 24 px (WCAG 2.5.8); el espacio entre renglones se conserva */
.pv-foot li{min-height:24px;padding:2px 0}
.pv-foot li a{display:inline-flex;align-items:center;min-height:24px}
.pv-foot .pv-social{display:flex;gap:10px;margin-top:18px}
.pv-foot .pv-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r);display:grid;place-items:center}
.pv-foot .pv-social a:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.pv-foot-civic{display:flex;align-items:center;gap:18px;padding:22px 0;font-size:.82rem;color:#9aa3ad;flex-wrap:wrap}
.pv-foot-civic .pv-crest{height:34px;width:auto;opacity:.9}
.pv-foot-civic .pv-pl{height:30px;opacity:.85}
/* sello del Premio OX: discreto, del mismo gris que la franja; junto a PLADSE, a la derecha */
.pv-foot-civic .pv-premio{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:inherit;font-size:.76rem;min-height:24px}
.pv-foot-civic .pv-premio img{width:28px;height:28px;opacity:.75;filter:grayscale(1) brightness(1.3)}
.pv-foot-civic .pv-premio:hover{color:#fff}
.pv-foot-civic .pv-premio:hover img{opacity:1;filter:none}
.pv-foot-civic .pv-sep{color:#5c636c}

/* entrada escalonada */
.pv-reveal{animation:pv-rise .6s cubic-bezier(.4,0,.2,1) both}
@keyframes pv-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* skeleton shimmer (placeholder de imagen, P-1) */
.pv-skeleton{background:linear-gradient(100deg,#e9ecef 30%,#f4f6f8 50%,#e9ecef 70%);background-size:200% 100%;animation:pv-shimmer 1.4s ease-in-out infinite}
@keyframes pv-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ① VITRINA OFICIAL (slider de campañas, Bootstrap carousel, 3:1 cinematográfico) */
.pv-vitrina{background:var(--vitrina-bg)}
/* el alto lo da la diapositiva (16:5, hasta 470 px), no el alto fijo de 400 px de la sección 1 */
.pv-vitrina .carousel-item{height:auto;background:none}
/* 16:5 (3.2:1): la proporción de los carteles del sitio (1120×350, 2560×800); así un cartel llena el marco de lado a lado */
.pv-vslide{position:relative;width:100%;aspect-ratio:16/5;max-height:470px;overflow:hidden;background:linear-gradient(115deg,var(--teal-darker) 0%,var(--teal-deep) 55%,var(--teal-mid) 100%);display:flex;align-items:center;background-size:cover;background-position:center}
/* velo para legibilidad del texto cuando el slide trae imagen de fondo */
/* velo para legibilidad: opaco donde va el texto (izquierda); con alfa >= .7 el blanco cumple 4.5:1 aun sobre una foto blanca */
.pv-vslide::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,
  color-mix(in srgb,var(--teal-darker) 85%,transparent) 0%,color-mix(in srgb,var(--teal-darker) 72%,transparent) 50%,
  color-mix(in srgb,var(--teal-darker) 30%,transparent) 100%)}
.pv-vslide .pv-vcrest{position:absolute;right:-50px;bottom:-90px;width:440px;height:auto;opacity:.13;filter:none;pointer-events:none}
.pv-vslide .pv-vinner{position:relative;z-index:1;color:#fff;max-width:1240px;margin:0 auto;padding:0 32px;width:100%}
.pv-vslide .pv-vk{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-tint)}
.pv-vslide h2{color:#fff;font-size:2.7rem;font-weight:800;letter-spacing:-.022em;line-height:1.05;margin:.55rem 0 1.1rem;max-width:17ch}
.pv-vslide p{color:var(--paper);font-size:1rem;max-width:40ch;margin:-.5rem 0 1.1rem}
.pv-vbtn{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--teal-darker);font-weight:800;font-size:.92rem;padding:.78rem 1.3rem;border-radius:var(--r);transition:.18s}
.pv-vbtn:hover{background:var(--teal-wash);color:var(--teal-darker)}
/* carousel controls styled as pv-vctrl */
.pv-vitrina .carousel-control-prev,
.pv-vitrina .carousel-control-next{width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--vitrina-bg) 55%,transparent);top:50%;transform:translateY(-50%);bottom:auto;opacity:1;transition:.18s}
.pv-vitrina .carousel-control-prev{left:26px}
.pv-vitrina .carousel-control-next{right:26px}
.pv-vitrina .carousel-control-prev:hover,
.pv-vitrina .carousel-control-next:hover{background:color-mix(in srgb,var(--vitrina-bg) 80%,transparent)}
/* las flechas llevan fondo oscuro propio: siguen visibles sobre un cartel claro («Solo imagen») */
.pv-vitrina .carousel-control-prev-icon,
.pv-vitrina .carousel-control-next-icon{width:18px;height:18px}
/* dots (carousel-indicators) styled as pv-vdots */
/* a la derecha, dejando sitio al botón de pausa; cada indicador se ve fino (4 px) pero su área táctil es de 30×24 */
.pv-vitrina .carousel-indicators{left:auto;right:120px;bottom:12px;justify-content:flex-end;margin:0;padding:0 8px;min-height:32px;
  align-items:center;border-radius:var(--r);background:color-mix(in srgb,var(--vitrina-bg) 62%,transparent)}
.pv-vitrina .carousel-indicators [data-bs-target]{box-sizing:content-box;width:30px;height:4px;margin:0 3px;padding:0;border:0;
  border-top:10px solid transparent;border-bottom:10px solid transparent;background-clip:padding-box;
  background-color:color-mix(in srgb,var(--paper) 45%,transparent);border-radius:0;opacity:1;transition:.18s}
.pv-vitrina .carousel-indicators .active{background-color:var(--paper)}
/* «Solo imagen»: cartel con el texto dibujado. Se ve completo (contain, sin recorte), sin velo ni título; el enlace cubre la
   imagen. Toca el borde de arriba y el de abajo: el fondo difuminado solo rellena los lados (pantallas anchas o un cartel
   más angosto que 16:5). Indicadores y pausa van encima, en una pastilla oscura que se lee sobre un cartel claro. */
.pv-vslide--imagen{justify-content:center;background:var(--vitrina-bg)}
.pv-vslide--imagen::after{content:none}
.pv-vslide-enlace{display:flex;width:100%;height:100%;justify-content:center;align-items:center}
/* .pv-vitrina delante: le gana a «.carousel-item img» (sección 1), que recorta (cover) y atenúa (opacity .8) */
.pv-vitrina .pv-vslide-img{display:block;width:100%;height:100%;object-fit:contain;opacity:1}
.pv-vslide-enlace:focus-visible{outline:3px solid var(--paper);outline-offset:-6px}
/* Fondo del cartel: la misma imagen difuminada llena los lados (en vez de franjas vacías); un velo la apaga para que el
   cartel destaque y los indicadores blancos se lean. Desborda (inset negativo) para que el blur no deje bordes claros. */
.pv-vslide--imagen{position:relative;overflow:hidden}
.pv-vslide-fondo{position:absolute;inset:-48px;background-size:cover;background-position:center;filter:blur(28px) saturate(1.15);transform:scale(1.08);pointer-events:none}
.pv-vslide--imagen::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--vitrina-bg) 38%,transparent);pointer-events:none}
.pv-vslide--imagen .pv-vslide-enlace,.pv-vitrina .pv-vslide--imagen>.pv-vslide-img{position:relative;z-index:1}
.pv-vitrina .pv-vslide--imagen .pv-vslide-img{filter:drop-shadow(0 6px 24px color-mix(in srgb,var(--vitrina-bg) 45%,transparent))}
/* «Solo texto»: fondo institucional (degradado teal) con el escudo grande de marca de agua */
.pv-vslide--texto .pv-vcrest{right:4%;bottom:-140px;width:560px;opacity:.14}
@media (prefers-reduced-transparency:reduce){.pv-vslide-fondo{display:none}}

/* ② DESTACADO HORIZONTAL (in-content, 970×250) */
.pv-adstrip{padding-top:6px}
.pv-adph{position:relative;height:170px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;align-items:center;background:linear-gradient(100deg,var(--paper) 0%,var(--paper) 58%,var(--line-soft) 58%,var(--line-soft) 100%);background-size:cover;background-position:center}
.pv-adph .pv-ad-cta{position:absolute;left:42px;z-index:1;max-width:62%}
.pv-adph .pv-ad-cta .pv-vk{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-d)}
.pv-adph .pv-ad-cta h2{font-size:1.35rem;font-weight:800;letter-spacing:-.015em;margin:.3rem 0 .6rem;color:var(--ink)}
.pv-ad-body{font-size:.88rem;color:var(--muted);margin:0 0 .6rem}
.pv-ad-tag{position:absolute;top:12px;right:14px;z-index:1;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:3px 8px}
/* con imagen de fondo: velo claro + texto sobre fondo legible */
.pv-adph.is-image::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.72) 48%,rgba(255,255,255,0) 80%)}
.pv-adph.is-image .pv-ad-tag{color:var(--ink);background:rgba(255,255,255,.85);border-color:transparent}

/* ---- responsive ---- */
@media (max-width:980px){
  /* la diapositiva llena el alto del carrusel (sin franja vacía) y deja abajo el sitio de indicadores y pausa */
  .pv-vslide{aspect-ratio:auto;min-height:400px;padding:28px 0 64px}
  /* en celular el texto ocupa todo el ancho: velo parejo */
  .pv-vslide::after{background:color-mix(in srgb,var(--teal-darker) 78%,transparent)}
  /* indicadores a la izquierda y pausa a la derecha: ya no se enciman */
  .pv-vitrina .carousel-indicators{left:0;right:0;justify-content:flex-start;padding:0 120px 0 17px;background:none}
  .pv-vslide h2{font-size:1.9rem}
  /* cartel: ancho completo a su proporción (sin franjas difuminadas arriba y abajo). En un cartel de 122 px de alto la
     pastilla taparía parte del texto: indicadores y pausa bajan a una franja debajo del carrusel. */
  .pv-vslide.pv-vslide--imagen{aspect-ratio:16/5;min-height:0;padding:0}
  .pv-vitrina:has(.carousel-item.active.pv-vitem--imagen) .carousel{padding-bottom:48px}
  .pv-vitrina .carousel-control-prev,.pv-vitrina .carousel-control-next{display:none}
  .pv-adph{height:auto;min-height:120px;flex-direction:column;align-items:flex-start;padding:24px 20px}
  .pv-adph .pv-ad-cta{position:static;max-width:100%}
  .pv-adph.is-image::before{background:rgba(255,255,255,.9)}
  .pv-wrap{padding:0 20px}
  .pv-hero .pv-wrap{padding:48px 20px 0}
  .pv-hero-grid{grid-template-columns:1fr;gap:36px}
  .pv-hero h1{font-size:2.6rem}
  .pv-aud{grid-template-columns:1fr}
  .pv-aud a{border-left:0;border-top:1px solid var(--line)}
  .pv-news{grid-template-columns:1fr;gap:32px}
  .pv-convs{grid-template-columns:1fr}
  .pv-conv{border-left:0;border-top:1px solid var(--line)}
  .pv-conv:first-child{border-top:0}
  .pv-duo{grid-template-columns:1fr;gap:32px}
  .pv-svc{grid-template-columns:1fr 1fr}
  .pv-svc a:nth-child(3){border-left:0}
  .pv-foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  /* encabezado del celular: logo · Menú · Buscar; la navegación se despliega bajo el encabezado */
  .pv-masthead .pv-wrap{height:72px;gap:8px}
  .pv-masthead .pv-logo{height:44px}
  .pv-masthead .pv-search{width:44px;height:44px}
  .pv-menu-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;min-height:44px;padding:0 12px;flex-shrink:0;
    background:none;border:1px solid var(--line);border-radius:var(--r);font:inherit;font-size:.9rem;font-weight:700;color:var(--ink);cursor:pointer}
  .pv-menu-btn i{font-size:1.3rem}
  .pv-menu-btn:hover,.pv-menu-btn[aria-expanded="true"]{border-color:var(--teal-d);color:var(--teal-d)}
  html:not(.pv-js) .pv-menu-btn{display:none}
  /* sin JS: la navegación completa en una fila que se ajusta bajo el logo */
  html:not(.pv-js) .pv-masthead .pv-wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px}
  html:not(.pv-js) .pv-masthead .pv-search{display:none}
  html:not(.pv-js) .pv-mnav{order:3;width:100%;margin:0;flex-wrap:wrap;gap:4px 18px}
  html:not(.pv-js) .pv-mnav a{min-height:44px;display:inline-flex;align-items:center}
  html.pv-js .pv-mnav{display:none}
  html.pv-js .pv-mnav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;
    position:absolute;top:100%;left:0;right:0;padding:4px 20px 16px;background:var(--paper);
    border-bottom:1px solid var(--line);box-shadow:0 12px 24px color-mix(in srgb,var(--ink) 12%,transparent);max-height:calc(100vh - 72px);overflow-y:auto}
  .pv-mnav.is-open a,.pv-mnav.is-open .pv-mnav-acc{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:1rem}
  .pv-mnav.is-open a::after{display:none}
  .pv-mnav.is-open a.pv-active{box-shadow:inset 3px 0 0 var(--teal);padding-left:12px}
  .pv-mnav.is-open .pv-mnav-acc{width:100%;background:none;border:0;font-family:inherit;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
  .pv-mnav.is-open .pv-mnav-acc i{color:var(--teal-d);font-size:1.15rem}
}
@media (max-width:400px){
  .pv-masthead .pv-wrap{padding:0 14px}
  .pv-masthead .pv-logo{height:38px}
}
/* submenús en el menú del celular: la lista se despliega en su lugar, con sangría */
@media (max-width:980px){
  html:not(.pv-js) .pv-mnav-list{flex-wrap:wrap;gap:4px 18px}
  html:not(.pv-js) .pv-mnav-toggle{min-height:44px}
  .pv-mnav.is-open .pv-mnav-list{flex-direction:column;align-items:stretch;gap:0}
  .pv-mnav.is-open .pv-mnav-toggle{width:100%;justify-content:space-between;min-height:48px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:1rem;text-align:left}
  .pv-mnav.is-open .pv-mnav-toggle::after{display:none}
  .pv-mnav.is-open .pv-mnav-sub{position:static;min-width:0;padding:0 0 0 16px;border:0;border-radius:0;box-shadow:none;background:none}
  .pv-mnav.is-open .pv-mnav-sub a{padding:10px 0;font-weight:500}
  .pv-mnav.is-open .pv-mnav-sub a:hover{background:none}
}
@media (max-width:560px){
  .pv-statebar nav{display:none}
  .pv-svc{grid-template-columns:1fr}
  .pv-svc a{border-left:0;border-top:1px solid var(--line)}
  .pv-svc a:first-child{border-top:0}
  .pv-foot-grid{grid-template-columns:1fr}
}

/* =========================================================================
   PÁGINAS INTERNAS (P-2): cabecera, índices, detalle artículo+aside, MPU
   ========================================================================= */

/* ---- cabecera de página interna (hero compacto con marca de agua) ---- */
.pv-phead{position:relative;overflow:hidden;background:
  radial-gradient(120% 120% at 90% 0%, rgba(0,152,135,.06), transparent 58%),
  var(--paper);border-bottom:1px solid var(--line)}
.pv-phead .pv-crest{position:absolute;top:-70px;right:-90px;width:420px;height:auto;opacity:.05;filter:grayscale(1);pointer-events:none}
.pv-phead .pv-wrap{position:relative;padding:52px 32px 44px}
.pv-phead h1{font-size:2.7rem;line-height:1.05;letter-spacing:-.022em;font-weight:800;color:var(--ink);margin:.55rem 0 0;max-width:20ch}
.pv-phead .pv-lede{font-size:1.06rem;color:var(--body);max-width:60ch;margin:.9rem 0 0}
/* ---- página de audiencia: tema por Audiencia.ColorToken (decorativo y texto con contraste AA) ---- */
.pv-tema-general{--color-theme:var(--teal);--color-theme-text:var(--teal-d)}
.pv-tema-alumnos{--color-theme:var(--verde);--color-theme-text:var(--verde)}
.pv-tema-docentes{--color-theme:var(--guinda);--color-theme-text:var(--guinda)}
.pv-tema-tutores{--color-theme:var(--arena);--color-theme-text:var(--arena-d)}
.pv-tema-texto{color:var(--color-theme-text,var(--teal-d))}
.pv-aud-head{display:flex;align-items:flex-start;gap:28px;margin-top:.5rem}
.pv-aud-head-ico{font-size:3.2rem;color:var(--color-theme,var(--teal));flex-shrink:0;margin-top:.2rem}
@media (max-width:560px){.pv-aud-head{gap:16px}.pv-aud-head-ico{font-size:2.4rem}}
.pv-back{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;letter-spacing:.02em;color:var(--muted);margin-bottom:6px}
.pv-back:hover{color:var(--teal-d)}
.pv-back i{transition:transform .2s}
.pv-back:hover i{transform:translateX(-3px)}
/* en el detalle el enlace de regreso va en su propia línea, separado del antetítulo que lo sigue */
.pv-article > .pv-back{display:flex;width:fit-content;margin-bottom:18px}

/* ---- rejilla de índice (boletines, micrositios) ---- */
.pv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pv-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:.2s}
.pv-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.pv-card-media{aspect-ratio:16/9;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--verde),var(--teal-d));background-size:cover;background-position:center}
.pv-card-media .pv-card-cr{position:absolute;inset:0;background:url('/images/logos/escudo-blanco.webp') no-repeat right -28px bottom -22px;background-size:160px;opacity:.16}
.pv-card-media .pv-card-ico{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;color:rgba(255,255,255,.85)}
.pv-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.pv-card-kicker{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pv-card-kicker--ms{color:var(--ms-boton,var(--teal-d))}
.pv-card-date{font-size:.74rem;font-weight:800;letter-spacing:.05em;color:var(--guinda)}
/* Artículos: fecha y categoría en una línea; la categoría como chip (tipo oración, sin mayúsculas forzadas) */
.pv-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.pv-card-chip{font-size:.74rem;font-weight:700;line-height:1.4;color:var(--teal-d);background:var(--teal-wash);border:1px solid var(--line);border-radius:50rem;padding:1px 10px}
.pv-filtro-categorias{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 18px}
.pv-card h3{font-size:1.16rem;font-weight:800;letter-spacing:-.014em;line-height:1.18;color:var(--ink);margin:.45rem 0 0}
.pv-card p{font-size:.88rem;color:var(--muted);margin:.5rem 0 0;line-height:1.5}
.pv-card:hover h3{color:var(--teal-d)}
/* resumen de la tarjeta: hasta 4 líneas (el texto completo está en el artículo); las tarjetas de una fila se estiran
   juntas (grid) y el pie queda abajo (margin-top:auto), así las alturas quedan parejas */
.pv-card .pv-card-resumen{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.pv-card-foot{margin-top:auto;padding-top:14px;font-size:.82rem;font-weight:700;color:var(--teal-d);display:inline-flex;align-items:center;gap:7px}

/* ---- rejilla de convocatorias (índice) ---- */
.pv-convgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pv-convgrid .pv-conv{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.pv-convgrid .pv-conv:first-child{border-left:1px solid var(--line)}
/* resultados por año: el encabezado del año siguiente no queda pegado a la cuadrícula anterior */
.pv-convgrid + .pv-sec-head{margin-top:48px}

/* ---- rejilla de videoteca (índice) ---- */
.pv-vidgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* ---- detalle: artículo + columna lateral ---- */
.pv-detail{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:54px;align-items:start;padding:50px 0 8px}
.pv-article .pv-eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--guinda)}
.pv-article h1{font-size:2.5rem;line-height:1.08;letter-spacing:-.022em;font-weight:800;color:var(--ink);margin:.5rem 0 0}
.pv-artmeta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:18px 0 0;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.pv-artmeta i{color:var(--teal-d)}
.pv-artmeta .pv-dot{width:4px;height:4px;border-radius:50%;background:var(--arena)}
.pv-art-lead{font-size:1.18rem;line-height:1.55;color:var(--body);margin:22px 0 0;padding-bottom:22px;border-bottom:2px solid var(--teal);font-weight:500}
.pv-art-media{aspect-ratio:16/8;margin:26px 0 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center}

/* prosa del contenido inyectado (HTML del editor, ya sanitizado) */
.pv-prose{margin-top:26px;color:var(--body);font-size:1.02rem;line-height:1.72;overflow-wrap:anywhere}
.pv-prose>*:first-child{margin-top:0}
.pv-prose h2{font-size:1.5rem;font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:2rem 0 .7rem}
.pv-prose h3{font-size:1.2rem;font-weight:800;color:var(--ink);margin:1.6rem 0 .5rem}
.pv-prose p{margin:0 0 1.1rem}
.pv-prose a{color:var(--teal-d);font-weight:600;box-shadow:inset 0 -.08em 0 rgba(0,152,135,.2)}
.pv-prose a:hover{box-shadow:inset 0 -1.05em 0 rgba(0,152,135,.1)}
.pv-prose ul,.pv-prose ol{margin:0 0 1.1rem;padding-left:1.4rem}
.pv-prose li{margin:.35rem 0}
.pv-prose blockquote{margin:1.4rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:3px solid var(--teal);color:var(--ink);font-style:italic;font-size:1.1rem}
.pv-prose img{max-width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);margin:1.2rem 0}
.pv-prose table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}
/* tablas: se desplazan a lo ancho dentro de su contenedor (HtmlPortal.Mostrar) en vez de desbordar la página */
.pv-tabla{max-width:100%;overflow-x:auto;margin:1.2rem 0}
.pv-tabla>table{margin:0;overflow-wrap:normal}
.pv-tabla:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-prose th,.pv-prose td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left}
.pv-prose th{background:var(--bg);font-weight:700;color:var(--ink)}

/* etiquetas (tags) al pie del artículo */
.pv-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pv-tag-chip{font-size:.78rem;font-weight:600;color:var(--teal-d);background:rgba(0,152,135,.08);border:1px solid var(--line);border-radius:50rem;padding:4px 12px}
.pv-tag-chip:hover{border-color:var(--teal)}

/* columna lateral (aside) */
.pv-aside{position:sticky;top:80px;display:flex;flex-direction:column;gap:22px}
.pv-aside-card{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:22px}
.pv-aside-card h2,.pv-aside-card .pv-aside-tit{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-d);margin:0 0 14px}
.pv-aside-list{display:flex;flex-direction:column}
.pv-aside-list a{display:block;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.3}
.pv-aside-list a:last-child{border-bottom:0;padding-bottom:0}
.pv-aside-list a:hover{color:var(--teal-d)}
.pv-aside-list small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}

/* ---- banner LATERAL (MPU 300×250 / 300×600) ---- */
.pv-mpu{display:block;position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);aspect-ratio:300/250;
  background:linear-gradient(150deg,var(--teal-darker) 0%,var(--teal-deep) 60%,var(--teal-mid) 100%);background-size:cover;background-position:center}
.pv-mpu--tall{aspect-ratio:300/420}
.pv-mpu::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,48,43,.12) 0%,rgba(4,48,43,.74) 100%)}
.pv-mpu .pv-mpu-crest{position:absolute;right:-26px;bottom:-30px;width:170px;height:auto;opacity:.16;pointer-events:none}
.pv-mpu .pv-mpu-tag{position:absolute;top:12px;left:12px;z-index:1;background:rgba(255,255,255,.92);color:var(--teal-darker);font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:2px}
.pv-mpu .pv-mpu-in{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff}
.pv-mpu .pv-mpu-in .pv-vk{color:var(--teal-tint);font-size:.62rem}
.pv-mpu .pv-mpu-in h3{color:#fff;font-size:1.08rem;font-weight:800;letter-spacing:-.012em;line-height:1.16;margin:.3rem 0 .5rem}
.pv-mpu .pv-mpu-in .pv-mpu-go{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}
.pv-mpu:hover .pv-mpu-go{border-bottom-color:#fff}

/* ---- reproductor de video embebido (detalle videoteca) ---- */
.pv-embed{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--slate);margin-top:8px}
.pv-embed iframe,.pv-embed video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}
.pv-embed-facade{position:absolute;inset:0;display:grid;place-items:center;background:var(--slate) center/cover no-repeat;cursor:pointer;text-decoration:none}
.pv-embed-play{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--teal);color:var(--paper);font-size:2.2rem;transition:transform .15s}
.pv-embed-facade:hover .pv-embed-play,.pv-embed-facade:focus-visible .pv-embed-play{transform:scale(1.08)}
.pv-embed-facade:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}

/* ---- contacto: mapa + callout ---- */
.pv-map{position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg)}
.pv-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pv-map-facade{position:absolute;inset:0;display:grid;place-items:center;background:var(--bg);text-decoration:none;cursor:pointer}
.pv-map-facade-btn{display:inline-flex;align-items:center;gap:9px;padding:.78rem 1.3rem;border-radius:var(--r);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-weight:700;font-size:.92rem;transition:.18s}
.pv-map-facade:hover .pv-map-facade-btn,.pv-map-facade:focus-visible .pv-map-facade-btn{border-color:var(--ink)}
.pv-map-facade:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
/* v2.66: sin barra de color a la izquierda; el aviso se marca con fondo teñido de guinda */
.pv-callout{display:flex;gap:18px;align-items:flex-start;padding:24px;margin-top:26px;border:1px solid color-mix(in srgb,var(--guinda) 22%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--guinda) 5%,var(--paper))}
.pv-callout-ico{width:48px;height:48px;border-radius:var(--r);display:grid;place-items:center;font-size:1.45rem;flex-shrink:0;background:rgba(158,35,67,.1);color:var(--guinda)}
.pv-callout-body{flex:1;min-width:0}
.pv-callout h2{font-size:1.18rem;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pv-callout p{font-size:.9rem;color:var(--body);margin:.45rem 0 1rem;line-height:1.55}
.pv-soon{font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--arena-d);border:1px solid var(--arena);border-radius:2px;padding:2px 7px}
.pv-contact-list{display:flex;flex-direction:column;gap:0}
.pv-contact-list li{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line-soft);list-style:none}
.pv-contact-list li:last-child{border-bottom:0}
.pv-contact-list i{color:var(--teal-d);font-size:1.1rem;margin-top:2px}
.pv-contact-list .pv-cl-k{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:2px}
.pv-contact-list .pv-cl-v{font-size:.92rem;color:var(--ink);font-weight:600}
.pv-social-row{display:flex;gap:10px;margin-top:4px}
.pv-social-row a{width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r);display:grid;place-items:center;color:var(--ink);font-size:1.1rem;transition:.15s}
.pv-social-row a:hover{border-color:var(--teal);color:var(--teal)}

/* ---- barra de filtros (índices) ---- */
.pv-filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:30px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-filterbar .pv-filter-search{display:flex;align-items:center;gap:9px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.55rem .8rem;flex:1;min-width:220px}
.pv-filterbar .pv-filter-search:focus-within{border-color:var(--teal)}
.pv-filterbar .pv-filter-search i{color:var(--muted)}
.pv-filterbar .pv-filter-search input{border:0;outline:0;flex:1;font:inherit;font-size:.92rem;color:var(--ink);background:transparent}
.pv-filterbar select.pv-filter-select{appearance:none;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;padding:.55rem 2rem .55rem .85rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237c8794'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:14px}
.pv-filterbar select.pv-filter-select:focus{border-color:var(--teal)}
.pv-filterbar select.pv-filter-select:focus:not(:focus-visible){outline:0}
.pv-filterbar .pv-filter-clear{font-size:.84rem;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.pv-filterbar .pv-filter-clear:hover{color:var(--guinda)}

/* ---- paginación editorial ---- */
.pv-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:40px}
.pv-page{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);font-weight:700;font-size:.9rem;transition:.15s}
.pv-page:hover{border-color:var(--teal);color:var(--teal-d)}
.pv-page.is-active{background:var(--teal-h);border-color:var(--teal-h);color:#fff}
.pv-page.is-disabled{opacity:.4;pointer-events:none}
.pv-page-gap{display:inline-flex;align-items:center;padding:0 4px;color:var(--muted)}
.pv-pagination-meta{text-align:center;font-size:.82rem;color:var(--muted);margin:14px 0 0}

/* ---- resultados de búsqueda (página /buscar) ---- */
.pv-results{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;margin-bottom:30px}
.pv-result{display:flex;align-items:center;gap:16px;padding:17px 20px;border-top:1px solid var(--line);transition:background .15s}
.pv-result:first-child{border-top:0}
.pv-result:hover{background:var(--bg)}
.pv-result-ico{width:42px;height:42px;border-radius:var(--r);display:grid;place-items:center;font-size:1.15rem;flex-shrink:0;background:rgba(0,152,135,.1);color:var(--teal-d)}
.pv-result-ico.is-warning{background:rgba(190,149,92,.14);color:var(--arena-d)}
.pv-result-ico.is-info{background:rgba(12,127,160,.1);color:#0c7fa0}
.pv-result-ico.is-neutral{background:rgba(44,47,54,.08);color:var(--slate)}
.pv-result-body{min-width:0;flex:1}
.pv-result-title{font-size:1.04rem;font-weight:700;color:var(--ink);line-height:1.2;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pv-result-type{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:2px 7px}
.pv-result-desc{font-size:.86rem;color:var(--muted);margin:.25rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-result mark{background:transparent;color:var(--teal-d);font-weight:800;padding:0}
.pv-result-go{margin-left:auto;color:var(--muted);flex-shrink:0;transition:transform .2s}
.pv-result:hover .pv-result-go{color:var(--teal);transform:translateX(3px)}
.pv-result:hover .pv-result-title{color:var(--teal-d)}

/* ---- estado (404 / 500 / sin permisos) ---- */
.pv-state{min-height:54vh;display:grid;place-items:center;text-align:center;padding:64px 24px;position:relative;overflow:hidden}
.pv-state .pv-crest{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;height:auto;opacity:.04;filter:grayscale(1);pointer-events:none}
.pv-state-code{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--guinda)}
.pv-state h1{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:.5rem 0 0;position:relative}
.pv-state p{color:var(--muted);max-width:48ch;margin:.8rem 0 1.6rem;position:relative}

/* ---- micrositio: cabecera con imagen de portada ---- */
.pv-phead--media{background:var(--paper)}
.pv-phead--media::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,2,6,.42) 0%,rgba(12,2,6,.18) 100%)}
.pv-phead--media .pv-wrap{position:relative;z-index:1}
.pv-phead--media h1,.pv-phead--media .pv-lede,.pv-phead--media .pv-back{color:#fff}
.pv-phead--media .pv-back:hover{color:rgba(255,255,255,.8)}
.pv-phead--media .pv-rule{opacity:.7}

/* ---- responsive páginas internas ---- */
@media (max-width:980px){
  .pv-phead h1{font-size:2.1rem}
  .pv-cards,.pv-convgrid,.pv-vidgrid{grid-template-columns:1fr 1fr}
  .pv-detail{grid-template-columns:1fr;gap:36px}
  .pv-aside{position:static}
  .pv-article h1{font-size:2rem}
}
@media (max-width:560px){
  .pv-cards,.pv-convgrid,.pv-vidgrid{grid-template-columns:1fr}
}

/* ── Micrositios por bloques (A1): pv-ms-*, pv-sec-*, pv-blk-* ───────────── */
/* Micrositio como landing (2026-10-24, mockup docs/mockups/micrositio-landing.html): portada con franja o imagen,
   secciones con fondos alternos y un solo ritmo vertical, tarjetas con imagen proporcionada y pie del micrositio. */
.pv-ms--teal{--ms-acento:var(--teal);--ms-boton:var(--teal-d);--ms-sobre:var(--paper);--mc-accent:var(--teal)}
.pv-ms--teal-d{--ms-acento:var(--teal-d);--ms-boton:var(--teal-d);--ms-sobre:var(--paper);--mc-accent:var(--teal-d)}
.pv-ms--guinda{--ms-acento:var(--guinda);--ms-boton:var(--guinda);--ms-sobre:var(--paper);--mc-accent:var(--guinda)}
.pv-ms--arena{--ms-acento:var(--arena);--ms-boton:var(--arena-d);--ms-sobre:var(--paper);--mc-accent:var(--arena)}
.pv-ms--verde{--ms-acento:var(--verde);--ms-boton:var(--verde);--ms-sobre:var(--paper);--mc-accent:var(--verde)}
/* dorado: el botón y los textos usan el tono oscuro (blanco sobre #7d5f35 cumple 4.5:1; sobre #b38e5d no) */
.pv-ms--dorado{--ms-acento:var(--dorado);--ms-boton:var(--dorado-d);--ms-sobre:var(--paper);--mc-accent:var(--dorado)}
.pv-ms--pizarra{--ms-acento:var(--pizarra);--ms-boton:var(--pizarra);--ms-sobre:var(--paper);--mc-accent:var(--pizarra)}
.pv-ms{background:var(--paper)}
.pv-ms-franja{background:var(--arena);color:var(--ink);text-align:center;font-weight:700;font-size:.85rem;padding:8px 16px}
.pv-ms-cabecera{background:var(--paper);border-top:4px solid var(--ms-acento);border-bottom:1px solid var(--line)}
.pv-ms-cabecera .pv-wrap{padding-top:14px}
.pv-ms-migas{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;color:var(--muted);margin-bottom:6px}
.pv-ms-migas a{color:var(--muted)}
.pv-ms-migas a:hover{color:var(--ink)}
.pv-ms-titulo{font-size:2rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:6px 0 18px}
.pv-ms-cabecera .pv-ms-menu ul{display:flex;flex-wrap:wrap;column-gap:2px;list-style:none;margin:0 -14px;padding:0}
.pv-ms-menu ul{list-style:none;margin:0;padding:0}
.pv-ms-menu a{display:block;padding:12px 14px;font-weight:700;font-size:.88rem;color:var(--ink);border-bottom:3px solid transparent;white-space:nowrap}
.pv-ms-menu a:hover{color:var(--ms-boton)}
.pv-ms-menu a.is-active{border-bottom-color:var(--ms-acento);color:var(--ms-boton)}
.pv-ms-cuerpo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;padding-top:36px;padding-bottom:56px}
.pv-ms-aside .pv-ms-menu ul{display:flex;flex-direction:column;gap:2px}
.pv-ms-aside .pv-ms-menu a{border-bottom:0;padding:8px 12px;border-radius:var(--r);white-space:normal}
.pv-ms-aside .pv-ms-menu a.is-active{background:var(--teal-wash);color:var(--ms-boton)}
.pv-ms-aside-tit{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pv-ms-indice{position:sticky;top:24px}
.pv-ms-indice ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.pv-ms-indice a{display:block;padding:6px 12px;font-size:.88rem;color:var(--ink)}
.pv-ms-indice a:hover{color:var(--ms-boton)}
.pv-ms-lateral{display:flex;flex-direction:column;gap:18px;margin-top:24px}
/* Secciones: fondos alternos; dos seguidas con el mismo fondo no duplican el aire */
.pv-sec{padding:64px 0}
.pv-sec--claro{background:var(--paper)}
.pv-sec--gris{background:var(--bg)}
.pv-sec--acento{background:color-mix(in srgb,var(--ms-acento) 8%,var(--paper))}
.pv-sec--claro:not(.pv-sec--hero)+.pv-sec--claro,.pv-sec--gris+.pv-sec--gris,.pv-sec--acento+.pv-sec--acento{padding-top:0}
.pv-ms-cuerpo--full .pv-sec-inner{max-width:1240px;margin:0 auto;padding:0 32px}
.pv-ms-cuerpo--full .pv-sec--hero{padding:0}
.pv-ms-cuerpo--full .pv-sec--hero .pv-sec-inner{max-width:none;padding:0}
.pv-ms-main .pv-sec{padding:20px 0}
.pv-ms-main .pv-sec--gris,.pv-ms-main .pv-sec--acento{padding:24px;border-radius:var(--r);margin:12px 0}
.pv-sec-grid{display:grid;gap:40px}
.pv-sec-grid--2-col{grid-template-columns:1fr 1fr}
.pv-sec-grid--3-col{grid-template-columns:repeat(3,1fr)}
.pv-sec-grid--1-2{grid-template-columns:1fr 2fr}
.pv-sec-grid--2-1{grid-template-columns:2fr 1fr}
.pv-sec-col{display:flex;flex-direction:column;gap:20px;min-width:0}
/* Sección de una columna que es de lectura (título + texto, documentos, acordeón, enlaces…): en escritorio el título va a
   la izquierda y el contenido a la derecha a su medida de lectura, en vez de dejar vacío el 40 % derecho. Si la sección
   trae tarjetas, galerías, videos, cifras, mapa o imágenes, se queda a todo el ancho. */
@media (min-width:992px){
  .pv-ms-cuerpo--full .pv-sec-grid--1 > .pv-sec-col:has(> .pv-blk-enc--h2:first-child + *):not(:has(> :is(.pv-blk-tarjetas,.pv-blk-enlaces-cols,.pv-blk-carrusel,.pv-blk-galeria,.pv-blk-cifras,.pv-blk-lista-videos,.pv-blk-video,.pv-blk-mapa,.pv-blk-linea-tiempo,.pv-blk-img,.pv-blk-imagen,.pv-blk-docs--tarjetas,.pv-librero))){
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);column-gap:64px;row-gap:0;align-items:start}
  .pv-ms-cuerpo--full .pv-sec-grid--1 > .pv-sec-col:has(> .pv-blk-enc--h2:first-child + *):not(:has(> :is(.pv-blk-tarjetas,.pv-blk-enlaces-cols,.pv-blk-carrusel,.pv-blk-galeria,.pv-blk-cifras,.pv-blk-lista-videos,.pv-blk-video,.pv-blk-mapa,.pv-blk-linea-tiempo,.pv-blk-img,.pv-blk-imagen,.pv-blk-docs--tarjetas,.pv-librero))) > *{grid-column:2}
  /* sin row-gap (el título abarca filas vacías que lo sumarían): el aire entre bloques va como margen */
  .pv-ms-cuerpo--full .pv-sec-grid--1 > .pv-sec-col:has(> .pv-blk-enc--h2:first-child + *):not(:has(> :is(.pv-blk-tarjetas,.pv-blk-enlaces-cols,.pv-blk-carrusel,.pv-blk-galeria,.pv-blk-cifras,.pv-blk-lista-videos,.pv-blk-video,.pv-blk-mapa,.pv-blk-linea-tiempo,.pv-blk-img,.pv-blk-imagen,.pv-blk-docs--tarjetas,.pv-librero))) > * + *:not(:nth-child(2)){margin-top:20px}
  .pv-ms-cuerpo--full .pv-sec-grid--1 > .pv-sec-col:has(> .pv-blk-enc--h2:first-child + *):not(:has(> :is(.pv-blk-tarjetas,.pv-blk-enlaces-cols,.pv-blk-carrusel,.pv-blk-galeria,.pv-blk-cifras,.pv-blk-lista-videos,.pv-blk-video,.pv-blk-mapa,.pv-blk-linea-tiempo,.pv-blk-img,.pv-blk-imagen,.pv-blk-docs--tarjetas,.pv-librero))) > .pv-blk-enc--h2:first-child{
    grid-column:1;grid-row:1 / span 40;position:sticky;top:96px}
}
/* Sección de una columna a todo lo ancho: el texto y las listas de documentos comparten la misma medida (antes el texto
   iba a 72ch y los documentos a todo lo ancho; análisis de micrositios importados, problema 14). */
.pv-ms-cuerpo--full .pv-sec-grid--1 :is(.pv-blk-texto,.pv-blk-docs:not(.pv-blk-docs--tarjetas),.pv-blk-docs-grupos),.pv-sec-grid--1 .pv-blk-enc-intro{max-width:46rem}
/* El encabezado queda más cerca de su contenido que del bloque anterior: el texto no suma el margen de .pv-prose ni el
   de su último párrafo, y el espacio de la columna se reparte (más antes del encabezado, menos después). */
.pv-sec-col>.pv-blk-texto,.pv-ms-lateral>.pv-blk-texto{margin-top:0}
.pv-sec-col>.pv-blk-texto>:last-child,.pv-ms-lateral>.pv-blk-texto>:last-child{margin-bottom:0}
.pv-sec-col>.pv-blk-enc:not(:first-child){margin-top:12px}
.pv-sec-col>.pv-blk-enc+*{margin-top:-6px}
/* Portada: franja con el color del micrositio (simple), dividida con imagen, o imagen de fondo con velo pizarra */
.pv-blk-hero{position:relative;background:color-mix(in srgb,var(--ms-acento) 9%,var(--paper));border-bottom:1px solid var(--line);border-radius:var(--r);overflow:hidden;isolation:isolate}
.pv-sec--hero .pv-blk-hero{border-radius:0}
/* Portada sin foto: el escudo de línea en marca de agua a la derecha y un degradado leve del color del micrositio,
   como las cabeceras de las páginas del portal (.pv-phead). El texto va encima (z-index) y el escudo no recibe clics. */
.pv-blk-hero--escudo{background:radial-gradient(120% 140% at 92% 0%,color-mix(in srgb,var(--ms-acento) 16%,transparent),transparent 60%),
  color-mix(in srgb,var(--ms-acento) 7%,var(--paper))}
.pv-blk-hero-escudo{position:absolute;top:-60px;right:-70px;width:400px;height:auto;opacity:.06;pointer-events:none;z-index:0}
.pv-blk-hero--escudo .pv-blk-hero-in{position:relative;z-index:1}
@media (max-width:760px){.pv-blk-hero-escudo{width:240px;top:-30px;right:-60px;opacity:.05}}
.pv-blk-hero-in{max-width:1240px;margin:0 auto;padding:72px 32px;display:grid;gap:48px;align-items:center}
.pv-ms-main .pv-blk-hero-in,.pv-sec:not(.pv-sec--hero) .pv-blk-hero-in{padding:48px 32px}
.pv-blk-hero--dividido .pv-blk-hero-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.pv-blk-hero-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ms-boton);margin:0 0 12px}
.pv-blk-hero-tit{font-size:2.6rem;line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0 0 16px;max-width:22ch}
.pv-blk-hero-sub{font-size:1.12rem;color:var(--body);margin:0 0 28px;max-width:58ch}
.pv-blk-hero-txt>:last-child{margin-bottom:0}
.pv-blk-hero-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.pv-blk-hero--con-imagen{background-size:cover;background-position:center;background-color:var(--slate)}
.pv-blk-hero--con-imagen::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,color-mix(in srgb,var(--slate) 92%,transparent) 0%,color-mix(in srgb,var(--slate) 70%,transparent) 55%,color-mix(in srgb,var(--slate) 35%,transparent) 100%)}
.pv-blk-hero--con-imagen .pv-blk-hero-in{min-height:440px;align-content:center}
.pv-blk-hero--con-imagen .pv-blk-hero-tit,.pv-blk-hero--con-imagen .pv-blk-hero-sub,.pv-blk-hero--con-imagen .pv-blk-hero-eyebrow{color:var(--paper)}
.pv-blk-hero--con-imagen .pv-blk-btn--primario,.pv-blk-hero--con-imagen .pv-blk-btn--primario:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.pv-ms-layout--landing .pv-blk-hero-tit{font-size:2.9rem}
/* Encabezado: filete corto del color del micrositio debajo del título de sección */
.pv-blk-enc h2{font-size:1.85rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0}
.pv-blk-enc--h2 h2::after{content:"";display:block;width:48px;height:3px;background:var(--ms-acento);margin-top:12px}
.pv-blk-enc h3{font-size:1.25rem;font-weight:800;color:var(--ink);margin:0}
.pv-blk-enc-intro{color:var(--body);font-size:1.05rem;margin:14px 0 0;max-width:72ch}
/* Texto: listas con viñeta cuadrada del color del micrositio */
.pv-blk-texto ul{list-style:none;padding:0}
.pv-blk-texto ul>li{position:relative;padding-left:20px;margin:.35em 0}
.pv-blk-texto ul>li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;background:var(--ms-acento)}
.pv-blk-texto--destacado{padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ms-acento);border-radius:var(--r)}
/* Imagen: nunca más ancha que su tamaño natural; «chica» para logos y sellos */
.pv-blk-img{margin:0;display:flex;flex-direction:column;align-items:center}
.pv-blk-img img{display:block;width:auto;max-width:100%;height:auto;border-radius:var(--r)}
.pv-blk-img--normal img{max-height:480px}
.pv-blk-img--ancho-completo{align-items:stretch}
.pv-blk-img--ancho-completo img{width:100%}
/* Ampliable (organigrama, cartel suelto): completo y a lo más del alto de la pantalla; el detalle, en el visor. */
.pv-blk-img--ampliable{align-items:center}
.pv-blk-img--ampliable img{width:auto;max-width:100%;max-height:85vh;cursor:zoom-in}
.pv-blk-img--chica img{max-width:min(100%,320px);max-height:240px;object-fit:contain}
.pv-blk-img figcaption{font-size:.85rem;color:var(--muted);margin-top:8px;align-self:stretch;text-align:center}
/* Botones: los seguidos van en una fila */
.pv-blk-boton{display:flex}
.pv-blk-boton--centro{justify-content:center}
.pv-blk-boton--der{justify-content:flex-end}
.pv-blk-botones{display:flex;flex-wrap:wrap;gap:12px}
.pv-blk-botones--centro{justify-content:center}
.pv-blk-botones--der{justify-content:flex-end}
.pv-blk-botones>.pv-blk-boton{display:contents}
.pv-blk-btn{min-height:44px}
.pv-blk-btn--primario{background:var(--ms-boton);border-color:var(--ms-boton);color:var(--ms-sobre)}
.pv-blk-btn--primario:hover{filter:brightness(.92);color:var(--ms-sobre)}
.pv-blk-btn--secundario{background:var(--paper);border-color:var(--ms-boton);color:var(--ink)}
.pv-blk-btn--secundario:hover{background:var(--teal-wash);color:var(--ink)}
.pv-blk-sep--linea{border:0;border-top:1px solid var(--line);margin:8px 0}
.pv-blk-sep--espacio{height:32px}
/* Pie del micrositio: nombre, páginas y contacto en todas sus páginas */
.pv-ms-pie{background:var(--bg);border-top:3px solid var(--ms-acento);padding:48px 0}
.pv-ms-pie .pv-wrap{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:40px}
.pv-ms-pie p{margin:0;font-size:.92rem}
.pv-ms-pie .pv-ms-pie-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ms-boton);margin:0 0 6px}
.pv-ms-pie .pv-ms-pie-nombre{font-size:1.25rem;line-height:1.25;font-weight:800;color:var(--ink);margin:0 0 8px}
.pv-ms-pie .pv-ms-pie-tit{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pv-ms-pie ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.pv-ms-pie li{display:flex;gap:8px;align-items:baseline;overflow-wrap:anywhere}
.pv-ms-pie li i{color:var(--ms-boton)}
.pv-ms-pie ul a{color:var(--ink);font-weight:600;display:inline-flex;align-items:center;min-height:24px}
.pv-ms-pie ul a:hover,.pv-ms-pie ul a[aria-current]{color:var(--ms-boton)}
@media (max-width:991.98px){
  .pv-ms-pie .pv-wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:767.98px){
  .pv-sec{padding:44px 0}
  .pv-sec-grid{grid-template-columns:1fr !important;gap:28px}
  .pv-ms-cuerpo{grid-template-columns:1fr;gap:24px}
  .pv-ms-cuerpo--full .pv-sec-inner{padding:0 16px}
  .pv-ms-titulo{font-size:1.6rem}
  .pv-ms-cabecera .pv-ms-menu ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 6px}
  .pv-ms-cabecera .pv-ms-menu ul::-webkit-scrollbar{display:none}
  .pv-ms-cabecera .pv-ms-menu li{flex:0 0 auto}
  .pv-blk-hero-in,.pv-ms-main .pv-blk-hero-in,.pv-sec:not(.pv-sec--hero) .pv-blk-hero-in{padding:44px 16px;gap:28px}
  .pv-blk-hero--dividido .pv-blk-hero-in{grid-template-columns:1fr}
  .pv-blk-hero-tit,.pv-ms-layout--landing .pv-blk-hero-tit{font-size:2rem}
  .pv-blk-hero-sub{font-size:1rem}
  .pv-blk-hero--con-imagen .pv-blk-hero-in{min-height:340px}
  .pv-blk-hero--con-imagen::before{background:color-mix(in srgb,var(--slate) 80%,transparent)}
  .pv-blk-enc h2{font-size:1.5rem}
  .pv-blk-botones .pv-btn{flex:1 1 100%;justify-content:center}
  .pv-ms-pie .pv-wrap{grid-template-columns:1fr;gap:28px}
}
/* ── Micrositios A2: medios y organización ─────────────────────────────── */
.pv-blk-galeria{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.pv-blk-galeria--carrusel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.pv-blk-galeria--carrusel>li{flex:0 0 min(80%,420px);scroll-snap-align:start}
.pv-blk-galeria-item{margin:0}
.pv-blk-galeria-item a{display:block;border-radius:var(--r);overflow:hidden}
.pv-blk-galeria-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .2s}
.pv-blk-galeria-item a:hover img,.pv-blk-galeria-item a:focus-visible img{transform:scale(1.03)}
.pv-blk-galeria-item a:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-galeria-item figcaption{font-size:.82rem;color:var(--muted);margin-top:6px}
.pv-lightbox{position:fixed;inset:0;z-index:2000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:24px;background:color-mix(in srgb,var(--slate) 92%,transparent)}
.pv-lightbox[hidden],.pv-lightbox button[hidden]{display:none}
.pv-lightbox-fig{margin:0;text-align:center;color:var(--paper)}
.pv-lightbox-fig img{max-width:100%;max-height:78vh;border-radius:var(--r)}
.pv-lightbox-fig figcaption{margin-top:10px;font-size:.92rem}
.pv-lightbox button{background:transparent;border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);color:var(--paper);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:1.2rem;cursor:pointer}
.pv-lightbox button:focus-visible{outline:3px solid var(--paper);outline-offset:2px}
.pv-lightbox-cerrar{position:absolute;top:16px;right:16px}
.pv-lightbox-contador{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:var(--paper);font-size:.85rem;margin:0}
body.pv-lightbox-abierto{overflow:hidden}
.pv-blk-video-tit{font-size:.9rem;color:var(--muted);margin:8px 0 0}
.pv-blk-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pv-blk-docs--tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.pv-blk-doc{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.pv-blk-doc:hover{border-color:var(--ms-acento,var(--teal))}
.pv-blk-doc-ico{font-size:1.6rem;color:var(--ms-boton,var(--teal-d))}
.pv-blk-doc-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.pv-blk-doc-tit{font-weight:700}
.pv-blk-doc-desc{font-size:.85rem;color:var(--muted)}
.pv-blk-doc-ext{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--muted)}
/* número del documento cuando varios se llaman igual («Aceptados», «No aceptados») */
.pv-blk-doc-n{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:2px}
/* resultados: «Ver los N documentos» despliega el resto de la lista (details nativo, sin JS) */
.pv-docs-mas{margin-top:8px}
.pv-docs-mas > summary{display:inline-flex;align-items:center;gap:6px;min-height:24px;cursor:pointer;font-size:.86rem;font-weight:700;color:var(--teal-d);list-style:none}
.pv-docs-mas > summary::-webkit-details-marker{display:none}
.pv-docs-mas > summary::after{content:"\F282";font-family:bootstrap-icons;font-size:.8rem;transition:transform .2s}
.pv-docs-mas[open] > summary::after{transform:rotate(180deg)}
.pv-docs-mas > summary:hover{text-decoration:underline}
.pv-docs-mas > summary:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-docs-mas[open] > summary{margin-bottom:8px}
.pv-docs-mas .pv-docs-mas-cerrar,.pv-docs-mas[open] .pv-docs-mas-abrir{display:none}
.pv-docs-mas[open] .pv-docs-mas-cerrar{display:inline}
/* Visor de PDF en línea (_VisorPdf: bases de convocatoria y archivos «Mostrar en línea» del bloque Documentos).
   Sin JS, en táctiles o en pantallas angostas es una tarjeta con «Abrir» y «Descargar» (Chrome Android no pinta un PDF
   en un iframe e iOS solo la primera página); en escritorio con ratón visor-pdf.js agrega el iframe (.is-visor). */
.pv-pdf{margin:24px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.pv-pdf-head{display:flex;align-items:center;gap:12px 14px;flex-wrap:wrap;padding:14px 16px;margin:0}
.pv-pdf.is-visor .pv-pdf-head{border-bottom:1px solid var(--line)}
.pv-pdf-ico{font-size:1.9rem;line-height:1;color:var(--ms-boton,var(--teal-d))}
.pv-pdf-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 240px}
.pv-pdf-tit{font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.pv-pdf-meta{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.pv-pdf-acciones{display:flex;gap:8px;flex-wrap:wrap}
.pv-pdf-acciones .pv-btn{padding:.6rem 1rem;font-size:.88rem}
.pv-pdf-largo{display:none}
.pv-pdf.is-visor .pv-pdf-largo{display:inline}
.pv-pdf-marco{background:var(--line-soft)}
.pv-pdf-marco iframe{display:block;width:100%;height:min(85vh,1100px);min-height:560px;border:0}
@media (max-width:575.98px){.pv-pdf-acciones{width:100%}.pv-pdf-acciones .pv-btn{flex:1 1 0;justify-content:center}}
.pv-docs-cuerpo{margin:24px 0}
.pv-blk-mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.pv-blk-mapa iframe{display:block;width:100%;border:0}
.pv-blk-mapa--chica iframe{height:240px}
.pv-blk-mapa--mediana iframe{height:360px}
.pv-blk-mapa--grande iframe{height:480px}
.pv-blk-mapa .pv-map-facade{position:relative;inset:auto;width:100%}
.pv-blk-mapa--chica .pv-map-facade{height:240px}
.pv-blk-mapa--mediana .pv-map-facade{height:360px}
.pv-blk-mapa--grande .pv-map-facade{height:480px}
/* Tarjetas: rejilla según cuántas son; imagen proporcionada arriba; toda la tarjeta es el enlace */
.pv-blk-tarjetas{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pv-blk-tarjetas--n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-blk-tarjetas--n3,.pv-blk-tarjetas--n5,.pv-blk-tarjetas--n6{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-blk-tarjetas--n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-tarjetas,.pv-ms-main .pv-blk-tarjetas{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.pv-blk-tarjeta{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.pv-blk-tarjeta:hover,.pv-blk-tarjeta:focus-within{border-color:var(--ms-acento,var(--teal));box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 8%,transparent)}
.pv-blk-tarjeta-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg)}
.pv-blk-tarjeta-img--contener{object-fit:contain;padding:10px}
.pv-blk-tarjeta-cuerpo{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.pv-blk-tarjeta-ico{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r);background:var(--teal-wash);color:var(--ms-boton,var(--teal-d));font-size:1.3rem;margin-bottom:6px}
.pv-blk-tarjeta-tit{font-size:1.05rem;line-height:1.3;font-weight:800;color:var(--ink);margin:0}
.pv-blk-tarjeta-tit a{color:inherit}
.pv-blk-tarjeta-tit a::after{content:"";position:absolute;inset:0}
.ed-blk .pv-blk-tarjeta-tit a::after{display:none}
.pv-blk-tarjeta-tit a:focus-visible{outline:none}
.pv-blk-tarjeta:has(.pv-blk-tarjeta-tit a:focus-visible){outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-tarjeta p{color:var(--body);margin:0;font-size:.92rem}
.pv-blk-tarjeta-mas{display:inline-flex;gap:6px;align-items:center;margin-top:auto;padding-top:10px;font-weight:700;font-size:.86rem;color:var(--ms-boton,var(--teal-d))}
@media (max-width:991.98px){.pv-blk-tarjetas[class*="--n"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){.pv-blk-tarjetas[class*="--n"],.pv-blk-tarjetas{grid-template-columns:1fr}.pv-blk-tarjeta-img{aspect-ratio:16/9}}
.pv-blk-acordeon{border-top:1px solid var(--line)}
.pv-blk-acordeon-item{border-bottom:1px solid var(--line)}
.pv-blk-acordeon-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 4px;font-weight:700;color:var(--ink)}
.pv-blk-acordeon-item summary::-webkit-details-marker{display:none}
.pv-blk-acordeon-item summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--ms-boton,var(--teal-d))}
.pv-blk-acordeon-item[open] summary::after{content:"\2212"}
.pv-blk-acordeon-item summary:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-acordeon-item[open] summary{color:var(--ms-boton,var(--teal-d))}
.pv-blk-acordeon-item .pv-prose{padding:0 4px 18px}
.pv-blk-cifras{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0}
.pv-blk-cifra{display:flex;flex-direction:column-reverse;padding:22px 22px 20px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ms-acento,var(--teal));border-radius:var(--r)}
.pv-blk-cifra dd{font-size:2.4rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.1}
.pv-blk-cifra dt{font-size:.88rem;color:var(--muted);font-weight:600;margin-top:4px}
@media (max-width:767.98px){.pv-blk-cifras{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pv-blk-cifra{padding:16px}.pv-blk-cifra dd{font-size:1.9rem}}
.pv-blk-tiempo{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--line)}
.pv-blk-tiempo li{position:relative;padding:0 0 22px}
.pv-blk-tiempo li::before{content:"";position:absolute;left:-29px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--ms-acento,var(--teal));border:2px solid var(--paper)}
.pv-blk-tiempo-fecha{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ms-boton,var(--teal-d))}
.pv-blk-tiempo h3{font-size:1.05rem;font-weight:800;color:var(--ink);margin:4px 0}
.pv-blk-tiempo p{color:var(--muted);margin:0}
.pv-blk-contacto{padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-blk-contacto-nombre{font-weight:800;color:var(--ink);margin:0}
.pv-blk-contacto-cargo{color:var(--muted);margin:2px 0 10px;font-size:.9rem}
.pv-blk-contacto ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pv-blk-contacto li{display:flex;gap:12px;align-items:center;color:var(--ink);overflow-wrap:anywhere}
.pv-blk-contacto li i{display:inline-grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:var(--r);background:var(--teal-wash);color:var(--ms-boton,var(--teal-d))}
.pv-blk-contacto a{color:var(--ms-boton,var(--teal-d))}
/* ── Micrositios M1: bloques de los tipos de micrositio (docs/micrositios/analisis-micrositios-importados.md) ── */
/* Galería: dos por fila en celular (antes una: minmax(180px) no cabía dos veces a 390 px) */
@media (max-width:575.98px){.pv-blk-galeria:not(.pv-blk-galeria--carrusel){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Galería «Carteles e infografías»: sin recorte, a su proporción natural; cuatro por fila a todo lo ancho, dos en celular */
.pv-blk-galeria--carteles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px;align-items:start}
.pv-ms-cuerpo--full .pv-sec-grid--1 .pv-blk-galeria--carteles{grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-blk-galeria--carteles .pv-blk-galeria-item a{background:var(--bg);border:1px solid var(--line)}
.pv-blk-galeria--carteles .pv-blk-galeria-item img{aspect-ratio:auto;height:auto;object-fit:contain}
.pv-blk-galeria--carteles .pv-blk-galeria-item a:hover img,.pv-blk-galeria--carteles .pv-blk-galeria-item a:focus-visible img{transform:none}
.pv-blk-galeria--carteles .pv-blk-galeria-item a:hover{border-color:var(--ms-acento,var(--teal))}
@media (max-width:767.98px){.pv-ms-cuerpo--full .pv-sec-grid--1 .pv-blk-galeria--carteles,.pv-blk-galeria--carteles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
/* Un cartel solo (importado de una imagen suelta): más grande, sin quedar en la cuarta parte de la fila. */
.pv-ms-cuerpo--full .pv-sec-grid--1 .pv-blk-galeria--carteles:has(> li:only-child),.pv-blk-galeria--carteles:has(> li:only-child){grid-template-columns:minmax(0,360px)}
/* Portada «Con logo»: el logo o sello chico y sin recortar junto al título */
.pv-blk-hero--logo .pv-blk-hero-in:has(>.pv-blk-hero-logo){grid-template-columns:auto minmax(0,1fr);gap:40px}
.pv-blk-hero-logo{display:grid;place-items:center;width:168px;height:168px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.pv-blk-hero-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media (max-width:767.98px){
  .pv-blk-hero--logo .pv-blk-hero-in:has(>.pv-blk-hero-logo){grid-template-columns:1fr;gap:20px}
  .pv-blk-hero-logo{width:112px;height:112px;padding:10px}
}
/* Documentos «Agrupados»: un desplegable por grupo con su cuenta (el primero abierto) */
.pv-blk-docs-grupos{display:flex;flex-direction:column;gap:8px}
.pv-blk-docs-grupo{border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-blk-docs-grupo>summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:800;color:var(--ink)}
.pv-blk-docs-grupo>summary::-webkit-details-marker{display:none}
.pv-blk-docs-grupo>summary::after{content:"\F282";font-family:bootstrap-icons;font-weight:400;font-size:.85rem;color:var(--ms-boton,var(--teal-d));transition:transform .2s}
.pv-blk-docs-grupo[open]>summary::after{transform:rotate(180deg)}
.pv-blk-docs-grupo>summary:hover .pv-blk-docs-grupo-tit{color:var(--ms-boton,var(--teal-d))}
.pv-blk-docs-grupo>summary:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-docs-grupo-tit{flex:1;min-width:0;overflow-wrap:anywhere}
.pv-blk-docs-grupo-n{font-size:.82rem;font-weight:600;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-blk-docs-grupo>.pv-blk-docs{padding:0 12px 12px}
.pv-blk-docs-grupo .pv-blk-doc{background:var(--bg)}
.pv-blk-docs-grupo .pv-blk-doc:hover{background:var(--paper)}
@media (prefers-reduced-motion:reduce){.pv-blk-docs-grupo>summary::after{transition:none}}
@media (max-width:575.98px){
  .pv-blk-docs-grupo>summary{padding:10px 12px}
  .pv-blk-docs-grupo>.pv-blk-docs{padding:0 6px 6px;gap:6px}
  .pv-blk-docs-grupo .pv-blk-doc{padding:10px 12px;gap:10px}
  .pv-blk-docs-grupo .pv-blk-doc-ico{font-size:1.3rem}
}
/* Documentos «Tarjetas» con portada: librero (reusa .pv-librero de Publicaciones) */
.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-librero,.pv-ms-lateral .pv-blk-librero{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:28px 20px}
/* Enlaces: dos columnas de filas con descripción; los grupos llevan subtítulo */
.pv-blk-enlaces{display:flex;flex-direction:column;gap:28px}
.pv-blk-enlaces-grupo-tit{font-size:1.05rem;font-weight:800;color:var(--ink);margin:0 0 4px}
.pv-blk-enlaces-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.pv-blk-enlace{display:flex;gap:12px;align-items:flex-start;height:100%;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink)}
.pv-blk-enlace-ico{color:var(--ms-boton,var(--teal-d));margin-top:3px}
.pv-blk-enlace-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pv-blk-enlace-tit{font-weight:700;overflow-wrap:anywhere}
.pv-blk-enlace:hover .pv-blk-enlace-tit{color:var(--ms-boton,var(--teal-d));text-decoration:underline;text-underline-offset:3px}
.pv-blk-enlace-desc{font-size:.88rem;color:var(--muted)}
.pv-blk-enlace:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-enlaces-lista,.pv-ms-lateral .pv-blk-enlaces-lista{grid-template-columns:minmax(0,1fr)}
/* Videos del micrositio: cuadrícula de reproductores con fachada y su título */
.pv-blk-videos{list-style:none;margin:0;padding:0;display:grid;gap:28px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-blk-videos--n1{grid-template-columns:minmax(0,46rem)}
.pv-blk-videos--n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-videos:not(.pv-blk-videos--n1){grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.pv-blk-videos-item{min-width:0}
.pv-blk-videos-tit{font-size:1rem;font-weight:700;line-height:1.35;color:var(--ink);margin:10px 0 0;overflow-wrap:anywhere}
@media (max-width:991.98px){.pv-blk-videos:not(.pv-blk-videos--n1){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.pv-blk-videos:not(.pv-blk-videos--n1){grid-template-columns:minmax(0,1fr)}}
/* Sedes y directorio: una ficha por sede */
.pv-blk-dir{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pv-blk-dir-sede{padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-blk-dir-nombre{font-size:1.05rem;font-weight:800;line-height:1.3;color:var(--ink);margin:0}
.pv-blk-dir-resp{display:flex;flex-direction:column;margin:4px 0 0;font-size:.9rem}
.pv-blk-dir-persona{font-weight:700;color:var(--ink)}
.pv-blk-dir-cargo{color:var(--muted)}
.pv-blk-dir-datos{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.pv-blk-dir-datos li{display:flex;gap:10px;align-items:baseline;color:var(--ink);overflow-wrap:anywhere}
.pv-blk-dir-datos i{color:var(--ms-boton,var(--teal-d))}
.pv-blk-dir-datos a{color:var(--ms-boton,var(--teal-d))}
@media (max-width:767.98px){.pv-blk-enlaces-lista{grid-template-columns:minmax(0,1fr)}.pv-blk-dir{grid-template-columns:minmax(0,1fr)}}
/* ---- A3 · bloques dinámicos de micrositio ---- */
.pv-blk-din--lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pv-blk-din-link{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.pv-blk-din-link:hover{border-color:var(--ms-acento,var(--teal))}
.pv-blk-din-link:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-din-ico{font-size:1.4rem;line-height:1;color:var(--ms-boton,var(--teal-d))}
.pv-blk-din-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.pv-blk-din-meta{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ms-boton,var(--teal-d))}
.pv-blk-din-tit{font-weight:700}
.pv-blk-din-res{font-size:.85rem;color:var(--muted)}
.pv-blk-din-ext{font-size:.85rem;color:var(--muted)}
.pv-blk-din--tarjetas{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.pv-blk-din--tarjetas .pv-card-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-blk-din--tarjetas .pv-card:focus-visible{outline:3px solid var(--ms-boton,var(--foco));outline-offset:2px}
.pv-blk-din-mas{display:inline-flex;gap:6px;align-items:center;min-height:24px;margin-top:12px;font-weight:700;font-size:.86rem;color:var(--ms-boton,var(--teal-d))}
@media (max-width:767.98px){.pv-lightbox{grid-template-columns:1fr;padding:56px 12px 40px}.pv-lightbox-ant,.pv-lightbox-sig{position:absolute;bottom:40px}.pv-lightbox-ant{left:16px}.pv-lightbox-sig{right:16px}}

/* ── Portal de área completo (contrato docs/micrositios/contrato-portal-area.md, 2026-10-25) ─────────────
   Submenús del micrositio, barra de hermanas, carrusel de banners, banner con fondo difuminado, tarjetas con enlaces,
   enlaces en columnas (documentos y trámites) y sección «Color del micrositio». */
/* tono oscuro de cada acento: fondo de la sección en color con texto blanco. Contraste medido (WCAG 2.x) del blanco sobre
   el fondo / sobre una tarjeta (velo blanco 9 %): teal 6.43 / 5.32, guinda 10.69 / 8.73, dorado 5.90 / 4.84,
   pizarra 13.44 / 10.11. Los rellenos de estado (6 %) nunca llevan texto encima de una tarjeta: la marca «Trámite»
   pasa a contorno. Ver contrato §5. */
.pv-ms--teal{--ms-oscuro:var(--teal-d)}
.pv-ms--guinda{--ms-oscuro:var(--guinda-d)}
.pv-ms--dorado{--ms-oscuro:var(--dorado-d)}
.pv-ms--pizarra{--ms-oscuro:var(--slate)}

/* menú con submenús: el botón se ve como las pestañas; el submenú baja como una tarjeta */
.pv-ms-menu{position:relative}
.pv-ms-menu-desp{position:relative}
.pv-ms-menu-btn{appearance:none;background:none;border:0;border-bottom:3px solid transparent;display:inline-flex;align-items:center;gap:6px;
  padding:12px 14px;font:inherit;font-weight:700;font-size:.88rem;color:var(--ink);white-space:nowrap;cursor:pointer}
.pv-ms-menu-btn i{font-size:.72rem;transition:transform .2s}
.pv-ms-menu-btn[aria-expanded="true"] i{transform:rotate(180deg)}
.pv-ms-menu-btn:hover{color:var(--ms-boton)}
.pv-ms-menu-btn.is-active{border-bottom-color:var(--ms-acento);color:var(--ms-boton)}
.pv-ms-menu-btn:focus-visible{outline:3px solid var(--foco);outline-offset:-3px}
.pv-ms-submenu{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:260px;max-width:min(360px,92vw);list-style:none;margin:0;
  padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
/* gana a «.pv-ms-cabecera .pv-ms-menu ul» (la tira de pestañas: flex, nowrap y desplazable en celular) */
.pv-ms-cabecera .pv-ms-menu ul.pv-ms-submenu{display:none;flex-direction:column;flex-wrap:nowrap;overflow:visible;margin:0;padding:6px;gap:0}
.pv-ms-submenu.is-open,.pv-ms-menu:not(.is-js) .pv-ms-menu-desp:focus-within .pv-ms-submenu,
.pv-ms-cabecera .pv-ms-menu ul.pv-ms-submenu.is-open,.pv-ms-cabecera .pv-ms-menu:not(.is-js) .pv-ms-menu-desp:focus-within ul.pv-ms-submenu{display:flex}
.pv-ms-cabecera .pv-ms-menu .pv-ms-submenu a{display:block;border-bottom:0;padding:9px 12px;border-radius:2px;font-weight:600;white-space:normal}
.pv-ms-submenu a:hover{background:var(--teal-wash)}
.pv-ms-cabecera .pv-ms-menu .pv-ms-submenu a.is-active{background:var(--teal-wash);color:var(--ms-boton);font-weight:800}
/* barra lateral de hermanas (escritorio) y su desplegable (celular) */
.pv-ms-hermanas{position:sticky;top:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:8px}
.pv-ms-hermanas .pv-ms-aside-tit{padding:6px 10px 2px;margin:0 0 4px}
.pv-ms-hermanas ul,.pv-ms-hermanas-movil ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pv-ms-hermanas a{display:block;padding:8px 10px;border-radius:2px;font-weight:600;font-size:.9rem;color:var(--ink)}
.pv-ms-hermanas a:hover{color:var(--ms-boton)}
.pv-ms-hermanas a.is-active{background:var(--teal-wash);color:var(--ms-boton);font-weight:800}
.pv-ms-hermanas-movil{display:none;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-ms-hermanas-movil summary{padding:12px 14px;font-weight:800;color:var(--ink);cursor:pointer;min-height:44px}
.pv-ms-hermanas-movil a{display:block;padding:10px 14px;border-top:1px solid var(--line-soft);color:var(--ink);font-weight:600}
.pv-ms-hermanas-movil a.is-active{background:var(--teal-wash);color:var(--ms-boton);font-weight:800}
.pv-ms-hermanas-movil summary:focus-visible,.pv-ms-hermanas a:focus-visible,.pv-ms-hermanas-movil a:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-ms-aside:has(.pv-ms-hermanas) .pv-ms-lateral:empty{display:none}
@media (max-width:767.98px){
  .pv-ms-cabecera .pv-ms-menu .pv-ms-menu-desp{position:static}
  /* el submenú se ancla al menú (no a la tira que se desplaza de lado): no lo recorta el overflow */
  .pv-ms-submenu{left:0;right:0;max-width:none;min-width:0}
  .pv-ms-hermanas{display:none}
  .pv-ms-hermanas-movil{display:block}
}

/* carrusel de banners: la vitrina de la portada; dentro de una columna se ajusta a su ancho */
.pv-blk-carrusel{border-radius:var(--r);overflow:hidden}
.pv-sec--hero .pv-blk-carrusel{border-radius:0}
.pv-blk-carrusel .pv-vslide--imagen{max-height:440px}

/* banner a todo el ancho (imagen «a todo el ancho»): completo y con la misma imagen difuminada a los lados */
.pv-blk-banner{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:var(--vitrina-bg);border-radius:var(--r)}
.pv-sec--hero .pv-blk-banner{border-radius:0}
.pv-blk-banner::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--vitrina-bg) 38%,transparent);pointer-events:none;z-index:1}
.pv-blk-img--banner .pv-blk-banner img,.pv-blk-banner-enlace{position:relative;z-index:2}
.pv-blk-img--banner .pv-blk-banner img{display:block;width:auto;max-width:100%;height:auto;max-height:440px;border-radius:0;object-fit:contain}
.pv-blk-banner-enlace{display:block}
.pv-blk-banner-enlace:focus-visible{outline:3px solid var(--paper);outline-offset:-6px}
.pv-ms-banner .pv-sec{padding:0}

/* tarjetas con enlaces dentro: cada enlace es su propio foco (la tarjeta ya no es un solo enlace) */
.pv-blk-tarjeta--enlaces .pv-blk-tarjeta-tit a::after{display:none}
.pv-blk-tarjeta--enlaces .pv-blk-tarjeta-tit a{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.pv-blk-tarjeta--enlaces .pv-blk-tarjeta-tit a:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-blk-tarjeta--enlaces:has(.pv-blk-tarjeta-tit a:focus-visible){outline:0}
.pv-blk-tarjeta-enlaces{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.pv-blk-tarjeta-enlaces a{display:inline-flex;align-items:center;min-height:24px;font-weight:600;font-size:.9rem;color:var(--ms-boton);
  text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px}
.pv-blk-tarjeta-enlaces a:hover{text-decoration-color:currentColor}
.pv-blk-tarjeta-enlaces a:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
a.pv-blk-tarjeta-mas:hover{text-decoration:underline}

/* enlaces en columnas: cada grupo es una tarjeta; 3 por fila en una columna, 2 junto a la barra lateral o en columnas, 1 en celular */
.pv-blk-enlaces-cols{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.pv-blk-enlaces-cols--n1{grid-template-columns:minmax(0,1fr)}
.pv-blk-enlaces-cols--n2,.pv-ms-main .pv-blk-enlaces-cols,.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-enlaces-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-ms-main .pv-blk-enlaces-cols--n1,.pv-sec-grid:not(.pv-sec-grid--1) .pv-blk-enlaces-cols--n1{grid-template-columns:minmax(0,1fr)}
.pv-blk-enlaces-col{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.pv-blk-enlaces-col-tit{font-size:1rem;line-height:1.3;font-weight:800;color:var(--ink);margin:0 0 2px}
.pv-blk-enlaces-filas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pv-blk-enlaces-filas > li:not(.pv-blk-enlaces-sub){border-bottom:1px solid var(--line-soft)}
.pv-blk-enlaces-filas > li:last-child{border-bottom:0}
.pv-blk-enlaces-filas .pv-blk-enlace{padding:8px 2px;border-bottom:0;gap:10px;align-items:baseline;font-size:.9rem}
.pv-blk-enlaces-filas .pv-blk-enlace-ico{margin-top:0}
.pv-blk-enlaces-filas .pv-blk-enlace-txt{flex:1}
.pv-blk-enlaces-filas .pv-blk-enlace-tit{font-weight:600}
.pv-blk-enlaces-filas li.pv-con-ver{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.pv-blk-enlaces-filas .pv-doc-ver{min-height:32px;min-width:48px;padding:0 10px;font-size:.8rem}
.pv-blk-enlaces-sub{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 2px 2px;list-style:none}
.pv-blk-enlaces-lista .pv-blk-enlaces-sub{grid-column:1/-1}
.pv-blk-enlace-marca{flex:0 0 auto;font-size:.72rem;font-weight:800;color:var(--muted);white-space:nowrap}
.pv-blk-enlace-marca--tramite{padding:1px 7px;border-radius:2px;background:var(--teal-wash);color:var(--ms-boton)}
.pv-blk-enlaces-mas{margin-top:2px}
.pv-blk-enlaces-mas > summary{color:var(--ms-boton)}
@media (max-width:991.98px){.pv-blk-enlaces-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767.98px){.pv-blk-enlaces-cols,.pv-ms-main .pv-blk-enlaces-cols{grid-template-columns:minmax(0,1fr)}}

/* sección «Color del micrositio»: fondo del tono oscuro del acento y texto blanco. Los bloques de adentro leen los tokens
   redefinidos aquí (texto, líneas, botón, foco) y sus superficies pasan a un velo blanco translúcido. */
.pv-sec--color{background:var(--ms-oscuro,var(--teal-d));color:var(--paper);
  --ink:var(--paper);--body:var(--paper);--muted:var(--paper);--line:color-mix(in srgb,var(--paper) 30%,transparent);
  --line-soft:color-mix(in srgb,var(--paper) 18%,transparent);--teal-wash:color-mix(in srgb,var(--paper) 6%,transparent);
  --ms-acento:var(--paper);--ms-boton:var(--paper);--ms-sobre:var(--ms-oscuro,var(--teal-d));--foco:var(--paper)}
.pv-ms-main .pv-sec--color{padding:24px;border-radius:var(--r);margin:12px 0}
.pv-sec--color+.pv-sec--color{padding-top:0}
.pv-sec--color :is(.pv-blk-tarjeta,.pv-blk-enlaces-col,.pv-blk-doc,.pv-blk-din-link,.pv-blk-texto--destacado,.pv-pdf,.pv-doc-descargar){
  background:color-mix(in srgb,var(--paper) 9%,transparent)}
.pv-sec--color .pv-blk-tarjeta:hover,.pv-sec--color .pv-blk-tarjeta:focus-within{box-shadow:none}
.pv-sec--color .pv-blk-tarjeta-ico{background:var(--paper);color:var(--ms-oscuro,var(--teal-d))}
.pv-sec--color .pv-blk-btn--secundario{background:transparent}
.pv-sec--color .pv-blk-enlace-marca--tramite{background:transparent;box-shadow:inset 0 0 0 1px var(--paper)}
.pv-sec--color .pv-blk-btn--secundario:hover{background:color-mix(in srgb,var(--paper) 14%,transparent)}
.pv-sec--color a:not(.pv-blk-btn){text-decoration-color:color-mix(in srgb,var(--paper) 55%,transparent)}
.pv-sec--color :focus-visible{outline-color:var(--paper)}

/* ── Accesibilidad (TX5): foco visible, pausa del carrusel ─────────────── */
.pv-masthead a:focus-visible,.pv-statebar a:focus-visible,main a:focus-visible,main button:focus-visible,
main input:focus-visible,main select:focus-visible,main textarea:focus-visible,.pv-foot a:focus-visible,
.pv-mnav button:focus-visible,.pv-masthead button:focus-visible,#acc-panel :focus-visible,#acc-btn:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-foot a:focus-visible,.pv-statebar a:focus-visible,.pv-vitrina :focus-visible{outline-color:var(--paper)}
/* superficies oscuras dentro de main y modal de video: contorno claro (>= 3:1) */
main .pv-embed-facade:focus-visible,main .pv-blk-hero--con-imagen :focus-visible,.pv-lightbox-content :focus-visible{outline-color:var(--paper)}
main:focus{outline:none}
.pv-vpausa{position:absolute;right:16px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:32px;
  background:var(--paper);color:var(--teal-darker);border:0;border-radius:var(--r);padding:.45rem .8rem;font-weight:700;font-size:.82rem}
.pv-vpausa:hover{background:var(--teal-wash)}

/* objetivos táctiles de al menos 24 px de alto (WCAG 2.5.8) en enlaces sueltos de una línea */
.pv-statebar nav a,.pv-back,.pv-conv .pv-lnk,a.pv-cl-v,.pv-ms-migas a{display:inline-flex;align-items:center;min-height:24px}

/* ---- centro de trámites (/tramites, CATyS) ---- */
.pv-tramites-buscar{max-width:620px;margin-top:18px}
.pv-tramites-buscar .pv-btn{padding:.5rem .9rem}
.pv-tramites-total{font-size:.86rem;font-weight:700;color:var(--muted)}
.pv-tramites-cats{margin:0 0 24px}
.pv-tag-chip.is-active{border-color:var(--teal-d);background:var(--teal-wash)}
.pv-conv .pv-conv-tit{font-size:1.08rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--ink)}
.pv-tramite-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:.4rem;font-size:.78rem;font-weight:600;color:var(--muted)}
.pv-tramite-meta i{color:var(--teal-d)}
.pv-result.is-sin-enlace:hover{background:transparent}
.pv-result.is-sin-enlace:hover .pv-result-title{color:var(--ink)}
.pv-enlace{color:var(--teal-d);font-weight:600;text-decoration:underline}

/* ---- listas de casillas del editor (Quill: data-list checked/unchecked → ul.pv-casillas) ---- */
.pv-casillas,.pv-prose .pv-casillas{list-style:none;padding-left:0}
.pv-casillas li{position:relative;padding-left:1.7em}
/* La marca es decorativa: el estado lo dice un texto oculto (HtmlPortal.Mostrar). «/ ""» la calla en lectores de pantalla
   donde se soporta; si no, se ignora esa declaración y queda la anterior. */
.pv-casillas li::before{content:"\2610";content:"\2610" / "";position:absolute;left:0;color:var(--teal-d);font-weight:700}
.pv-casillas li.is-marcada::before{content:"\2611";content:"\2611" / ""}

/* ---- lo más solicitado (H4, banda de portada) ---- */
.pv-solicitados{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.pv-solicitados li{border-left:1px solid var(--line);border-top:1px solid var(--line);margin:-1px 0 0 -1px}
.pv-solicitados a{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:2px;padding:22px 24px;height:100%;color:var(--ink);transition:background .2s}
.pv-solicitados a:hover{background:var(--bg)}
.pv-solicitados i{grid-row:span 2;font-size:1.5rem;color:var(--teal-d)}
.pv-solicitado-tit{font-weight:700;font-size:.98rem;letter-spacing:-.01em}
.pv-solicitado-desc{font-size:.84rem;color:var(--muted);line-height:1.4}
@media (max-width:980px){.pv-solicitados{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pv-solicitados{grid-template-columns:1fr}}

/* ---- recursos y descargas (/recursos, RB2) ---- */
.pv-recursos{list-style:none;margin:0 0 34px;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.pv-recursos li+li{border-top:1px solid var(--line)}
.pv-recursos a{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--ink);transition:background .15s}
.pv-recursos a:hover{background:var(--bg)}
.pv-recursos a>i:first-child{font-size:1.35rem;color:var(--teal-d);flex-shrink:0}
.pv-recurso-cuerpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pv-recurso-tit{font-weight:700;font-size:.98rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pv-recurso-desc{font-size:.86rem;color:var(--muted)}
.pv-recurso-go{color:var(--muted)}
.pv-recursos-enlaces{margin-top:10px}

/* ---- filtros activos y RSS en listados ---- */
.pv-filtro-activo{font-size:.9rem;color:var(--body);margin:-6px 0 18px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.pv-rss{font-size:.86rem;margin:-6px 0 22px}

/* ---- series de la videoteca (V6) ---- */
.pv-series{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pv-series a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink);transition:border-color .2s}
.pv-series a:hover{border-color:var(--teal)}
.pv-series i{grid-row:span 2;font-size:1.5rem;color:var(--teal-d)}
.pv-serie-tit{font-weight:700}
.pv-serie-meta{font-size:.82rem;color:var(--muted)}
.pv-capitulos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pv-capitulos a{display:flex;gap:18px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.pv-capitulos a:hover{border-color:var(--teal)}
.pv-capitulo-mini{flex-shrink:0;width:200px;aspect-ratio:16/9;border-radius:var(--r);background-size:cover;background-position:center;display:grid;place-items:center;color:var(--paper);font-size:1.6rem}
.pv-capitulo-cuerpo{display:flex;flex-direction:column;gap:4px;min-width:0}
.pv-capitulo-num{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-d)}
.pv-capitulo-tit{font-weight:700;font-size:1.02rem}
.pv-capitulo-desc{font-size:.86rem;color:var(--muted)}
.pv-aside-capitulos{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.pv-aside-capitulos [aria-current]{font-weight:700;color:var(--ink)}
@media (max-width:980px){.pv-series{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pv-series{grid-template-columns:1fr}.pv-capitulos a{flex-direction:column}.pv-capitulo-mini{width:100%}}

/* ---- ¿Encontraste lo que buscabas? (H5) ---- */
.pv-comentario{border-top:1px solid var(--line);background:var(--paper)}
.pv-comentario .pv-wrap{padding-top:26px;padding-bottom:26px}
.pv-comentario-form{display:flex;flex-direction:column;gap:10px;max-width:640px}
.pv-comentario-paso{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.pv-comentario-paso[data-paso="detalle"]{flex-direction:column;align-items:flex-start}
.pv-comentario-paso[hidden]{display:none}
.pv-comentario-tit{font-size:1rem;font-weight:700;color:var(--ink);margin:0}
.pv-comentario-opc{font-weight:400;color:var(--muted)}
.pv-comentario-botones{display:flex;gap:8px}
.pv-comentario-botones .pv-btn{padding:.45rem 1.1rem}
.pv-comentario textarea{width:100%;font:inherit;font-size:.92rem;border:1.5px solid var(--line);border-radius:var(--r);padding:.6rem .7rem;color:var(--ink);background:var(--paper)}
.pv-comentario textarea:focus{outline:2px solid var(--foco);outline-offset:1px}
.pv-comentario-aviso{font-size:.82rem;color:var(--muted);margin:0}
.pv-comentario-gracias{margin:0;font-weight:700;color:var(--teal-d)}
.pv-comentario-gracias:empty{display:none}
.pv-comentario-trampa{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* ---- DenunciaEDU (N5) ---- */
.pv-denuncia-cta{margin-top:20px}
.pv-denuncia-pronto{margin:18px 0 0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;color:var(--body)}
.pv-denuncia-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pv-denuncia-lista{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px;color:var(--body);font-size:.94rem}
.pv-denuncia-urgente{margin:26px 0 0;font-size:.95rem;color:var(--ink)}
@media (max-width:980px){.pv-denuncia-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   4. Banda «Sistemas» de la portada (E3): ícono del kit con el color de su eje
      (.se-applauncher-icon[data-axis]), nombre, descripción corta y enlace.
   --------------------------------------------------------------------- */
.pv-sistemas{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}
.pv-sistemas li{display:flex;min-width:0}
.pv-sistemas a{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0;padding:.85rem 1rem;border:1px solid var(--se-border);border-radius:var(--se-radius-lg);background:var(--se-card-bg);color:var(--se-fg-body);text-decoration:none;transition:border-color var(--se-transition-fast),background-color var(--se-transition-fast)}
.pv-sistemas a:hover{border-color:var(--se-primary);background:var(--se-primary-subtle)}
.pv-sistemas a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}
.pv-sistemas-cuerpo{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pv-sistemas-nombre{font-weight:var(--se-weight-bold);font-size:var(--se-text-md);color:var(--se-fg-strong);overflow-wrap:anywhere}
.pv-sistemas-desc{font-size:var(--se-text-sm);line-height:1.4;color:var(--se-fg-meta)}
.pv-sistemas-ext{flex-shrink:0;align-self:flex-start;font-size:var(--se-text-sm);color:var(--se-fg-meta)}

/* ---------------------------------------------------------------------
   5. Reproductor de video con fachada (adic-player, E4). Markup en Views/Shared/_Reproductor.cshtml; JS en
      reproductor-video.js. Actual de la lista: fondo teñido y aria-current (sin barra lateral de color, v2.66).
   --------------------------------------------------------------------- */
.adic-player{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:992px){.adic-player--playlist{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);align-items:start}}
.adic-player-main{min-width:0;display:flex;flex-direction:column;gap:.5rem}
.adic-player-stage{position:relative;aspect-ratio:16/9;border-radius:var(--se-radius-lg);overflow:hidden;background:var(--se-topbar-bg)}
.adic-player-stage iframe,.adic-player-stage video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}
.adic-player-facade{position:absolute;inset:0;display:grid;place-items:center;color:var(--se-on-primary);text-decoration:none;cursor:pointer}
.adic-player-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adic-player-play{position:relative;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:var(--se-radius-circle);background:var(--se-primary-fill);color:var(--se-on-primary);font-size:2.25rem;box-shadow:var(--se-shadow-md);transition:transform var(--se-transition-fast)}
.adic-player-cta{position:absolute;left:.75rem;bottom:.75rem;padding:.25rem .6rem;border-radius:var(--se-radius-md);background:var(--se-topbar-bg);color:var(--se-on-primary);font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold)}
.adic-player-facade:hover .adic-player-play,.adic-player-facade:focus-visible .adic-player-play{transform:scale(1.06)}
.adic-player-facade:focus-visible{outline:none;box-shadow:inset 0 0 0 .25rem var(--se-primary),inset 0 0 0 .375rem var(--se-card-bg)}
.adic-player-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
.adic-player-now{margin:0;display:flex;flex-direction:column;min-width:0}
.adic-player-count{font-size:var(--se-text-xs);font-weight:var(--se-weight-semibold);color:var(--se-fg-meta)}
.adic-player-now-title{font-weight:var(--se-weight-bold);color:var(--se-fg-strong);overflow-wrap:anywhere}
.adic-player-nav{display:flex;flex-wrap:wrap;gap:.25rem}
.adic-player-desc{margin:0;font-size:var(--se-text-base);color:var(--se-fg-body)}
.adic-player-side{min-width:0;border:1px solid var(--se-border);border-radius:var(--se-radius-lg);background:var(--se-card-bg);overflow:hidden}
.adic-player-list-title{margin:0;padding:.75rem 1rem;border-bottom:1px solid var(--se-border);font-size:var(--se-text-sm);font-weight:var(--se-weight-bold);color:var(--se-fg-strong)}
.adic-player-list{list-style:none;margin:0;padding:.25rem;display:flex;flex-direction:column;gap:.125rem;max-height:28rem;overflow-y:auto}
.adic-player-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:var(--se-radius-md);color:var(--se-fg-body);text-decoration:none}
.adic-player-item:hover{background:var(--se-subtle-bg)}
.adic-player-item:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}
.adic-player-item.is-current{background:var(--se-primary-subtle);color:var(--se-fg-strong)}
.adic-player-thumb{position:relative;flex-shrink:0;display:grid;place-items:center;width:7.5rem;aspect-ratio:16/9;border-radius:var(--se-radius-md);overflow:hidden;background:var(--se-topbar-bg)}
.adic-player-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adic-player-thumb-state{position:relative;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:var(--se-radius-circle);background:var(--se-topbar-bg);color:var(--se-on-primary);font-size:1rem}
.adic-player-item.is-current .adic-player-thumb-state{background:var(--se-primary-fill)}
.adic-player-item-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}
.adic-player-item-num{font-size:var(--se-text-xs);font-weight:var(--se-weight-semibold);color:var(--se-fg-meta)}
.adic-player-item.is-current .adic-player-item-num{color:var(--se-primary-text)}
.adic-player-item-title{font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);line-height:1.3;overflow-wrap:anywhere}
@media (max-width:991.98px){.adic-player-list{max-height:none}}
@media (max-width:575.98px){.adic-player-thumb{width:6rem}.adic-player-play{width:3.5rem;height:3.5rem;font-size:1.75rem}}
@media (prefers-reduced-motion:reduce){.adic-player-play,.pv-sistemas a{transition:none}}
/* Lateral del detalle de un video de serie: el capítulo actual con fondo teñido. */
.pv-aside-capitulos .is-current{display:block;padding:.125rem .375rem;border-radius:var(--se-radius-md);background:var(--se-primary-subtle)}
.pv-aside-capnav{display:flex;flex-wrap:wrap;gap:.25rem;margin:.75rem 0 .5rem}

/* ── Documentos oficiales (A1): índice, colección y expediente ─────────────── */
.pv-migas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:12px;font-size:.84rem;font-weight:600;color:var(--muted)}
.pv-migas a{display:inline-flex;align-items:center;min-height:24px;color:var(--muted)}
.pv-migas a:hover{color:var(--teal-d);text-decoration:underline}
.pv-migas [aria-current]{color:var(--ink)}
.pv-doc-colecciones{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pv-doc-coleccion{height:100%}
.pv-doc-coleccion-ico{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r);background:var(--teal-wash);color:var(--teal-d);font-size:1.3rem}
.pv-doc-coleccion h3{margin-top:14px}
.pv-doc-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8rem;font-weight:600;color:var(--muted)}
.pv-doc-coleccion .pv-doc-meta{margin-top:auto;padding-top:14px}
.pv-doc-sec{margin:44px 0 16px}
h2.visually-hidden + .pv-doc-sec{margin-top:0}
.pv-doc-anios + .pv-doc-sec{margin-top:28px}
.pv-doc-sec h3{font-size:1.4rem;font-weight:800;color:var(--ink);margin:0}
.pv-doc-cuenta{font-size:.8rem;font-weight:700;color:var(--muted)}
.pv-doc-filas{list-style:none;padding:0}
.pv-doc-filas > li + li .pv-result{border-top:1px solid var(--line)}
.pv-doc-filas .pv-result{border-top:0}
.pv-doc-anios{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.pv-doc-anios a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);font-weight:700;font-size:.88rem;color:var(--ink)}
.pv-doc-anios a:hover{border-color:var(--teal);color:var(--teal-d)}
/* año elegido: fondo teñido y anillo completo (sin barra lateral) */
.pv-doc-anios a.is-active{background:var(--teal-wash);border-color:var(--teal-d);box-shadow:inset 0 0 0 1px var(--teal-d);color:var(--teal-d)}
.pv-doc-anios a:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-doc-portada{padding-bottom:0}
.pv-doc-grupo{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:34px 0 12px;font-size:1.15rem;font-weight:800;color:var(--ink)}
.pv-doc-lista{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pv-doc{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px 14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-doc-num{min-width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r);background:var(--line-soft);font-size:.8rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.pv-doc-ico{font-size:1.5rem;color:var(--teal-d)}
.pv-doc-txt{display:flex;flex-direction:column;min-width:0}
.pv-doc-tit{font-weight:700;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
a.pv-doc-tit{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
a.pv-doc-tit:hover{color:var(--teal-d);text-decoration-color:currentColor}
a.pv-doc-tit:focus-visible,.pv-doc-descargar:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
/* descarga: botón pequeño con texto en escritorio; en celular solo el ícono (el nombre accesible se conserva) */
.pv-doc-descargar{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;min-width:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--teal-d);font-weight:700;font-size:.84rem;white-space:nowrap}
.pv-doc-descargar:hover{border-color:var(--teal);background:var(--teal-wash)}
.pv-doc-arch{font-size:.82rem;color:var(--muted)}
.pv-doc-acc{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.pv-doc-acc .pv-btn{min-height:40px}
/* «Ver» en línea: el visor se abre debajo de la fila, a todo lo ancho (documentos oficiales y resultados) */
.pv-doc-visor{grid-column:1/-1}
.pv-pdf--panel{margin:4px 0 0}
.pv-doc-ver.is-abierto{border-color:var(--teal);background:var(--teal-wash)}
.pv-blk-docs li.pv-con-ver{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.pv-blk-docs li.pv-con-ver .pv-doc-ver{min-width:56px}
.pv-blk-docs li.pv-con-ver .pv-blk-doc-ext{white-space:nowrap}
.pv-res-ayuda{display:flex;align-items:baseline;gap:8px;margin:-4px 0 14px;font-size:.9rem;color:var(--muted)}
.pv-res-ayuda kbd{font:inherit;font-size:.8rem;font-weight:700;padding:1px 6px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink)}
.pv-doc-datos{margin:0;display:flex;flex-direction:column}
.pv-doc-datos > div{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.pv-doc-datos > div:last-child{border-bottom:0}
.pv-doc-datos dt{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pv-doc-datos dd{margin:2px 0 0;font-weight:600;color:var(--ink)}
.pv-doc-datos a{color:var(--teal-d)}
.pv-aside-list a[aria-current]{color:var(--teal-d)}
@media (max-width:980px){.pv-doc-colecciones{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .pv-doc-colecciones{grid-template-columns:1fr}
  .pv-doc{grid-template-columns:auto minmax(0,1fr) auto;gap:10px 12px;padding:12px}
  .pv-doc-ico{display:none}
  .pv-doc-descargar{padding:0}
  .pv-doc-descargar-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ── Librero de documentos oficiales (Publicaciones, colección «Mostrar como librero») ──────────────────────
   Un libro por expediente: la portada (primera página del PDF, /miniaturas/portada) se asienta al pie de un marco
   3:4 con su proporción real (sin recortarla), como en un estante; sin portada, tapa sobria teal con el título. Título y periodo abajo. */
.pv-librero{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:36px 28px}
.pv-libro{display:flex;flex-direction:column;gap:6px;height:100%;border-radius:var(--r)}
.pv-libro:focus-visible{outline:3px solid var(--foco);outline-offset:6px}
.pv-libro-marco{position:relative;display:block;aspect-ratio:3/4;margin-bottom:8px}
.pv-libro-img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--se-radius-sm,1px);
  box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 10%,transparent),0 8px 18px color-mix(in srgb,var(--ink) 10%,transparent);
  transition:transform .2s,box-shadow .2s;color:transparent;font-size:0}
.pv-libro:hover .pv-libro-img{transform:translate(-50%,-3px);box-shadow:0 2px 4px color-mix(in srgb,var(--ink) 12%,transparent),0 14px 26px color-mix(in srgb,var(--ink) 14%,transparent)}
/* Tapa de respaldo: solo se ve cuando no hay portada (sin PDF, o la imagen no llegó: librero.js marca .is-sin-portada). */
.pv-libro-tapa{display:none;position:absolute;inset:0;flex-direction:column;justify-content:space-between;gap:12px;padding:18px 16px 18px 22px;
  border-radius:var(--se-radius-sm,1px);background:var(--teal-deep);color:var(--paper);overflow:hidden;
  box-shadow:inset 6px 0 0 color-mix(in srgb,var(--ink) 22%,transparent),0 8px 18px color-mix(in srgb,var(--ink) 12%,transparent)}
.pv-libro.is-sin-portada .pv-libro-tapa{display:flex}
.pv-libro-tapa i{font-size:1.25rem;color:var(--teal-tint)}
.pv-libro-tapa-tit{font-size:.95rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.pv-libro-tapa::after{content:'';display:block;height:2px;width:36px;background:var(--teal-tint)}
.pv-libro-tit{font-size:.95rem;font-weight:700;line-height:1.3;color:var(--ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-libro:hover .pv-libro-tit{color:var(--teal-d);text-decoration:underline;text-underline-offset:3px}
.pv-libro-meta{font-size:.8rem;font-weight:600;color:var(--muted)}
@media (max-width:560px){
  .pv-librero{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
  .pv-libro-tapa{padding:14px 12px 14px 18px}
  .pv-libro-tapa-tit{font-size:.85rem}
  .pv-libro-tit{font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){.pv-libro-img{transition:none}.pv-libro:hover .pv-libro-img{transform:translateX(-50%)}}

/* ── Detalle de artículo (pv-nota, 2026-10-24) ─────────────────────────────────
   Una sola superficie de lectura (tarjeta) con cabecera, portada, cuerpo por bloques, etiquetas y «Compartir».
   Solo tokens del UIKit (--se-*): sigue al tema oscuro del kit si el portal lo activa. */
.pv-nota{
  --pv-nota-fs:calc(var(--se-text-lg) * 1.06);   /* ≈ 1.1rem: lectura cómoda */
  --pv-nota-texto:color-mix(in oklab,var(--se-fg-strong) 78%,var(--se-fg-body));
  min-width:0;background:var(--se-card-bg);border:1px solid var(--se-border);border-radius:var(--se-radius-xl);
  padding:clamp(1.25rem,1rem + 2.4vw,3rem)}
.pv-nota .pv-back{color:var(--se-fg-meta);margin-bottom:1.25rem}
.pv-nota .pv-back:hover{color:var(--se-primary-text)}
.pv-nota-head{padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--se-border)}
.pv-nota .pv-eyebrow{display:inline-block;font-size:var(--se-text-md);font-weight:var(--se-weight-bold);letter-spacing:var(--se-eyebrow-tracking);
  text-transform:none;color:var(--se-secondary-text)}
.pv-nota a.pv-eyebrow:hover{text-decoration:underline;text-underline-offset:.2em}
.pv-nota h1{font-size:var(--se-text-3xl);line-height:var(--se-leading-tight);letter-spacing:-.02em;color:var(--se-fg-strong);margin:.5rem 0 0;
  overflow-wrap:break-word;text-wrap:balance}
.pv-nota-meta{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;
  font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);color:var(--se-fg-meta)}
.pv-nota-meta li{display:inline-flex;align-items:center;gap:.4rem}
.pv-nota-meta i{color:var(--se-primary-text)}
.pv-nota .pv-art-lead{max-width:var(--se-measure);margin:1.25rem 0 0;padding:0;border:0;font-size:calc(var(--se-text-lg) * 1.14);line-height:1.55;
  font-weight:var(--se-weight-medium);color:var(--se-fg-strong)}
.pv-nota-portada{margin:0 0 2rem}
.pv-nota-portada img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--se-radius-lg);background:var(--se-subtle-bg)}

/* cuerpo por bloques: separación pareja y prosa a medida de lectura */
.pv-nota-cuerpo .pv-ms{display:flex;flex-direction:column;gap:2rem}
.pv-nota-cuerpo .pv-prose{margin-top:0;max-width:var(--se-measure);font-size:var(--pv-nota-fs);line-height:1.7;color:var(--pv-nota-texto)}
.pv-nota-cuerpo .pv-prose p{margin:0 0 1.25em}
.pv-nota-cuerpo .pv-prose>*:last-child{margin-bottom:0}
.pv-nota-cuerpo .pv-prose strong,.pv-nota-cuerpo .pv-prose b{color:var(--se-fg-strong);font-weight:var(--se-weight-bold)}
.pv-nota-cuerpo .pv-prose h2{font-size:1.4em;line-height:var(--se-leading-snug);color:var(--se-fg-strong);margin:1.8em 0 .6em}
.pv-nota-cuerpo .pv-prose h3{font-size:1.18em;line-height:var(--se-leading-snug);color:var(--se-fg-strong);margin:1.6em 0 .5em}
.pv-nota-cuerpo .pv-prose a{color:var(--se-primary-text);font-weight:var(--se-weight-semibold);box-shadow:none;
  text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}
.pv-nota-cuerpo .pv-prose a:hover{text-decoration-thickness:.16em}
.pv-nota-cuerpo .pv-prose a:focus-visible{outline:none;box-shadow:var(--se-focus-ring);border-radius:var(--se-radius-sm)}
.pv-nota-cuerpo .pv-prose ul,.pv-nota-cuerpo .pv-prose ol{margin:0 0 1.25em;padding-left:1.4em}
.pv-nota-cuerpo .pv-prose li{margin:.4em 0;padding-left:.2em}
/* viñeta cuadrada de .pv-blk-texto: la lista sin sangría propia y el texto con sitio para el cuadro (si no, lo tapa) */
.pv-nota-cuerpo .pv-prose ul{padding-left:0}
.pv-nota-cuerpo .pv-prose ul>li{padding-left:1.3em}
.pv-nota-cuerpo .pv-prose ul>li::before{left:.15em;top:calc(.85em - 3.5px);background:var(--ms-acento,var(--se-primary))}
.pv-nota-cuerpo .pv-prose li::marker{color:var(--se-primary-text);font-weight:var(--se-weight-bold)}
.pv-nota-cuerpo .pv-prose blockquote{margin:1.75em 0;padding:.25em 0 .25em 1.25em;border-left:3px solid var(--se-primary);
  font-size:1.1em;font-style:normal;font-weight:var(--se-weight-medium);color:var(--se-fg-strong)}
.pv-nota-cuerpo .pv-prose blockquote p:last-child{margin-bottom:0}
.pv-nota-cuerpo .pv-prose img{border:0;border-radius:var(--se-radius-lg)}
.pv-nota-cuerpo .pv-prose hr{border:0;border-top:1px solid var(--se-border);margin:2em 0}

/* imagen suelta y galería: cuadrícula pareja (1, 2 o 3 columnas según cuántas; 1 en celular) */
.pv-nota-cuerpo .pv-blk-img img{border-radius:var(--se-radius-lg)}
.pv-nota-cuerpo .pv-blk-img figcaption,.pv-nota-cuerpo .pv-blk-galeria-item figcaption{font-size:var(--se-text-md);line-height:var(--se-leading-snug);color:var(--se-fg-meta);margin-top:.5rem}
.pv-nota-cuerpo .pv-blk-galeria:not(.pv-blk-galeria--carrusel){--pv-gal-cols:3;grid-template-columns:repeat(var(--pv-gal-cols),minmax(0,1fr));gap:.75rem}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:only-child){--pv-gal-cols:1}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(2):last-child),
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(4):last-child){--pv-gal-cols:2}
.pv-nota-cuerpo .pv-blk-galeria-item a{border-radius:var(--se-radius-lg);background:var(--se-subtle-bg)}
.pv-nota-cuerpo .pv-blk-galeria-item img{aspect-ratio:3/2}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:only-child) .pv-blk-galeria-item img{aspect-ratio:16/9}
.pv-nota-cuerpo .pv-blk-galeria-item a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}

/* pie: etiquetas y compartir */
.pv-nota-pie{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--se-border);display:flex;flex-direction:column;gap:1.25rem}
.pv-nota-pie .pv-tags{margin-top:0}
.pv-compartir{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.pv-compartir-tit{font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--se-fg-strong);margin-right:.25rem}
.pv-compartir-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:0 .9rem;border:1px solid var(--se-border);
  border-radius:var(--se-radius-lg);background:var(--se-card-bg);color:var(--se-fg-strong);font:inherit;font-size:var(--se-text-md);
  font-weight:var(--se-weight-semibold);line-height:1;cursor:pointer;transition:border-color var(--se-transition-fast),color var(--se-transition-fast)}
.pv-compartir-btn[hidden]{display:none}
.pv-compartir-btn i{font-size:1.05em;color:var(--se-primary-text)}
.pv-compartir-btn:hover{border-color:var(--se-primary);color:var(--se-primary-text)}
.pv-compartir-btn:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}
.pv-compartir-estado{font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);color:var(--se-primary-text)}
.pv-compartir-estado:not(:empty)::before{content:"\2713\00a0"}
html:not(.pv-js) .pv-compartir [data-pv-copiar]{display:none}

@media (max-width:560px){
  .pv-detail:has(> .pv-nota){padding-top:1.25rem}
  /* a sangre en celular: la tarjeta ocupa el ancho (el .pv-wrap deja 1.25rem por lado) */
  .pv-nota{margin-inline:-1.25rem;border-inline:0;border-radius:0;padding:1.5rem 1.25rem}
  .pv-nota-cuerpo .pv-blk-galeria:not(.pv-blk-galeria--carrusel){grid-template-columns:minmax(0,1fr)}
  .pv-compartir-tit{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){.pv-compartir-btn{transition:none}}

/* ── Convocatorias y resultados (listados y detalle, 2026-10-24) ───────────────
   Filtros con el segmented del kit (enlaces con aria-current), tarjeta de convocatoria con plazo y «para quién es»,
   recuadro «lo esencial» del detalle y lista de resultados por año. Etiquetas en tipo oración; solo tokens --se-*. */
.pv-procfiltros{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:-.75rem 0 1.75rem}
.pv-procfiltro{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}
.pv-procfiltro-tit{font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--se-fg-strong)}
.pv-procfiltro .se-segmented-opt{text-decoration:none;min-height:2.25rem}
.pv-procfiltro .se-segmented-opt:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}
.pv-procfiltro-nota{margin:-1rem 0 1.5rem;font-size:var(--se-text-md);color:var(--se-fg-meta)}

/* tarjeta de convocatoria (listado): toda la tarjeta lleva al detalle por el enlace del título */
.pv-convgrid .pv-conv--ficha{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.5rem}
.pv-conv--ficha .pv-conv-estado{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem}
.pv-conv--ficha .pv-st,.pv-convficha .pv-st{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--se-text-md);font-weight:var(--se-weight-bold);
  letter-spacing:0;text-transform:none}
.pv-conv--ficha .pv-st .pv-b,.pv-convficha .pv-st .pv-b{width:7px;height:7px;border-radius:50%;background:currentColor}
.pv-conv--ficha .pv-st.pv-open,.pv-convficha .pv-st.pv-open{color:var(--se-success-text)}
.pv-conv--ficha .pv-st.pv-next,.pv-convficha .pv-st.pv-next{color:var(--se-primary-text)}
.pv-conv--ficha .pv-st.pv-closed,.pv-convficha .pv-st.pv-closed{color:var(--se-fg-meta)}
.pv-conv-plazo{font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);color:var(--se-fg-meta)}
.pv-conv-plazo.is-pronto{color:var(--se-secondary-text);font-weight:var(--se-weight-bold)}
.pv-conv--ficha .pv-conv-tit{margin:0;text-wrap:pretty}
.pv-conv--ficha .pv-conv-tit a{color:inherit}
.pv-conv--ficha .pv-conv-tit a::after{content:"";position:absolute;inset:0}
.pv-conv--ficha:hover{border-color:var(--se-primary)}
.pv-conv--ficha:hover .pv-conv-tit a{color:var(--se-primary-text)}
.pv-conv--ficha:has(.pv-conv-tit a:focus-visible){box-shadow:var(--se-focus-ring)}
.pv-conv--ficha .pv-conv-tit a:focus-visible{outline:none}
.pv-conv-dep,.pv-conv-fecha,.pv-conv-res{margin:0;font-size:var(--se-text-md);color:var(--se-fg-meta);display:flex;align-items:baseline;gap:.4rem}
.pv-conv-dep{font-weight:var(--se-weight-semibold);color:var(--se-fg-body)}
.pv-conv-fecha i,.pv-conv-res i{color:var(--se-primary-text)}
.pv-conv--ficha .pv-conv-fecha{margin-top:auto;padding-top:.4rem}
.pv-conv-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.pv-aud-chip{display:inline-flex;align-items:center;min-height:1.6rem;padding:0 .65rem;border:1px solid var(--se-border);border-radius:var(--se-radius-pill);
  background:var(--se-surface-bg);font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold);color:var(--se-fg-body)}

/* detalle: metadatos en tipo oración y recuadro «lo esencial» */
.pv-artmeta--oracion{text-transform:none;letter-spacing:0;font-size:var(--se-text-md);font-weight:var(--se-weight-semibold)}
.pv-artmeta--oracion i{margin-right:.35rem}
.pv-convficha{margin:1.5rem 0 1.75rem;padding:1.25rem 1.5rem;border:1px solid var(--se-border);border-radius:var(--se-radius-xl);background:var(--se-card-bg)}
.pv-convficha-datos{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem 1.5rem}
.pv-convficha-datos dt{font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold);color:var(--se-fg-meta);margin:0 0 .25rem}
.pv-convficha-datos dd{margin:0;font-weight:var(--se-weight-semibold);color:var(--se-fg-strong);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}
.pv-convficha-datos > div:has(.pv-conv-chips){grid-column:1/-1}
.pv-convficha-acciones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--se-border)}
.pv-convficha-nota{margin:1rem 0 0;font-size:var(--se-text-md);color:var(--se-fg-meta)}

/* listado de resultados: una lista por año, filas de altura pareja */
.pv-reslist{list-style:none;margin:0;padding:0;border:1px solid var(--se-border);border-radius:var(--se-radius-lg);background:var(--se-card-bg)}
.pv-reslist + .pv-res-anio{margin-top:2.5rem}
.pv-res{padding:1.1rem 1.4rem;border-top:1px solid var(--se-border)}
.pv-res:first-child{border-top:0}
.pv-res-tit{margin:0;font-size:var(--se-text-lg);font-weight:var(--se-weight-bold);line-height:1.3;color:var(--se-fg-strong);text-wrap:pretty}
.pv-res-tit a{color:inherit}
.pv-res-tit a:hover{color:var(--se-primary-text);text-decoration:underline;text-underline-offset:.2em}
.pv-res-tit a:focus-visible,.pv-res-conv a:focus-visible{outline:none;box-shadow:var(--se-focus-ring);border-radius:var(--se-radius-sm)}
.pv-res-conv{margin:.35rem 0 0;font-size:var(--se-text-md);color:var(--se-fg-body);display:flex;gap:.45rem;align-items:baseline}
.pv-res-conv a{color:var(--se-primary-text);font-weight:var(--se-weight-semibold)}
.pv-res-conv a:hover{text-decoration:underline;text-underline-offset:.2em}
.pv-res-conv i,.pv-res-meta i{color:var(--se-primary-text)}
.pv-res-meta{margin:.45rem 0 0;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;font-size:var(--se-text-md);color:var(--se-fg-meta)}
.pv-res-meta i{margin-right:.35rem}
@media (max-width:560px){
  .pv-procfiltros{gap:.75rem}
  .pv-procfiltro{width:100%}
  .pv-procfiltro .se-segmented{max-width:100%}
  .pv-convficha{padding:1rem 1.1rem}
  .pv-res{padding:1rem}
}

/* ---- Carrusel del encabezado (Configuración › Portada › Carrusel; carrusel-portada.js) ----
   A todo el ancho: las láminas se apilan en la misma celda (la más alta fija la altura) y solo la activa es visible.
   La institucional es el héroe de siempre; las de foto llevan velo oscuro fijo para que el texto cumpla AA. */
.pv-hero--carrusel{background:var(--paper)}
.pv-carrusel{position:relative;isolation:isolate}
.pv-carrusel-laminas{display:grid}
.pv-lamina{grid-area:1/1;position:relative;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.pv-lamina.is-active{opacity:1;visibility:visible}
.pv-lamina--institucional{background:radial-gradient(120% 90% at 88% 8%, color-mix(in srgb,var(--teal) 6%,transparent), transparent 60%),var(--paper)}
.pv-hero .pv-lamina--institucional .pv-wrap{padding-bottom:112px}
.pv-lamina--foto{min-height:clamp(520px,66vh,660px);background:var(--slate);color:var(--paper);display:flex;align-items:flex-end}
.pv-lamina-medio{position:absolute;inset:0}
.pv-lamina-medio img,.pv-lamina-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pv-lamina-video{opacity:0;transition:opacity .4s}
.pv-lamina-video.is-listo{opacity:1}
.pv-lamina-velo{position:absolute;inset:0;background:
  linear-gradient(90deg,color-mix(in srgb,var(--ink) 84%,transparent) 0%,color-mix(in srgb,var(--ink) 58%,transparent) 42%,color-mix(in srgb,var(--ink) 12%,transparent) 78%),
  linear-gradient(0deg,color-mix(in srgb,var(--ink) 55%,transparent),transparent 45%)}
.pv-hero .pv-lamina-cuerpo{position:relative;width:100%;padding:48px 32px 124px}
.pv-lamina-cuerpo>*{max-width:680px}
.pv-lamina-etiqueta{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:5px 10px;border-radius:var(--r);
  background:color-mix(in srgb,var(--paper) 16%,transparent);color:var(--paper);backdrop-filter:blur(4px)}
.pv-hero .pv-lamina-titulo{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.08;font-weight:800;letter-spacing:-.02em;margin:.9rem 0 0;color:var(--paper);text-wrap:balance}
.pv-lamina-texto{font-size:1.05rem;color:color-mix(in srgb,var(--paper) 88%,transparent);margin:.9rem 0 0;max-width:56ch}
.pv-lamina-cuerpo .pv-cta{display:flex;gap:12px;margin-top:1.6rem;flex-wrap:wrap}
.pv-btn-velo{border-color:color-mix(in srgb,var(--paper) 55%,transparent);color:var(--paper)}
.pv-btn-velo:hover{border-color:var(--paper);color:var(--paper);background:color-mix(in srgb,var(--paper) 10%,transparent)}
.pv-lamina--foto a:focus-visible,.pv-lamina--foto button:focus-visible{outline:3px solid var(--paper);outline-offset:2px}

/* clip de video: indicador y sonido */
.pv-hero .pv-lamina-vivo{position:absolute;top:20px;left:0;right:0;z-index:2;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.pv-lamina-rec,.pv-lamina-sonido{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--paper);
  background:color-mix(in srgb,var(--ink) 50%,transparent);padding:6px 10px;border-radius:var(--r);font-variant-numeric:tabular-nums}
.pv-lamina-rec i{width:8px;height:8px;border-radius:50%;background:var(--se-quaternary,var(--guinda));animation:pv-latido 1.2s ease-in-out infinite}
.pv-lamina-rec.is-pausa i{animation:none;opacity:.5}
.pv-lamina-sonido{border:1px solid color-mix(in srgb,var(--paper) 35%,transparent);cursor:pointer;font-family:inherit}
.pv-lamina-sonido:hover{background:color-mix(in srgb,var(--ink) 70%,transparent)}
@keyframes pv-latido{50%{opacity:.25}}

/* controles: pasos con progreso, anterior/siguiente y pausa */
.pv-carrusel-controles{position:absolute;left:0;right:0;bottom:26px;z-index:3}
.pv-hero .pv-carrusel-controles .pv-wrap{display:flex;align-items:center;gap:12px;padding-top:0}
.pv-carrusel-pasos{display:flex;gap:8px;flex:1;max-width:560px;min-width:0}
.pv-carrusel-paso{flex:1;min-width:0;border:0;background:none;padding:8px 0;cursor:pointer;text-align:left;font:inherit;font-size:.74rem;font-weight:600;
  color:color-mix(in srgb,var(--paper) 72%,transparent)}
.pv-carrusel-paso[aria-current="true"]{color:var(--paper)}
.pv-carrusel-barra{display:block;height:3px;border-radius:2px;overflow:hidden;margin-bottom:6px;background:color-mix(in srgb,var(--paper) 30%,transparent)}
.pv-carrusel-barra i{display:block;height:100%;width:0;background:var(--paper)}
.pv-carrusel-paso.is-visto .pv-carrusel-barra i{width:100%}
.pv-carrusel-paso-texto{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-carrusel-boton{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r);cursor:pointer;font-size:1rem;
  border:1px solid color-mix(in srgb,var(--paper) 38%,transparent);background:color-mix(in srgb,var(--ink) 35%,transparent);color:var(--paper)}
.pv-carrusel-boton:hover{background:color-mix(in srgb,var(--ink) 60%,transparent)}
.pv-carrusel-paso:focus-visible,.pv-carrusel-boton:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
/* sobre la lámina institucional (clara) los controles cambian a tinta */
.pv-carrusel.is-claro .pv-carrusel-paso{color:var(--muted)}
.pv-carrusel.is-claro .pv-carrusel-paso[aria-current="true"]{color:var(--ink)}
.pv-carrusel.is-claro .pv-carrusel-barra{background:var(--line)}
.pv-carrusel.is-claro .pv-carrusel-barra i{background:var(--teal)}
.pv-carrusel.is-claro .pv-carrusel-boton{border-color:var(--line);background:var(--paper);color:var(--ink)}
.pv-carrusel.is-claro .pv-carrusel-boton:hover{border-color:var(--ink)}
.pv-carrusel:not(.is-claro) .pv-carrusel-paso:focus-visible,.pv-carrusel:not(.is-claro) .pv-carrusel-boton:focus-visible{outline-color:var(--paper)}
.pv-hero .pv-hero-aud{padding-top:0}
.pv-hero-aud .pv-aud{margin-top:0;border-top:1px solid var(--line)}

@media (max-width:980px){
  .pv-hero .pv-lamina--institucional .pv-wrap{padding:48px 20px 104px}
  .pv-hero .pv-lamina-cuerpo{padding:40px 20px 100px}
  .pv-lamina--foto{min-height:540px}
  .pv-lamina-velo{background:linear-gradient(0deg,color-mix(in srgb,var(--ink) 90%,transparent) 0%,color-mix(in srgb,var(--ink) 60%,transparent) 55%,color-mix(in srgb,var(--ink) 15%,transparent) 100%)}
  .pv-hero .pv-carrusel-controles .pv-wrap{padding:0 20px}
  .pv-carrusel-paso-texto{display:none}
  .pv-hero .pv-lamina-vivo{padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  .pv-lamina,.pv-lamina-video{transition:none}
  .pv-lamina-rec i{animation:none}
}

/* ---------------------------------------------------------------------
   Contacto y ubicación (/contacto): mapa ilustrado con ficha, tarjeta «Datos de contacto» y redes con nombre de cuenta.
   Solo variables del portal (sección 3); sin barras de color a la izquierda. Vista: Views/Contacto/Index.cshtml.
   --------------------------------------------------------------------- */
.pv-contacto{padding-top:50px}
.pv-contacto .pv-sec-head{margin-bottom:22px}
.pv-contacto-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.pv-contacto-principal{min-width:0}
/* mapa ilustrado: el lienzo guarda la proporción; la ficha flota encima abajo a la izquierda */
.pv-contacto-mapa{position:relative;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}
.pv-contacto-lienzo{position:relative;aspect-ratio:16/10;min-height:420px}
.pv-contacto-dib{position:absolute;inset:0;width:100%;height:100%;display:block}
.pv-dib-suelo{fill:var(--bg)}
.pv-dib-parque{fill:var(--teal-wash)}
.pv-dib-manzanas rect{fill:var(--line);opacity:.7;rx:1px}
.pv-dib-calles path{stroke:var(--paper);fill:none}
.pv-dib-edificio{fill:var(--teal-wash);stroke:var(--teal);stroke-width:2}
.pv-dib-pin{fill:var(--teal-d)}
.pv-dib-pin-centro{fill:var(--paper)}
.pv-contacto-nota{position:absolute;right:8px;top:8px;padding:2px 8px;border-radius:var(--r);font-size:.75rem;font-weight:600;
  background:color-mix(in srgb,var(--ink) 75%,transparent);color:var(--paper)}
.pv-contacto-lienzo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pv-contacto-ficha{position:absolute;left:16px;right:16px;bottom:16px;max-width:460px;padding:18px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent)}
.pv-contacto-ficha h3{font-size:1.02rem;font-weight:800;color:var(--ink);margin:0;line-height:1.35}
.pv-contacto-ficha p{margin:4px 0 14px;font-size:.9rem;color:var(--body)}
.pv-contacto-acciones{display:flex;flex-wrap:wrap;gap:8px}
.pv-contacto-acciones .pv-btn{padding:.55rem 1rem;font-size:.86rem;gap:7px}
.pv-contacto-acciones button.pv-btn{background:var(--paper);font-family:inherit;cursor:pointer}
.pv-contacto-acciones .pv-btn-ghost:hover{border-color:var(--teal);background:var(--teal-wash)}
.pv-contacto-acciones .pv-btn.is-copiado{border-color:var(--teal);background:var(--teal-wash)}
.pv-contacto-consent{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);font-size:.8rem;color:var(--muted)}
.pv-contacto-interactivo{display:inline-flex;align-items:center;gap:7px;padding:.35rem .5rem;margin-left:-.5rem;border-radius:var(--r);font-size:.88rem;font-weight:700;color:var(--teal-d)}
.pv-contacto-interactivo:hover{background:var(--teal-wash)}
/* con el mapa interactivo cargado, la ficha baja para no tapar el mapa de Google y se quita el aviso */
.pv-contacto-mapa:has(iframe) .pv-contacto-ficha{position:static;max-width:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.pv-contacto-mapa:has(iframe) .pv-contacto-consent{display:none}
/* tarjeta «Datos de contacto» */
.pv-contacto-card{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:22px;min-width:0}
.pv-contacto-card h3{font-size:1.02rem;font-weight:800;color:var(--ink);margin:0 0 4px}
.pv-contacto-datos{list-style:none;margin:0;padding:0}
.pv-contacto-datos li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:14px 0;border-top:1px solid var(--line-soft)}
.pv-contacto-datos li:first-child{border-top:0}
.pv-contacto-datos li > i{color:var(--teal-d);font-size:1.05rem;margin-top:2px}
.pv-contacto-k{display:block;font-size:.8rem;font-weight:600;color:var(--muted)}
.pv-contacto-v{display:block;font-size:.95rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.pv-contacto-aux{display:inline-block;margin-top:2px;font-size:.88rem;font-weight:600;color:var(--teal-d);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.pv-contacto-aux:hover{color:var(--ink)}
.pv-contacto-copiar{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink);cursor:pointer;font-size:.95rem}
.pv-contacto-copiar:hover,.pv-contacto-copiar.is-copiado{border-color:var(--teal);background:var(--teal-wash)}
/* redes con nombre de cuenta */
.pv-contacto-redes{padding-top:48px}
.pv-contacto-redes-head{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:18px}
.pv-contacto-redes-head p{margin:0;font-size:.9rem;color:var(--muted)}
.pv-contacto-redes-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pv-contacto-red{display:flex;align-items:center;gap:12px;height:100%;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);min-width:0}
.pv-contacto-red:hover{border-color:var(--teal);background:var(--teal-wash)}
.pv-contacto-red-ico{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r);background:var(--bg);color:var(--ink);font-size:1.15rem}
.pv-contacto-red-txt{min-width:0}
.pv-contacto-red-txt b{display:block;font-size:.92rem;color:var(--ink)}
.pv-contacto-red-txt span{display:block;font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
/* foco visible en todo lo que se puede accionar */
.pv-contacto .pv-btn:focus-visible,.pv-contacto-interactivo:focus-visible,.pv-contacto-copiar:focus-visible,
.pv-contacto-aux:focus-visible,.pv-contacto-red:focus-visible,.pv-contacto-lienzo iframe:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-contacto-copiar,.pv-contacto-red,.pv-contacto-interactivo,.pv-contacto-acciones .pv-btn{transition:background-color .15s,border-color .15s}
@media (max-width:980px){
  .pv-contacto-grid{grid-template-columns:1fr}
  .pv-contacto-redes-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* celular: la ficha baja debajo del mapa y los botones se apilan */
@media (max-width:700px){
  .pv-contacto{padding-top:32px}
  .pv-contacto-lienzo{aspect-ratio:4/3;min-height:0}
  .pv-contacto-ficha{position:static;max-width:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
  .pv-contacto-acciones .pv-btn{flex:1 1 100%;justify-content:center}
}
@media (max-width:420px){.pv-contacto-redes-lista{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .pv-contacto-copiar,.pv-contacto-red,.pv-contacto-interactivo,.pv-contacto-acciones .pv-btn{transition:none}
}

/* ---------------------------------------------------------------------
   Conócenos (/nosotros, NosotrosActual): banda del titular del despacho y franja de ejes rectores (2026-11-12)
   Banda «B»: el texto va sobre pizarra sólida (--slate), no sobre la foto; en escritorio la foto ocupa el 64 % derecho
   (3:2, encuadre administrable, 50 % 22 % por omisión) y un velo solo funde su borde izquierdo. En celular la foto va
   arriba, vertical 4:5 (48 % 30 %), y el texto empieza donde el velo ya es pizarra. Sin foto: pizarra + escudo tenue.
   Contrastes sobre --slate (#2b2f36): blanco 13.6:1 · --teal-tint 10.4:1 · texto atenuado (80 % blanco) 9.6:1.
   Franja «1»: tres ejes en una tarjeta; ícono de 52 px sobre un tinte pequeño de su tono (teal, rojo, dorado).
   --------------------------------------------------------------------- */
.pv-titular{position:relative;overflow:hidden;isolation:isolate;container-type:inline-size;background:var(--slate);
  color:color-mix(in srgb,var(--paper) 80%,var(--slate));--foco:var(--teal-tint)}
.pv-titular .pv-wrap{position:relative;display:flex;align-items:center;padding-top:64px;padding-bottom:64px}
.pv-titular--foto .pv-wrap{min-height:clamp(520px,42.67cqw,680px);padding-top:72px;padding-bottom:72px}
.pv-titular-foto{position:absolute;inset:0 0 0 auto;z-index:-2;width:64%;height:100%;display:block;object-fit:cover;
  object-position:var(--pv-tit-pos,50% 22%);background:var(--slate)}
/* velo: pizarra sólida hasta donde empieza la foto (36 %) y fundido corto sobre su borde */
.pv-titular--foto::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,
  var(--slate) 0%,var(--slate) 36%,color-mix(in srgb,var(--slate) 92%,transparent) 44%,
  color-mix(in srgb,var(--slate) 35%,transparent) 58%,transparent 72%)}
.pv-titular-velo-movil{display:none}
.pv-titular-escudo{position:absolute;z-index:-1;top:-60px;right:-70px;width:380px;height:auto;opacity:.06;pointer-events:none}
/* el texto termina antes de que el velo deje ver la foto (cerca del 44 % del ancho de la banda) */
.pv-titular-texto{min-width:0;max-width:540px}
.pv-titular--foto .pv-titular-texto{max-width:min(540px,calc(44cqw - max(32px,(100cqw - 1240px) / 2 + 32px) - 16px))}
.pv-titular .pv-kicker{color:var(--teal-tint)}
.pv-titular-nombre{margin:8px 0 0;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.08;font-weight:800;letter-spacing:-.025em;
  color:var(--paper);overflow-wrap:anywhere}
.pv-titular-cargo{margin:10px 0 0;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-tint)}
.pv-titular-semblanza{margin-top:18px;max-width:60ch}
.pv-titular-semblanza p{margin:0 0 .8em;font-size:1rem;line-height:1.7}
.pv-titular-semblanza p:last-child{margin-bottom:0}
.pv-titular-cita{margin:22px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;max-width:56ch}
.pv-titular-cita > .bi{grid-row:span 2;font-size:1.6rem;line-height:1;color:var(--teal-tint)}
.pv-titular-cita blockquote{margin:0}
.pv-titular-cita blockquote p{margin:0 0 .5em;font-size:1.12rem;line-height:1.5;font-weight:600;color:var(--paper)}
.pv-titular-cita blockquote p:last-child{margin-bottom:0}
.pv-titular-cita figcaption{font-size:.82rem}
.pv-titular-contacto{display:flex;gap:10px;min-width:0;margin-top:24px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--paper) 16%,transparent)}
.pv-titular-ic{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:var(--r);
  background:color-mix(in srgb,var(--teal-tint) 16%,transparent);color:var(--teal-tint)}
.pv-titular-dato{min-width:0}
.pv-titular-etq{display:block;font-size:.74rem;font-weight:700}
.pv-titular-correo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pv-titular-valor{color:var(--paper);font-weight:600;font-size:.92rem;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.pv-titular-copiar{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:var(--r);cursor:pointer;
  font:inherit;font-size:.78rem;font-weight:700;background:transparent;color:var(--paper);border:1px solid color-mix(in srgb,var(--paper) 35%,transparent)}
.pv-titular-copiar:hover{border-color:var(--teal-tint);color:var(--teal-tint)}
.pv-titular-copiar.is-copied{background:color-mix(in srgb,var(--teal-tint) 16%,transparent);border-color:var(--teal-tint);color:var(--teal-tint)}
.pv-titular-copiado,.pv-titular-copiar.is-copied .pv-titular-copiar-txt{display:none}
.pv-titular-copiar.is-copied .pv-titular-copiado{display:inline}
html:not(.pv-js) .pv-titular-copiar{display:none}   /* sin JS el correo se selecciona con un clic */
.pv-titular-accesos{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pv-titular-acceso{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r);font-weight:700;
  font-size:.88rem;background:transparent;color:var(--paper);border:1px solid color-mix(in srgb,var(--paper) 35%,transparent);
  transition:background-color .18s,border-color .18s,color .18s}
.pv-titular-acceso:hover{border-color:var(--teal-tint);color:var(--teal-tint)}
.pv-titular-acceso--principal{background:var(--teal);border-color:var(--teal);color:var(--ink)}   /* tinta sobre teal 6.3:1 */
.pv-titular-acceso--principal:hover{background:var(--teal-tint);border-color:var(--teal-tint);color:var(--ink)}
.pv-titular :is(a,button):focus-visible{outline:3px solid var(--foco);outline-offset:2px}

@media (max-width:900px){
  .pv-titular .pv-wrap{padding-top:48px;padding-bottom:48px}
  .pv-titular--foto .pv-wrap{min-height:0;padding-top:0;padding-bottom:40px;margin-top:-72px}
  .pv-titular-foto{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;max-height:620px;
    object-position:var(--pv-tit-pos-movil,48% 30%)}
  .pv-titular--foto::before{display:none}
  /* el velo cubre el pie de la foto: el texto (que sube 72 px) siempre queda sobre pizarra */
  .pv-titular--foto .pv-titular-velo-movil{display:block;position:absolute;z-index:-1;left:0;right:0;top:0;aspect-ratio:4/5;max-height:620px;
    pointer-events:none;background:linear-gradient(0deg,var(--slate) 0%,var(--slate) 16%,color-mix(in srgb,var(--slate) 85%,transparent) 24%,transparent 46%)}
  .pv-titular--foto .pv-titular-texto{max-width:none}
  .pv-titular-escudo{width:260px;right:-80px}
  .pv-titular-accesos .pv-titular-acceso{width:100%;justify-content:center}
}

.pv-ejes-intro{margin:8px 0 0;max-width:62ch;color:var(--body)}
.pv-ejes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.pv-eje{display:flex;flex-direction:column;min-width:0;padding:32px 30px 26px}
.pv-eje + .pv-eje{border-left:1px solid var(--line)}
.pv-eje-top{display:flex;gap:14px;align-items:center}
.pv-eje-ic{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:var(--r);font-size:1.6rem;line-height:1}
.pv-eje-ic--teal{background:var(--teal-wash);color:var(--teal-d)}
.pv-eje-ic--rojo{background:var(--se-secondary-subtle);color:var(--se-secondary-text)}
.pv-eje-ic--dorado{background:color-mix(in srgb,var(--dorado) 14%,var(--paper));color:var(--dorado-d)}
.pv-eje-tipo{display:block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pv-eje-preg{margin:2px 0 0;font-size:1.02rem;font-weight:700;color:var(--ink)}
.pv-eje-frase{margin:18px 0 0;font-size:1.32rem;line-height:1.35;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.pv-eje-mas{margin-top:auto;padding-top:20px}
.pv-eje-mas summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;font-weight:700;
  font-size:.88rem;color:var(--teal-d);border-radius:var(--r)}
.pv-eje-mas summary::-webkit-details-marker{display:none}
.pv-eje-mas summary:hover{text-decoration:underline;text-underline-offset:3px}
.pv-eje-mas summary:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.pv-eje-mas summary .bi{transition:transform .2s}
.pv-eje-mas[open] summary .bi{transform:rotate(180deg)}
.pv-eje-mas[open] .pv-eje-abrir,.pv-eje-mas:not([open]) .pv-eje-cerrar{display:none}
.pv-eje-texto{margin:14px 0 0;font-size:.94rem;line-height:1.7;color:var(--body);max-width:62ch}
@media (max-width:900px){
  .pv-ejes{grid-template-columns:minmax(0,1fr)}
  .pv-eje + .pv-eje{border-left:0;border-top:1px solid var(--line)}
  .pv-eje{padding:24px 20px}
  .pv-eje-frase{font-size:1.18rem}
}
@media (prefers-reduced-motion:reduce){
  .pv-titular-acceso,.pv-eje-mas summary .bi{transition:none}
}

/* ── Vista de boletín: lectura, audio y destacados (2026-11-12) ────────────────
   Detalle de artículo (Views/Boletines/Detalle.cshtml): avance de lectura, herramientas fijas (escuchar, tamaño de letra,
   copiar, compartir), jerarquía editorial, citas, galería en cuadrícula, índice «En este boletín», «Lo más reciente»,
   banda de relacionados, reproductor «Escuchar este artículo» (escuchar-articulo.js) y módulo «Destacados»
   (DestacadosViewComponent, variantes banda y lateral). Solo variables del portal y tokens del kit; sin barras laterales. */

/* avance de lectura: fino, pegado arriba; solo con JS */
.pv-lectura-avance{position:sticky;top:0;z-index:30;height:3px;background:var(--line-soft)}
.pv-lectura-avance i{display:block;height:100%;width:0;background:var(--teal)}
html:not(.pv-js) .pv-lectura-avance{display:none}

/* jerarquía editorial: título equilibrado, entrada y medida de lectura (~42rem) */
.pv-nota{--pv-nota-medida:42rem}
.pv-nota h1{font-size:clamp(1.9rem,1.25rem + 2.2vw,2.75rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.pv-nota .pv-art-lead{max-width:var(--pv-nota-medida);font-size:clamp(1.06rem,1rem + .4vw,1.22rem);line-height:1.5;text-wrap:pretty}
.pv-nota-head{margin-bottom:0;border-bottom:0;padding-bottom:0}
.pv-nota[data-pv-letra="1"]{--pv-nota-fs:calc(var(--se-text-lg) * 1.2)}
.pv-nota[data-pv-letra="2"]{--pv-nota-fs:calc(var(--se-text-lg) * 1.36)}
.pv-nota-cuerpo .pv-prose{max-width:var(--pv-nota-medida);text-wrap:pretty}
.pv-nota-cuerpo .pv-prose h2,.pv-nota-cuerpo .pv-prose h3,.pv-nota-cuerpo .pv-blk-enc{scroll-margin-top:5.5rem}
.pv-nota-cuerpo .pv-blk-enc{max-width:var(--pv-nota-medida)}
.pv-nota-cuerpo .pv-blk-enc h2{font-size:calc(var(--pv-nota-fs) * 1.35);line-height:1.2}
.pv-nota-cuerpo .pv-blk-enc h3{font-size:calc(var(--pv-nota-fs) * 1.15);line-height:1.25}
.pv-nota-cuerpo .pv-blk-enc--h2 h2::after{width:32px;height:2px;margin-top:10px}

/* cita destacada: solo si el cuerpo trae un <blockquote>; filetes arriba y abajo con comilla, sin barra lateral */
.pv-nota-cuerpo .pv-prose blockquote{position:relative;margin:2em 0;padding:1.4rem 0 1.1rem;border:0;border-top:1px solid var(--se-border);
  border-bottom:1px solid var(--se-border);font-size:calc(var(--pv-nota-fs) * 1.22);line-height:1.38;font-weight:var(--se-weight-bold);
  letter-spacing:-.01em;color:var(--se-fg-strong)}
.pv-nota-cuerpo .pv-prose blockquote::before{content:"«";position:absolute;top:-.62em;left:0;padding-right:.4rem;background:var(--se-card-bg);
  font-size:2.4rem;line-height:1;font-weight:var(--se-weight-xbold);color:var(--teal-d)}

/* párrafo que se está escuchando: fondo teñido */
.pv-nota .is-leyendo{background:var(--teal-wash);box-shadow:0 0 0 .5rem var(--teal-wash);border-radius:var(--se-radius-sm);
  transition:background-color .2s,box-shadow .2s}

/* herramientas de lectura: fijas bajo el avance mientras se lee el artículo */
.pv-herr{position:sticky;top:3px;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.5rem 0 2rem;padding:.65rem 0;
  background:var(--se-card-bg);border-top:1px solid var(--se-border);border-bottom:1px solid var(--se-border)}
.pv-herr-sep{flex:1}
.pv-herr-escuchar{display:inline-flex;align-items:center;gap:.55rem;min-height:2.5rem;padding:0 1rem 0 .8rem;border:0;border-radius:var(--se-radius-lg);
  background:var(--teal-d);color:var(--paper);font:inherit;font-size:var(--se-text-md);font-weight:var(--se-weight-bold);cursor:pointer}
.pv-herr-escuchar i{font-size:1.15em}
.pv-herr-escuchar:hover{background:var(--teal-deep)}
.pv-herr-escuchar[aria-expanded="true"]{background:var(--teal-wash);color:var(--teal-d);box-shadow:inset 0 0 0 1px var(--teal)}
.pv-herr-dur{font-weight:var(--se-weight-medium)}
.pv-herr-dur:empty{display:none}
.pv-herr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:2.5rem;height:2.5rem;padding:0 .7rem;
  border:1px solid var(--se-border);border-radius:var(--se-radius-lg);background:var(--se-card-bg);color:var(--se-fg-strong);font:inherit;
  font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);line-height:1;cursor:pointer;text-decoration:none}
.pv-herr-btn i{color:var(--se-primary-text)}
.pv-herr-btn:hover{border-color:var(--teal);color:var(--teal-d)}
.pv-herr-btn:disabled{opacity:.45;cursor:default}
.pv-herr-btn:disabled:hover{border-color:var(--se-border);color:var(--se-fg-strong)}
.pv-herr-letra{display:inline-flex}
.pv-herr-letra .pv-herr-btn:first-child{border-radius:var(--se-radius-lg) 0 0 var(--se-radius-lg)}
.pv-herr-letra .pv-herr-btn:last-child{border-radius:0 var(--se-radius-lg) var(--se-radius-lg) 0;margin-left:-1px}
.pv-herr-estado,.pv-herr-aviso{flex-basis:100%;font-size:var(--se-text-md);font-weight:var(--se-weight-semibold);color:var(--se-primary-text)}
.pv-herr-estado:empty,.pv-herr-aviso:empty{display:none}
.pv-herr :focus-visible{outline:none;box-shadow:var(--se-focus-ring)}
html:not(.pv-js) .pv-herr-escuchar,html:not(.pv-js) .pv-herr-letra,html:not(.pv-js) .pv-herr [data-pv-copiar]{display:none}

/* galería del cuerpo en cuadrícula (también la que venía en carrusel): una grande y el resto a su lado; el visor es galeria-lightbox.js */
.pv-nota-cuerpo .pv-blk-galeria:not(.pv-blk-galeria--carteles){display:grid;overflow:visible;scroll-snap-type:none;padding-bottom:0;gap:.5rem;
  max-width:46rem;grid-template-columns:repeat(var(--pv-gal-cols,3),minmax(0,1fr))}
.pv-nota-cuerpo .pv-blk-galeria--carrusel>li{flex:none}
.pv-nota-cuerpo .pv-blk-galeria--carrusel:has(> li:only-child){--pv-gal-cols:1}
.pv-nota-cuerpo .pv-blk-galeria--carrusel:has(> li:nth-child(2):last-child),
.pv-nota-cuerpo .pv-blk-galeria--carrusel:has(> li:nth-child(4):last-child){--pv-gal-cols:2}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(5)):not(.pv-blk-galeria--carteles){--pv-gal-cols:4}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child{
  grid-column:span 2;grid-row:span 2;display:flex}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child .pv-blk-galeria-item{
  flex:1;display:flex;flex-direction:column}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child a{
  flex:1;position:relative;min-height:0}
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child img{
  position:absolute;inset:0;height:100%;aspect-ratio:auto}
/* en la cuadrícula de varias fotos los pies se leen en el visor */
.pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(2)):not(.pv-blk-galeria--carteles) .pv-blk-galeria-item figcaption{position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pv-nota-cuerpo .pv-blk-galeria-item a{position:relative}
.pv-nota-cuerpo .pv-blk-galeria.is-recortada>li:nth-child(n+6){display:none}
.pv-gal-mas{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 58%,transparent);color:var(--paper);
  font-size:1.25rem;font-weight:var(--se-weight-xbold)}

/* pie a la medida de la nota; «Compartir» de la barra salta aquí sin quedar debajo de ella */
.pv-nota-pie{max-width:46rem}
.pv-nota-pie .pv-compartir-tit{scroll-margin-top:5.5rem}

/* columna derecha: índice fijo mientras se lee; las tarjetas pasan por debajo */
.pv-detail:has(> .pv-nota) > .pv-aside{position:static;align-self:stretch}
.pv-detail:has(> .pv-nota) .pv-aside-card h2,.pv-detail:has(> .pv-nota) .pv-aside-card .pv-aside-tit{font-size:var(--se-text-md);letter-spacing:0;
  text-transform:none;color:var(--se-fg-strong)}
.pv-detail:has(> .pv-nota) .pv-aside-list small{text-transform:none;letter-spacing:0;font-size:var(--se-text-sm)}
.pv-indice{position:sticky;top:4.5rem;z-index:2;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:18px 14px}
.pv-indice-tit{margin:0 0 8px 8px;font-size:var(--se-text-md);font-weight:var(--se-weight-xbold);color:var(--se-fg-strong)}
.pv-indice ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 12rem);overflow-y:auto}
.pv-indice a{display:block;padding:6px 8px;border-radius:var(--se-radius-md);font-size:var(--se-text-md);line-height:1.35;color:var(--se-fg-body)}
.pv-indice-n3 a{padding-left:1.25rem}
.pv-indice a:hover{background:var(--bg);color:var(--se-fg-strong)}
.pv-indice a.is-active{background:var(--teal-wash);color:var(--teal-d);font-weight:var(--se-weight-bold)}
.pv-indice a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}

/* «Lo más reciente» con miniatura */
.pv-recientes-lista{list-style:none;margin:0;padding:0}
.pv-recientes-lista a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line-soft);color:var(--ink)}
.pv-recientes-lista li:first-child a{border-top:0;padding-top:0}
.pv-recientes-media{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--se-radius-md);overflow:hidden;background:var(--se-subtle-bg);
  color:var(--teal-d);font-size:1.4rem}
.pv-recientes-media img{width:100%;height:100%;object-fit:cover;display:block}
.pv-recientes-tit{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--se-text-md);font-weight:var(--se-weight-bold);line-height:1.3}
.pv-recientes-txt small{display:block;margin-top:4px;font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold);color:var(--muted)}
.pv-recientes-lista a:hover .pv-recientes-tit{color:var(--teal-d)}
.pv-recientes-lista a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}

/* banda de relacionados con imagen, a todo el ancho */
.pv-relband{margin-top:48px;border-top:1px solid var(--line);background:var(--bg)}
.pv-relband .pv-wrap{padding-top:36px;padding-bottom:40px}
.pv-relband-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px}
.pv-relband-head h2{margin:0;font-size:1.35rem;font-weight:var(--se-weight-xbold);letter-spacing:-.01em;color:var(--ink)}
.pv-relband-head a{font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--teal-d)}
.pv-relband-head a:hover{text-decoration:underline;text-underline-offset:.2em}
.pv-relband-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pv-relcard{display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink)}
.pv-relcard-media{display:grid;place-items:center;aspect-ratio:3/2;background:var(--se-subtle-bg);color:var(--teal-d);font-size:2rem;overflow:hidden}
.pv-relcard-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.pv-relcard-txt{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
.pv-relcard-tit{font-size:.98rem;font-weight:var(--se-weight-bold);line-height:1.3;text-wrap:pretty}
.pv-relcard small{font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold);color:var(--muted)}
.pv-relcard:hover{border-color:var(--teal)}
.pv-relcard:hover .pv-relcard-tit{color:var(--teal-d)}
.pv-relcard:hover img{transform:scale(1.03)}
.pv-relcard:focus-visible,.pv-relband-head a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}

/* reproductor «Escuchar este artículo»: barra fija abajo */
.pv-escuchar{position:fixed;left:0;right:0;bottom:0;z-index:1500;background:var(--slate);color:var(--paper);border-top:3px solid var(--teal);
  padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -8px 24px color-mix(in srgb,var(--ink) 18%,transparent)}
.pv-escuchar[hidden]{display:none}
body.pv-escuchando{padding-bottom:var(--pv-escuchar-alto,0px)}
body.pv-lightbox-abierto .pv-escuchar{display:none}
.pv-escuchar-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 18px;align-items:center;padding-top:10px;padding-bottom:10px}
.pv-escuchar-ctrl{display:flex;align-items:center;gap:6px}
.pv-esc-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);
  border-radius:var(--se-radius-lg);background:transparent;color:var(--paper);font-size:1.05rem;cursor:pointer}
.pv-esc-btn:hover{background:color-mix(in srgb,var(--paper) 10%,transparent)}
.pv-esc-btn:disabled{opacity:.4;cursor:default}
.pv-esc-btn:focus-visible,.pv-escuchar select:focus-visible,.pv-escuchar input:focus-visible{outline:3px solid var(--paper);outline-offset:2px}
.pv-esc-play{width:48px;height:48px;border-radius:50%;border-color:var(--teal-h);background:var(--teal-h);font-size:1.45rem}
.pv-esc-play:hover{background:var(--teal-d);border-color:var(--teal-d)}
.pv-esc-n{position:absolute;right:3px;bottom:2px;font-size:var(--se-text-xs);font-weight:var(--se-weight-bold);line-height:1}
.pv-escuchar-medio{min-width:0;display:flex;flex-direction:column;gap:4px}
.pv-escuchar-tit{margin:0;font-size:var(--se-text-md);color:color-mix(in srgb,var(--paper) 82%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-escuchar-tit b{color:var(--paper)}
.pv-escuchar-barra{display:flex;align-items:center;gap:10px}
.pv-escuchar-barra input[type=range]{flex:1;min-width:0;height:24px;accent-color:var(--teal-tint);cursor:pointer}
.pv-escuchar-tiempo{font-size:var(--se-text-md);font-variant-numeric:tabular-nums;white-space:nowrap;color:color-mix(in srgb,var(--paper) 82%,transparent)}
.pv-escuchar-opc{display:flex;align-items:center;gap:10px}
.pv-escuchar-campo{display:flex;flex-direction:column;gap:2px;margin:0}
.pv-escuchar-campo span{font-size:var(--se-text-xs);font-weight:var(--se-weight-semibold);color:color-mix(in srgb,var(--paper) 82%,transparent)}
.pv-escuchar select{height:34px;max-width:200px;padding:0 6px;border:1px solid color-mix(in srgb,var(--paper) 30%,transparent);border-radius:var(--se-radius-lg);
  background:var(--slate);color:var(--paper);font:inherit;font-size:var(--se-text-md)}
.pv-escuchar-msg{grid-column:1/-1;margin:0;padding:8px 12px;border-radius:var(--se-radius-lg);background:color-mix(in srgb,var(--paper) 8%,transparent);
  font-size:var(--se-text-md);line-height:1.45;color:var(--paper)}
.pv-escuchar-msg.is-aviso{background:color-mix(in srgb,var(--dorado) 28%,var(--slate))}
.pv-escuchar-msg:empty{display:none}

/* módulo «Destacados» (antetítulo «Sala de prensa»): tarjeta de foto con velo para que el texto cumpla AA */
.pv-dest-card{position:relative;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border-radius:var(--r);background:var(--slate);color:var(--paper)}
.pv-dest-media{position:absolute;inset:0;z-index:-2}
.pv-dest-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pv-dest-media--sin-foto{background:url("/images/logos/escudo-blanco.webp") center/auto 70% no-repeat,var(--slate);opacity:1}
.pv-dest-media--sin-foto::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--slate) 90%,transparent)}
.pv-dest-velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,color-mix(in srgb,var(--ink) 88%,transparent) 0%,
  color-mix(in srgb,var(--ink) 55%,transparent) 45%,color-mix(in srgb,var(--ink) 0%,transparent) 85%)}
.pv-dest-body{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px}
.pv-dest-cat{align-self:flex-start;padding:2px 8px;border-radius:var(--se-radius-sm);background:color-mix(in srgb,var(--paper) 18%,transparent);
  font-size:var(--se-text-sm);font-weight:var(--se-weight-bold)}
.pv-dest-tit{font-size:.98rem;font-weight:var(--se-weight-bold);line-height:1.25;text-wrap:balance}
.pv-dest-meta{font-size:var(--se-text-sm);color:color-mix(in srgb,var(--paper) 85%,transparent)}
.pv-dest-card:hover img,.pv-dest-card:focus-visible img{transform:scale(1.04)}
.pv-dest-card:focus-visible{outline:3px solid var(--teal-tint);outline-offset:2px}

.pv-destacados--banda{background:var(--vitrina-bg);color:var(--paper)}
.pv-destacados--banda .pv-wrap{display:flex;flex-direction:column;gap:24px;padding-top:44px;padding-bottom:48px}
.pv-destacados-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.pv-destacados-ante{font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--teal-tint)}
.pv-destacados-head h2{margin:4px 0 0;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.1rem);font-weight:var(--se-weight-xbold);letter-spacing:-.02em;line-height:1.1;color:var(--paper)}
.pv-destacados-todos{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);
  border-radius:var(--r);font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--paper)}
.pv-destacados-todos:hover{color:var(--paper);background:color-mix(in srgb,var(--paper) 10%,transparent)}
.pv-destacados-todos:focus-visible{outline:3px solid var(--paper);outline-offset:2px}
.pv-destacados-mosaico{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,.5fr));
  grid-auto-rows:minmax(0,1fr);gap:12px;height:clamp(420px,42vw,520px)}
.pv-destacados-mosaico>li{display:flex;min-height:0}
.pv-destacados-mosaico>li>.pv-dest-card{flex:1}
.pv-destacados-mosaico>li.is-principal{grid-row:span 2}
.pv-destacados-mosaico .is-principal .pv-dest-body{padding:26px;gap:10px;max-width:640px}
.pv-destacados-mosaico .is-principal .pv-dest-tit{font-size:clamp(1.25rem,1rem + 1.2vw,1.8rem);font-weight:var(--se-weight-xbold);line-height:1.15;letter-spacing:-.01em}
.pv-destacados-mosaico>li:not(.is-principal) .pv-dest-body{padding:12px}
.pv-destacados-mosaico>li:not(.is-principal) .pv-dest-tit{font-size:var(--se-text-md);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* con 3 o 4 destacados la protagonista y las secundarias llenan el mosaico sin huecos */
.pv-destacados-mosaico:not(:has(> li:nth-child(4))){grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.pv-destacados-mosaico:has(> li:nth-child(4)):not(:has(> li:nth-child(5)))>li:nth-child(4){grid-column:2/-1}

.pv-destacados--lateral .pv-destacados-lat-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}
.pv-destacados--lateral .pv-destacados-lat-head .pv-aside-tit{margin:0}
.pv-destacados--lateral .pv-destacados-lat-head a{font-size:var(--se-text-md);font-weight:var(--se-weight-bold);color:var(--teal-d)}
.pv-destacados--lateral .pv-destacados-lat-head a:hover{text-decoration:underline;text-underline-offset:.2em}
.pv-dest-card--lat{aspect-ratio:4/3}
.pv-dest-card--lat .pv-dest-body{padding:12px;gap:4px}
.pv-dest-card--lat .pv-dest-tit{font-size:var(--se-text-md);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-dest-mini{list-style:none;margin:12px 0 0;padding:0}
.pv-dest-mini a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line-soft);color:var(--ink)}
.pv-dest-mini .pv-dest-media{position:relative;inset:auto;z-index:auto;display:block;aspect-ratio:1;border-radius:var(--se-radius-md);overflow:hidden}
.pv-dest-mini-tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--se-text-md);font-weight:var(--se-weight-bold);line-height:1.3}
.pv-dest-mini small{display:block;margin-top:3px;font-size:var(--se-text-sm);font-weight:var(--se-weight-semibold);color:var(--muted)}
.pv-dest-mini a:hover .pv-dest-mini-tit{color:var(--teal-d)}
.pv-dest-mini a:focus-visible,.pv-destacados--lateral .pv-destacados-lat-head a:focus-visible{outline:none;box-shadow:var(--se-focus-ring)}

@media (max-width:980px){
  .pv-indice{display:none}
  .pv-relband-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .pv-destacados-mosaico,.pv-destacados-mosaico:not(:has(> li:nth-child(4))){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:auto;padding-bottom:6px;gap:10px}
  .pv-destacados-mosaico>li{flex:0 0 72%;aspect-ratio:4/5;scroll-snap-align:start}
  .pv-destacados-mosaico>li.is-principal{flex-basis:86%}
}
@media (max-width:700px){
  /* reproductor compacto en celular: sin saltos ni elección de voz */
  .pv-escuchar-in{grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding-top:8px;padding-bottom:8px}
  .pv-esc-salto,.pv-escuchar-voz{display:none}
  .pv-escuchar-opc{grid-column:1/-1;justify-content:space-between}
  .pv-escuchar-campo{flex-direction:row;align-items:center;gap:8px}
}
@media (max-width:560px){
  .pv-herr{margin-inline:-1.25rem;padding-inline:1.25rem}
  .pv-herr-lbl,.pv-herr-dur{display:none}
  .pv-relband-grid{grid-template-columns:1fr}
  .pv-nota-cuerpo .pv-blk-galeria:not(.pv-blk-galeria--carteles){grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-nota-cuerpo .pv-blk-galeria:has(> li:only-child):not(.pv-blk-galeria--carteles){grid-template-columns:minmax(0,1fr)}
  .pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child{grid-row:auto}
  .pv-nota-cuerpo .pv-blk-galeria:has(> li:nth-child(3)):not(:has(> li:nth-child(4):last-child)):not(.pv-blk-galeria--carteles)>li:first-child a{aspect-ratio:3/2}
}
@media (prefers-reduced-motion:reduce){
  .pv-nota .is-leyendo,.pv-relcard-media img,.pv-dest-media img{transition:none}
  .pv-relcard:hover img,.pv-dest-card:hover img,.pv-dest-card:focus-visible img{transform:none}
}

/* ---------------------------------------------------------------------
   Reproductor institucional (pv-rp): controles propios sobre <video> para los videos SUBIDOS a la videoteca.
   Markup: Views/Shared/_ReproductorInstitucional.cshtml; JS: js/reproductor-institucional.js. YouTube y Vimeo no lo usan.
   Superficie oscura (--ink y velos derivados con color-mix) con un solo acento teal; solo variables del portal (sección 3),
   sin hex nuevos. Sin barras de color a la izquierda: lo activo va con fondo teñido o anillo. Textos de 0.72rem o más.
   --------------------------------------------------------------------- */
.pv-rp{
  --pv-rp-velo:color-mix(in srgb,var(--ink) 82%,transparent);--pv-rp-velo-suave:color-mix(in srgb,var(--ink) 55%,transparent);
  --pv-rp-borde:color-mix(in srgb,var(--paper) 18%,transparent);--pv-rp-hover:color-mix(in srgb,var(--paper) 14%,transparent);
  --pv-rp-pista:color-mix(in srgb,var(--paper) 30%,transparent);--pv-rp-cargado:color-mix(in srgb,var(--paper) 50%,transparent);
  --pv-rp-suave:color-mix(in srgb,var(--paper) 82%,transparent);
  position:relative;aspect-ratio:16/9;max-width:100%;margin-top:8px;background:var(--ink);border-radius:var(--r);overflow:hidden;
  color:var(--paper);isolation:isolate;container-type:inline-size;font-size:.9rem;line-height:1.4}
.pv-rp [hidden]{display:none!important}
.pv-rp:focus-visible{outline:3px solid var(--teal-d);outline-offset:3px}
.pv-rp.is-listo{user-select:none;-webkit-user-select:none}
.pv-rp-medio{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:var(--ink)}
.pv-rp.is-idle{cursor:none}
.pv-rp.is-pantalla{border-radius:0}
.pv-rp-i{width:20px;height:20px;flex:none;display:block}

/* póster: título y duración (sin JS queda arriba, sin tapar los controles del navegador) */
.pv-rp-poster{position:absolute;left:0;right:0;top:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,var(--pv-rp-velo-suave),transparent)}
.pv-rp-poster-info{display:flex;flex-direction:column;gap:6px;padding:clamp(12px,3cqi,24px)}
.pv-rp-poster-ante{font-size:.74rem;font-weight:700;color:var(--pv-rp-suave)}
.pv-rp-poster-tit{margin:0;color:var(--paper);font-size:clamp(1rem,3.2cqi,1.6rem);font-weight:800;line-height:1.18;letter-spacing:-.01em;max-width:32ch;overflow-wrap:anywhere}
.pv-rp-poster-tit a{color:inherit;pointer-events:auto;text-decoration:none}
.pv-rp-poster-tit a:hover{text-decoration:underline;text-underline-offset:.15em}
.pv-rp-poster-tit a:focus-visible{outline:2px solid var(--paper);outline-offset:2px;border-radius:2px}
.pv-rp.is-listo .pv-rp-poster{inset:0;cursor:pointer;pointer-events:auto;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 5%,transparent) 30%,var(--pv-rp-velo) 100%)}
.pv-rp.is-listo .pv-rp-poster-info{position:absolute;left:0;right:0;bottom:0;pointer-events:none}
.pv-rp-poster-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pv-rp-chip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;padding:3px 8px;border-radius:2px;
  background:var(--pv-rp-velo-suave);border:1px solid var(--pv-rp-borde);font-variant-numeric:tabular-nums;color:var(--paper)}
.pv-rp-grande{position:absolute;z-index:2;left:50%;top:44%;transform:translate(-50%,-50%);width:clamp(52px,11cqi,80px);aspect-ratio:1;
  border-radius:50%;border:0;background:var(--teal-d);color:var(--paper);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 6px 24px color-mix(in srgb,var(--ink) 45%,transparent);transition:transform .15s,background-color .15s}
.pv-rp-grande .pv-rp-i{width:45%;height:45%;margin-left:6%}
.pv-rp-grande:hover{background:var(--teal-h);transform:translate(-50%,-50%) scale(1.06)}
.pv-rp-grande:focus-visible{outline:3px solid var(--paper);outline-offset:3px}

/* subtítulos propios (el <track> va en modo «hidden»): suben cuando se ven los controles */
.pv-rp-cc{position:absolute;left:6%;right:6%;bottom:clamp(14px,4cqi,26px);z-index:2;text-align:center;pointer-events:none;transition:bottom .2s}
.pv-rp.con-controles:not(.is-idle) .pv-rp-cc{bottom:clamp(66px,13cqi,96px)}
.pv-rp-cc span{display:inline;padding:.12em .45em;border-radius:2px;background:var(--pv-rp-velo);color:var(--paper);
  font-size:clamp(.8rem,2.6cqi,1.25rem);font-weight:600;line-height:1.6;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* barra de controles */
.pv-rp-controles{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:4px;
  padding:28px clamp(6px,1.6cqi,14px) clamp(6px,1.2cqi,10px);background:linear-gradient(180deg,transparent,var(--pv-rp-velo) 62%);transition:opacity .25s}
.pv-rp.is-idle .pv-rp-controles,.pv-rp.is-idle .pv-rp-arriba{opacity:0;pointer-events:none}
.pv-rp-fila{display:flex;align-items:center;gap:2px;min-width:0}
.pv-rp-esp{flex:1 1 auto}
.pv-rp-b{position:relative;display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border:0;border-radius:var(--r);
  background:none;color:var(--paper);cursor:pointer;font-family:inherit}
.pv-rp-b:hover,.pv-rp-b[aria-expanded="true"]{background:var(--pv-rp-hover)}
.pv-rp-b:focus-visible{outline:2px solid var(--paper);outline-offset:-2px}
.pv-rp-b[aria-pressed="true"]{background:var(--pv-rp-hover)}
.pv-rp-b[aria-pressed="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;border-radius:1px;background:var(--teal)}
.pv-rp-b-texto{width:auto;min-width:40px;padding:0 10px;font-weight:800;font-size:.8rem;font-variant-numeric:tabular-nums}
.pv-rp-tiempo{padding:0 8px;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--pv-rp-suave)}
.pv-rp-tiempo b{color:var(--paper);font-weight:700}

/* progreso: pista dibujada y un input range transparente encima (teclado y lector de pantalla) */
.pv-rp-progreso{position:relative;height:22px;display:flex;align-items:center;margin:0 6px}
.pv-rp-pista{position:absolute;left:0;right:0;height:4px;border-radius:2px;background:var(--pv-rp-pista);overflow:hidden;transition:height .15s}
.pv-rp-cargado,.pv-rp-avance{position:absolute;left:0;top:0;bottom:0;width:0}
.pv-rp-cargado{background:var(--pv-rp-cargado)}
.pv-rp-avance{background:var(--teal)}
.pv-rp-marca{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--ink)}
.pv-rp-perilla{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--paper);
  transform:translateY(-50%) scale(0);transition:transform .15s;box-shadow:0 0 0 3px var(--teal-d);pointer-events:none}
.pv-rp-progreso:hover .pv-rp-pista,.pv-rp-progreso:focus-within .pv-rp-pista{height:6px}
.pv-rp-progreso:hover .pv-rp-perilla,.pv-rp-progreso:focus-within .pv-rp-perilla{transform:translateY(-50%) scale(1)}
.pv-rp-rango{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pv-rp-progreso:has(.pv-rp-rango:focus-visible){outline:2px solid var(--paper);outline-offset:3px;border-radius:2px}
.pv-rp-burbuja{position:absolute;bottom:26px;transform:translateX(-50%);padding:4px 8px;border-radius:2px;background:var(--pv-rp-velo);
  border:1px solid var(--pv-rp-borde);font-size:.74rem;font-weight:700;white-space:nowrap;pointer-events:none;text-align:center}
.pv-rp-burbuja b{display:block;font-size:.8rem;font-variant-numeric:tabular-nums}

/* volumen */
.pv-rp-vol{display:flex;align-items:center}
.pv-rp-vol-rango{width:76px;margin:0 6px 0 2px;accent-color:var(--teal);cursor:pointer}
.pv-rp-vol-rango:focus-visible{outline:2px solid var(--paper);outline-offset:3px}

/* menú de velocidad */
.pv-rp-menu-cont{position:relative}
.pv-rp-menu{position:absolute;right:0;bottom:46px;z-index:6;min-width:168px;margin:0;padding:6px;list-style:none;background:var(--ink);
  border:1px solid var(--pv-rp-borde);border-radius:var(--r);box-shadow:0 10px 30px color-mix(in srgb,var(--ink) 50%,transparent)}
.pv-rp-menu-tit{padding:4px 10px 6px;font-size:.74rem;font-weight:800;color:var(--pv-rp-suave)}
.pv-rp-menu [role="menuitemradio"]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r);
  background:none;color:var(--paper);cursor:pointer;font-family:inherit;font-weight:600;font-size:.88rem;text-align:left}
.pv-rp-menu [role="menuitemradio"]:hover,.pv-rp-menu [role="menuitemradio"]:focus-visible{background:var(--pv-rp-hover);outline:2px solid var(--paper);outline-offset:-2px}
.pv-rp-menu [role="menuitemradio"]:hover{outline:0}
.pv-rp-menu [role="menuitemradio"] .pv-rp-i{width:16px;height:16px;visibility:hidden;color:var(--teal)}
.pv-rp-menu [aria-checked="true"]{font-weight:800}
.pv-rp-menu [aria-checked="true"] .pv-rp-i{visibility:visible}

/* arriba: título mientras se reproduce */
.pv-rp-arriba{position:absolute;left:0;right:0;top:0;z-index:3;padding:clamp(10px,2cqi,16px) clamp(12px,2.2cqi,18px) 30px;
  background:linear-gradient(0deg,transparent,var(--pv-rp-velo-suave));font-weight:700;font-size:.88rem;transition:opacity .25s;pointer-events:none}
.pv-rp-arriba small{display:block;font-size:.74rem;font-weight:600;color:var(--pv-rp-suave)}
.pv-rp-arriba-enlace{color:var(--paper);pointer-events:auto;text-decoration:none}
.pv-rp-arriba-enlace:hover{text-decoration:underline;text-underline-offset:.15em}
.pv-rp-arriba-enlace:focus-visible{outline:2px solid var(--paper);outline-offset:2px;border-radius:2px}
.pv-rp:not(.con-controles) .pv-rp-arriba{display:none}

/* al terminar: siguiente en la serie (o volver a ver) */
.pv-rp-fin{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:var(--pv-rp-velo)}
.pv-rp-fin-caja{width:min(520px,100%);display:flex;flex-direction:column;gap:12px}
.pv-rp-fin-ante{font-size:.74rem;font-weight:800;color:var(--pv-rp-suave)}
.pv-rp-fin-sig{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:14px;align-items:center}
.pv-rp-fin-mini{display:block;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--pizarra)}
.pv-rp-fin-mini img{width:100%;height:100%;object-fit:cover;display:block}
.pv-rp-fin-tit{margin:0;font-size:clamp(1rem,2.6cqi,1.25rem);font-weight:800;line-height:1.2;color:var(--paper)}
.pv-rp-fin-etq{margin:4px 0 0;font-size:.8rem;color:var(--pv-rp-suave)}
.pv-rp-cuenta{height:3px;border-radius:2px;background:var(--pv-rp-pista);overflow:hidden}
.pv-rp-cuenta i{display:block;width:100%;height:100%;background:var(--teal);transform-origin:left}
.pv-rp-fin-acc{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pv-rp-fin-nota{font-size:.8rem;color:var(--pv-rp-suave);font-variant-numeric:tabular-nums}
.pv-rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border-radius:var(--r);
  border:1px solid transparent;background:none;color:var(--paper);font-family:inherit;font-weight:700;font-size:.88rem;cursor:pointer;text-decoration:none}
.pv-rp-btn .pv-rp-i{width:16px;height:16px}
.pv-rp-btn--brand{background:var(--teal-d)}
.pv-rp-btn--brand:hover{background:var(--teal-h)}
.pv-rp-btn--sobre{border-color:var(--pv-rp-borde)}
.pv-rp-btn--sobre:hover{background:var(--pv-rp-hover);color:var(--paper)}
.pv-rp-btn:focus-visible{outline:2px solid var(--paper);outline-offset:2px}

/* aviso breve en pantalla (±10 s, volumen, velocidad) */
.pv-rp-aviso{position:absolute;top:50%;left:50%;z-index:3;transform:translate(-50%,-50%);padding:8px 14px;border-radius:var(--r);
  background:var(--pv-rp-velo);font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;transition:opacity .2s}
.pv-rp-aviso.is-visible{opacity:1}

/* variante compacta: banda de portada y tarjetas de la galería (el reproductor llena la tarjeta) */
.pv-rp--compacto .pv-rp-poster-tit{font-size:clamp(.92rem,4.2cqi,1.3rem)}
.pv-rp--compacto .pv-rp-b{width:36px;height:36px}
.pv-vidtile--rp{background:var(--ink)}
.pv-vidtile--rp .pv-rp{position:absolute;inset:0;margin:0;aspect-ratio:auto;border-radius:0}
.pv-vrail .pv-vidtile[aria-current="true"]{box-shadow:0 0 0 3px var(--teal)}
.pv-vrail .pv-vidtile:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
@container (max-width:640px){
  .pv-rp-vol-rango,.pv-rp-solo-ancho{display:none}
}
@container (max-width:420px){
  .pv-rp-total{display:none}
  .pv-rp-poster-ante{display:none}
  .pv-rp-grande{top:40%}
  .pv-rp-fin-sig{grid-template-columns:1fr}
  .pv-rp-fin-mini{display:none}
}

/* transcripción bajo el video: cada línea salta a su minuto; la actual con fondo teñido */
.pv-transcripcion{margin-top:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pv-transcripcion summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;list-style:none;font-weight:700;font-size:.92rem;color:var(--ink)}
.pv-transcripcion summary::-webkit-details-marker{display:none}
.pv-transcripcion summary i{transition:transform .2s;color:var(--teal-d)}
.pv-transcripcion[open] summary i{transform:rotate(90deg)}
.pv-transcripcion summary small{margin-left:auto;font-size:.76rem;font-weight:600;color:var(--muted)}
.pv-transcripcion summary:focus-visible{outline:3px solid var(--foco);outline-offset:2px;border-radius:var(--r)}
.pv-trans-lista{max-height:18rem;margin:0;padding:4px 8px 10px;overflow-y:auto;list-style:none;border-top:1px solid var(--line-soft)}
.pv-trans-lista li{display:flex;gap:10px;align-items:baseline;padding:4px 8px;border-radius:var(--r);font-size:.9rem;color:var(--body)}
.pv-trans-lista li.is-actual{background:var(--teal-wash);color:var(--ink)}
.pv-trans-lista button{flex:none;padding:2px 4px;border:0;border-radius:2px;background:none;color:var(--teal-d);font-family:inherit;
  font-weight:700;font-size:.8rem;font-variant-numeric:tabular-nums;cursor:pointer}
.pv-trans-lista button:hover{text-decoration:underline}
.pv-trans-lista button:focus-visible{outline:2px solid var(--foco);outline-offset:1px}
@media (prefers-reduced-motion:reduce){
  .pv-rp *,.pv-rp-grande,.pv-transcripcion summary i{transition:none!important;animation:none!important}
}
