/* ==========================================================================
   Buscador Drupal (/search/node y vista ARM) - Estilo moderno y textos en ES
   ========================================================================== */
body.arc-route-search-view-node-search .ar-main,
body.arc-path-b-squeda-contenido-arm .ar-main {
  background: #f7f8fb !important;
  min-height: calc(100vh - 270px);
}

/* Ajuste forzado para página de Acuerdos Parlamentarios. */
/* Reunión Mesa de la Cámara: enlace orden del día (fecha con .arc-emb-hero-meta). */
.arc-acuerdo-mesa-article .arc-generic-header .arc-emb-hero-meta {
    margin-bottom: 1rem;
}

.arc-acuerdo-mesa-article .arc-acuerdo-mesa-adjuntos {
    margin: 0;
    padding: 0;
    list-style: none;
}

.arc-acuerdo-mesa-article .arc-acuerdo-mesa-adjuntos a {
    font-size: 1.125rem;
    line-height: 1.45;
    font-weight: 600;
    color: var(--arm-red, #8C2638);
    text-decoration: none;
}

.arc-acuerdo-mesa-article .arc-acuerdo-mesa-adjuntos a:hover,
.arc-acuerdo-mesa-article .arc-acuerdo-mesa-adjuntos a:focus-visible {
    text-decoration: underline;
}

body[class*="arc-route-arm-acuerdos-"] .arc-generic-body-wrap {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body[class*="arc-route-arm-acuerdos-"] .arc-generic-header {
  padding-bottom: 0.1rem !important;
}

/* Acuerdos: eliminar sangría global de listas y alinear al borde izquierdo. */
body[class*="arc-route-arm-acuerdos-"] .ar-main {
  padding-bottom: 4.5rem;
}

body[class*="arc-route-arm-acuerdos-"] .arc-acuerdos {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 2.5rem !important;
}

body[class*="arc-route-arm-acuerdos-"] .arc-acuerdos__summary {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

body[class*="arc-route-arm-acuerdos-"] .arc-acuerdos__list {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Acuerdos detalle: título + fecha en la misma línea. */
body[class*="arc-route-arm-acuerdos-"] .arc-acuerdos__item .views-field,
body[class*="arc-route-arm-acuerdos-"] .arc-acuerdos__item .field-content {
  display: inline;
}

/* En detalle por año, mantener título + fecha en una sola línea. */
body.arc-route-arm-acuerdos-year .arc-acuerdos__item a {
  display: inline !important;
  padding: 0 !important;
}

/* Override específico del markup actual de Views (views-field-nothing). */
body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing,
body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing .field-content {
  display: inline !important;
}

body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing .field-content > a {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Acuerdos por año: tipografía más grande y más aire entre filas. */
body.arc-route-arm-acuerdos-year .arc-acuerdos__list {
  margin-top: 0.8rem !important;
}

body.arc-route-arm-acuerdos-year .arc-acuerdos__item {
  padding: .8rem 0 !important;
  margin: .55rem 0 !important;
}

body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing,
body.arc-route-arm-acuerdos-year .arc-acuerdos__item .field-content {
  font-size: 1.32rem !important;
  line-height: 1.65 !important;
}

body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing .field-content > a,
body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing .field-content > time,
body.arc-route-arm-acuerdos-year .arc-acuerdos__item .views-field-nothing .field-content > a + time {
  font-size: 1.32rem !important;
  line-height: 1.65 !important;
}

body.arc-route-search-view-node-search .ar-main .ar-container,
body.arc-path-b-squeda-contenido-arm .ar-main .ar-container {
  max-width: 980px;
  padding-top: 1.8rem;
  padding-bottom: 2.4rem;
  min-height: 56vh;
}

/* Ocultamos formulario nativo duplicado dentro del main.
   El usuario usa el buscador de cabecera. */
body.arc-route-search-view-node-search .ar-main form.search-form,
body.arc-route-search-view-node-search .ar-main .search-help-link,
body.arc-route-search-view-node-search .ar-main .search-advanced,
body.arc-path-b-squeda-contenido-arm .ar-main form.search-form,
body.arc-path-b-squeda-contenido-arm .ar-main .search-help-link,
body.arc-path-b-squeda-contenido-arm .ar-main .search-advanced {
  display: none !important;
}

/* Formulario expuesto de la vista (Search Keywords + Apply): solo cabecera. */
body.arc-route-search-view-node-search .ar-main .views-exposed-form,
body.arc-path-b-squeda-contenido-arm .ar-main .views-exposed-form {
  display: none !important;
}

/* Aviso en inglés del core (p. ej. menos de 3 caracteres en la búsqueda). */
body.arc-route-search-view-node-search .ar-main [data-drupal-messages],
body.arc-path-b-squeda-contenido-arm .ar-main [data-drupal-messages] {
  display: none !important;
}

body.arc-route-search-view-node-search .ar-main h2,
body.arc-path-b-squeda-contenido-arm .ar-main h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 2.5vw, 1.95rem);
  color: #8C2638;
  font-weight: 800;
  letter-spacing: .01em;
}

body.arc-route-search-view-node-search .ar-main ol,
body.arc-path-b-squeda-contenido-arm .ar-main ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .9rem;
}

body.arc-route-search-view-node-search .ar-main ol > li,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li {
  background: #fff;
  border: 1px solid #e2e6ee;
  border-radius: 14px;
  padding: .95rem 1rem;
  box-shadow: 0 4px 14px rgba(13, 22, 42, .05);
}

body.arc-route-search-view-node-search .ar-main ol > li h3,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li h3 {
  margin: 0 0 .25rem;
  font-size: 1.25rem;
  line-height: 1.35;
}

body.arc-route-search-view-node-search .ar-main ol > li h3 a,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li h3 a {
  color: #1f2d3d; /* mismo color que texto normal */
  text-decoration: none;
  display: inline-block;
}

/* Mostrar la URL debajo del título, al estilo resultado clásico */
body.arc-route-search-view-node-search .ar-main ol > li h3 a::after,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li h3 a::after {
  content: '\A' attr(href);
  display: block;
  margin-top: .02rem;
  font-size: .85rem;
  color: #3d8a4a; /* verde discreto */
  text-decoration: none;
  white-space: pre-wrap;
  word-break: break-all;
}

body.arc-route-search-view-node-search .ar-main ol > li h3 a:hover,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li h3 a:hover {
  color: #8C2638; /* hover solo en el título */
  text-decoration: none; /* sin subrayar para no afectar al link verde (::after) */
}

body.arc-route-search-view-node-search .ar-main ol > li p,
body.arc-path-b-squeda-contenido-arm .ar-main ol > li p {
  display: none !important; /* Ocultamos el body/snippet; dejamos solo el título enlazado */
}

/* En los resultados de búsqueda, mostrar solo el título (h3 con enlace)
   y la URL generada con ::after; ocultar cualquier otro contenido extra. */
body.arc-route-search-view-node-search .ar-main ol > li > *:not(h3),
body.arc-path-b-squeda-contenido-arm .ar-main ol > li > *:not(h3) {
  display: none !important;
}

/* Estado vacío: el core imprime <em>Your search yielded no results.</em>.
   Lo convertimos en tarjeta moderna y texto en español solo con CSS. */
body.arc-route-search-view-node-search .ar-main em,
body.arc-path-b-squeda-contenido-arm .ar-main em {
  display: block;
  max-width: 760px;
  margin: 1.2rem auto 0;
  padding: 1.25rem 1.2rem;
  background: #fff;
  border: 1px solid #e3e8f1;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(20, 27, 43, .06);
  font-style: normal;
  font-size: 0; /* Oculta el texto en inglés */
  color: transparent;
}

body.arc-route-search-view-node-search .ar-main em::before,
body.arc-path-b-squeda-contenido-arm .ar-main em::before {
  content: "No se han encontrado resultados";
  display: block;
  margin: 0 0 .45rem;
  color: #8C2638;
  font-size: clamp(1.25rem, 2.3vw, 1.75rem);
  font-weight: 800;
  line-height: 1.2;
}

body.arc-route-search-view-node-search .ar-main em::after,
body.arc-path-b-squeda-contenido-arm .ar-main em::after {
  content: "No hay contenidos publicados que coincidan con tu búsqueda.\A Prueba con palabras más generales, sin comillas ni acentos.";
  display: block;
  color: #3e4a5a;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
  white-space: pre-line;
}

/* Tarjeta vacía (hamburger_fallback.js sustituye el <em> por esta sección). */
body.arc-route-search-view-node-search .ar-main .arc-search-empty-card,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-empty-card {
  max-width: 780px;
  margin: 2rem auto 0;
  padding: 2rem 2.25rem 2.1rem;
  background: linear-gradient(160deg, #ffffff 0%, #f4f6fa 55%, #eef1f7 100%);
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  box-shadow:
    0 12px 40px rgba(15, 23, 42, .07),
    0 1px 0 rgba(255, 255, 255, .9) inset;
  border-left: 4px solid #8C2638;
}

body.arc-route-search-view-node-search .ar-main .arc-search-empty-card h2,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-empty-card h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 800;
  color: #8C2638;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

body.arc-route-search-view-node-search .ar-main .arc-search-empty-card > p,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-empty-card > p {
  margin: 0 0 .85rem;
  color: #334155;
  font-size: 1.0625rem;
  line-height: 1.65;
}

body.arc-route-search-view-node-search .ar-main .arc-search-empty-card .arc-search-empty-tip,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-empty-card .arc-search-empty-tip {
  margin: 0 0 0;
  color: #64748b;
  font-size: .9375rem;
  line-height: 1.55;
}

body.arc-route-search-view-node-search .ar-main .arc-search-suggest,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-suggest {
  margin-top: 1.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e2e8f0;
  color: #64748b;
  font-size: .9375rem;
  line-height: 1.55;
}

body.arc-route-search-view-node-search .ar-main .arc-search-empty-card .arc-search-suggest,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-empty-card .arc-search-suggest {
  margin-top: 1.5rem;
}

body.arc-route-search-view-node-search .ar-main .arc-search-suggest a,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-suggest a {
  color: #8C2638;
  font-weight: 600;
  text-decoration: none;
  padding: .15rem .2rem;
  margin: 0 -0.2rem;
  border-radius: 6px;
  transition: background-color .15s ease, color .15s ease;
}

body.arc-route-search-view-node-search .ar-main .arc-search-suggest a:hover,
body.arc-path-b-squeda-contenido-arm .ar-main .arc-search-suggest a:hover {
  background: rgba(140, 38, 56, .08);
  text-decoration: none;
}

/* ==========================================================================
   Asamblea Regional de Murcia – Diseño moderno Drupal 10
   Paleta: Blanco + Rojo institucional
   Fuente: estilos.css (index.html design)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap');

/* ─── TOKENS ─── */
:root {
    --red: #8C2638;
    --red-dark: #6E1F2D;
    --red-light: #A5384D;
    --red-soft: rgba(140, 38, 56, .07);
    --red-soft-solid: #F4E8EB;
    --white: #ffffff;
    --off-white: #f9f9fb;
    --gray-50: #f4f4f6;
    --gray-100: #e8e8ec;
    --gray-200: #d1d1d8;
    --gray-300: #b8b8c4;
    --gray-400: #9898a8;
    --gray-500: #8a8a9a;
    --gray-600: #5f5f70;
    --gray-700: #3d3d4a;
    --gray-900: #12121a;
    --text: #18181f;
    --text-muted: #6b6b7a;
    --max: 1240px;
    --font: 'Inter', system-ui, -apple-system, sans-serif;
    --font-serif: 'Playfair Display', Georgia, serif;
    --radius-sm: 6px;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);
    --shadow: 0 4px 16px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .04);
    --shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);
    --transition: 0.22s cubic-bezier(.4, 0, .2, 1);
    --ar-header-bar-height: 88px;
    --ar-logo-height: 70px;
    --ar-footer-logo-height: 100px;
    --ar-topbar-merged-logo-height: 70px;
}

/* ─── RESET ─── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    max-width: 100%;
    overflow-x: hidden;
    font-family: var(--font);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text);
    background: var(--gray-900);
    -webkit-font-smoothing: antialiased;
}

/* Footer pegado al borde inferior del viewport en páginas cortas. */
.ar-site-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--white);
}

.ar-site-shell > .ar-main {
    flex: 1 1 auto;
}

/* Ajustes finos para móviles:
   Garantizamos que el buscador flote libremente al abrirse
   para no romper el diseño del logo y la hamburguesa. */
@media (max-width: 768px) {
    .ar-header-inner {
        padding: 0 1rem;
        gap: 0.5rem;
    }

    .ar-logo-col {
        flex-shrink: 1;
        min-width: 100px;
    }

    .ar-header-actions {
        gap: 0.25rem;
        flex-shrink: 0;
    }

    .ar-search-wrap {
        position: relative;
    }

    /* En móvil, sacamos el input del flujo para que al crecer
       no empuje a la hamburguesa fuera de la pantalla. */
    .ar-search-input,
    .ar-search-input.open {
        position: absolute;
        right: 100%;
        margin-right: 0.5rem;
        z-index: 100;
    }

    .ar-search-input.open {
        /* Tamaño dinámicamente acotado para garantizar que *nunca* tape el logo 
           ni siquiera en pantallas minúsculas de 320px */
        width: 130px !important;
        max-width: calc(100vw - 210px) !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

/* ─── UTILITY ─── */
.ar-container {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
}

/* Páginas de listado de noticias (/destacado, /actualidad, /noticias): sin
   contenedor estrecho en main para que el hero editorial sea a ancho completo. */
.ar-main-bleed-wrap {
    max-width: none;
    width: 100%;
    padding: 0;
}

.ar-main-bleed-wrap > .arc-breadcrumb,
.ar-main-bleed-wrap > .arc-local-tabs,
.ar-main-bleed-wrap > .arm-diputados-title {
    max-width: var(--max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

.arm-noticias-destacadas-page,
.arm-noticias-listado-page {
    padding: 0 0 3rem;
    background: #fff;
}

/* /destacado y /noticias: hero editorial pegado al header (sin franja off-white). */
body.arc-path-destacado .ar-main,
body.arc-route-view-noticias-listado-noticias-destacadas .ar-main,
body.arc-route-arm-noticias-list:not(.arc-front) .ar-main,
body.arc-path-noticias .ar-main {
    padding-top: 0;
    padding-bottom: 0;
    background: #fff;
}

body.arc-path-destacado .arm-noticias-destacadas-page.arm-news-page--full,
body.arc-route-view-noticias-listado-noticias-destacadas .arm-noticias-destacadas-page.arm-news-page--full,
body.arc-route-arm-noticias-list:not(.arc-front) .arm-news-page--full,
body.arc-path-noticias .arm-news-page--full,
body.arc-route-arm-noticias-list:not(.arc-front) .arm-noticias-listado-page,
body.arc-path-noticias .arm-noticias-listado-page {
    margin: 0;
}

.arm-noticias-destacadas-page .arm-noticias-destacadas-featured {
    margin-bottom: 0;
}

.arm-noticias-destacadas-page .arm-noticias-destacadas-hero {
    margin-bottom: 2.5rem;
}

.arm-noticias-destacadas-page .arm-noticias-destacadas-list {
    padding-top: 0.5rem;
}

.arm-noticias-destacadas-page .arm-noticias-destacadas-list .item-list > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-portada-noticia-img-link--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
    background: linear-gradient(135deg, var(--gray-50) 0%, var(--gray-100) 100%);
}

.arc-portada-noticia-img-link--placeholder .ar-card-img-fallback {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--red);
    max-width: 28ch;
}

/* Mensajes de sistema */
.arc-messages {
    background: #fff3cd;
}

.arc-messages:not(:empty) {
    padding: .75rem 0;
}

/* Breadcrumb interno (barra roja tipo D7, pegada al nav) */
.arc-breadcrumb-bar,
#breadcrumbs {
  display: flex;
  align-items: center;
  gap: .85rem;
  background: var(--red);
  color: #fff;
  margin: 0;
  width: 100%;
  max-width: 100%;
  padding: .55rem max(1.25rem, calc(50vw - (var(--max) / 2) + 1.25rem));
  font-size: .875rem;
  line-height: 1.35;
}

/* Sin hueco entre header blanco y barra de migas */
.ar-header:has(+ #breadcrumbs) {
  border-bottom: none;
  box-shadow: none;
}

.ar-site-shell:has(> #breadcrumbs) > .ar-main {
  padding-top: 0;
}

.ar-site-shell:has(> #breadcrumbs) > .ar-main > .ar-container,
.ar-site-shell:has(> #breadcrumbs) > .ar-main > .ar-main-bleed-wrap {
  padding-top: 2rem;
}

.arc-breadcrumb-bar .logo_bc {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.arc-breadcrumb-bar .logo_bc img {
  display: block;
  width: 37px;
  height: 24px;
}

.arc-breadcrumb-bar__trail,
.arc-breadcrumb-bar .arc-breadcrumb-bar__trail {
  flex: 1 1 auto;
  min-width: 0;
}

.arc-breadcrumb-bar .block,
.arc-breadcrumb-bar .contextual-region {
  margin: 0;
}

.arc-breadcrumb-bar ol,
.arc-breadcrumb-bar ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
}

.arc-breadcrumb-bar li {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: rgba(255, 255, 255, .92);
}

.arc-breadcrumb-bar li+li::before {
  content: '›';
  color: rgba(255, 255, 255, .72);
  font-weight: 700;
  margin: 0 .15rem 0 .05rem;
}

.arc-breadcrumb-bar a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.arc-breadcrumb-bar a:hover,
.arc-breadcrumb-bar a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.arc-breadcrumb-bar .breadcrumb__item--active,
.arc-breadcrumb-bar li[aria-current="page"] {
  color: rgba(255, 255, 255, .88);
  font-weight: 500;
}

/* Legacy: migas fuera de la barra roja (p. ej. noticias) */
.arc-breadcrumb {
    padding: .35rem 0 1.15rem;
    margin: 0;
    font-size: .875rem;
    color: var(--text-muted);
}

.arc-breadcrumb a {
    color: var(--red);
}

/* Breadcrumb de Drupal (normalmente <nav> + <ol><li>...) */
.arc-breadcrumb ol,
.arc-breadcrumb ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
}

.arc-breadcrumb li {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--text-muted);
}

/* Separador tipo chevron */
.arc-breadcrumb li+li::before {
    content: '›';
    color: rgba(0, 0, 0, .35);
    font-weight: 700;
    margin: 0 .15rem 0 .05rem;
}

.arc-breadcrumb a {
    text-decoration: none;
    font-weight: 600;
}

.arc-breadcrumb a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ════════════════════════════════════════════════
   TOP BAR
   ════════════════════════════════════════════════ */
.ar-topbar {
    background: var(--red);
    color: rgba(255, 255, 255, .9);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01em;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.ar-topbar-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: .45rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* ═══ Topbar / Header: bloques en fila ═══
   Drupal mete ~3 niveles de <div> al renderizar un bloque en una región.
   Hacemos que cada div intermedio sea un "flex pass-through":
   flex container que simplemente pasa el layout sin romper el box model.
   Esto preserva los contextual links y los estilos de botón (.ar-topbar-sede). */

.ar-topbar-left {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1.5rem;
}

.ar-topbar-left div:not(.contextual):not([data-contextual-id]) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 1.5rem;
}

.ar-topbar-left .ar-topbar-historico {
    flex-shrink: 0;
}

.ar-topbar-right div:not(.contextual):not([data-contextual-id]) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 1rem;
}

/* Header nav: los wrappers del bloque de menú también pasan el flex */
.ar-header-inner div:not(.contextual):not([data-contextual-id]):not(.ar-search-wrap):not(.ar-header-actions) {
    display: flex !important;
    align-items: center !important;
}

/* Bloques en topbar/header: position relative para que el lápiz se ancle al bloque */
.ar-topbar .block,
.ar-header .block {
    position: relative !important;
}

/* Contextual links (lápiz): posición correcta dentro de cada bloque */
.ar-topbar .contextual,
.ar-header .contextual {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 500 !important;
}

.ar-topbar-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.ar-topbar-links a {
    color: rgba(255, 255, 255, .85);
    transition: color var(--transition);
}

.ar-topbar-links a:hover {
    color: #fff;
}

.ar-topbar-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ar-topbar-sede {
    background: rgba(255, 255, 255, .18);
    color: #fff;
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .2rem .7rem;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, .35);
    transition: background var(--transition);
}

.ar-topbar-sede:hover {
    background: rgba(255, 255, 255, .28);
}

.ar-topbar-right>a:not(.ar-topbar-sede) {
    color: rgba(255, 255, 255, .8);
    transition: color var(--transition);
}

.ar-topbar-right>a:not(.ar-topbar-sede):hover {
    color: #fff;
}

/* Selector global de legislatura en topbar */
.ar-topbar-historico {
    display: flex;
    align-items: center;
}

.ar-topbar-historico select {
    width: auto;
    min-width: 300px;
    height: 28px;
    padding: 0 2.1rem 0 .75rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35);
    background-color: rgba(255, 255, 255, .14);
    color: #fff;
    font-family: var(--font);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 28px;
    text-align: center;
    text-align-last: center;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .6rem center;
    transition: background-color var(--transition), border-color var(--transition);
}

.ar-topbar-historico select:hover {
    background-color: rgba(255, 255, 255, .22);
    border-color: rgba(255, 255, 255, .5);
}

.ar-topbar-historico select option {
    color: var(--text);
    background: var(--white);
}

.ar-topbar-historico select:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .35);
}

.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* ════════════════════════════════════════════════
   HEADER PRINCIPAL
   ════════════════════════════════════════════════ */
.ar-header {
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 200;
    border-bottom: 1px solid var(--gray-100);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition);
}

.ar-header.scrolled {
    box-shadow: var(--shadow);
}

.ar-header-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    gap: 2.5rem;
    height: var(--ar-header-bar-height);
}

/* Logo: no ocultar cuando el buscador está abierto */
.ar-logo-col {
    flex-shrink: 0;
    min-width: 175px;
}

.ar-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.ar-logo img,
.ar-logo-col img {
    height: var(--ar-logo-height);
    width: auto;
    max-width: none;
    transition: opacity var(--transition);
}

.ar-logo:hover img,
.ar-logo-col a:hover img {
    opacity: .85;
}

.ar-logo-text {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--red);
}

/* Divisor */
.ar-header-divider {
    width: 1px;
    height: 36px;
    background: var(--gray-100);
    flex-shrink: 0;
}

/* Navegación principal */
.ar-nav {
    flex: 1;
    display: flex;
    align-items: center;
}

/* Menú principal: soporta tanto la clase .ar-menu (HTML antiguo)
   como el <ul> que genera el bloque de menú de Drupal dentro del header. */
.ar-menu,
.ar-nav>ul,
.ar-header-inner nav>ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.ar-menu>li,
.ar-nav>ul>li,
.ar-header-inner nav>ul>li {
    position: relative;
}

/* Puente invisible entre el li y el dropdown
   Cubre el hueco visual de 8px (top: calc(100% + 8px) del dropdown)
   para que el :hover del li no se pierda al mover el ratón al submenú */
.ar-menu>li::after,
.ar-nav>ul>li::after,
.ar-header-inner nav>ul>li::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    /* empieza justo debajo del li */
    height: 16px;
    /* >= separación visual (8px) con margen de sobra */
}

.ar-menu>li>a,
.ar-nav>ul>li>a,
.ar-header-inner nav>ul>li>a {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: .5rem .85rem;
    font-size: .875rem;
    font-weight: 500;
    color: var(--gray-700);
    border-radius: var(--radius-sm);
    transition: color var(--transition), background var(--transition);
    white-space: nowrap;
}

.ar-menu>li>a:hover,
.ar-nav>ul>li>a:hover,
.ar-header-inner nav>ul>li>a:hover {
    color: var(--red);
    background: var(--red-soft);
}

/* Actualidad: solo desplegable, no enlace; mismo aspecto que los otros ítems del menú */
.ar-menu-parent-label {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding: .5rem .85rem;
    font-size: .875rem;
    font-weight: 500;
    color: var(--gray-700);
    border-radius: var(--radius-sm);
    cursor: default;
    white-space: nowrap;
    text-decoration: none;
    transition: color var(--transition), background var(--transition);
}

.ar-menu>li:hover .ar-menu-parent-label {
    color: var(--red);
    background: var(--red-soft);
}

/* Estado activo en menú principal: solo en páginas internas,
   no resaltar en la portada (body.arc-front). */
body:not(.arc-front) .ar-menu>li.active>a,
body:not(.arc-front) .ar-nav>ul>li.active>a,
body:not(.arc-front) .ar-header-inner nav>ul>li.active>a {
    color: var(--red);
    font-weight: 600;
}

.ar-menu>li>a:hover::after,
.ar-nav>ul>li>a:hover::after,
.ar-header-inner nav>ul>li>a:hover::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: .85rem;
    right: .85rem;
    height: 2px;
    background: var(--red);
    border-radius: 2px 2px 0 0;
}

/* Chevron */
.ar-menu .chevron,
.ar-nav>ul .chevron,
.ar-header-inner nav>ul .chevron {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
    transition: transform var(--transition);
}

.ar-menu>li:hover .chevron,
.ar-nav>ul>li:hover .chevron,
.ar-header-inner nav>ul>li:hover .chevron {
    transform: rotate(180deg);
}

/* Dropdown */
.ar-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    min-width: 200px;
    background: var(--white);
    border: 1px solid var(--gray-100);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    padding: .5rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
    z-index: 300;
    list-style: none;
    margin: 0;
}

.ar-menu>li:hover .ar-dropdown,
.ar-nav>ul>li:hover .ar-dropdown,
.ar-header-inner nav>ul>li:hover .ar-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.ar-dropdown a {
    display: block;
    padding: .5rem .875rem;
    font-size: .8438rem;
    color: var(--text);
    border-radius: var(--radius-sm);
    transition: background var(--transition), color var(--transition);
}

.ar-dropdown a:hover {
    background: var(--red-soft);
    color: var(--red);
}

/* Acciones header */
.ar-header-actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
}

.ar-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--gray-700);
    cursor: pointer;
    transition: background var(--transition), color var(--transition);
}

.ar-btn-icon:hover {
    background: var(--red-soft);
    color: var(--red);
}

.ar-btn-icon svg {
    width: 19px;
    height: 19px;
}

/* Buscador expandible: separación entre input e icono */
.ar-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ar-search-form {
    display: flex;
    align-items: center;
}

.ar-search-submit-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.ar-search-input {
    width: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-size: .875rem;
    background: var(--gray-50);
    color: var(--text);
    transition: width .28s ease, opacity .2s ease, padding .28s ease, border-color .2s ease, box-shadow .2s ease;
    outline: none;
}

.ar-search-input.open {
    width: 200px;
    opacity: 1;
    padding: .45rem .75rem;
    border: 1.5px solid var(--gray-200);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

/* Al abrir buscador en desktop, ocultamos parte del menú para dar espacio. */
@media (min-width: 769px) {
    .ar-menu > li,
    .ar-nav > ul > li,
    #block-arm-theme-classic-main-menu .menu > li,
    #block-arm-header-nav-main-menu .menu > li {
        transition: opacity .22s ease, transform .22s ease, max-width .22s ease, margin .22s ease, padding .22s ease;
        transform-origin: right center;
    }

    body.arc-header-search-open .ar-menu > li:nth-last-child(-n+2),
    body.arc-header-search-open .ar-nav > ul > li:nth-last-child(-n+2),
    body.arc-header-search-open #block-arm-theme-classic-main-menu .ar-menu > li:nth-last-child(-n+2),
    body.arc-header-search-open #block-arm-header-nav-main-menu .ar-menu > li:nth-last-child(-n+2),
    body.arc-header-search-open #block-arm-theme-classic-main-menu .menu > li:nth-last-child(-n+2),
    body.arc-header-search-open #block-arm-header-nav-main-menu .menu > li:nth-last-child(-n+2) {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateX(8px) scale(.98);
        pointer-events: none;
        max-width: 0;
        overflow: hidden;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Hamburger */
.ar-hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--gray-700);
    cursor: pointer;
    transition: background var(--transition);
}

.ar-hamburger:hover {
    background: var(--red-soft);
    color: var(--red);
}

.ar-hamburger svg {
    width: 22px;
    height: 22px;
}

/* ════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════ */
.ar-hero {
    position: relative;
    min-height: 580px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--gray-900);
}

/* Hero con layout (cuando hay directo): texto a la izquierda y
   bloque multimedia arriba-derecha. */
.ar-hero-layout {
    position: static;
    z-index: 2;
    width: 100%;
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem 3rem;
}

/* Columna multimedia: fila directo+agenda y bloque HTML debajo (mismo ancho total). */
.ar-hero > .ar-hero-layout > .ar-hero-media-column {
    position: absolute;
    top: 2rem;
    right: 1.5rem;
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: min(var(--ar-hero-media-row-width), calc(100vw - 4rem));
    max-width: calc(100vw - 3rem);
    box-sizing: border-box;
    --ar-hero-live-width: 500px;
    --ar-hero-agenda-width: 340px;
    --ar-hero-media-gap: 1rem;
    --ar-hero-live-offset-x: -24px;
    --ar-hero-live-offset-span: 24px;
    --ar-hero-media-row-width: calc(var(--ar-hero-live-width) + var(--ar-hero-media-gap) + var(--ar-hero-agenda-width));
    --ar-hero-destacado-width: calc(var(--ar-hero-media-row-width) + var(--ar-hero-live-offset-span));
}

.ar-hero-media-column:has(.ar-hero-live) .ar-hero-below-media-wrap {
    width: var(--ar-hero-destacado-width);
    max-width: var(--ar-hero-destacado-width);
    margin-left: calc(-1 * var(--ar-hero-live-offset-span));
}

.ar-hero-below-media-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
    margin-right: 0;
    transform: none;
    box-sizing: border-box;
}

/* Sin directo: la columna (y la agenda) se quedan fijas a la derecha en el
   ancho de la agenda. El destacado puede ser más ancho y crece hacia la
   izquierda sin desplazar la agenda. */
.ar-hero > .ar-hero-layout > .ar-hero-media-column:not(:has(.ar-hero-live)) {
    --ar-hero-media-row-width: var(--ar-hero-agenda-width);
    --ar-hero-destacado-width: var(--ar-hero-agenda-width);
    width: min(var(--ar-hero-agenda-width), calc(100vw - 4rem));
    max-width: min(var(--ar-hero-agenda-width), calc(100vw - 4rem));
}

.ar-hero-media-column:not(:has(.ar-hero-live)) .ar-hero-below-media-wrap {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    overflow: visible;
}

/* Ancho configurado del destacado; margen negativo para alinear su borde
   derecho con la agenda y expandir solo hacia la izquierda. */
.ar-hero-media-column:not(:has(.ar-hero-live)) .ar-hero-below-media-wrap .ar-hero-below-custom-block {
    --ar-destacado-effective-width: min(var(--ar-destacado-max-width, 100%), calc(100vw - 4rem));
    width: var(--ar-destacado-effective-width);
    max-width: var(--ar-destacado-effective-width);
    margin-left: calc(100% - var(--ar-destacado-effective-width));
}

#block-arm-theme-classic-agendaportada:not(:has(.ar-hero-live)) {
    width: 100%;
}

.ar-hero > .ar-hero-layout > .ar-hero-media-column:has(.ar-hero-below-media-wrap) {
    gap: 1rem;
    bottom: 2rem;
    align-items: stretch;
}

.ar-hero-below-media-wrap .ar-hero-below-custom-block {
    width: min(var(--ar-destacado-max-width, 100%), 100%);
    max-width: 100%;
    /* Anclado al borde derecho (alineado con la agenda); si es más
       estrecho que la franja, crece hacia la izquierda al subir el ancho. */
    margin-left: auto;
    margin-right: 0;
    height: auto;
    max-height: var(--ar-destacado-max-height, 280px);
    min-height: 0;
    background: rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--radius-lg);
    padding: 1.1rem 1.3rem 1rem;
    color: var(--white);
    box-sizing: border-box;
    -webkit-transition: box-shadow .3s ease, -webkit-transform .3s ease;
    transition: box-shadow .3s ease, transform .3s ease;
    overflow: hidden;
}

.ar-hero-below-media-wrap .ar-hero-below-custom-block h2 {
    display: none;
}

.ar-hero-below-media-wrap .ar-hero-below-custom-block p {
    margin: 0 0 .75rem;
    color: #fff;
}

.ar-hero-below-media-wrap .ar-hero-below-custom-block p:last-child {
    margin-bottom: 0;
}

.ar-hero-below-media-wrap .ar-hero-below-custom-block a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Variante sin agenda: banda bajo el texto del hero */
.ar-hero-below-media--standalone {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem 2.5rem;
}

/* El bloque que contiene ambos (Directo + Agenda) se pone en flex-row */
#block-arm-theme-classic-agendaportada:has(.ar-hero-live) {
    display: flex !important;
    flex-direction: row !important;
    gap: var(--ar-hero-media-gap, 1rem) !important;
    align-items: stretch !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex-wrap: nowrap;
}

.ar-hero-live {
    flex: 0 0 var(--ar-hero-live-width, 500px);
    max-width: var(--ar-hero-live-width, 500px);
}

.ar-hero-layout .ar-hero-agenda {
    flex: 0 0 var(--ar-hero-agenda-width, 340px) !important;
    width: var(--ar-hero-agenda-width, 340px) !important;
    max-width: var(--ar-hero-agenda-width, 340px) !important;
    height: 320px !important;
}

/* Cuando hay layout de directo, damos algo más de aire al hero */
@supports selector(:has(*)) {
    .ar-hero:has(.ar-hero-layout) {
        min-height: 640px;
    }
}

.ar-hero-bg {
    position: absolute;
    inset: 0;
    background-color: #12121a;
    background-image: url('../images/hero-fachada-mosaic.png');
    background-repeat: no-repeat;
    background-position: center 35%;
    background-size: cover;
    overflow: hidden;
}

/* Imagen subida desde Drupal: color de reserva menos "negro puro" mientras decodifica la foto. */
.ar-hero-bg.ar-hero-bg--custom {
    background-color: #251818;
}

/* Velado suave para legibilidad del texto; no altera el tamaño del hero. */
.ar-hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(18, 18, 26, .82) 0%,
        rgba(18, 18, 26, .45) 42%,
        rgba(18, 18, 26, .25) 100%
    );
}

.ar-hero-bg::after {
    display: none;
}

.ar-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(18, 18, 26, .75) 0%, transparent 55%);
}

.ar-hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 5rem 2rem 3rem;
    max-width: var(--max);
    margin: 0 auto;
}

/* Ajuste para que el texto NO se center si hay un bloque flotando arriba */
.ar-hero-content--right {
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 680px !important;
}

/* Variante cuando el texto está dentro del layout de directo */
.ar-hero-layout .ar-hero-content.ar-hero-content--right {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 680px;
    padding: 0 2rem 0;
}

.ar-hero-mark-wrap {
    width: 100%;
    margin: 0 0 .65rem;
    line-height: 0;
}

.ar-hero-mark-wrap .contextual-region {
    display: inline-block;
}

.ar-hero-mark,
.ar-hero-mark-wrap img {
    display: block;
    width: clamp(150px, 19vw, 235px);
    height: auto;
    opacity: .95;
}

/* Si el usuario mete un bloque de imagen, mantenemos control del tamaño. */
.ar-hero-mark-wrap figure,
.ar-hero-mark-wrap .field,
.ar-hero-mark-wrap .image-style,
.ar-hero-mark-wrap .media {
    margin: 0;
}

@media (max-width: 1024px) {
    .ar-hero-mark,
    .ar-hero-mark-wrap img {
        width: clamp(130px, 18vw, 200px);
    }
}

@media (max-width: 768px) {
    .ar-hero-mark-wrap {
        margin-bottom: .5rem;
    }

    .ar-hero-mark,
    .ar-hero-mark-wrap img {
        width: clamp(110px, 24vw, 160px);
    }
}

.ar-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
    margin-bottom: 1.25rem;
}

.ar-hero-eyebrow-dot {
    width: 6px;
    height: 6px;
    background: var(--red-light);
    border-radius: 50%;
    animation: arcPulse 2s infinite;
}

@keyframes arcPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: .5;
        transform: scale(1.3);
    }
}

.ar-hero-title {
    margin: 0 0 1rem;
    font-family: var(--font-serif);
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.1;
    color: var(--white);
    letter-spacing: -.02em;
    max-width: 680px;
}

.ar-hero-title span {
    color: var(--red-light);
}

.ar-hero-desc {
    margin: 0 0 2.5rem;
    font-size: 1.125rem;
    color: rgba(255, 255, 255, .75);
    max-width: 520px;
    line-height: 1.65;
}

/* Animaciones hero */
@keyframes arcFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ar-hero-content>* {
    animation: arcFadeUp .65s ease both;
}

.ar-hero-eyebrow {
    animation-delay: .05s;
}

.ar-hero-title {
    animation-delay: .15s;
}

.ar-hero-desc {
    animation-delay: .25s;
}

/* Agenda flotante / lateral hero: wrapper donde van DIRECTO + AGENDA
   (solo cuando NO usamos el layout de dos columnas con directo). */
.ar-hero:not(:has(.ar-hero-layout))>div:not(.ar-hero-bg):not(.ar-hero-overlay):not(.ar-hero-content) {
    position: absolute;
    top: 2.5rem;
    right: 2rem;
    z-index: 3;
    width: 360px;
    max-width: calc(100% - 4rem);
}

.ar-hero:not(:has(.ar-hero-layout))>div:not(.ar-hero-bg):not(.ar-hero-overlay):not(.ar-hero-content) .block {
    position: relative;
}

.ar-hero:not(:has(.ar-hero-layout))>div:not(.ar-hero-bg):not(.ar-hero-overlay):not(.ar-hero-content) .contextual {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 500 !important;
}

/* Tarjeta de agenda (parte baja del lateral) */
.ar-hero-agenda {
    background: rgba(255, 255, 255, .12);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--radius-lg);
    padding: 1.1rem 1.3rem 1rem;
    color: var(--white);
    -webkit-transition: box-shadow .3s ease, -webkit-transform .3s ease;
    transition: box-shadow .3s ease, transform .3s ease;
}

/* Mismo panel glass; contraste por color (sin sombra fuerte) */
.ar-hero-agenda .ar-agenda-label {
    color: #f2f2f6;
}

.ar-hero-agenda .ar-agenda-date {
    color: #fff;
}

.ar-hero-agenda .ar-agenda-tab:not(.active) {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

.ar-hero-agenda .ar-agenda-event {
    color: #fff;
}

.ar-hero-agenda a.ar-agenda-event--link {
    color: #fff;
    text-decoration: none;
    transition: opacity .2s ease, text-decoration-color .2s ease;
}

.ar-hero-agenda a.ar-agenda-event--link:hover,
.ar-hero-agenda a.ar-agenda-event--link:focus {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
    opacity: .92;
}

.ar-hero-agenda .ar-agenda-empty {
    color: #ebebf0;
    font-weight: 500;
}

.ar-hero-agenda .ar-agenda-time {
    color: #ff9eaa;
}

.ar-hero-agenda .ar-agenda-arrow {
    color: #fff;
}

/* Bloque de vídeo en directo */
.ar-hero-live {
    background: rgba(255, 255, 255, .14);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: var(--radius-lg);
    padding: 1.1rem 1.3rem 1rem;
    margin: 0;
    flex: 0 0 var(--ar-hero-live-width, 500px);
    width: var(--ar-hero-live-width, 500px);
    max-width: var(--ar-hero-live-width, 500px);
    height: 320px;
    /* Mueve a la izquierda sin agrandar el bloque */
    transform: translateX(var(--ar-hero-live-offset-x, -24px));
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    box-sizing: border-box;
}

.ar-live-label {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    margin: 0 0 .6rem;
}

.ar-live-video {
    border-radius: 12px;
    overflow: hidden;
    height: calc(100% - 1.6rem);
}

.ar-live-video iframe {
    width: 100%;
    /* Altura flexible para igualar la altura total con la agenda */
    height: 100%;
    min-height: 190px;
    border: 0;
    display: block;
}

/* ── RESPONSIVE HERO: directo + agenda ─────────────────────────── */


/* 0) 1750px-1401px: evitar solape del bloque multimedia sobre el texto */
@media (max-width: 1750px) and (min-width: 1401px) {
    .ar-hero:has(.ar-hero-layout) {
        min-height: 620px;
    }

    .ar-hero > .ar-hero-layout > .ar-hero-media-column {
        top: 1.5rem;
        right: 1rem;
        --ar-hero-live-width: 420px;
        --ar-hero-agenda-width: 280px;
        --ar-hero-media-gap: 0.75rem;
        --ar-hero-live-offset-x: 0px;
        --ar-hero-live-offset-span: 0px;
    }

    #block-arm-theme-classic-agendaportada:has(.ar-hero-live) {
        gap: .75rem !important;
    }

    .ar-hero-live {
        height: 280px;
    }

    .ar-hero-layout .ar-hero-agenda {
        width: 280px !important;
        height: 280px !important;
    }

    .ar-hero-layout .ar-hero-content.ar-hero-content--right {
        max-width: 680px !important;
        margin-top: -50px;
        padding-right: 2rem;
    }
}

/* 1) 1400px: reduce tamaños, menos desplazamiento */
@media (max-width: 1400px) {
    .ar-hero > .ar-hero-layout > .ar-hero-media-column {
        --ar-hero-live-width: 420px;
        --ar-hero-agenda-width: 280px;
        --ar-hero-media-gap: 0.75rem;
        --ar-hero-live-offset-x: -12px;
        --ar-hero-live-offset-span: 12px;
    }

    .ar-hero-live {
        height: 280px;
    }

    .ar-hero-layout .ar-hero-agenda {
        width: 280px !important;
        height: 280px !important;
    }

    #block-arm-theme-classic-agendaportada:has(.ar-hero-live) {
        gap: .75rem !important;
    }
}

/* 2) 1200px: reduce más y quita desplazamiento */
@media (max-width: 1200px) {
    .ar-hero > .ar-hero-layout > .ar-hero-media-column {
        --ar-hero-live-width: 340px;
        --ar-hero-agenda-width: 240px;
        --ar-hero-media-gap: 1rem;
        --ar-hero-live-offset-x: 0px;
        --ar-hero-live-offset-span: 0px;
    }

    .ar-hero-live {
        height: 260px;
    }

    .ar-hero-layout .ar-hero-agenda {
        width: 240px !important;
        height: 260px !important;
    }

    .ar-hero-layout .ar-hero-content.ar-hero-content--right {
        padding-top: 6rem;
        max-width: 480px !important;
    }

    .ar-hero > .ar-hero-layout > .ar-hero-media-column {
        right: 1rem;
    }

    .ar-hero:has(.ar-hero-layout) {
        min-height: 560px;
    }
}

/* Bloque de agenda cuando hay vídeo arriba: separador suave */
.ar-agenda-block--with-live {
    border-top: 1px solid rgba(255, 255, 255, .16);
    padding-top: .85rem;
}

.ar-agenda-label {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    margin-bottom: .75rem;
}

.ar-agenda-tabs {
    display: flex;
    gap: .25rem;
    margin-bottom: 1rem;
}

.ar-agenda-tab {
    flex: 1;
    padding: .35rem .5rem;
    font-size: .78rem;
    font-weight: 600;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    -webkit-transition: background .25s ease, color .25s ease;
    transition: background .25s ease, color .25s ease;
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .7);
}

.ar-agenda-tab.active {
    background: var(--red);
    color: var(--white);
}

/* Navegación de fecha con flechas */
.ar-agenda-date-nav {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
}

.ar-agenda-date {
    font-size: .8125rem;
    color: rgba(255, 255, 255, .5);
    margin: 0;
    -webkit-flex: 1;
    flex: 1;
    text-align: center;
}

.ar-agenda-arrow {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .7);
    cursor: pointer;
    -webkit-transition: background .25s ease, opacity .25s ease;
    transition: background .25s ease, opacity .25s ease;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    padding: 0;
}

.ar-agenda-arrow:hover:not(:disabled) {
    background: rgba(255, 255, 255, .18);
}

.ar-agenda-arrow:disabled {
    cursor: default;
}

.ar-agenda-arrow svg {
    width: 14px;
    height: 14px;
}

.ar-agenda-item {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: .75rem;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.ar-agenda-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ar-agenda-time {
    font-size: .75rem;
    font-weight: 700;
    color: var(--red-light);
    white-space: nowrap;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    margin-top: .1rem;
}

.ar-agenda-event {
    font-size: .84rem;
    line-height: 1.4;
}

a.ar-agenda-event--link {
    color: inherit;
    text-decoration: none;
}

a.ar-agenda-event--link:hover,
a.ar-agenda-event--link:focus {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Dots de paginación */
.ar-agenda-dots {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    gap: .35rem;
    margin-top: .75rem;
    padding-bottom: .5rem;
    min-height: 14px;
}

.ar-agenda-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .25);
    border: none;
    padding: 0;
    cursor: pointer;
    -webkit-transition: background .25s ease, -webkit-transform .25s ease;
    transition: background .25s ease, transform .25s ease;
}

.ar-agenda-dot.active {
    background: var(--red-light);
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
}

.ar-agenda-dot:hover:not(.active) {
    background: rgba(255, 255, 255, .45);
}

.ar-agenda-empty {
    font-size: .8rem;
    color: rgba(255, 255, 255, .45);
    font-style: italic;
    margin: .5rem 0 0;
    text-align: center;
}

/* Contenedor de eventos — transición suave */
.ar-agenda-events {
    min-height: 135px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding-bottom: .5rem;
    opacity: 1;
    -webkit-transition: opacity 350ms ease;
    transition: opacity 350ms ease;
}

/* ════════════════════════════════════════════════
   MAIN CONTENT
   ════════════════════════════════════════════════ */
.ar-main {
    padding: 4rem 0 2.5rem;
    background: var(--off-white);
    padding-top: 40px;
}

/* Contenido de páginas internas (nodos en vista completa): aspecto más moderno */
.ar-main .node--view-mode-full {
    max-width: 1180px;
    margin: 0 auto;
}

.ar-main .node--view-mode-full .node__content {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
    padding: 2.25rem 2.5rem;
}

@media (max-width: 899px) {
    .ar-main .node--view-mode-full .node__content {
        padding: 1.5rem 1.25rem;
    }
}

/* Enlaces en contenido: visibles y accesibles */
.ar-main .node--view-mode-full .node__content a:not(.ar-btn):not(.ar-btn-icon):not(.button):not(.btn) {
    color: var(--red);
    text-decoration: underline;
    text-decoration-color: rgba(140, 38, 56, .28);
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: color var(--transition), text-decoration-color var(--transition);
}

.ar-main .node--view-mode-full .node__content a:not(.ar-btn):not(.ar-btn-icon):not(.button):not(.btn):hover {
    text-decoration-color: var(--red);
}

.ar-main .node--view-mode-full .node__content a:not(.ar-btn):not(.ar-btn-icon):not(.button):not(.btn):focus-visible {
    outline: 3px solid rgba(140, 38, 56, .35);
    outline-offset: 3px;
    border-radius: 6px;
}

/* Fondo general ligeramente gris para que no aparezcan franjas blancas
   por debajo de las secciones (noticias, etc.) */
body.arc-page {
    background: #f7f8fc;
}

@media (max-width: 899px) {
    .ar-main {
        padding: 2rem 0;
    }
}

/* ─────────────  PÁGINA DE AGENDA — calendario mensual interactivo  ───────────── */

.arm-agenda-page {
    background: var(--off-white);
    padding: 2rem 0 5rem;
}

/* ── Cabecera: título + pestañas ── */
.arm-agenda-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

/* Pestañas Día / Semana / Mes / Año */
.arm-agenda-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .25rem;
    background: #fff;
    padding: .3rem;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .08), 0 4px 16px rgba(15, 23, 42, .04);
    border: 1px solid var(--gray-100);
}

.arm-agenda-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 1rem;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .01em;
    color: var(--gray-600);
    text-decoration: none;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.arm-agenda-tab:hover,
.arm-agenda-tab:focus-visible {
    color: var(--red);
    background: var(--red-soft);
    outline: none;
}

.arm-agenda-tab.is-active {
    background: var(--red);
    color: #fff;
    box-shadow: 0 2px 8px rgba(140, 38, 56, .3);
}

/* ── Navegación de período (semanal/anual) ── */
.arm-agenda-period-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.25rem;
    background: #fff;
    border-radius: 14px;
    padding: .6rem .75rem;
    border: 1px solid var(--gray-100);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .06);
}

.arm-agenda-period-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text);
    text-align: center;
    flex: 1;
}

/* ── Vista semanal (/agenda/semanal) ── */
.arm-agenda-week-nav {
    background: #fff;
    padding: .65rem 1rem;
    border-radius: 14px;
    border: 1px solid var(--gray-100, #f3f4f6);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .06);
    margin-bottom: 1.25rem;
}

.arm-agenda-week-title {
    font-size: 1.15rem;
    font-weight: 800;
}

.arm-agenda-week-card {
    padding: 0;
    overflow: hidden;
}

.arm-agenda-week-grid-wrap {
    overflow-x: auto;
    padding: 1rem 1.25rem 1.25rem;
}

.arm-agenda-week-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    min-width: 720px;
}

.arm-agenda-week-table th,
.arm-agenda-week-table td {
    border: 1px solid var(--gray-100, #f3f4f6);
    padding: .55rem .6rem;
    vertical-align: top;
    background: #fff;
}

.arm-agenda-week-table thead th {
    border-bottom: 2px solid var(--gray-200, #e5e7eb);
    background: #fff;
    text-align: center;
    padding: .7rem .4rem;
}

.arm-agenda-week-table__corner {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--gray-500, #6b7280);
    text-align: center;
    width: 5.5rem;
    background: #fff;
}

.arm-agenda-week-table__dayhead.is-today {
    background: rgba(140, 38, 56, .06);
}

.arm-agenda-week-table__dayhead.has-events .arm-agenda-week-table__dn {
    color: var(--red, #8C2638);
}

.arm-agenda-week-table__daylink {
    display: block;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    padding: .2rem .1rem;
    transition: background .15s ease;
}

.arm-agenda-week-table__daylink:hover {
    background: rgba(140, 38, 56, .08);
}

.arm-agenda-week-table__wd {
    display: block;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--gray-500, #6b7280);
}

.arm-agenda-week-table__dn {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.15;
    color: var(--text);
}

.arm-agenda-week-table__hour {
    text-align: center;
    width: 5.5rem;
    background: #fff;
    vertical-align: middle;
}

.arm-agenda-week-hour-pill {
    font-size: .78rem;
    min-width: 3.5rem;
    padding: .32rem .5rem;
}

.arm-agenda-week-table__cell {
    min-width: 7rem;
    line-height: 1.35;
}

.arm-agenda-week-table__cell.has-events {
    background: #fff;
}

.arm-agenda-week-event__link {
    display: block;
    color: var(--red, #8C2638);
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: .4rem;
}

.arm-agenda-week-event__link:last-child {
    margin-bottom: 0;
}

.arm-agenda-week-event__link:hover {
    color: var(--red-dark, #6e1e2c);
}

.arm-agenda-week-event__text {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text);
    margin-bottom: .4rem;
}

.arm-agenda-week-event__text:last-child {
    margin-bottom: 0;
}

/* Resumen semanal retirado de la plantilla */
.arm-agenda-week-summary {
    display: none;
}

/* Lista móvil semanal (tabla oculta en pantallas estrechas) */
.arm-agenda-week-list {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
}

.arm-agenda-week-list__item {
    padding: .85rem 0;
    border-bottom: 1px solid var(--gray-100, #f3f4f6);
}

.arm-agenda-week-list__item:first-child {
    padding-top: 0;
}

.arm-agenda-week-list__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.arm-agenda-week-list__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .65rem;
    margin-bottom: .35rem;
}

.arm-agenda-week-list__when {
    font-size: .78rem;
    font-weight: 700;
    color: var(--gray-600, #4b5563);
}

.arm-agenda-week-list__link,
.arm-agenda-week-list__text {
    display: block;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.arm-agenda-week-list__link {
    color: var(--red, #8C2638);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ── Vista anual: rejilla de 12 meses ── */
.arm-agenda-year-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 1rem;
}

.arm-agenda-year-month {
    background: #fff;
    border-radius: 16px;
    padding: .9rem 1rem 1.1rem;
    box-shadow: 0 2px 12px rgba(15, 23, 42, .06);
    border: 1px solid var(--gray-100);
    transition: box-shadow .2s ease, border-color .2s ease;
}

.arm-agenda-year-month:hover {
    box-shadow: 0 6px 24px rgba(15, 23, 42, .1);
    border-color: var(--gray-200);
}

.arm-agenda-year-month__title {
    margin: 0 0 .6rem;
    font-size: .9rem;
    font-weight: 800;
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .78rem;
}

.arm-cal-weekdays--mini {
    font-size: .57rem;
    letter-spacing: .05em;
    margin-bottom: .3rem;
    padding-bottom: .3rem;
    border-bottom: 1px solid var(--gray-100);
    color: var(--gray-400);
    text-transform: uppercase;
}

.arm-cal-grid--mini {
    gap: .12rem;
}

.arm-cal-cell--mini {
    min-height: 1.7rem;
    border-radius: 5px;
    padding: .1rem;
}

a.arm-cal-cell--mini {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
    position: relative;
    z-index: 1;
}

a.arm-cal-cell--mini.is-today {
    background: var(--red-soft);
    box-shadow: inset 0 0 0 1px var(--red);
}

a.arm-cal-cell--mini.is-today .arm-cal-num {
    color: var(--red);
    font-weight: 800;
}

a.arm-cal-cell--mini:not(.is-out):hover,
a.arm-cal-cell--mini:not(.is-out):focus-visible {
    background: var(--red-soft);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(140, 38, 56, .12);
    outline: none;
    z-index: 1;
    position: relative;
}

a.arm-cal-cell--mini.has-events:not(.is-out):hover,
a.arm-cal-cell--mini.has-events:not(.is-out):focus-visible {
    background: var(--red);
    color: #fff;
    transform: scale(1.08);
    box-shadow: 0 2px 8px rgba(140, 38, 56, .35);
}

a.arm-cal-cell--mini.has-events:not(.is-out):hover .arm-cal-num,
a.arm-cal-cell--mini.has-events:not(.is-out):focus-visible .arm-cal-num {
    color: #fff;
}

a.arm-cal-cell--mini.has-events:not(.is-out):hover .arm-cal-dot,
a.arm-cal-cell--mini.has-events:not(.is-out):focus-visible .arm-cal-dot {
    background: rgba(255, 255, 255, .7);
}

.arm-cal-cell--mini .arm-cal-num {
    font-size: .6rem;
    font-weight: 500;
}

.arm-cal-cell--mini.has-events .arm-cal-num {
    font-weight: 800;
    color: var(--red);
}

.arm-cal-cell--mini .arm-cal-dot {
    width: 3px;
    height: 3px;
    margin-top: 2px;
}

/* ── Vista DÍA (/agenda/diaria) ── */
.arm-agenda-day-nav {
    margin-bottom: 1.5rem;
}

.arm-agenda-day-title {
    font-size: 1.35rem;
}

.arm-agenda-day-card {
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--gray-100, #f3f4f6);
    box-shadow: 0 8px 32px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .04);
    overflow: hidden;
    margin-bottom: 2rem;
}

.arm-agenda-day-card__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1rem;
    padding: .85rem 1.25rem;
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
    border-bottom: 1px solid var(--gray-100, #f3f4f6);
}

.arm-agenda-day-card__head {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 1rem;
    flex: 1 1 14rem;
    min-width: 0;
}

.arm-agenda-day-card__col {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--gray-500, #6b7280);
}

.arm-agenda-day-card__col--hour {
    text-align: center;
}

.arm-agenda-day-filters {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .25rem;
    flex-shrink: 0;
}

.arm-agenda-day-schedule {
    list-style: none;
    margin: 0;
    padding: .5rem 0;
}

.arm-agenda-day-row {
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    gap: 1rem;
    align-items: stretch;
    padding: .65rem 1.25rem;
    border-bottom: 1px solid var(--gray-100, #f3f4f6);
    position: relative;
    transition: background .18s ease;
}

.arm-agenda-day-row:last-child {
    border-bottom: none;
}

.arm-agenda-day-row::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: transparent;
    transition: background .18s ease;
}

.arm-agenda-day-row:hover {
    background: rgba(140, 38, 56, .025);
}

.arm-agenda-day-row:hover::before {
    background: var(--red, #8C2638);
}

.arm-agenda-day-row.is-hidden {
    display: none;
}

.arm-agenda-day-schedule__hour {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: .35rem;
}

.arm-agenda-day-hour-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.25rem;
    padding: .4rem .65rem;
    border-radius: 999px;
    background: rgba(140, 38, 56, .08);
    color: var(--red, #8C2638);
    font-size: .88rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    border: 1px solid rgba(140, 38, 56, .12);
}

.arm-agenda-day-schedule__activity {
    min-width: 0;
}

.arm-agenda-day-event {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    background: var(--gray-50, #f9fafb);
    border: 1px solid var(--gray-100, #f3f4f6);
    border-radius: 12px;
    padding: .85rem 1rem;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.arm-agenda-day-row:hover .arm-agenda-day-event {
    border-color: rgba(140, 38, 56, .15);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}

.arm-agenda-day-event__body {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.arm-agenda-day-event__time {
    font-size: .78rem;
    font-weight: 700;
    color: var(--gray-500, #6b7280);
    letter-spacing: .03em;
}

.arm-agenda-day-event__title {
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
    font-size: .98rem;
    line-height: 1.4;
}

a.arm-agenda-day-event__title:hover {
    color: var(--red, #8C2638);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.arm-agenda-day-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    padding: 3rem 1.5rem;
    text-align: center;
    color: var(--gray-500, #9ca3af);
}

.arm-agenda-day-empty__icon {
    opacity: .45;
}

.arm-agenda-day-empty__text {
    margin: 0;
    font-size: .95rem;
    font-weight: 600;
    color: var(--gray-500, #6b7280);
    max-width: 22rem;
    line-height: 1.45;
}

.arm-agenda-upcoming {
    margin-top: 1rem;
}

.arm-agenda-upcoming__title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 1rem;
    color: var(--text);
}

.arm-agenda-upcoming__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.arm-agenda-upcoming__item {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.arm-agenda-upcoming__date {
    flex: 0 0 3rem;
    background: var(--red, #8C2638);
    color: #fff;
    border-radius: 6px;
    text-align: center;
    padding: .35rem .25rem;
    line-height: 1.1;
}

.arm-agenda-upcoming__day {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
}

.arm-agenda-upcoming__month {
    display: block;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.arm-agenda-upcoming__link {
    color: var(--text);
    font-weight: 600;
    text-decoration: none;
}

.arm-agenda-upcoming__link:hover {
    color: var(--red, #8C2638);
}

/* ── Título principal ── */
.arm-agenda-title {
    font-family: var(--font-serif);
    font-size: 1.85rem;
    font-weight: 800;
    margin: 0;
    color: var(--text);
    letter-spacing: -.025em;
    position: relative;
    padding-left: 1rem;
    line-height: 1.15;
}

.arm-agenda-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .1em;
    bottom: .1em;
    width: 4px;
    border-radius: 4px;
    background: var(--red);
}

/* ── Navegación mensual: flechas + nombre del mes ── */
.arm-agenda-month-nav {
    margin-bottom: 1.25rem;
}

.arm-agenda-month-title {
    font-size: 1.15rem;
    font-weight: 800;
    text-transform: capitalize;
}

.arm-agenda-month-arrow {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    border: 1px solid var(--gray-200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-600);
    text-decoration: none;
    background: var(--gray-50);
    transition: all .18s ease;
    font-size: 1.2rem;
    line-height: 1;
    flex-shrink: 0;
}

.arm-agenda-month-arrow:hover {
    color: var(--red);
    background: var(--red-soft);
    border-color: var(--red-soft-solid);
    box-shadow: 0 2px 8px rgba(140, 38, 56, .15);
}

.arm-agenda-month-arrow svg {
    width: 18px;
    height: 18px;
}

/* ── Layout dos columnas (vista día/mes) ── */
.arm-agenda-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 1.5rem;
    align-items: start;
}

/* ── Tarjeta del calendario ── */
.arm-cal-card {
    background: #fff;
    border-radius: 20px;
    padding: 1.5rem 1.5rem 1.75rem;
    box-shadow: 0 4px 24px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .04);
    border: 1px solid var(--gray-100);
    position: sticky;
    top: 1rem;
}

/* Días de la semana */
.arm-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .25rem;
    text-align: center;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--gray-500);
    margin-bottom: .65rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid var(--gray-100);
}

/* Rejilla de celdas */
.arm-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .28rem;
}

/* Celda individual */
.arm-cal-cell {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    border: none;
    background: transparent;
    border-radius: 12px;
    cursor: pointer;
    font-family: var(--font);
    color: var(--gray-700);
    transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
    padding: 0;
}

.arm-cal-num {
    font-size: .82rem;
    font-weight: 600;
    line-height: 1;
    z-index: 1;
}

.arm-cal-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--red);
    margin-top: 3px;
    z-index: 1;
}

/* Fuera del mes */
.arm-cal-cell.is-out {
    color: var(--gray-300);
}

.arm-cal-cell.is-out .arm-cal-dot {
    opacity: .3;
}

/* Hoy */
.arm-cal-cell.is-today {
    background: var(--red-soft);
    box-shadow: inset 0 0 0 1.5px var(--red);
}

.arm-cal-cell.is-today .arm-cal-num {
    color: var(--red);
    font-weight: 800;
}

/* Con eventos */
.arm-cal-cell.has-events .arm-cal-num {
    font-weight: 800;
}

/* Hover */
.arm-cal-cell:hover:not(.is-selected):not(.is-out) {
    background: var(--red-soft);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(140, 38, 56, .12);
}

/* Seleccionada */
.arm-cal-cell.is-selected {
    background: var(--red);
    color: #fff;
    transform: scale(1.06);
    box-shadow: 0 5px 18px rgba(140, 38, 56, .35);
}

.arm-cal-cell.is-selected .arm-cal-num {
    color: #fff;
    font-weight: 800;
}

.arm-cal-cell.is-selected .arm-cal-dot {
    background: rgba(255, 255, 255, .7);
}

/* ── Panel de detalle (columna derecha) ── */
.arm-agenda-detail {
    min-height: 200px;
    display: flex;
    flex-direction: column;
}

@keyframes armDetailFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.arm-agenda-detail.is-ready {
    animation: armDetailFadeIn .22s ease both;
}

/* Tarjeta de detalle */
.arm-detail-card {
    background: #fff;
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: 0 4px 24px rgba(15, 23, 42, .07);
    border: 1px solid var(--gray-100);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.arm-detail-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--gray-100);
    flex-shrink: 0;
    flex-wrap: wrap;
}

.arm-detail-title {
    font-family: var(--font-serif);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: var(--text);
}

/* Filtros Parlamentaria / Institucional */
.arm-detail-filters {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    background: var(--gray-50);
    padding: .18rem;
    border-radius: 999px;
    border: 1px solid var(--gray-100);
    flex-shrink: 0;
}

.arm-detail-filter {
    border: none;
    background: transparent;
    padding: .28rem .65rem;
    border-radius: 999px;
    font-family: var(--font);
    font-size: .67rem;
    font-weight: 700;
    color: var(--gray-500);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
    white-space: nowrap;
}

.arm-detail-filter:hover {
    color: var(--gray-700);
}

.arm-detail-filter.is-active {
    background: #fff;
    color: var(--text);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .1);
}

.arm-detail-filter--parl.is-active {
    color: var(--red);
}

.arm-detail-filter--inst.is-active {
    color: var(--gray-700);
}

.arm-detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
    flex: 1;
    overflow-y: auto;
    max-height: 400px;
}

.arm-detail-item {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .65rem .85rem;
    background: var(--gray-50);
    border-radius: 10px;
    border: 1px solid transparent;
    transition: background .15s ease, border-color .15s ease;
}

.arm-detail-item:hover {
    background: var(--red-soft);
    border-color: var(--red-soft-solid);
}

/* Badges */
.arm-detail-badge {
    display: inline-flex;
    align-items: center;
    padding: .13rem .5rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff;
    flex-shrink: 0;
}

.arm-detail-badge--parl {
    background: var(--red);
}

.arm-detail-badge--inst {
    background: var(--gray-700);
}

.arm-detail-time {
    font-size: .78rem;
    font-weight: 700;
    color: var(--gray-700);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

.arm-detail-link {
    font-size: .85rem;
    font-weight: 500;
    color: var(--text);
    text-decoration: none;
    transition: color .15s ease;
    line-height: 1.4;
}

.arm-detail-link:hover {
    color: var(--red);
}

.arm-detail-text {
    font-size: .85rem;
    color: var(--text-muted);
    line-height: 1.4;
}

/* Estado vacío */
.arm-detail-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2.5rem 1.5rem;
    color: var(--gray-400);
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--gray-100);
    box-shadow: 0 2px 12px rgba(15, 23, 42, .04);
    flex: 1;
}

.arm-detail-empty svg {
    margin-bottom: .85rem;
    opacity: .35;
}

.arm-detail-empty p {
    margin: 0;
    font-size: .88rem;
    font-weight: 500;
    line-height: 1.55;
    max-width: 22ch;
    color: var(--text-muted);
}

/* Mensaje vacío general */
.arm-agenda-empty {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--text-muted);
    font-size: .9rem;
}

/* ── Responsive ── */
@media (max-width: 970px) {
    :root {
        --ar-hero-card-height-mobile: 320px;
    }

    .arm-agenda-header {
        flex-direction: column;
        align-items: flex-start;
        gap: .85rem;
    }

    .arm-agenda-tabs {
        width: 100%;
        justify-content: stretch;
    }

    .arm-agenda-tab {
        flex: 1;
        justify-content: center;
    }

    .arm-agenda-month-nav {
        width: 100%;
    }

    .arm-agenda-layout {
        grid-template-columns: 1fr;
    }

    .arm-cal-card {
        padding: 1rem 1rem 1.25rem;
        border-radius: 16px;
        position: static;
    }

    .arm-cal-cell {
        border-radius: 10px;
    }

    .arm-cal-num {
        font-size: .78rem;
    }

    .arm-detail-card {
        padding: 1.25rem;
    }

    .arm-detail-list {
        max-height: none;
    }

    .arm-agenda-year-grid {
        grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
    }
}

@media (max-width: 640px) {
    .arm-agenda-title {
        font-size: 1.5rem;
    }

    .arm-cal-grid {
        gap: .2rem;
    }

    .arm-cal-cell {
        border-radius: 8px;
    }

    .arm-cal-num {
        font-size: .72rem;
    }

    .arm-cal-dot {
        width: 4px;
        height: 4px;
        margin-top: 2px;
    }

    .arm-detail-item {
        flex-wrap: wrap;
        gap: .4rem;
    }

    .arm-agenda-day-card__toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .arm-agenda-day-card__head {
        grid-template-columns: 4.5rem 1fr;
    }

    .arm-agenda-day-row {
        grid-template-columns: 4.5rem 1fr;
        gap: .65rem;
        padding: .65rem .85rem;
    }

    .arm-agenda-day-hour-pill {
        min-width: 3.5rem;
        font-size: .8rem;
        padding: .35rem .5rem;
    }

    .arm-agenda-day-filters {
        justify-content: center;
    }

    .arm-agenda-year-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .arm-agenda-year-month {
        padding: .7rem .75rem .85rem;
    }
}

@media (max-width: 768px) {
    .arm-agenda-page {
        padding: 1.25rem 0 3rem;
    }

    .arm-agenda-week-grid-wrap {
        display: none;
    }

    .arm-agenda-week-list {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 1rem 1rem 1.25rem;
    }

    .arm-agenda-week-empty {
        padding: 1.25rem 1rem;
    }

    .arm-agenda-day-card,
    .arm-agenda-week-card {
        border-radius: 14px;
    }

    .arm-detail-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .arm-detail-filters {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .arm-detail-filter {
        white-space: normal;
        text-align: center;
        font-size: .62rem;
        padding: .32rem .5rem;
    }

    .arm-agenda-upcoming__item {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }

    .arm-agenda-upcoming__body {
        width: 100%;
        min-width: 0;
    }

    .arm-agenda-upcoming__link,
    .arm-agenda-upcoming__text {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .arm-agenda-day-event__title {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 480px) {
    .arm-agenda-tab {
        padding: .45rem .35rem;
        font-size: .72rem;
    }

    .arm-agenda-period-nav {
        flex-wrap: wrap;
        gap: .5rem;
    }

    .arm-agenda-period-title {
        font-size: .95rem;
        order: -1;
        width: 100%;
    }
}

.ar-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2.5rem;
    gap: 1rem;
}

.ar-section-eyebrow {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--red);
    margin-bottom: .4rem;
}

.ar-section-title {
    margin: 0;
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: -.01em;
}

.ar-section-more {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--red);
    white-space: nowrap;
    padding: .4rem .875rem;
    border-radius: 50px;
    border: 1.5px solid var(--gray-200);
    transition: border-color var(--transition), background var(--transition);
    margin-right: .5rem;
}

/* ════════════════════════════════════════════════
   NOTICIAS – DISEÑO EDITORIAL
   ════════════════════════════════════════════════ */

.arm-news-page {
    padding: 0 0 3rem;
    padding-bottom: 0px;
}

/* Bloque de portada (inicio): una sola noticia destacada. */
.arm-news-page--summary {
    background: #f7f8fc;
}

/* Página completa de noticias (/noticias?all=1): bloque blanco con margen
   superior e inferior sobre el fondo gris general del sitio. */
.arm-news-page--full {
    background: #ffffff;
    margin: 2.5rem 0 3rem;
}

/* Contenedor principal en portada (wrapper del bloque de noticias reducido). */
.arc-front #block-arm-system-main {
    background: #f7f8fc;
}

/* ─── Cabecera ─── */
.arm-news-hero {
    background: var(--gray-900);
    padding: 3rem 0 2.5rem;
    position: relative;
    overflow: hidden;
}

.arm-news-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 80% 20%, rgba(140, 38, 56, .35) 0%, transparent 55%),
        radial-gradient(circle at 10% 90%, rgba(140, 38, 56, .15) 0%, transparent 50%);
    pointer-events: none;
}

.arm-news-hero::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -100px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    border: 50px solid rgba(255, 255, 255, .03);
    pointer-events: none;
}

.arm-news-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .45);
    margin: 0 0 .75rem;
}

.arm-news-eyebrow svg {
    opacity: .5;
}

.arm-news-title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--white);
    position: relative;
}

.arm-news-title span {
    color: var(--red-light);
}

/* ─── Barra de filtros ─── */
.arm-news-bar {
    margin-top: -1.5rem;
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 10;
}

.arm-news-bar-inner {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 40px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .06);
    padding: .5rem;
}

.arm-news-field {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem .9rem;
    background: var(--gray-50);
    border-radius: var(--radius);
    border: 1.5px solid transparent;
    transition: border-color var(--transition), background var(--transition);
}

.arm-news-field:focus-within {
    border-color: var(--red);
    background: var(--white);
}

.arm-news-field svg {
    flex-shrink: 0;
    color: var(--gray-500);
}

.arm-news-field--search {
    flex: 1;
    min-width: 160px;
}

.arm-news-field--search input {
    border: none;
    outline: none;
    background: transparent;
    font-family: var(--font);
    font-size: .875rem;
    color: var(--text);
    width: 100%;
    min-width: 0;
}

.arm-news-field--search input[type="search"]::-webkit-search-cancel-button,
.arm-news-field--search input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

.arm-news-clear {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--gray-500);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    position: relative;
    z-index: 2;
    transition: color var(--transition), background var(--transition), opacity var(--transition);
}

.arm-news-field--search.has-value .arm-news-clear {
    opacity: 1;
    pointer-events: auto;
}

.arm-news-clear:hover,
.arm-news-clear:focus-visible {
    color: var(--red);
    background: rgba(122, 0, 25, .08);
    outline: none;
}

.arm-news-field--search input::placeholder {
    color: var(--gray-500);
}

.arm-news-field--select {
    min-width: 110px;
}

.arm-news-field--select select {
    border: none;
    outline: none;
    background: transparent;
    font-family: var(--font);
    font-size: .875rem;
    font-weight: 500;
    color: var(--text);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    padding-right: .75rem;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a8a9a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
}

.arm-news-go {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .7rem 1.3rem;
    border-radius: var(--radius);
    border: none;
    background: var(--red);
    color: #fff;
    font-family: var(--font);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    white-space: nowrap;
}

.arm-news-go:hover {
    background: var(--red-dark);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(140, 38, 56, .3);
}

.arm-news-go svg {
    transition: transform var(--transition);
}

.arm-news-go:hover svg {
    transform: translateX(3px);
}

/* ─── Feed de noticias: lista horizontal moderna ─── */
.arm-news-mosaic {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 3rem;
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border: 1px solid var(--gray-100);
}

/* Ocultar la paginación estándar que la Vista inserta dentro del bloque
   de noticias (arm-news-mosaic) para que sólo se vea la barra de paginación
   inferior personalizada (.arm-news-pager-bar). */
.arm-news-page .arm-news-mosaic .pager {
    display: none;
}

/* ── Cada celda ── */
.arm-news-cell {
    border-bottom: 1px solid var(--gray-100);
}

.arm-news-cell:last-child {
    border-bottom: none;
}

/* ── Tarjeta como fila horizontal ── */
.arm-news-mosaic .ar-card {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 0;
    background: var(--white);
    border: none;
    border-radius: 0;
    overflow: hidden;
    position: relative;
    transition: background var(--transition);
}

.arm-news-mosaic .ar-card:hover {
    background: var(--gray-50);
    box-shadow: none;
    transform: none;
}

/* Acento lateral izquierdo animado */
.arm-news-mosaic .ar-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--red);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
    z-index: 2;
}

.arm-news-mosaic .ar-card:hover::before {
    transform: scaleY(1);
}

/* ── Imagen ── */
.arm-news-mosaic .ar-card-media {
    height: auto !important;
    position: relative;
    overflow: hidden;
    background: var(--gray-100);
    margin: 1rem 0 1rem 1.25rem;
    border-radius: var(--radius);
}

.arm-news-mosaic .ar-card-img-wrap {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
}

.arm-news-mosaic .ar-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.arm-news-mosaic .ar-card:hover .ar-card-img-wrap img {
    transform: scale(1.06);
}

/* Badge dentro de la imagen */
.arm-news-mosaic .ar-card-badge {
    position: absolute;
    top: .5rem;
    left: .5rem;
    background: var(--red);
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .2rem .5rem;
    border-radius: 3px;
    z-index: 2;
}

/* Placeholder sin imagen */
.arm-news-mosaic .ar-card-placeholder {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, var(--gray-50) 0%, var(--gray-100) 100%);
}

/* ── Cuerpo ── */
.arm-news-mosaic .ar-card-body {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.arm-news-mosaic .ar-card-meta {
    margin-bottom: .35rem;
    gap: .5rem;
}

.arm-news-mosaic .ar-card-date {
    font-size: .75rem;
    font-weight: 500;
    color: var(--text-muted);
}

.arm-news-mosaic .ar-card-category {
    font-size: .7rem;
    font-weight: 600;
    color: var(--red);
    background: var(--red-soft);
    padding: .1rem .4rem;
    border-radius: 3px;
}

.arm-news-mosaic .ar-card-title {
    margin: 0 0 .35rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text);
}

.arm-news-mosaic .ar-card-title a {
    color: var(--text);
    transition: color var(--transition);
}

.arm-news-mosaic .ar-card-title a:hover {
    color: var(--red);
}

.arm-news-mosaic .ar-card-excerpt {
    font-size: .85rem;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.arm-news-mosaic .ar-card-footer {
    display: none;
}

/* ── Primera noticia: destacada ── */
.arm-news-cell--hero .ar-card {
    grid-template-columns: 320px 1fr;
}

.arm-news-cell--hero .ar-card-media {
    margin: 1.25rem 0 1.25rem 1.25rem;
    border-radius: var(--radius);
}

.arm-news-cell--hero .ar-card-img-wrap {
    aspect-ratio: 16 / 10;
}

.arm-news-cell--hero .ar-card-body {
    padding: 1.5rem 2rem;
}

.arm-news-cell--hero .ar-card-title {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.01em;
    margin-bottom: .5rem;
}

.arm-news-cell--hero .ar-card-excerpt {
    -webkit-line-clamp: 3;
    font-size: .9rem;
}

.arm-news-cell--hero .ar-card-footer {
    display: flex;
    border-top: none;
    padding-top: .5rem;
    margin-top: .5rem;
}

.arm-news-cell--hero .ar-card-link {
    color: var(--red);
    font-size: .8rem;
    font-weight: 600;
}

.arm-news-page--full .ar-container > .arm-news-empty-wrap {
    width: 100%;
    display: grid;
    place-items: center;
    min-height: 240px;
    padding: 3rem 1.5rem 4rem;
    box-sizing: border-box;
}

.arm-news-empty-wrap {
    width: 100%;
}

.arm-news-empty {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--text-muted);
    text-align: center;
    max-width: 34rem;
    margin: 0 auto;
    padding: 0;
}

/* ════════════════════════════════════════════════
   PORTADA: NOTICIA DESTACADA (1 en grande)
   Diseño moderno: imagen izq., texto dcha., acento rojo.
   ════════════════════════════════════════════════ */
.arc-portada-bloque-noticia {
    margin-bottom: 3.5rem;
}

.arc-portada-noticia {
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--gray-100);
    box-shadow: 0 4px 24px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);
    position: relative;
    transition: box-shadow .35s ease, transform .35s ease;
}

.arc-portada-noticia::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--red), var(--red-light));
    border-radius: 4px 0 0 4px;
    z-index: 1;
}

.arc-portada-noticia:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);
    transform: translateY(-2px);
}

.arc-portada-noticia-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 0;
    min-height: 360px;
}

.arc-portada-noticia-media {
    position: relative;
    background: var(--gray-100);
    border-radius: 0 20px 20px 0;
    overflow: hidden;
}

.arc-portada-noticia-img-link {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
}

.arc-portada-noticia-img-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.arc-portada-noticia:hover .arc-portada-noticia-img-link img {
    transform: scale(1.03);
}

.arc-portada-noticia-placeholder {
    width: 100%;
    height: 100%;
    min-height: 360px;
    background: linear-gradient(135deg, var(--gray-50) 0%, var(--gray-100) 100%);
}

.arc-portada-noticia-body {
    padding: 2.25rem 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.arc-portada-noticia-meta {
    font-size: .8rem;
    font-weight: 500;
    color: var(--text-muted);
    margin: 0 0 .85rem;
    letter-spacing: .02em;
}

.arc-portada-noticia-title {
    margin: 0 0 1rem;
    font-family: var(--font-serif);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.02em;
}

.arc-portada-noticia-title a {
    color: var(--text);
    transition: color var(--transition);
}

.arc-portada-noticia-title a:hover {
    color: var(--red);
}

.arc-portada-noticia-text {
    font-size: 1.0625rem;
    color: var(--gray-700);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.arc-portada-noticia-link {
    font-size: .9rem;
    font-weight: 600;
    color: var(--red);
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem 0;
    transition: gap .25s ease;
}

.arc-portada-noticia-link:hover {
    gap: .6rem;
}

.arc-portada-noticia-link::after {
    content: '→';
}

@media (max-width: 900px) {
    .arc-portada-noticia-inner {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .arc-portada-noticia-media {
        border-radius: 0;
    }

    .arc-portada-noticia-body {
        padding: 1.75rem 1.5rem;
    }

    .arc-portada-noticia-img-link,
    .arc-portada-noticia-placeholder {
        min-height: 280px;
    }

    .arc-portada-noticia-title {
        font-size: 1.35rem;
    }
}

/* ════════════════════════════════════════════════
   PORTADA: LA ASAMBLEA (3 artículos con emblema)
   Tarjetas modernas: imagen + título + descripción + Ver más.
   ════════════════════════════════════════════════ */
.arc-portada-bloque-asamblea {
    width: 100%;
    max-width: 100%;
    margin: 2rem 0 3.5rem;
}

/* Igualar ancho útil al bloque de Noticias (mismo .ar-container) */
.arc-portada-bloque-asamblea > div {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
}

.arc-portada-bloque-asamblea > div > #block-arm-theme-classic-la-asamblea {
    width: 100%;
}

/* Compatibilidad: bloque proveniente de Views. */
.arc-portada-bloque-asamblea > div > [id^="block-views-block-la-asamblea-portada"] {
    width: 100%;
}

.arc-la-asamblea {
    width: 100%;
    max-width: none;
    padding: 0;
}

/* Mismo estilo visual que "Noticias & actividad" */
.arc-la-asamblea-title {
    font-family: var(--font-serif);
    margin: 0 0 .75rem;
    font-size: 2rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: -.02em;
    position: relative;
    padding-left: 1rem;
}

.arc-la-asamblea-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .15em;
    bottom: .15em;
    width: 4px;
    border-radius: 4px;
    background: var(--red);
}

.arc-la-asamblea-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

/* Empty state: mismo comportamiento que noticias (centrado a ancho completo). */
.arc-la-asamblea-grid > .arm-news-empty {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
    text-align: center;
}

.arc-la-asamblea-cell {
    height: 100%;
}

.arc-emblema-card {
    height: 100%;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--gray-100);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
    transition: box-shadow .35s ease, transform .35s ease, border-color .35s ease;
}

.arc-emblema-card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
    transform: translateY(-4px);
    border-color: transparent;
}

.arc-emblema-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.arc-emblema-card-media {
    overflow: hidden;
    border-radius: 16px 16px 0 0;
    position: relative;
    aspect-ratio: 16 / 10;
    min-height: 140px;
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%);
}

.arc-emblema-card-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .15) 0%, transparent 40%);
    pointer-events: none;
}

.arc-emblema-card-media img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
    transition: transform .45s cubic-bezier(.4, 0, .2, 1);
}

.arc-emblema-card-placeholder {
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%);
    min-height: 140px;
}

.arc-emblema-card-link:hover .arc-emblema-card-media img {
    transform: scale(1.05);
}

.arc-emblema-card-body {
    padding: 1.35rem 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.arc-emblema-card-title {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.32;
    color: var(--text);
    transition: color var(--transition);
}

.arc-emblema-card-link:hover .arc-emblema-card-title {
    color: var(--red);
}

.arc-emblema-card-desc {
    margin: 0 0 1rem;
    font-size: .9rem;
    color: var(--text-muted);
    line-height: 1.55;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.arc-emblema-card-cta {
    font-size: .8125rem;
    font-weight: 600;
    color: var(--red);
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: auto;
    transition: gap .25s ease;
}

.arc-emblema-card-link:hover .arc-emblema-card-cta {
    gap: .5rem;
}

.arc-emblema-card-cta::after {
    content: '→';
}

/* Ocultar campos renderizados por Drupal si usamos la plantilla custom */
.arc-la-asamblea-cell .field--name-field-descripcion {
    display: none;
}

@media (max-width: 900px) {
    .arc-la-asamblea-grid {
        grid-template-columns: 1fr;
    }

    .arc-emblema-card-body {
        padding: 1.25rem;
    }
}

/* ─── Responsive feed ─── */
/* Vista móvil / tablet: a partir de 1250px el menú pasa a hamburguesa */
@media (max-width: 1250px) {
    .arm-news-hero {
        padding: 2.5rem 0 2rem;
    }

    .arm-news-bar-inner {
        flex-wrap: wrap;
    }

    .arm-news-field--search {
        flex: 1 1 100%;
    }

    .arm-news-field--select {
        flex: 1;
    }

    .arm-news-go {
        flex: 1 1 100%;
        justify-content: center;
    }

    .arm-news-mosaic .ar-card,
    .arm-news-cell--hero .ar-card {
        grid-template-columns: 160px 1fr;
    }

    .arm-news-mosaic .ar-card-media,
    .arm-news-cell--hero .ar-card-media {
        margin: .75rem 0 .75rem .75rem;
    }

    .arm-news-mosaic .ar-card-body,
    .arm-news-cell--hero .ar-card-body {
        padding: .75rem 1rem;
    }

    .arm-news-cell--hero .ar-card-title {
        font-size: 1.2rem;
    }

    .arm-news-cell--hero .ar-card-excerpt {
        -webkit-line-clamp: 2;
    }

    .arm-news-cell--hero .ar-card-img-wrap {
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 640px) {
    .ar-section-head {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 1.5rem;
    }

    .ar-section-title {
        font-size: 2rem;
        line-height: 1.15;
    }

    .ar-section-title br {
        display: none;
    }

    .ar-section-more {
        margin-right: 0;
        width: 100%;
        justify-content: center;
    }

    .arm-news-mosaic .ar-card,
    .arm-news-cell--hero .ar-card {
        grid-template-columns: 1fr;
    }

    .arm-news-mosaic .ar-card-media,
    .arm-news-cell--hero .ar-card-media {
        margin: .75rem .75rem 0 .75rem;
    }

    .arm-news-mosaic .ar-card-img-wrap,
    .arm-news-cell--hero .ar-card-img-wrap {
        aspect-ratio: 16 / 9;
    }

    .arm-news-mosaic .ar-card-body,
    .arm-news-cell--hero .ar-card-body {
        padding: .9rem 1rem 1rem;
    }

    .arm-news-mosaic .ar-card-title,
    .arm-news-cell--hero .ar-card-title {
        font-size: 1.05rem;
    }

    .arm-news-mosaic .ar-card-excerpt {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 480px) {
    .arm-news-title {
        font-size: 2rem;
    }

    .arm-news-bar {
        margin-top: -1rem;
    }

    .arm-news-bar-inner {
        border-radius: var(--radius);
        padding: .4rem;
    }

    .ar-section-title {
        font-size: 1.8rem;
    }

    .arm-news-mosaic .ar-card-title,
    .arm-news-cell--hero .ar-card-title {
        font-size: 1rem;
    }
}

.ar-section-more:hover {
    border-color: var(--red);
    background: var(--red-soft);
}

/* Grid noticias */
.ar-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem;
}

.ar-card-featured {
    grid-column: 1/3;
}

/* Card */
.ar-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--gray-100);
    transition: box-shadow var(--transition), transform var(--transition);
    display: flex;
    flex-direction: column;
}

.ar-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-3px);
    border-color: transparent;
}

.ar-card-media {
    position: relative;
    overflow: hidden;
}

.ar-card-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-200) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ar-card-placeholder svg {
    width: 40px;
    height: 40px;
    stroke: var(--gray-500);
    opacity: .5;
}

.ar-card-badge {
    position: absolute;
    top: .875rem;
    left: .875rem;
    background: var(--red);
    color: var(--white);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .25rem .625rem;
    border-radius: 4px;
}

.ar-card-body {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ar-card-meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
}

.ar-card-date {
    font-size: .78rem;
    font-weight: 500;
    color: var(--text-muted);
}

.ar-card-category {
    font-size: .78rem;
    font-weight: 600;
    color: var(--red);
    background: var(--red-soft);
    padding: .15rem .5rem;
    border-radius: 4px;
}

.ar-card-title {
    margin: 0 0 .625rem;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text);
}

.ar-card-featured .ar-card-title {
    font-size: 1.3125rem;
}

.ar-card-title a {
    transition: color var(--transition);
}

.ar-card-title a:hover {
    color: var(--red);
}

.ar-card-excerpt {
    margin: 0;
    font-size: .9rem;
    color: var(--text-muted);
    line-height: 1.6;
    flex: 1;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.ar-card-footer {
    margin-top: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--gray-50);
}

.ar-card-link {
    font-size: .84rem;
    font-weight: 600;
    color: var(--red);
    display: flex;
    align-items: center;
    gap: .3rem;
    transition: gap var(--transition);
}

.ar-card-link:hover {
    gap: .6rem;
}

/* Highlight / banner Sede */
.ar-highlight {
    margin-top: 3rem;
    background: linear-gradient(135deg, var(--red-dark) 0%, var(--red) 100%);
    border-radius: var(--radius-lg);
    padding: 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    position: relative;
    overflow: hidden;
}

.ar-highlight::before {
    content: '';
    position: absolute;
    right: -40px;
    top: -40px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.ar-highlight-text {
    position: relative;
    z-index: 1;
}

.ar-highlight-eyebrow {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    margin-bottom: .5rem;
}

.ar-highlight-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--white);
    margin: 0 0 .5rem;
    max-width: 420px;
    line-height: 1.25;
}

.ar-highlight-sub {
    color: rgba(255, 255, 255, .75);
    font-size: .9375rem;
    margin: 0;
}

.ar-highlight-cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1.75rem;
    background: var(--white);
    color: var(--red-dark);
    font-weight: 700;
    font-size: .9375rem;
    border-radius: 50px;
    transition: background var(--transition), transform var(--transition);
    position: relative;
    z-index: 1;
}

.ar-highlight-cta:hover {
    background: var(--red-soft);
    transform: translateY(-2px);
}

/* ════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════ */
.ar-footer {
    background: var(--gray-900);
    color: rgba(255, 255, 255, .75);
}

.ar-footer-top {
    padding: 4rem 0 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.ar-footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 3rem;
}

/* Variante 2-1-2: dos columnas de enlaces | brand centrado | dos columnas de enlaces */
.ar-footer-grid.ar-footer-grid--centered {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}

.ar-footer-brand.ar-footer-brand--center {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.ar-footer-brand.ar-footer-brand--center .ar-footer-logo {
    margin-left: auto;
    margin-right: auto;
}

.ar-footer-brand.ar-footer-brand--center .ar-footer-desc {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.ar-footer-brand.ar-footer-brand--center .ar-footer-contact {
    text-align: center;
}

.ar-footer-brand.ar-footer-brand--center .ar-social {
    justify-content: center;
}

/* Evita que contenido largo fuerce columnas más anchas */
.ar-footer-brand,
.ar-footer-col,
.ar-footer-col--menu,
.ar-footer-legal--menu {
    min-width: 0;
}

.ar-footer-logo,
.ar-footer-brand img.ar-footer-logo,
.ar-footer-brand--center img {
    height: var(--ar-footer-logo-height);
    width: auto;
    max-width: min(100%, 280px);
    margin-bottom: 1.5rem;
    filter: brightness(1.15);
}

.ar-footer-desc {
    font-size: .875rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .55);
    max-width: 260px;
    margin: 0 0 1.5rem;
}

.ar-footer-contact {
    font-size: .8125rem;
    color: rgba(255, 255, 255, .45);
    line-height: 1.7;
}

.ar-footer-contact strong {
    font-weight: 600;
    color: rgba(255, 255, 255, .65);
}

.ar-footer-col-title {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .35);
    margin: 0 0 1.125rem;
}

.ar-footer-col-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .625rem;
}

.ar-footer-col-links a {
    font-size: .875rem;
    color: rgba(255, 255, 255, .6);
    transition: color var(--transition);
}

.ar-footer-col-links a:hover {
    color: var(--white);
}

/* Bloques de menú Drupal en columnas del footer */
.ar-footer-col--menu {
    position: relative;
}
.ar-footer-col--menu > div,
.ar-footer-col--menu > nav,
.ar-footer-col--menu > div > nav {
    margin: 0;
    padding: 0;
}
.ar-footer-col--menu h2 {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .35);
    margin: 0 0 1.125rem;
    line-height: 1.4;
}
.ar-footer-col--menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .625rem;
}
.ar-footer-col--menu ul li {
    margin: 0;
    padding: 0;
}
.ar-footer-col--menu ul a {
    font-size: .875rem;
    color: rgba(255, 255, 255, .6);
    transition: color var(--transition);
    text-decoration: none;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
    max-width: 100%;
}
.ar-footer-col--menu ul a:hover {
    color: var(--white);
}
/* Lápiz contextual en footer oscuro */
.ar-footer-col--menu .contextual-region {
    position: relative;
}
.ar-footer-col--menu .contextual {
    position: absolute !important;
    top: -4px;
    right: -4px;
    z-index: 500;
}
.ar-footer-col--menu .contextual .trigger {
    background-color: rgba(255,255,255,.15);
    border-radius: 2px;
}
.ar-footer-col--menu .contextual .trigger:hover {
    background-color: rgba(255,255,255,.3);
}
.ar-footer-col--menu .contextual .contextual-links {
    background: #fff;
    min-width: 160px;
}
.ar-footer-col--menu .contextual .contextual-links a {
    color: #333;
    font-size: .8125rem;
}

.ar-footer-bottom {
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ar-footer-copy {
    margin: 0;
    font-size: .8125rem;
    color: rgba(255, 255, 255, .35);
}

.ar-footer-legal {
    display: flex;
    gap: 1.5rem;
}

.ar-footer-legal a {
    font-size: .8125rem;
    color: rgba(255, 255, 255, .4);
    transition: color var(--transition);
}

.ar-footer-legal a:hover {
    color: rgba(255, 255, 255, .8);
}

/* Menú legal Drupal en franja inferior */
.ar-footer-legal--menu {
    position: relative;
}

@media (max-width: 970px) {
    .ar-footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1rem;
    }

    .ar-footer-copy {
        width: 100%;
    }

    .ar-footer-legal,
    .ar-footer-legal--menu ul {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: .75rem 1rem;
    }

    .ar-footer-legal a,
    .ar-footer-legal--menu a {
        display: inline-block;
        white-space: normal;
        text-align: center;
        max-width: 100%;
    }
}
.ar-footer-legal--menu > div,
.ar-footer-legal--menu nav {
    margin: 0;
    padding: 0;
}
.ar-footer-legal--menu nav.contextual-region {
    position: relative;
}
.ar-footer-legal--menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.ar-footer-legal--menu ul li {
    margin: 0;
    padding: 0;
}
.ar-footer-legal--menu a {
    font-size: .8125rem;
    color: rgba(255, 255, 255, .4);
    transition: color var(--transition);
    text-decoration: none;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
    max-width: 100%;
}
.ar-footer-legal--menu a:hover {
    color: rgba(255, 255, 255, .8);
}
.ar-footer-legal--menu .contextual {
    position: absolute !important;
    top: -6px;
    right: -6px;
    z-index: 500;
}
.ar-footer-legal--menu .contextual .trigger {
    background-color: rgba(255,255,255,.15);
    border-radius: 2px;
}
.ar-footer-legal--menu .contextual .trigger:hover {
    background-color: rgba(255,255,255,.3);
}

/* Sociales */
.ar-social {
    display: flex;
    gap: .5rem;
    margin-top: 1.25rem;
}

.ar-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .65);
    transition: background var(--transition), color var(--transition);
}

.ar-social a:hover {
    background: var(--red);
    color: var(--white);
}

.ar-social svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* ════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════ */
@media (max-width: 970px) {
    .ar-footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .ar-footer-brand {
        grid-column: 1/-1;
    }

    /* Variante 2-1-2 en tablet:
       brand centrado a toda la fila, y debajo las 4 columnas de enlaces en 2x2. */
    .ar-footer-grid.ar-footer-grid--centered {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 2rem;
    }

    .ar-footer-grid.ar-footer-grid--centered .ar-footer-brand.ar-footer-brand--center {
        grid-column: 1/-1;
        order: -1;
    }

    .ar-hero:not(:has(.ar-hero-layout))>div:not(.ar-hero-bg):not(.ar-hero-overlay):not(.ar-hero-content) {
        position: relative;
        top: auto;
        right: auto;
        margin: 0 2rem 2rem;
        width: calc(100% - 4rem);
        order: 2;
    }

    .ar-hero-agenda {
        width: 100%;
    }

    .ar-hero {
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
    }

    /* En móvil primero el texto (hero-content) y debajo la agenda */
    .ar-hero-content {
        padding: 3rem 2rem 2rem;
        order: 1;
    }

    /* ── Hero con layout: apilado vertical, texto primero ── */
    .ar-hero-layout {
        display: flex !important;
        flex-direction: column !important;
        padding: 3rem 2rem 2rem;
    }

    .ar-hero-layout .ar-hero-content.ar-hero-content--right {
        order: -1;
        max-width: none;
        padding: 0 0 1.5rem;
    }

    .ar-hero-content--right {
        max-width: none !important;
        margin: 0 !important;
    }

    .ar-hero > .ar-hero-layout > .ar-hero-media-column {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        margin: 0;
        z-index: auto;
        width: 100% !important;
        max-width: none !important;
        align-items: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem;
        --ar-hero-live-offset-x: 0px;
        --ar-hero-live-offset-span: 0px;
    }

    .ar-hero-media-column:has(.ar-hero-live) .ar-hero-below-media-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    .ar-hero > .ar-hero-layout > .ar-hero-media-column > * {
        margin: 0 !important;
        align-self: stretch;
    }

    #block-arm-theme-classic-agendaportada {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem;
        width: 100% !important;
    }

    #block-arm-theme-classic-agendaportada:has(.ar-hero-live) {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem;
        width: 100% !important;
    }

    .ar-hero-live {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        height: auto !important;
        min-height: 220px !important;
        transform: none !important;
        margin: 0 !important;
    }

    .ar-hero-layout .ar-hero-agenda {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        height: var(--ar-hero-card-height-mobile) !important;
        min-height: var(--ar-hero-card-height-mobile) !important;
        margin: 0 !important;
    }

    .ar-hero-below-media-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
    }

    .ar-hero-below-media-wrap .ar-hero-below-custom-block {
        width: 100%;
        max-width: min(var(--ar-destacado-max-width, 100%), 100%);
        height: auto;
        max-height: var(--ar-destacado-max-height, 280px);
        overflow: hidden;
    }

    .ar-hero-below-media-wrap .ar-hero-below-custom-block > * {
        height: auto;
        box-sizing: border-box;
    }

    /* Si CKEditor envuelve con <p>, evitamos que baje visualmente el bloque. */
    .ar-hero-below-media-wrap .ar-hero-below-custom-block > p {
        margin: 0 !important;
    }

    /* El HTML interno del bloque (clase que estás usando) debe igualar Agenda. */
    .ar-hero-below-media-wrap .destacado-hero {
        height: auto !important;
        max-height: var(--ar-destacado-max-height, 280px) !important;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .ar-live-video {
        height: auto;
    }

    .ar-live-video iframe {
        height: auto;
        min-height: 180px;
        aspect-ratio: 16 / 9;
    }

    .ar-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ar-card-featured {
        grid-column: 1/-1;
    }
}

@media (max-width: 1250px) {
    /* Footer centrado en todo el tramo responsive <=1250 */
    .ar-footer-grid,
    .ar-footer-grid.ar-footer-grid--centered {
        justify-content: center;
    }

    .ar-footer-col,
    .ar-footer-col--menu {
        justify-self: center;
        text-align: center;
    }

    .ar-footer-col--menu h2 {
        text-align: center;
    }

    .ar-footer-col--menu ul {
        align-items: center;
    }

    .ar-footer-col--menu ul a {
        text-align: center;
    }

    .ar-topbar:not(.ar-topbar--merged) {
        display: none;
        position: fixed;
        top: var(--ar-header-bar-height);
        left: 0;
        right: 0;
        z-index: 200;
        padding: 0.5rem 0.75rem;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    }

    body.arc-mobile-nav-open .ar-topbar:not(.ar-topbar--merged) {
        display: block;
    }

    /* El topbar rojo "merged" (publicaciones, legislaturas-anteriores)
       es la única barra de navegación en esas páginas: se mantiene siempre
       visible y en flujo normal también en móvil. */
    .ar-topbar.ar-topbar--merged {
        display: block;
        position: static;
        padding: 0.5rem 0.75rem;
        box-shadow: none;
    }

    .ar-topbar.ar-topbar--merged .ar-topbar-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0.6rem;
    }

    .ar-topbar.ar-topbar--merged .ar-topbar-left {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0.5rem 1rem;
    }

    .ar-topbar.ar-topbar--merged .ar-topbar-merged-logo img {
        height: 54px;
    }

    .ar-topbar.ar-topbar--merged .ar-topbar-links {
        justify-content: center;
    }

    .ar-topbar.ar-topbar--merged .ar-topbar-right {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.4rem 1rem;
    }

    .ar-topbar-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .ar-topbar-left,
    .ar-topbar-right {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem 0.6rem;
    }

    .ar-topbar-links {
        flex-wrap: wrap;
        gap: 0.35rem 0.6rem;
    }

    .ar-topbar-links a,
    .ar-topbar-right > a:not(.ar-topbar-sede),
    .ar-topbar-sede {
        font-size: 0.72rem;
    }

    .ar-topbar-historico select {
        max-width: none;
        min-width: 0;
    }

    .ar-hamburger {
        display: flex;
    }

    .ar-nav,
    #block-arm-theme-classic-main-menu,
    #block-arm-theme-classic-navegacionprincipal,
    #block-arm-header-nav-main-menu {
        display: none;
        position: fixed;
        top: var(--ar-header-bar-height);
        left: 0;
        right: 0;
        background: var(--white);
        border-top: 1px solid var(--gray-100);
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        box-shadow: var(--shadow-lg);
        z-index: 199;
        max-height: calc(100vh - var(--ar-header-bar-height));
        overflow-y: auto;
    }

    body.arc-mobile-nav-open .ar-nav,
    body.arc-mobile-nav-open #block-arm-theme-classic-main-menu,
    body.arc-mobile-nav-open #block-arm-theme-classic-navegacionprincipal,
    body.arc-mobile-nav-open #block-arm-header-nav-main-menu {
        top: 160px;
        max-height: calc(100vh - 160px);
    }

    .ar-nav.open,
    #block-arm-theme-classic-main-menu.open,
    #block-arm-theme-classic-navegacionprincipal.open,
    #block-arm-header-nav-main-menu.open {
        display: flex;
    }

    .ar-menu {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        gap: .25rem;
    }

    .ar-menu>li {
        width: 100%;
    }

    .ar-menu>li>a {
        padding: .75rem 1rem;
        font-size: 1rem;
        width: 100%;
        border-radius: var(--radius-sm);
    }


    #block-arm-theme-classic-main-menu .ar-menu,
    #block-arm-theme-classic-main-menu > ul,
    #block-arm-header-nav-main-menu .ar-menu,
    #block-arm-header-nav-main-menu > ul {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        gap: .25rem;
    }

    #block-arm-theme-classic-main-menu .ar-menu > li,
    #block-arm-theme-classic-main-menu > ul > li,
    #block-arm-header-nav-main-menu .ar-menu > li,
    #block-arm-header-nav-main-menu > ul > li {
        width: 100%;
    }

    #block-arm-theme-classic-main-menu .ar-menu > li > a,
    #block-arm-theme-classic-main-menu > ul > li > a,
    #block-arm-theme-classic-main-menu .ar-menu-parent-label,
    #block-arm-header-nav-main-menu .ar-menu > li > a,
    #block-arm-header-nav-main-menu > ul > li > a,
    #block-arm-header-nav-main-menu .ar-menu-parent-label {
        padding: .75rem 1rem;
        font-size: 1rem;
        width: 100%;
        border-radius: var(--radius-sm);
        justify-content: space-between;
    }

    .ar-menu>li.active>a::after,
    .ar-menu>li>a:hover::after,
    .ar-nav>ul>li>a:hover::after,
    .ar-header-inner nav>ul>li>a:hover::after {
        display: none;
    }

    .ar-dropdown {
        position: static;
        transform: none !important;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
        border: none;
        background: var(--gray-50);
        padding: .25rem .5rem;
        margin-top: .25rem;
        border-radius: var(--radius-sm);
        display: none;
    }

    .ar-menu>li.expanded .ar-dropdown,
    .ar-nav>ul>li.expanded .ar-dropdown,
    .ar-header-inner nav>ul>li.expanded .ar-dropdown {
        display: block;
    }

    .ar-menu>li.expanded .chevron,
    .ar-nav>ul>li.expanded .chevron,
    .ar-header-inner nav>ul>li.expanded .chevron {
        transform: rotate(180deg);
    }

    .ar-highlight {
        flex-direction: column;
        align-items: flex-start;
        padding: 2rem;
    }

    .ar-footer-grid {
        grid-template-columns: repeat(2, minmax(240px, 360px));
        gap: 2rem 1.75rem;
    }

    .ar-footer-brand {
        grid-column: 1/-1;
    }

    /* Entre 1250 y 971: evitar que el brand quede "partiendo" las columnas.
       Mostramos brand arriba y las 4 columnas debajo en rejilla 2x2. */
    .ar-footer-grid.ar-footer-grid--centered {
        grid-template-columns: 1fr 1fr;
        align-items: start;
        align-content: start;
        gap: 2rem 1.75rem;
    }

    .ar-footer-grid.ar-footer-grid--centered .ar-footer-brand.ar-footer-brand--center {
        grid-column: 1 / -1;
        order: -1;
        margin-bottom: .5rem;
    }
}

/* 3) 768px – Tablet portrait: ajustes de padding y alturas */
@media (max-width: 768px) {
    .ar-hero {
        min-height: auto;
    }

    .ar-hero-layout {
        padding: 2rem 1.25rem 1.5rem;
    }

    .ar-hero-live {
        min-height: 180px !important;
    }

    .ar-hero-layout .ar-hero-content.ar-hero-content--right {
        padding-bottom: 1rem;
    }

    .ar-hero-title {
        font-size: clamp(1.75rem, 5vw, 2.5rem);
    }

    .ar-hero-desc {
        font-size: 1rem;
    }
}

/* 4) 480px – Móvil estrecho: mínimo padding, tamaños compactos */
@media (max-width: 480px) {
    .ar-hero-layout {
        padding: 1.5rem 1rem 1rem;
    }

    .ar-hero-live {
        min-height: 150px !important;
    }

    .ar-live-video iframe {
        min-height: 140px;
    }

    .ar-hero-eyebrow {
        font-size: .65rem;
        margin-bottom: .75rem;
    }

    .ar-hero-desc {
        font-size: .9rem;
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 540px) {
    .ar-footer-col,
    .ar-footer-col--menu {
        justify-self: center;
        text-align: center;
    }

    .ar-footer-col--menu ul {
        align-items: center;
    }

    .ar-hero-title {
        font-size: 2rem;
    }

    .ar-grid {
        grid-template-columns: 1fr;
    }

    .ar-card-featured {
        grid-column: 1;
    }

    .ar-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .ar-footer-grid {
        grid-template-columns: 1fr;
    }

    .ar-footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }

    /* Enlaces legales: columna centrada (evita width 33% en cada <a> dentro de <li>). */
    .ar-footer-legal:not(.ar-footer-legal--menu) {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
    }

    .ar-footer-legal:not(.ar-footer-legal--menu) a {
        width: auto;
        max-width: 100%;
        text-align: center;
        white-space: normal;
    }

    .ar-footer-legal--menu ul {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        width: 100%;
    }

    .ar-footer-legal--menu ul li {
        width: 100%;
        text-align: center;
    }

    .ar-footer-legal--menu a {
        display: inline-block;
        width: auto;
        max-width: 100%;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
        hyphens: none;
    }
}

/* ════════════════════════════════════════════════
   GRID DE NOTICIAS
   Aplica de forma segura a cualquier View dentro del contenedor principal.
   Así funciona tanto en la portada como en la página "Ver todas las noticias".
   ════════════════════════════════════════════════ */

/* Elimina todos los márgenes/padding que Drupal añade en capas de vista */
.ar-main .block,
.ar-main .block-views,
.ar-main .view,
.ar-main .view>.view-header,
.ar-main .view>.view-filters {
    margin: 0;
    padding: 0;
}

/* Oculta el título del bloque si Drupal lo renderiza */
.ar-main .block-title {
    display: none;
}

/* Oculta títulos de bloques en cualquier región */
.block-title,
.block__title,
.block>h2,
.block-views>h2 {
    display: none;
}

/* Oculta el bloque de título de página duplicado en el contenido */
.ar-main #block-arm-theme-classic-page-title {
    display: none;
}

/*
   Grid Diseño 3 Columnas
   (Adaptado para soportar tanto "Lista sin formato" como "Cuadrícula" de Drupal)
*/

/* Contenedor principal del grid */
.ar-main .view-content {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    width: 100%;
}

/* Grid con wrapper .views-view-grid (Cuadrícula cuando Drupal inyecta este contenedor) */
.ar-main .views-view-grid {
    width: 100%;
}

/* 
   Opcion A: "Lista sin formato"
   Cada .views-row es una tarjeta
*/
body:not(.arc-path-diputados):not(.arc-path-arm-diputados):not(.arc-path-directorio) .ar-main .view-content>.views-row {
    flex: 1 1 calc(33.3% - 1.5rem);
    min-width: 280px;
    height: 100%;
    position: relative;
}

/* Directorio de servicios (/directorio): lista html_list con tarjetas */
body.arc-path-directorio .arc-generic-body {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

body.arc-path-directorio .arc-directorio-list > ul,
body.arc-path-directorio .ar-main .view-content > ul,
body.arc-path-directorio .ar-main .view-content .arc-directorio-list > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: 100%;
}

body.arc-path-directorio .arc-directorio-card,
body.arc-path-directorio .arc-directorio-list > ul > li.arc-directorio-card,
body.arc-path-directorio .ar-main .view-content > ul > li.arc-directorio-card,
body.arc-path-directorio .ar-main .view-content .arc-directorio-list > ul > li.arc-directorio-card,
.arc-path-directorio .ar-main .view-content > ul > li.directorio-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 0 0 100%;
    width: 100%;
    margin: 0;
    padding: 0.85rem 1rem;
    background: #fff;
    border: 1px solid var(--gray-100, #e8e8ec);
    border-left: 4px solid var(--red, #8C2638);
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
    list-style: none;
}

body.arc-path-directorio .arc-directorio-foto-wrap {
    flex: 0 0 auto;
    margin: 0;
}

body.arc-path-directorio .arc-directorio-foto,
body.arc-path-directorio .arc-directorio-card img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--gray-100, #e8e8ec);
}

body.arc-path-directorio .arc-directorio-meta {
    flex: 1 1 auto;
    min-width: 0;
}

body.arc-path-directorio .arc-directorio-name,
body.arc-path-directorio .arc-directorio-card .arc-directorio-name,
body.arc-path-directorio .arc-directorio-card h3.arc-directorio-name {
    margin: 0;
    font-family: var(--font);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--red-dark, #6E1F2D);
    line-height: 1.35;
}

body.arc-path-directorio .arc-directorio-name a,
body.arc-path-directorio .arc-directorio-foto-link {
    color: var(--red-dark, #6E1F2D);
    text-decoration: none;
    font-weight: inherit;
}

body.arc-path-directorio .arc-directorio-name a:hover,
body.arc-path-directorio .arc-directorio-name a:focus-visible,
body.arc-path-directorio .arc-directorio-foto-link:hover,
body.arc-path-directorio .arc-directorio-foto-link:focus-visible {
    color: var(--red, #8C2638);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.arc-path-directorio .arc-directorio-cargo {
    margin-top: 0.25rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-muted, #6b6b7a);
    line-height: 1.4;
}

/* Directorio: una entrada por fila (legacy .views-row) */
.arc-path-directorio .ar-main .view-content {
    flex-direction: column;
    gap: 0;
}

.arc-path-directorio .ar-main .view-content > .views-row {
    flex: 0 0 100%;
    width: 100%;
}

/* Directorio en html_list: compatibilidad clase D7 directorio-item */
.arc-path-directorio .ar-main .view-content > ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-path-directorio .ar-main .view-content > ul > li.directorio-item {
    flex: 0 0 100%;
    width: 100%;
}

/* Otros oradores: lista HTML maquetada */
body.arc-path-otros-oradores .arc-generic-body {
    background: transparent;
    border: 0;
    padding: 0;
}

body.arc-path-otros-oradores .ar-main .view-content {
    display: block;
    width: 100%;
}

body.arc-path-otros-oradores .container-oradores {
    width: 100%;
}

body.arc-path-otros-oradores .container-oradores > ul.row,
body.arc-path-otros-oradores .item-list ul.row {
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    width: 100%;
}

body.arc-path-otros-oradores .container-oradores > ul.row > li.orador {
    display: flex;
    align-items: center;
    gap: .85rem;
    background: #fff;
    border: 1px solid var(--gray-100, #f3f4f6);
    border-left: 4px solid var(--red, #8C2638);
    border-radius: 12px;
    padding: .85rem 1rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .05);
}

body.arc-path-otros-oradores .container-oradores .views-field-field-foto-oficial {
    flex: 0 0 auto;
    margin: 0;
}

body.arc-path-otros-oradores .container-oradores .views-field-field-foto-oficial img.arc-orador-foto {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--gray-100, #f3f4f6);
}

body.arc-path-otros-oradores .container-oradores .views-field-field-apellidos {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

body.arc-path-otros-oradores .container-oradores .views-field-field-apellidos .field-content {
    margin: 0;
}

body.arc-path-otros-oradores .container-oradores .views-field-field-apellidos a {
    display: block;
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 700;
    color: var(--red, #8C2638);
}

body.arc-path-otros-oradores .arc-generic-body a,
body.arc-path-otros-oradores .container-oradores a,
body.arc-path-otros-oradores .arc-oradores-pager-bar a {
    text-decoration: none;
}

body.arc-path-otros-oradores .container-oradores .views-field-field-apellidos a:hover,
body.arc-path-otros-oradores .container-oradores .views-field-field-apellidos a:focus-visible {
    color: var(--red-dark, #6b1d2a);
}

body.arc-path-otros-oradores .arc-oradores-pager-bar {
    margin-top: 1.5rem;
    padding: 0;
}

body.arc-path-otros-oradores .arc-oradores-pager-bar .pager {
    margin: 0;
}

/* 
   Opción B: "Cuadrícula" de Drupal
   La fila tiene que expandirse al 100% y actuar como flex container.
   Incluye estructura .view-content > .views-row Y .views-view-grid > .views-row (markup real).
*/
.ar-main .view-content>.views-row.clearfix,
.ar-main .view-content>.views-row:has(.views-col),
.ar-main .views-view-grid .views-row:has(.views-col),
.ar-main .views-row:has(.views-col) {
    float: none;
    /* cancela float:left de Drupal core */
    flex: 0 0 100%;
    max-width: 100%;
    display: flex !important;
    /* gana sobre display:block del base theme */
    flex-wrap: wrap;
    gap: 1.5rem !important;
}

/* Fuerza gap en noticias portada (gana sobre core/base theme) */
#block-arm-theme-classic-views-block-noticias-portada-block-1 .views-view-grid {
    width: 100%;
}

#block-arm-theme-classic-views-block-noticias-portada-block-1 .views-view-grid .views-row:has(.views-col) {
    float: none !important;
    /* cancela float:left de Drupal core */
    flex: 0 0 100%;
    max-width: 100%;
    display: flex !important;
    flex-wrap: wrap;
    gap: 1.5rem !important;
}

#block-arm-theme-classic-views-block-noticias-portada-block-1 .views-col {
    flex: 1 1 calc(33.3% - 1.5rem) !important;
    min-width: 280px !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 
   Matamos de raíz los paddings y margins de Bootstrap (p-3, m-2...)
   que Drupal inyecta al usar el modo Cuadrícula
*/
.ar-main .views-col {
    flex: 1 1 calc(33.3% - 1.5rem) !important;
    min-width: 280px !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Expansión de la tarjeta al 100% del alto */
.ar-main .views-row .ar-card,
.ar-main .views-col .ar-card {
    height: 100%;
    width: 100%;
}

/* Altura de foto bloqueada igual para todas las noticias */
.ar-main .views-row .ar-card-media {
    height: 240px !important;
}

/* Altura base para .ar-card-media SIEMPRE (imagen contenida con overflow:hidden) */
.ar-card-media {
    height: 240px;
    position: relative;
    overflow: hidden;
    background: var(--gray-100);
}

/* Imagen real subida por el editor: ocupa todo el espacio de media */
.ar-card-img-wrap {
    width: 100%;
    height: 100%;
}

.ar-card-img-wrap--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ececec;
    padding: 0.65rem;
}

.ar-card-img-fallback {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #666;
    text-align: center;
    word-break: break-word;
}

.ar-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.ar-card:hover .ar-card-img-wrap img {
    transform: scale(1.04);
}

/* Barra de paginación: fuera del área blanca, ancho completo */
.arm-news-pager-bar {
    width: 100%;
    border-top: 1px solid var(--gray-100);
    padding: 1.5rem 0 2rem;
    margin-top: 2.5rem;
    background: #f7f8fc;
    /* mismo color que el fondo de .arm-news-page */
}

.arm-news-pager-bar .ar-container {
    display: flex;
    justify-content: center;
}

/* Paginación de la Vista */
.ar-main .pager,
.arm-news-pager-bar .pager {
    display: flex;
    justify-content: center;
    gap: .5rem;
    /* Separar la paginación del listado de resultados */
    margin: 1.5rem 0 0;
    grid-column: 1 / -1;
}

/* Lista interna del paginador: quitar viñetas y poner en fila */
.ar-main .pager__items,
.arm-news-pager-bar .pager__items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ar-main .pager__item,
.arm-news-pager-bar .pager__item {
    margin: 0;
}

/* Botones numéricos y elipsis: tamaño fijo */
.ar-main .pager__item a,
.ar-main .pager__item.is-active span,
.arm-news-pager-bar .pager__item a,
.arm-news-pager-bar .pager__item.is-active span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.5rem;
    border-radius: 6px;
    font-size: .875rem;
    font-weight: 600;
    border: 1.5px solid var(--gray-200);
    color: var(--text-muted);
    transition: all var(--transition);
    box-sizing: border-box;
}

/* Primero, Anterior, Siguiente, Último: ancho automático para que quepa el texto */
.arm-news-pager-bar .pager__item--first a,
.arm-news-pager-bar .pager__item--previous a,
.arm-news-pager-bar .pager__item--next a,
.arm-news-pager-bar .pager__item--last a {
    min-width: 36px;
    width: auto;
    padding: 0 0.75rem;
    white-space: nowrap;
}

.ar-main .pager__item.is-active>a,
.ar-main .pager__item.is-active>span,
.ar-main .pager__item a.is-active,
.arm-news-pager-bar .pager__item.is-active>a,
.arm-news-pager-bar .pager__item.is-active>span,
.arm-news-pager-bar .pager__item a.is-active {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}

.ar-main .pager__item a:hover,
.arm-news-pager-bar .pager__item a:hover {
    border-color: var(--red);
    color: var(--red);
    background: var(--red-soft);
}

/* En la página de noticias sólo queremos ver la paginación
   de la barra inferior (.arm-news-pager-bar). Cualquier otro
   <nav class="pager"> que Drupal imprima dentro de la sección
   se oculta. */
.arm-news-page nav.pager {
    display: none;
}

.arm-news-pager-bar nav.pager {
    display: flex;
}

/* Tablet / Móvil */
@media (max-width: 900px) {

    .ar-main .view-content>.views-row,
    .ar-main .views-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ════════════════════════════════════════════════
   ARTÍCULO COMPLETO  (node--noticia--full)
   Diseño editorial premium v2
   ════════════════════════════════════════════════ */

/* ─── Animaciones ─── */
@keyframes arcFadeUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes arcSlideIn {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes arcLineGrow {
    from {
        width: 0;
    }

    to {
        width: 80px;
    }
}

@keyframes arcPulseGlow {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(140, 38, 56, .4);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(140, 38, 56, 0);
    }
}

/* ─── Base ─── */
.arc-article {
    background: var(--white);
    padding-bottom: 0;
    overflow: hidden;
}

.arc-article .field__label {
    display: none !important;
}

/* ════════════════════════════════════════════════
   ESTILO GENÉRICO POR DEFECTO (GLOBAL)
   ---------------------------------------
   ESTE BLOQUE ES EL ESTILO PREDETERMINADO QUE
   DEBE USARSE PARA CONTENIDO NO PERSONALIZADO:
   - node--full (genérico)
   - shells por defecto en páginas internas
   Clases base: .arc-generic-*
   ════════════════════════════════════════════════ */
.arc-generic-article {
    position: relative;
    background: linear-gradient(180deg, #fafafa 0%, #fff 360px);
    overflow: hidden;
}

.arc-generic-header {
    padding: 3.5rem 2rem 0;
    max-width: 1100px;
    margin: 0 auto;
}

.arc-generic-header-inner {
    position: relative;
}

.arc-generic-accent {
    width: 56px;
    height: 4px;
    background: var(--red);
    margin-bottom: 1.5rem;
}

.arc-generic-title {
    margin: 0 0 1.25rem;
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--red-dark);
}

.arc-generic-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    font-size: .875rem;
    color: var(--gray-500);
    font-weight: 500;
    padding: .4rem .9rem;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 4px;
}

.arc-generic-meta svg {
    width: 15px;
    height: 15px;
    color: var(--gray-400);
    flex-shrink: 0;
}

/* Meta de ficha de evento: tipo + fecha/hora + lugar */
.arc-evento-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem 1.25rem;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid var(--gray-200);
    font-size: .9rem;
    color: var(--gray-600);
}

.arc-evento-meta__tipo {
    font-weight: 700;
    color: var(--text);
}

.arc-evento-meta__fecha {
    margin-left: auto;
    color: var(--gray-500);
    font-weight: 500;
}

.arc-evento-meta__lugar {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: 100%;
    margin-top: .15rem;
    color: var(--gray-600);
    font-weight: 500;
}

.arc-evento-meta__lugar svg {
    color: var(--red-dark);
    flex-shrink: 0;
}

.arm-agenda-day-event__lugar,
.arm-agenda-upcoming__lugar,
.ar-agenda-lugar {
    display: block;
    margin-top: .2rem;
    font-size: .78rem;
    font-weight: 500;
    opacity: .85;
}

.ar-hero-agenda .ar-agenda-lugar {
    color: rgba(255, 255, 255, .82);
}

.arc-generic-hero {
    margin-bottom: 1.5rem;
    border-radius: 12px;
    overflow: hidden;
}

.arc-generic-hero-media img {
    width: 100%;
    height: auto;
    display: block;
}

.arc-generic-body-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem 0;
}

.arc-generic-body {
    color: var(--text);
    font-size: 1.08rem;
    line-height: 1.85;
}

.arc-generic-body p {
    margin: 0 0 1rem;
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
}

.arc-generic-body li {
    text-align: justify;
    hyphens: auto;
}

.arc-generic-body .rtejustify {
    text-align: justify !important;
}

.arc-generic-body .rtecenter {
    text-align: center !important;
}

.arc-generic-body .rteright {
    text-align: right !important;
}

.arc-generic-body p:has(> img),
.arc-generic-body p:has(> a > img),
.arc-generic-body h2,
.arc-generic-body h3 {
    text-align: left;
    hyphens: none;
}

.arc-generic-body h2,
.arc-generic-body h3 {
    margin: 2rem 0 .9rem;
    color: #111827;
    font-weight: 800;
}

.arc-generic-body a {
    color: var(--red);
    text-decoration: underline;
}

.arc-generic-body img {
    border-radius: 12px;
    max-width: 100%;
    height: auto;
}


/* Ajuste específico del artículo del embajador (node 489781).
   HTML ya normalizado con clases: imágenes en fila, iconos en fila y fecha debajo. */
.arc-generic-article .arc-generic-body .arc-legacy-inline-images {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
    margin-top: .6rem;
    margin-left: 0;
    padding-left: 0;
}

.arc-generic-article .arc-generic-body .arc-legacy-inline-images > img {
    display: block;
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    height: auto !important;
    margin: 0 !important;
}

@media (max-width: 680px) {
    .arc-generic-article .arc-generic-body .arc-legacy-inline-images {
        flex-wrap: wrap !important;
    }

    .arc-generic-article .arc-generic-body .arc-legacy-inline-images > img {
        flex: 0 0 100%;
        width: 100% !important;
        max-width: 100% !important;
    }
}

.arc-generic-article .arc-generic-body .arc-legacy-av-line {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
    margin: .5rem 0 0;
    padding: 0;
}

.arc-generic-article .arc-generic-body .arc-legacy-av-line > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
}

.arc-generic-article .arc-generic-body .arc-legacy-av-line > a > img {
    width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
}

.arc-generic-article .arc-generic-body .arc-legacy-av-date {
    margin: .4rem 0 1rem;
    padding: 0;
    text-align: left;
}

/* Fallback automático para legacy similares sin clases normalizadas:
   párrafo con 2 imágenes => horizontal; párrafo con 2 enlaces icono + texto =>
   iconos en primera línea y texto en la línea inferior. */
body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> img:nth-of-type(2)) {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
    margin-top: .6rem;
}

body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> img:nth-of-type(2)) > img {
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    height: auto !important;
    margin: 0 !important;
}

body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> a:nth-of-type(2) > img) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 14px;
    row-gap: 8px;
    margin-top: .5rem;
}

body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> a:nth-of-type(2) > img) > a {
    display: inline-flex;
    align-items: center;
    margin: 0 !important;
}

body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> a:nth-of-type(2) > img) > a:nth-of-type(2) {
    margin-right: 100% !important;
}

body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> a:nth-of-type(2) > img) > a > img {
    width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
}

@media (max-width: 680px) {
    body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> img:nth-of-type(2)) {
        flex-wrap: wrap;
    }
    body.arc-hermes-publicaciones .arc-generic-article .arc-generic-body > p:has(> img:nth-of-type(2)) > img {
        flex: 0 0 100%;
        width: 100% !important;
        max-width: 100% !important;
    }
}

.arc-generic-body ul,
.arc-generic-body ol {
    padding-left: 1.5rem;
    margin: .5rem 0 1rem;
}

.arc-generic-body li {
    margin-bottom: .35rem;
}

/* Tablas: líneas visibles en cualquier contenido del sitio */
.ar-main .arc-generic-body table,
.ar-main .arc-emb-prose table,
.ar-main .arc-article-prose table,
.ar-main .layout__region table,
.ar-main .node__content table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d1d5db;
    margin: 1rem 0 1.5rem;
    background: #fff;
}

.ar-main .arc-generic-body th,
.ar-main .arc-generic-body td,
.ar-main .arc-emb-prose th,
.ar-main .arc-emb-prose td,
.ar-main .arc-article-prose th,
.ar-main .arc-article-prose td,
.ar-main .layout__region th,
.ar-main .layout__region td,
.ar-main .node__content th,
.ar-main .node__content td {
    border: 1px solid #d1d5db;
    padding: .55rem .7rem;
    vertical-align: top;
}

.ar-main .arc-generic-body th,
.ar-main .arc-emb-prose th,
.ar-main .arc-article-prose th,
.ar-main .layout__region th,
.ar-main .node__content th {
    background: #f3e9eb;
    color: #5a1320;
    font-weight: 700;
}

/* Sombreado tipo zebra en las tablas de los artículos/grupos, como en la web
   antigua. Las filas pares reciben un fondo granate muy suave. */
.ar-main .arc-generic-body table tr:nth-child(even) > td,
.ar-main .arc-emb-prose table tr:nth-child(even) > td,
.ar-main .arc-article-prose table tr:nth-child(even) > td,
.ar-main .layout__region table tr:nth-child(even) > td,
.ar-main .node__content table tr:nth-child(even) > td {
    background: #faf3f4;
}

.ar-main .arc-generic-body table tr:hover > td,
.ar-main .arc-emb-prose table tr:hover > td,
.ar-main .arc-article-prose table tr:hover > td,
.ar-main .layout__region table tr:hover > td,
.ar-main .node__content table tr:hover > td {
    background: #f3e2e5;
}

.arc-generic-footer-accent {
    width: 100%;
    max-width: 100%;
    margin: 24px 0 56px;
}

.arc-generic-footer-accent::before {
    content: '';
    display: block;
    width: 56px;
    height: 4px;
    background: var(--red);
    margin: 0;
}

/* ════════════════════════════════════════════════
   ARTÍCULO CON EMBLEMA — Rediseño editorial moderno
   ════════════════════════════════════════════════ */
/* Card blanco principal (mismo aspecto que fichas de visitas). */
.ar-main .node--view-mode-full:has(.arc-emblema) .node__content,
.ar-main .node--view-mode-full:has(.arc-galeria-article) .node__content {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.arc-galeria-article.arc-generic-article,
.ar-main .arc-emblema {
    position: relative;
    box-sizing: border-box;
    max-width: 1180px;
    margin: 0 auto 2.25rem;
    padding: 2.25rem 2.5rem 0;
    background: #fff;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.ar-main .arc-emblema .arc-emb-hero {
    max-width: none;
    padding: 0;
}

.ar-main .arc-emblema .arc-emb-content,
.ar-main .arc-emblema .arc-emb-content--solo,
.ar-main .arc-emblema .arc-emb-content:has(.arc-emb-grid--solo),
.ar-main .arc-emblema .arc-emb-content--flow {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 1.75rem 0 0;
    background: none;
    border: none;
    box-shadow: none;
    border-radius: 0;
    display: flow-root;
}

@media (max-width: 899px) {
    .arc-galeria-article.arc-generic-article,
    .ar-main .arc-emblema {
        padding: 1.5rem 1.25rem 0;
    }
}

/* ── Hero / Cabecera ── */
.arc-emb-hero {
    padding: 3.5rem 2rem 0;
    max-width: 1100px;
    margin: 0 auto;
}

.arc-emb-hero-inner {
    position: relative;
}

.arc-emb-hero-accent {
    width: 56px;
    height: 4px;
    background: var(--red);
    margin-bottom: 1.5rem;
}

.arc-emb-hero-title {
    margin: 0 0 1.25rem;
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
    color: var(--red-dark);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

/* Título principal de la vista de acuerdos parlamentarios. */
.arc-acuerdos__title {
    margin: 0 0 1.25rem;
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3.1rem);
    color: var(--red-dark);
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.arc-emb-hero-meta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    color: var(--gray-500);
    font-weight: 500;
    padding: .4rem .9rem;
    margin-bottom: .85rem;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 4px;
}

.arc-emb-hero-meta svg {
    width: 15px;
    height: 15px;
    color: var(--gray-400);
    flex-shrink: 0;
}

/* Línea roja al pie, dentro del bloque blanco, alineada como la superior */
.arc-emb-footer-accent {
    /* Dentro de `.arc-emb-content` ya existe padding horizontal,
       así que evitamos `max-width + margin auto` para que la línea
       quede alineada como el header. */
    width: 100%;
    max-width: 100%;
    /* Misma separación que `.arc-generic-footer-accent` (visitas). */
    margin: 24px 0 56px;
}

/* En emblema el margen superior puede colapsar con floats/anexos;
   usamos padding para garantizar aire entre contenido y línea roja. */
.ar-main .arc-emblema .arc-emb-footer-accent {
    margin: 0 0 56px;
    padding-top: 1.5rem;
}

.arc-emb-footer-accent::before {
    content: '';
    display: block;
    width: 56px;
    height: 4px;
    background: var(--red);
    margin: 0;
}

/* Información económica: los h4 de sección llevan padding-left (barra roja lateral).
   Sin esto, el trazo inferior queda pegado al borde de la columna y desalineado del texto. */
body[class*="arc-path-arm-informacion"] .arc-emblema .arc-emb-footer-accent {
    padding-left: 0;
    box-sizing: border-box;
}

/* ── Zona de contenido ── */
.arc-emb-content {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* En contenido emblema sin imagen real a la derecha queremos que ocupe mas ancho */
.arc-emb-content--solo {
    /* Igualar márgenes del layout con foto (arc-emb-content usa 1100px). */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

.arc-emb-content:has(.arc-emb-grid--solo) {
    /* Igualar márgenes del layout con foto (arc-emb-content usa 1100px). */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Variante flow: solo maquetación (grid/foto); el bloque blanco es .arc-emblema. */
.arc-emb-content--flow {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin-top: 1.5rem;
    padding: 0;
    box-sizing: border-box;
}

.arc-emb-content--flow .arc-emb-text {
    max-width: 100%;
    min-width: 0;
}

/* Grid 2 columnas cuando hay figura de emblema: foto a la derecha, texto a la izquierda. */
.arc-emb-content--flow .arc-emb-prose {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(44%, 480px);
    column-gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
}

/* Sin figura: volvemos a flujo normal. */
.arc-emb-content--flow .arc-emb-prose:not(:has(.arc-emb-inline-image--emblema)) {
    display: block;
}

/* Figura del emblema: columna derecha, sin caja interior propia. */
.arc-emb-inline-image--emblema {
    grid-column: 2;
    grid-row: 1 / span 99;
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.arc-emb-inline-image--emblema img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

/* Párrafos de introducción (columna izquierda). */
.arc-emb-prose:has(.arc-emb-inline-image--emblema) > p {
    grid-column: 1;
}

/* A partir del marcador PHP: calendario, listas y resto a ancho completo. */
.arc-emb-float-clear {
    grid-column: 1 / -1;
    clear: none;
}

.arc-emb-float-clear ~ * {
    grid-column: 1 / -1;
}

.arc-emb-inline-image--emblema figcaption {
    margin-top: .5rem;
    font-size: .8rem;
    color: var(--gray-500);
    line-height: 1.35;
    text-align: center;
    font-style: italic;
}

/* Variante legacy: imagen pequeña a la derecha dentro del texto. */
.arc-emb-content--inline-right .arc-emb-text--inline-right {
    max-width: 100%;
}

.arc-emb-content--inline-right .arc-emb-prose--inline-right {
    display: flow-root;
}

.arc-emb-inline-image {
    float: right;
    width: 140px;
    max-width: 32%;
    margin: 0 0 1rem 1.25rem;
    text-align: center;
}

.arc-emb-inline-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.arc-emb-inline-image figcaption {
    margin-top: .35rem;
    font-size: .75rem;
    color: var(--gray-600);
    line-height: 1.2;
}

/* Grid: texto + retrato */
.arc-emb-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 3.5rem;
    align-items: start;
}

.arc-emb-grid--solo {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 1100px; /* mantener mismo ancho/márgenes que con retrato */
}

/* Retrato flotado: texto y listas cortas al lado de la foto; tras .arc-emb-float-clear, ancho completo. */
.arc-emb-grid--wrap {
    display: block;
}

.arc-emb-grid--wrap .arc-emb-text {
    display: flow-root;
    min-width: 0;
}

.arc-emb-grid--wrap .arc-emb-prose {
    display: block;
}

.arc-emb-grid--wrap .arc-emb-portrait {
    float: right;
    margin: 0 0 1.25rem 2rem;
    position: static;
    top: auto;
}

.arc-emb-grid--wrap .arc-emb-float-clear {
    clear: right;
    grid-column: unset;
}

.arc-emb-grid--wrap .arc-emb-float-clear ~ * {
    grid-column: unset;
}

/* ── Texto ── */
.arc-emb-text {
    min-width: 0;
}

.arc-emb-prose {
    display: flow-root;
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.arc-emb-prose,
.arc-emb-prose * {
    font-size: 1.1rem;
    line-height: 1.9;
    color: var(--gray-700);
}

.arc-emb-prose strong,
.arc-emb-prose b {
    font-weight: 700;
    color: var(--gray-900);
}

.arc-emb-prose p {
    margin: 0 0 1.4rem;
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
}

/* Párrafos con botón de vídeo o solo imagen: no justificar. */
.arc-emb-prose p:has(.arc-legacy-media-link),
.arc-emb-prose p:has(> a > img),
.arc-emb-prose p:has(> img:only-child) {
    text-align: left;
    hyphens: none;
}

.arc-emb-prose ul,
.arc-emb-prose ol {
    margin: 0 0 1.4rem;
    padding-left: 1.5rem;
    text-align: justify;
}

/* Las clases rtejustify del editor antiguo también quedan justificadas */
.arc-emb-prose .rtejustify,
.arc-emb-prose .text-justify {
    text-align: justify !important;
}

.arc-emb-prose li {
    text-align: justify;
    hyphens: auto;
    overflow-wrap: break-word;
}

/* Títulos no se justifican (se vería mal) */
.arc-emb-prose h1,
.arc-emb-prose h2,
.arc-emb-prose h3,
.arc-emb-prose h4,
.arc-emb-prose h5,
.arc-emb-prose h6 {
    text-align: left;
    hyphens: none;
}

/* Botones, badges y elementos inline no se justifican */
.arc-emb-prose .arc-legacy-media-link,
.arc-emb-prose .arc-emb-anexo-link {
    text-align: left;
}

.arc-emb-prose p:first-of-type {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--gray-800);
    line-height: 1.85;
}

/* ── Imágenes dentro del body del artículo con emblema ──
   El editor (CKEditor / migración) puede insertar imágenes con
   clases rteright / rteleft / rtecenter o con style="float:right".
   Normalizamos su comportamiento para evitar huecos y garantizar
   que el texto fluya a su alrededor. */
.arc-emb-prose img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Float derecho (clase legacy CKEditor o estilo inline) */
.arc-emb-prose img.rteright,
.arc-emb-prose img[style*="float:right"],
.arc-emb-prose img[style*="float: right"],
.arc-emb-prose p.rteright > img,
.arc-emb-prose p[style*="float:right"] > img,
.arc-emb-prose p[style*="float: right"] > img {
    float: right;
    max-width: 40%;
    margin: 0 0 1.25rem 1.5rem;
    clear: right;
}

/* Float izquierdo */
.arc-emb-prose img.rteleft,
.arc-emb-prose img[style*="float:left"],
.arc-emb-prose img[style*="float: left"],
.arc-emb-prose p.rteleft > img,
.arc-emb-prose p[style*="float:left"] > img,
.arc-emb-prose p[style*="float: left"] > img {
    float: left;
    max-width: 40%;
    margin: 0 1.5rem 1.25rem 0;
    clear: left;
}

/* Centrado */
.arc-emb-prose img.rtecenter,
.arc-emb-prose p.rtecenter > img {
    display: block;
    margin: 0 auto 1.25rem;
    float: none;
}

/* Imagen sola en un párrafo sin clase de posicionamiento:
   la mostramos a la derecha flotada (hereda comportamiento presupuestos) */
.arc-emb-prose > p:has(> img:only-child):not(.rteleft):not(.rtecenter):not([style*="float: left"]) {
    float: right;
    max-width: 42%;
    margin: .25rem 0 1.25rem 1.5rem;
    clear: right;
}

/* Limpieza de floats (flow-root ya lo hace; fallback para navegadores antiguos). */
.arc-emb-prose::after {
    content: '';
    display: table;
    clear: both;
}

/* Listas junto al emblema: ancho natural (no forzar 100% o caen debajo del float). */
.arc-emb-float-clear ~ ul,
.arc-emb-float-clear ~ ol,
.arc-emb-prose > .arc-emb-float-clear ~ ul,
.arc-emb-prose > .arc-emb-float-clear ~ ol {
    width: 100%;
}

/* Enlaces dentro del texto del artículo con emblema */
.arc-emb-prose a:not(.arc-legacy-media-link) {
    color: var(--red) !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(140, 38, 56, .28) !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
    transition: color var(--transition), text-decoration-color var(--transition);
}

.arc-emb-prose a:not(.arc-legacy-media-link):hover {
    text-decoration-color: var(--red) !important;
}

.arc-emb-prose a:not(.arc-legacy-media-link):focus-visible {
    outline: 3px solid rgba(140, 38, 56, .35);
    outline-offset: 3px;
    border-radius: 6px;
}

/* Botón de vídeo editable desde el cuerpo del artículo (enlace + texto). */
.arc-legacy-media-link-wrap {
    margin: 0 0 1.25rem;
}

.arc-emb-prose a.arc-legacy-media-link,
.arc-generic-body a.arc-legacy-media-link {
    display: inline-flex !important;
    align-items: center;
    gap: .75rem;
    padding: .45rem .9rem .45rem .45rem;
    border: 1px solid var(--gray-200);
    border-radius: 8px;
    background: #fff;
    color: var(--gray-800) !important;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .01em;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    cursor: pointer;
    vertical-align: middle;
    transition:
        border-color var(--transition),
        background-color var(--transition),
        color var(--transition),
        box-shadow var(--transition);
}

.arc-emb-prose a.arc-legacy-media-link:hover,
.arc-emb-prose a.arc-legacy-media-link:focus-visible,
.arc-generic-body a.arc-legacy-media-link:hover,
.arc-generic-body a.arc-legacy-media-link:focus-visible {
    border-color: rgba(140, 38, 56, .35);
    background: var(--red-soft);
    color: var(--red-dark) !important;
    box-shadow: 0 2px 8px rgba(140, 38, 56, .08);
    text-decoration: none !important;
}

.arc-emb-prose a.arc-legacy-media-link:focus-visible,
.arc-generic-body a.arc-legacy-media-link:focus-visible {
    outline: 2px solid rgba(140, 38, 56, .35);
    outline-offset: 2px;
}

.arc-emb-prose a.arc-legacy-media-link:active,
.arc-generic-body a.arc-legacy-media-link:active {
    background: #f0e4e7;
    box-shadow: none;
}

.arc-emb-prose a.arc-legacy-media-link .arc-legacy-media-link__label,
.arc-generic-body a.arc-legacy-media-link .arc-legacy-media-link__label {
    color: inherit !important;
    font-weight: inherit;
    font-size: inherit;
    text-decoration: none !important;
}

.arc-emb-prose a.arc-legacy-media-link .arc-legacy-media-link__icon,
.arc-generic-body a.arc-legacy-media-link .arc-legacy-media-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--gray-300);
    border-radius: 6px;
    color: var(--red);
    background: #fff;
    flex-shrink: 0;
    pointer-events: none;
    transition:
        border-color var(--transition),
        color var(--transition),
        background-color var(--transition);
}

.arc-emb-prose a.arc-legacy-media-link .arc-legacy-media-link__icon svg,
.arc-generic-body a.arc-legacy-media-link .arc-legacy-media-link__icon svg {
    width: 18px;
    height: 18px;
}

.arc-emb-prose a.arc-legacy-media-link:hover .arc-legacy-media-link__icon,
.arc-emb-prose a.arc-legacy-media-link:focus-visible .arc-legacy-media-link__icon,
.arc-generic-body a.arc-legacy-media-link:hover .arc-legacy-media-link__icon,
.arc-generic-body a.arc-legacy-media-link:focus-visible .arc-legacy-media-link__icon {
    border-color: var(--red);
    color: var(--red);
    background: #fff;
}

/* Evita tipografía de “lead” en el primer párrafo cuando es solo el botón de vídeo. */
.arc-emb-prose > p.arc-legacy-media-link-wrap:first-of-type,
.arc-emb-prose > p:first-of-type:has(> a.arc-legacy-media-link:only-child) {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

/* CTA para anexos PDF en artículo con emblema */
.arc-emb-anexo {
    margin: 1.5rem 0 0;
}

.arc-emb-anexo--list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .6rem;
}

.arc-emb-anexo-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .72rem 1rem;
    border: 1px solid rgba(140, 38, 56, .26);
    border-radius: 10px;
    background: linear-gradient(180deg, #fff 0%, var(--red-soft) 100%);
    color: var(--red) !important;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.arc-emb-anexo-link::before {
    content: "PDF";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 1.4rem;
    padding: 0 .35rem;
    border-radius: 4px;
    background: var(--red);
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.arc-emb-anexo-link:hover {
    transform: translateY(-1px);
    border-color: rgba(140, 38, 56, .4);
    background: linear-gradient(180deg, #fff 0%, var(--red-soft) 100%);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .09);
}

.arc-emb-anexo-link:focus-visible {
    outline: 3px solid rgba(140, 38, 56, .35);
    outline-offset: 3px;
}

/* ── Retrato (columna derecha) ── */
.arc-emb-portrait {
    position: sticky;
    top: 2rem;
}

.arc-emb-portrait-frame {
    margin: 0;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--gray-200);
    box-shadow:
        0 1px 3px rgba(0, 0, 0, .04),
        0 8px 32px rgba(0, 0, 0, .06);
    overflow: hidden;
}

.arc-emb-portrait-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top center;
    filter: contrast(1.02) saturate(1.05);
}

.arc-emb-portrait-caption {
    margin: .75rem 0 0;
    font-size: .8rem;
    color: var(--gray-400);
    text-align: center;
    font-style: italic;
    letter-spacing: .01em;
}

/* Placeholder cuando el artículo no tiene foto: mantiene el recuadro visible
   con un hueco coherente con el de la tarjeta de portada. */
.arc-emb-portrait-frame--empty {
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%);
}

.arc-emb-portrait-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-50) 100%);
    min-height: 180px;
}

/* ── Botón volver ── */
/* No usamos ya arc-emb-back; heredamos estilos de arc-article-footer/back */


/* ── Responsive ── */
@media (max-width: 899px) {
    .arc-emb-hero {
        padding: 2.5rem 1.25rem 2rem;
    }

    .arc-emb-content {
        padding: 0 1.25rem;
    }

    .arc-emb-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    /* En viewport móvil/tablet: grid de una columna, imagen arriba a ancho completo. */
    .arc-emb-content--flow .arc-emb-prose {
        display: block;
    }

    .arc-emb-inline-image,
    .arc-emb-inline-image--emblema {
        float: none;
        grid-column: auto;
        grid-row: auto;
        width: auto;
        max-width: 100%;
        margin: 0 auto 1.25rem;
    }

    .arc-emb-inline-image--emblema img {
        width: auto;
        max-width: 100%;
    }

    /* Si el artículo no tiene foto oficial, ampliamos la imagen
       heredada del body para evitar miniaturas diminutas en responsive. */
    .arc-emb-content--inline-right.arc-emb-content--no-image .arc-emb-prose img {
        display: block;
        float: none !important;
        width: min(320px, 100%) !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto 1rem !important;
    }

    .arc-emb-portrait {
        position: static;
        order: -1;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    .arc-emb-grid--wrap .arc-emb-portrait {
        float: none;
        margin: 0 auto 1.25rem;
    }

    /* En anchos intermedios (400–899px) el retrato ocupa el ancho útil del
       contenido, así que la foto debe mostrarse completa sin recortes. */
    .arc-emb-portrait-frame img {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        object-fit: contain;
        object-position: center;
        max-height: min(70vh, 520px);
    }

    .arc-emb-portrait-placeholder {
        aspect-ratio: 16 / 10;
        min-height: 160px;
    }

    /* En móvil/tablet no usar drop-cap: rompe maquetación en algunos artículos. */
    .arc-emb-prose p:first-of-type::first-letter {
        font-size: inherit;
        line-height: inherit;
        float: none;
        padding: 0;
        margin: 0;
    }
}

@media (max-width: 599px) {
    .arc-emb-hero-title {
        font-size: 1.8rem;
    }

    .arc-emb-portrait {
        max-width: 100%;
    }

    .arc-emb-grid {
        gap: 1.5rem;
    }

    .arc-emb-inline-image,
    .arc-emb-inline-image--emblema {
        float: none;
        grid-column: auto;
        grid-row: auto;
        width: auto;
        max-width: 100%;
        margin: 0 auto 1rem;
    }

    .arc-emb-inline-image--emblema img {
        width: auto;
        max-width: 100%;
    }

    .arc-emb-content--inline-right.arc-emb-content--no-image .arc-emb-prose img {
        width: min(260px, 100%) !important;
    }
}

/* Backward compat: keep old class names from breaking */
.arc-emblema-background {
    display: none;
}

.arc-emblema-header {
    margin-bottom: 2rem;
}

.arc-emblema-title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: clamp(2.2rem, 4.5vw, 3.6rem);
    color: var(--gray-900);
    line-height: 1.1;
}

.arc-emblema-meta {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    font-size: .9rem;
    color: var(--gray-500);
    font-weight: 500;
}

.arc-emblema-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.arc-emblema-meta-item svg {
    width: 16px;
    height: 16px;
    color: var(--gray-400);
}

.arc-emblema-prose,
.arc-emblema-prose * {
    font-size: 1.1rem;
    line-height: 1.85;
    color: var(--gray-700);
}

.arc-emblema-prose p {
    margin: 0 0 1.5rem;
}

.arc-emblema-prose strong,
.arc-emblema-prose b {
    font-weight: 700;
    color: var(--gray-900);
}

/* ════════════════════════════════════════════════
   HERO HEADER
   ════════════════════════════════════════════════ */
.arc-article-hero-header {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--gray-900);
}

/* Imagen de fondo */
.arc-article-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.arc-article-hero-bg>div,
.arc-article-hero-bg .field__item,
.arc-article-hero-bg .field--type-image {
    width: 100%;
    height: 100%;
}

.arc-article-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    max-width: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    filter: brightness(.85) saturate(1.1);
}

.arc-article-hero-bg--fallback {
    background: linear-gradient(145deg, var(--red-dark) 0%, #2d1a1a 50%, var(--gray-900) 100%);
}

/* Slider opcional en hero de noticia (solo si hay 2+ imágenes). */
.arc-article-hero-bg--slider .arc-article-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .55s ease;
}

.arc-article-hero-bg--slider .arc-article-hero-slide.is-active {
    opacity: 1;
}

/* Fallback robusto: rotación CSS sin depender de JS/URL. */
.arc-article-hero-bg--slider-auto .arc-article-hero-slide {
    animation-name: arcArticleHeroSlideFade;
    animation-duration: calc(var(--arc-slides, 1) * 2.8s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-delay: calc(var(--arc-slide-index, 0) * 2.8s);
}

@keyframes arcArticleHeroSlideFade {
    0% { opacity: 0; }
    4% { opacity: 1; }
    28% { opacity: 1; }
    33% { opacity: 0; }
    100% { opacity: 0; }
}

/* Patrón decorativo de puntos */
.arc-article-hero-pattern {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: .08;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .5) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}

/* Overlay gradiente */
.arc-article-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background:
        linear-gradient(to top,
            rgba(10, 10, 16, .95) 0%,
            rgba(10, 10, 16, .8) 30%,
            rgba(10, 10, 16, .4) 60%,
            rgba(10, 10, 16, .1) 100%),
        linear-gradient(135deg,
            rgba(140, 38, 56, .15) 0%,
            transparent 50%);
}

/* Contenido sobre el hero */
.arc-article-hero-content {
    position: relative;
    z-index: 4;
    width: 100%;
}

.arc-article-hero-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 4rem 2rem 3.5rem;
}

/* Línea superior: breadcrumb + badge */
.arc-article-topline {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 2rem;
    animation: arcSlideIn .5s ease both .1s;
}

.arc-article-breadcrumb-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .8125rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .6) !important;
    text-decoration: none !important;
    padding: .35rem .85rem;
    border-radius: 50px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all var(--transition);
    letter-spacing: .02em;
}

.arc-article-breadcrumb-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, .15);
    border-color: rgba(255, 255, 255, .25);
}

.arc-article-breadcrumb-link svg {
    flex-shrink: 0;
    opacity: .7;
}

.arc-article-topline-divider {
    color: rgba(255, 255, 255, .3);
    font-size: 1.25rem;
    line-height: 1;
}

/* Lista de palabras clave en el topline (sustituye a categoría) */
.arc-article-topline-keywords {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.arc-article-topline-keywords li {
    margin: 0;
}

.arc-article-badge {
    display: inline-flex;
    align-items: center;
    background: var(--red);
    color: #fff !important;
    font-size: .8125rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: capitalize;
    padding: .6rem .85rem;
    border-radius: 50px;
    text-decoration: none !important;
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, .12);
}

.arc-article-badge--link {
    transition: background var(--transition), transform .15s ease;
}

.arc-article-badge--link:hover {
    background: var(--red-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Título */
.arc-article-title {
    margin: 0 0 1.5rem;
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--white);
    max-width: 800px;
    animation: arcFadeUp .6s ease both .2s;
    text-shadow: 0 2px 20px rgba(0, 0, 0, .3);
}

.arc-article-title span {
    display: block;
}

/* Meta */
.arc-article-meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    animation: arcFadeUp .6s ease both .35s;
}

.arc-article-meta-item {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .8125rem;
    font-weight: 500;
    color: rgba(255, 255, 255, .5);
}

.arc-article-meta-item svg {
    flex-shrink: 0;
    opacity: .5;
}

.arc-article-meta-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .3);
}

.arc-article-meta time {
    font-variant-numeric: tabular-nums;
}

/* Línea decorativa animada en el hero */
.arc-article-hero-line {
    margin-top: 2rem;
    height: 3px;
    width: 80px;
    background: linear-gradient(90deg, var(--red), var(--red-light));
    border-radius: 3px;
    animation: arcLineGrow .6s ease both .5s;
}


/* ════════════════════════════════════════════════
   LAYOUT: BODY + SIDEBAR
   ════════════════════════════════════════════════ */
.arc-article-content-wrap {
    display: flex;
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
}

/* ─── Sidebar flotante (compartir) ─── */
.arc-article-sidebar {
    width: 60px;
    flex-shrink: 0;
    padding-top: 3.5rem;
    margin-right: 2.5rem;
}

.arc-article-sidebar-sticky {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .625rem;
}

.arc-article-sidebar-label {
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--text-muted);
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    margin-bottom: .5rem;
}

/* Botones de compartir (usados en sidebar y móvil) */
.arc-article-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--white);
    border: 1.5px solid var(--gray-100);
    color: var(--gray-700);
    transition: all var(--transition);
    text-decoration: none !important;
    box-shadow: var(--shadow-sm);
}

.arc-article-share-btn:hover {
    background: var(--red);
    border-color: var(--red);
    color: var(--white) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(140, 38, 56, .35);
}

.arc-article-share-btn svg {
    width: 15px;
    height: 15px;
    fill: currentColor;
}

.arc-article-share-btn:last-child svg {
    fill: none;
    stroke: currentColor;
}

.arc-article-share-btn:last-child:hover svg {
    stroke: var(--white);
}


/* ════════════════════════════════════════════════
   CUERPO DEL ARTÍCULO
   ════════════════════════════════════════════════ */
.arc-article-body {
    flex: 1;
    min-width: 0;
    padding: 3.5rem 0 2rem;
}

/* Prosa */
.arc-article-prose {
    max-width: 100%;
    animation: arcFadeUp .5s ease both .3s;
}

.arc-article-prose,
.arc-article-prose *,
.arc-article-prose .field__item,
.arc-article-prose .field__item * {
    font-family: var(--font) !important;
    color: var(--text) !important;
    line-height: 1.85 !important;
}

/* Clases legacy del HTML migrado (CKEditor Drupal 7). */
.arc-article-prose .rtejustify,
.arc-article-prose .rtecenter,
.arc-article-prose .rteright,
.arc-article-prose .rteleft {
    font-family: var(--font) !important;
}

.arc-article-prose p,
.arc-article-prose .field__item p {
    margin: 0 0 1.5rem;
    font-size: 1.0625rem;
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
}

.arc-article-prose li,
.arc-article-prose .field__item li {
    text-align: justify;
    -webkit-hyphens: auto;
    hyphens: auto;
}

/* El cuerpo migrado del CKEditor D7 trae clases rte*; respetamos centro/derecha
   de imágenes y pies, pero justificamos el texto corrido. */
.arc-article-prose .rtejustify {
    text-align: justify !important;
}

.arc-article-prose .rtecenter {
    text-align: center !important;
}

.arc-article-prose .rteright {
    text-align: right !important;
}

/* Encabezados y elementos con imagen no se justifican. */
.arc-article-prose h1,
.arc-article-prose h2,
.arc-article-prose h3,
.arc-article-prose h4,
.arc-article-prose h5,
.arc-article-prose h6,
.arc-article-prose p:has(> img),
.arc-article-prose p:has(> a > img) {
    text-align: left;
    hyphens: none;
}

/* Entradilla: primer párrafo destacado con drop-cap */
.arc-article-prose>div>p:first-of-type,
.arc-article-prose .field__item>p:first-of-type,
.arc-article-prose>p:first-of-type {
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    color: var(--gray-700) !important;
    line-height: 1.75 !important;
    margin-bottom: 2.5rem !important;
    padding-bottom: 0;
    border-bottom: none;
    position: relative;
}

.arc-article-prose h2,
.arc-article-prose .field__item h2 {
    font-family: var(--font-serif) !important;
    font-size: 1.625rem !important;
    font-weight: 700 !important;
    margin: 3rem 0 1rem !important;
    color: var(--text) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em;
    position: relative;
    padding-left: 1rem;
}

.arc-article-prose h2::before,
.arc-article-prose .field__item h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: .15em;
    bottom: .15em;
    width: 3px;
    background: var(--red);
    border-radius: 3px;
}

.arc-article-prose h3,
.arc-article-prose .field__item h3 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 2.5rem 0 .75rem !important;
    color: var(--text) !important;
}

.arc-article-prose a,
.arc-article-prose .field__item a {
    color: var(--red) !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(140, 38, 56, .25) !important;
    text-underline-offset: 3px !important;
    transition: text-decoration-color var(--transition);
}

.arc-article-prose a:hover,
.arc-article-prose .field__item a:hover {
    text-decoration-color: var(--red) !important;
}

.arc-article-prose ul,
.arc-article-prose ol {
    padding-left: 1.5rem;
    margin: 0 0 1.5rem;
}

.arc-article-prose li {
    margin-bottom: .5rem;
    font-size: 1.0625rem;
}

.arc-body-zoomable {
    cursor: zoom-in;
    transition: filter .15s ease, transform .15s ease;
}

.arc-body-zoomable:hover {
    filter: brightness(.94);
}

.arc-article-prose img,
.arc-article-prose .field__item img {
    border-radius: var(--radius-lg) !important;
    margin: 2.5rem 0 !important;
    max-width: 100%;
    height: auto;
    box-shadow: var(--shadow-lg);
}

.arc-article-prose blockquote,
.arc-article-prose .field__item blockquote {
    border-left: 4px solid var(--red) !important;
    padding: 1.25rem 1.5rem;
    margin: 2.5rem 0 !important;
    background: linear-gradient(135deg, var(--red-soft), rgba(253, 236, 234, .4));
    border-radius: 0 var(--radius) var(--radius) 0;
    position: relative;
}

.arc-article-prose blockquote::before {
    content: '"';
    position: absolute;
    top: -.25rem;
    left: 1rem;
    font-family: var(--font-serif);
    font-size: 4rem;
    color: var(--red);
    opacity: .15;
    line-height: 1;
}

.arc-article-prose blockquote p {
    font-style: italic;
    color: var(--gray-700) !important;
    font-size: 1.125rem !important;
    margin-bottom: 0 !important;
    position: relative;
    z-index: 1;
}

/* Palabras clave Asamblea: pills bajo el cuerpo, enlace al buscador */
.arc-article-keywords {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--gray-100);
}

.arc-article-keywords-label {
    display: block;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .75rem;
}

.arc-article-keywords-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.arc-article-keywords-list li {
    margin: 0;
}

.arc-article-keyword-tag {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .75rem;
    font-size: .875rem;
    color: var(--text);
    background: var(--gray-100);
    border-radius: 999px;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.arc-article-keyword-tag:hover {
    background: var(--red-soft);
    color: var(--red);
}

.arc-article-keyword-icon {
    flex-shrink: 0;
    opacity: .7;
}


/* ════════════════════════════════════════════════
   FOOTER DEL ARTÍCULO
   ════════════════════════════════════════════════ */

/* Wrap para "Volver al inicio" — dentro del footer del article */
.arc-article-back-wrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-top: .5rem;
}

/* Botón volver — botón real, compacto y moderno */
.arc-article-back-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem 1.2rem .5rem .9rem;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--red);
    text-decoration: none !important;
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    transition: all var(--transition);
}

.arc-article-back-link:hover {
    border-color: var(--red);
    background: var(--red-soft);
    box-shadow: 0 2px 8px rgba(140, 38, 56, .08);
}

.arc-article-back-link svg {
    flex-shrink: 0;
    transition: transform var(--transition);
}

.arc-article-back-link:hover svg {
    transform: translateX(-2px);
}

.arc-article-back-link span {
    transition: color var(--transition);
}

.arc-article-footer {
    padding: 2rem 2rem 2rem;
    background: var(--off-white);
    border-top: none;
}

.arc-article-footer-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
}

/* Separador con ornamento */
.arc-article-footer-divider {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 2.5rem 0;
}

.arc-article-footer-divider::before,
.arc-article-footer-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gray-200), transparent);
}

.arc-article-footer-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--white);
    border: 1.5px solid var(--gray-100);
    margin: 0 1.25rem;
    flex-shrink: 0;
    box-shadow: var(--shadow-sm);
}

.arc-article-footer-ornament svg {
    opacity: .6;
}

/* Compartir en móvil (oculto en desktop) */
.arc-article-share-mobile {
    display: none;
    text-align: center;
    width: 100%;
}

.arc-article-share-mobile-label {
    display: block;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 1rem;
}

.arc-article-share-mobile-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
}


/* ════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 900px) {
    .arc-article-sidebar {
        display: none;
    }

    .arc-article-share-mobile {
        display: block;
    }

    .arc-article-content-wrap {
        padding: 0 1.5rem;
    }
}

/* Móvil */
@media (max-width: 768px) {
    .arc-article-hero-header {
        min-height: 380px;
    }

    .arc-article-hero-inner {
        padding: 2.5rem 1.5rem 2.5rem;
    }

    .arc-article-title {
        font-size: clamp(1.5rem, 6vw, 2.25rem);
    }

    .arc-article-body {
        padding: 2.5rem 0 3rem;
    }

    .arc-article-content-wrap {
        padding: 0 1.5rem;
    }

    .arc-article-footer-inner {
        padding: 0 1.5rem;
    }

}

@media (max-width: 480px) {
    .arc-article-hero-header {
        min-height: 300px;
    }

    .arc-article-hero-inner {
        padding: 2rem 1.25rem;
    }

    .arc-article-topline {
        flex-wrap: wrap;
    }

    .arc-article-content-wrap {
        padding: 0 1.25rem;
    }

    .arc-article-footer-inner {
        padding: 0 1.25rem;
    }

    .arc-article-back-wrap {
        padding: 1.5rem 1.25rem 2rem;
    }
}

/* ════════════════════════════════════════════════
   PESTAÑAS LOCALES (Ver / Editar / Diseño)
   Aplica tanto si el bloque está en región local_tasks
   como si está en Contenido principal (block-system-local-tasks-block).
   ════════════════════════════════════════════════ */
.arc-local-tabs,
.ar-main .ar-container .block-system-local-tasks-block,
.ar-main .ar-container [id*="local-tasks"],
.ar-main .ar-container [id*="pestanas"] {
    margin: 0 0 1.5rem;
}

.arc-local-tabs ul,
.ar-main .ar-container .block-system-local-tasks-block ul,
.ar-main .ar-container [id*="local-tasks"] ul,
.ar-main .ar-container [id*="pestanas"] ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.arc-local-tabs li,
.ar-main .ar-container .block-system-local-tasks-block li,
.ar-main .ar-container [id*="local-tasks"] li,
.ar-main .ar-container [id*="pestanas"] li {
    margin: 0;
}

.arc-local-tabs a,
.ar-main .ar-container .block-system-local-tasks-block a,
.ar-main .ar-container [id*="local-tasks"] a,
.ar-main .ar-container [id*="pestanas"] a {
    display: inline-flex;
    align-items: center;
    padding: .4rem 1rem;
    border-radius: 999px;
    font-size: .8125rem;
    font-weight: 600;
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    color: var(--gray-700);
    text-decoration: none;
    transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.arc-local-tabs a:hover,
.ar-main .ar-container .block-system-local-tasks-block a:hover,
.ar-main .ar-container [id*="local-tasks"] a:hover,
.ar-main .ar-container [id*="pestanas"] a:hover {
    background: var(--red-soft);
    border-color: var(--red);
    color: var(--red-dark);
}

.arc-local-tabs li.is-active a,
.arc-local-tabs a.is-active,
.ar-main .ar-container .block-system-local-tasks-block li.is-active a,
.ar-main .ar-container .block-system-local-tasks-block a.is-active,
.ar-main .ar-container [id*="local-tasks"] li.is-active a,
.ar-main .ar-container [id*="local-tasks"] a.is-active,
.ar-main .ar-container [id*="pestanas"] li.is-active a,
.ar-main .ar-container [id*="pestanas"] a.is-active {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}

/* Ficha de ruedas de prensa / visitas: principal arriba, miniaturas debajo. */
.arc-rueda-gallery {
    margin: 0 0 1.25rem;
}

.arc-rueda-media-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
    margin: 0;
}

.arc-rueda-main-media {
    margin: 0;
    padding: .4rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
}

.arc-rueda-main-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.arc-emblema .arc-galeria-main-link {
    display: block;
    cursor: zoom-in;
    line-height: 0;
}

.arc-rueda-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: .55rem;
}

button.arc-rueda-thumb {
    display: block;
    width: 100%;
    margin: 0;
    padding: .3rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: zoom-in;
    transition: border-color .2s ease, box-shadow .2s ease;
}

button.arc-rueda-thumb:hover {
    border-color: #8C2638;
    box-shadow: 0 2px 10px rgba(185, 28, 28, .12);
}

button.arc-rueda-thumb.is-active {
    border-color: var(--red, #8C2638);
    box-shadow: 0 0 0 1px var(--red, #8C2638);
}

.arc-rueda-thumb img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
}

.arc-rueda-resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .6rem;
    margin-top: .6rem;
}

.arc-rueda-resource-card {
    display: block;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    text-decoration: none;
    padding: .55rem .7rem;
    font-size: .92rem;
}

.arc-rueda-resource-card:hover {
    border-color: #8C2638;
    color: #7f1d1d;
}

/* Convocantes en ficha de rueda de prensa (fuera de .arc-emb-prose). */
.arc-emb-text > .arc-rueda-convocantes-wrap,
.arc-rueda-convocantes-wrap {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 1.5rem 0 1.75rem;
    padding: 0;
    clear: both;
    position: relative;
    z-index: 1;
}

.arc-rueda-convocantes-title {
    margin: 0 0 .75rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--red-dark);
}

.arc-rueda-convocantes {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-rueda-convocante {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--gray-200);
}

.arc-rueda-convocante:last-child {
    border-bottom: none;
}

.arc-rueda-convocante__name {
    flex: 1;
    min-width: 0;
    color: var(--gray-900);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
    cursor: default;
}

.arc-rueda-convocante__name--link {
    color: var(--red, #8C2638);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.arc-rueda-convocante__name--link:hover,
.arc-rueda-convocante__name--link:focus-visible {
    color: var(--red-dark, #7f1d1d);
    text-decoration: underline;
}

.arc-rueda-convocante__leg {
    font-weight: 500;
    color: var(--gray-600, #4b5563);
    white-space: nowrap;
}

.arc-rueda-convocantes--profiles .arc-rueda-convocante {
    display: list-item;
    list-style: disc;
    margin-left: 1.25rem;
    padding: .25rem 0;
    border-bottom: none;
}

.arc-rueda-convocantes--profiles {
    list-style: none;
    padding-left: 0;
}

.arc-rueda-convocantes--profiles .arc-rueda-convocante {
    display: list-item;
    list-style: disc;
    margin-left: 1.5rem;
}

.arc-rueda-convocante__icons {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    flex-shrink: 0;
}

.arc-rueda-convocantes-wrap .arc-rueda-convocante__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--gray-300);
    border-radius: 6px;
    color: var(--gray-600);
    background: #fff;
    text-decoration: none !important;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}

.arc-rueda-convocantes-wrap .arc-rueda-convocante__icon:hover,
.arc-rueda-convocantes-wrap .arc-rueda-convocante__icon:focus-visible {
    border-color: var(--red);
    color: var(--red);
    background: var(--red-soft);
    text-decoration: none !important;
}

.arc-rueda-convocante__icon--video {
    color: var(--red-dark);
}

.arc-rueda-convocante__icon--audio {
    color: var(--gray-700);
}

.arc-rueda-convocante__icon--pdf {
    color: #b42318;
}

/* Ficha orador (compareciente): foto + biografía como producción. */
.arc-orador-profile {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2rem;
    align-items: flex-start;
    margin: 1.5rem 0 2rem;
}

.arc-orador-profile__photo {
    flex: 0 0 120px;
    max-width: 160px;
}

.arc-orador-profile__img,
.arc-orador-mini__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.arc-orador-profile__bio {
    flex: 1 1 240px;
    min-width: 0;
}

.arc-orador-profile__title {
    margin: 0 0 .75rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--gray-900, #111827);
}

.arc-orador-profile__body,
.arc-orador-profile__body ul,
.arc-orador-mini__body,
.arc-orador-mini__body ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.arc-orador-profile__body li,
.arc-orador-mini__body li {
    margin: 0 0 .35rem;
    line-height: 1.5;
    color: var(--gray-700, #374151);
}

/* Convocante orador en rueda de prensa: mini ficha. */
.arc-rueda-convocantes--profiles .arc-rueda-convocante--orador {
    display: block;
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--gray-200, #e5e7eb);
}

.arc-rueda-convocantes--profiles .arc-rueda-convocante--orador:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.arc-orador-mini {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    align-items: flex-start;
}

.arc-orador-mini__photo {
    flex: 0 0 72px;
    max-width: 96px;
}

.arc-orador-mini__photo-link {
    display: block;
    line-height: 0;
}

.arc-orador-mini__bio {
    flex: 1 1 200px;
    min-width: 0;
}

.arc-orador-mini__title {
    margin: 0 0 .35rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
}

.arc-orador-mini__name {
    color: inherit;
    text-decoration: none;
}

.arc-orador-mini__name:hover,
.arc-orador-mini__name:focus-visible {
    text-decoration: underline;
}

/* Galería de imágenes en HD: medios con etiqueta completa (como D7). */
.arc-rueda-recursos-hd-wrap {
    display: block !important;
    margin: 2rem 0 1.5rem;
    clear: both;
}

.arc-rueda-recursos-hd-title {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--red, #8C2638);
}

.arc-rueda-recursos-hd {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-rueda-recurso-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid var(--gray-200);
}

.arc-rueda-recurso-hd:last-child {
    border-bottom: none;
}

.arc-rueda-recurso-hd__label {
    flex: 1;
    min-width: 0;
    color: var(--gray-800);
    font-size: 1rem;
    line-height: 1.45;
}

.arc-rueda-recurso-hd__icons {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    flex-shrink: 0;
}

.arc-rueda-recursos-hd-wrap .arc-rueda-convocante__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--gray-300);
    border-radius: 6px;
    color: var(--gray-600);
    background: #fff;
    text-decoration: none !important;
    transition: border-color .2s ease, color .2s ease, background .2s ease, transform .15s ease;
}

.arc-rueda-recursos-hd-wrap .arc-rueda-convocante__icon:hover,
.arc-rueda-recursos-hd-wrap .arc-rueda-convocante__icon:focus-visible {
    border-color: var(--red);
    color: var(--red);
    background: var(--red-soft);
    transform: translateY(-1px);
    text-decoration: none !important;
}

.arc-rueda-recursos-hd-wrap .arc-rueda-convocante__icon--video:hover,
.arc-rueda-recursos-hd-wrap .arc-rueda-convocante__icon--video:focus-visible {
    color: var(--red);
}

@media (max-width: 640px) {
    .arc-rueda-convocante,
    .arc-rueda-recurso-hd {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    .arc-rueda-media-layout {
        grid-template-columns: 1fr;
    }
    .arc-rueda-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
        gap: .55rem;
    }
}

/* ════════════════════════════════════════════════
   LISTADO DE DIPUTADOS (/diputados)
   Solo maquetamos esta vista concreta:
   - título "Conoce a los Diputados y Diputadas"
   - grid de 4 cards por fila
   ════════════════════════════════════════════════ */

/* Título específico de la página de diputados */
.arm-diputados-title {
    display: block;
    margin: 0 0 1.75rem;
    font-size: 1.75rem;
    font-weight: 800;
    text-align: left;
    color: var(--red);
    letter-spacing: -.01em;
    position: relative;
}

.arm-diputados-title::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    width: 60px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--red), var(--red-light));
}

/* Cards de diputados: todas con la misma altura visual */
.arm-diputado-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    height: 430px;
    /* altura uniforme para todas las tarjetas */
}

.arm-diputado-image-wrap {
    position: relative;
    width: 100%;
}

.arm-diputado-image-wrap img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.arm-diputado-party-badge {
    position: absolute;
    top: .5rem;
    right: .5rem;
    padding: .2rem .5rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #ffffff;
}

.arm-diputado-party-badge--img img {
    height: 22px;
    width: auto;
}

.arm-diputado-info {
    padding: .9rem 1rem 1.1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.arm-diputado-name {
    margin: 0;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.35;
    min-height: 2.7em;
}

.arm-diputado-name a {
    color: #0f172a;
    text-decoration: none;
    display: block;
}

.arm-diputado-name-main,
.arm-diputado-name-rest {
    display: block;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

/* Seguridad extra: cualquier foto oficial de la vista de diputados
   tendrá la misma altura, aunque por algún motivo no use la clase anterior. */
.ar-main .ar-container #block-arm-theme-classic-content .views-field-field-foto-oficial img {
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Grid de 4 columnas solo en la vista de diputados */
body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .views-view-grid,
body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .view-content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

/* Aseguramos que cada tarjeta ocupa una celda completa del grid */
body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .views-view-grid>*,
body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .view-content>* {
    width: 100%;
}

@media (max-width: 900px) {

    body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .views-view-grid,
    body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {

    body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .views-view-grid,
    body:not(.arc-path-otros-oradores) .ar-main .ar-container #block-arm-theme-classic-content .view-content {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ════════════════════════════════════════════════
   CONTROLES DE BLOQUE: "Configurar bloque" / "Eliminar bloque"
   Ocultos por defecto; solo se muestran al pasar el ratón sobre
   el lápiz o al hacer clic en el lápiz (menú abierto).
   ════════════════════════════════════════════════ */

/* Lápiz contextual en cualquier región contextual (vistas y bloques). */
.contextual-region {
    position: relative;
}

.contextual-region > .contextual {
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    z-index: 120;
}

/* La vista /directorio debe mostrar claramente el lápiz "Editar vista". */
.view-directorio {
    position: relative;
}

.view-directorio > .contextual {
    top: -0.35rem;
    right: 0;
    z-index: 130;
}

/* ==========================================================
   FICHA de directorio (/directorio/<slug>): mejora visual.
   No aplica al listado /directorio.
   ========================================================== */
body[class*="arc-path-directorio-"] .arc-generic-header .arc-generic-meta {
    display: none;
}

body[class*="arc-path-directorio-"] .arc-generic-header-inner,
body[class*="arc-path-directorio-"] .arc-generic-body-wrap {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

body[class*="arc-path-directorio-"] .arc-generic-title {
    margin-bottom: .35rem;
    line-height: 1.15;
    letter-spacing: -.01em;
}

body[class*="arc-path-directorio-"] .arc-generic-body {
    background: #fff;
    border: 1px solid #eadfe3;
    border-radius: 12px;
    padding: 1.15rem 1.25rem;
}

body[class*="arc-path-directorio-"] .arc-generic-body .layout--onecol > .layout__region--content > div > div {
    padding: .7rem 0;
    border-bottom: 1px solid #efe6e9;
}

body[class*="arc-path-directorio-"] .arc-generic-body .layout--onecol > .layout__region--content > div > div:last-child {
    border-bottom: 0;
}

/* Primera línea de cada campo (etiqueta: Cargo, Dirección, etc.). */
body[class*="arc-path-directorio-"] .arc-generic-body .layout--onecol > .layout__region--content > div > div > div:first-child {
    margin-bottom: .22rem;
    color: #5a4950;
    font-size: .93rem;
    font-weight: 700;
}

/* Segunda línea de cada campo (valor). */
body[class*="arc-path-directorio-"] .arc-generic-body .layout--onecol > .layout__region--content > div > div > div:last-child {
    color: #2f2a2c;
    font-size: 1.08rem;
    line-height: 1.45;
}

body[class*="arc-path-directorio-"] .arc-generic-body a {
    text-decoration: none;
}

body[class*="arc-path-directorio-"] .arc-generic-body a:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    body[class*="arc-path-directorio-"] .arc-generic-body {
        padding: .95rem 1rem;
    }
    body[class*="arc-path-directorio-"] .arc-generic-body .layout--onecol > .layout__region--content > div > div > div:last-child {
        font-size: 1rem;
    }
}

/* ── Ficha funcionario: layout limpio ── */
.arc-func-article {
    max-width: 820px;
}

.arc-func-header {
    margin-bottom: 1.5rem;
}

.arc-func-name {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 900;
    color: var(--red, #8c2638);
    line-height: 1.15;
    margin: .5rem 0 .3rem;
    letter-spacing: -.02em;
}

.arc-func-cargo {
    margin: 0;
    font-size: 1.05rem;
    color: #5f5f5f;
    font-weight: 400;
}

.arc-func-body {
    margin-top: .5rem;
}

.arc-func-list {
    list-style: disc;
    margin: 0 0 0 1.2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    font-size: 1.05rem;
    line-height: 1.5;
    color: #1e1e1e;
}

.arc-func-list strong {
    font-weight: 700;
    color: #1e1e1e;
}

.arc-func-list a {
    color: var(--red, #8c2638);
    text-decoration: none;
}

.arc-func-list a:hover {
    text-decoration: underline;
}

/* ════════════════════════════════════════════════
   BLOQUE INTERVENCIONES — ficha de diputado
   ════════════════════════════════════════════════ */
.arm-dip-intervenciones-block {
    max-width: 1180px;
    margin: 1.75rem auto 0;
    background: #fff;
    border-radius: 0;
    padding: 1.75rem 2.5rem 2rem;
    box-sizing: border-box;
}

/* Cabecera: título + badge */
.arm-dip-intervenciones-block__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.arm-dip-intervenciones-block__title-wrap {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.arm-dip-intervenciones-block__title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--text);
    margin: 0;
    padding-left: 1rem;
    position: relative;
    letter-spacing: -.02em;
}

.arm-dip-intervenciones-block__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .1em;
    bottom: .1em;
    width: 4px;
    background: var(--red);
    border-radius: 3px;
}

.arm-dip-intervenciones-block__badge {
    display: inline-flex;
    align-items: center;
    padding: .3rem .9rem;
    background: var(--off-white, #f8f9fb);
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 99px;
    font-size: .8rem;
    font-weight: 600;
    color: var(--gray-500, #6b7280);
    white-space: nowrap;
}

/* Lista */
.arm-dip-intervenciones-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Fila individual */
.arm-dip-intervencion-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1.1rem .85rem 1.25rem;
    border-radius: 8px;
    border: 1px solid var(--gray-100, #f3f4f6);
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    position: relative;
}

.arm-dip-intervencion-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 25%;
    bottom: 25%;
    width: 3px;
    border-radius: 3px;
    background: var(--red);
    opacity: 0;
    transition: opacity .18s ease;
}

.arm-dip-intervencion-item:hover {
    border-color: rgba(140, 38, 56, .25);
    box-shadow: 0 3px 10px rgba(140, 38, 56, .08);
    background: rgba(140, 38, 56, .02);
}

.arm-dip-intervencion-item:hover::before {
    opacity: 1;
}

/* Columna izquierda: fecha + separador + órgano */
.arm-dip-intervencion-left {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
    flex-wrap: wrap;
    min-width: 0;
}

.arm-dip-intervencion-fecha {
    font-size: .875rem;
    font-weight: 700;
    color: var(--red-dark, #6b1a27);
    white-space: nowrap;
}

.arm-dip-intervencion-sep {
    color: var(--gray-300, #d1d5db);
    font-weight: 400;
    user-select: none;
}

.arm-dip-intervencion-organo {
    font-size: .8rem;
    color: var(--gray-500, #6b7280);
    font-weight: 500;
}

/* Columna derecha: enlace DS */
.arm-dip-intervencion-right {
    flex-shrink: 0;
    text-align: right;
}

.arm-dip-intervencion-enlace a,
.arm-dip-intervencion-titulo {
    font-size: .8rem;
    font-weight: 600;
    color: var(--red, #8C2638);
    text-decoration: none;
    padding: .3rem .75rem;
    border: 1px solid rgba(140, 38, 56, .2);
    border-radius: 6px;
    background: rgba(140, 38, 56, .04);
    white-space: nowrap;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
    display: inline-block;
}

.arm-dip-intervencion-enlace a:hover {
    background: var(--red, #8C2638);
    border-color: var(--red, #8C2638);
    color: #fff;
}

/* Paginador */
.arm-dip-intervenciones-pager {
    margin-top: 1.5rem;
}

.arm-dip-intervenciones-pager__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .4rem;
}

.arm-dip-intervenciones-pager__item a,
.arm-dip-intervenciones-pager__item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.2rem;
    height: 2.2rem;
    padding: 0 .6rem;
    border-radius: 7px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--gray-200, #e5e7eb);
    color: var(--gray-600, #4b5563);
    background: #fff;
    transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
    white-space: nowrap;
}

.arm-dip-intervenciones-pager__item a:hover {
    border-color: var(--red, #8C2638);
    color: var(--red, #8C2638);
    box-shadow: 0 2px 6px rgba(140, 38, 56, .12);
}

.arm-dip-intervenciones-pager__item.is-active span {
    background: var(--red, #8C2638);
    border-color: var(--red, #8C2638);
    color: #fff;
    box-shadow: 0 2px 8px rgba(140, 38, 56, .3);
}

.arm-dip-intervenciones-pager__item--prev a,
.arm-dip-intervenciones-pager__item--next a {
    padding: 0 .9rem;
    font-size: .8rem;
    color: var(--gray-500, #6b7280);
}

/* Responsive */
@media (max-width: 680px) {
    .arm-dip-intervenciones-block {
        padding: 1.25rem 1.25rem 1.5rem;
    }

    .arm-dip-intervencion-item {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }

    .arm-dip-intervencion-right {
        text-align: left;
    }

    .arm-dip-intervencion-enlace a {
        white-space: normal;
    }
}

/* ════════════════════════════════════════════════
   PORTADA: Iniciativas parlamentarias (3 bloques)
   ════════════════════════════════════════════════ */
.arc-portada-iniciativas {
    width: 100%;
    max-width: var(--max);
    margin: 2rem auto 3.5rem;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem 2rem;
    align-items: start;
    box-sizing: border-box;
}

.arc-portada-iniciativas .block {
    min-width: 0;
}

.arc-portada-iniciativas .block > h2 {
    font-family: var(--font-serif);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--text);
    margin: 0 0 .85rem;
    padding-left: .85rem;
    position: relative;
    letter-spacing: -.02em;
    line-height: 1.25;
}

.arc-portada-iniciativas .block > h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: .12em;
    bottom: .12em;
    width: 3px;
    background: var(--red);
    border-radius: 3px;
}

/* ════════════════════════════════════════════════
   INICIATIVAS — listas html_list (portada, página, diputado)
   ════════════════════════════════════════════════ */
.arc-iniciativas-list {
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

/* html_list con class en wrapper div (legado): el <ul> interior sin clase */
.arc-iniciativas-list:not(ul) > ul {
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.arc-iniciativa-item {
    margin: 0;
    padding: 0;
}

.arc-iniciativa-row {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .7rem .85rem;
    border: 1px solid var(--gray-100, #f3f4f6);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.arc-iniciativa-row:hover {
    border-color: rgba(140, 38, 56, .22);
    box-shadow: 0 3px 10px rgba(140, 38, 56, .07);
}

.arc-iniciativa-fecha {
    font-size: .78rem;
    font-weight: 600;
    color: var(--gray-500, #6b7280);
    letter-spacing: .02em;
}

.arc-iniciativa-tipo,
.arc-iniciativa-organo {
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--red);
}

.arc-iniciativa-title {
    font-size: .92rem;
    font-weight: 600;
    color: var(--text);
    line-height: 1.35;
}

.arc-iniciativa-title a {
    color: inherit;
    text-decoration: none;
}

.arc-iniciativa-title a:hover {
    color: var(--red);
    text-decoration: underline;
}

.arc-iniciativa-asunto,
.arc-iniciativa-descripcion,
.arc-iniciativa-destinatario,
.arc-iniciativa-situacion,
.arc-iniciativa-codigo {
    font-size: .82rem;
    color: var(--gray-600, #4b5563);
    line-height: 1.35;
}

.arc-iniciativas-view--iniciativas .arc-iniciativas-list--page .arc-iniciativa-row {
    padding: .9rem 1rem;
}

.arc-iniciativas-pager {
    margin-top: 1.25rem;
}

/* html_list ARM: anular viñetas de .item-list (Drupal) en vistas tocadas hoy */
.item-list ul.arc-iniciativas-list,
.item-list .arc-iniciativas-list > ul,
.item-list ul.arc-ruedas-list,
.item-list ul.arc-visitas-list,
.item-list ul.arc-bank-list,
.item-list ul.arc-bank-list--sessions,
body.arc-path-otros-oradores .container-oradores > ul.row,
.view-id-iniciativas .view-content .item-list ul,
.view-id-ruedas_de_prensa .view-content .item-list ul,
.view-id-visitas .view-content .item-list ul,
.view-id-clone_of_sesiones_parlamentarias .view-content .item-list ul,
.view-id-otros_oradores .view-content .item-list ul,
.arc-portada-iniciativas .item-list ul,
.arm-dip-iniciativas-block .item-list ul,
.arm-dip-cofirmantes-block .item-list ul {
    list-style: none;
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

.item-list ul.arc-iniciativas-list > li,
.item-list ul.arc-ruedas-list > li,
.item-list ul.arc-visitas-list > li,
.item-list ul.arc-bank-list > li,
.item-list ul.arc-bank-list--sessions > li,
body.arc-path-otros-oradores .container-oradores > ul.row > li,
.view-id-iniciativas .view-content .item-list ul > li,
.view-id-ruedas_de_prensa .view-content .item-list ul > li,
.view-id-visitas .view-content .item-list ul > li,
.view-id-clone_of_sesiones_parlamentarias .view-content .item-list ul > li,
.view-id-otros_oradores .view-content .item-list ul > li {
    list-style: none;
    list-style-type: none;
}

/* Ficha diputado: bloques iniciativas */
.arm-dip-iniciativas-block,
.arm-dip-cofirmantes-block {
    max-width: 1180px;
    margin: 1.25rem auto 0;
    background: #fff;
    padding: 1.5rem 2.5rem 1.75rem;
    box-sizing: border-box;
}

.arm-dip-iniciativas-block__header,
.arm-dip-cofirmantes-block__header {
    margin-bottom: 1rem;
}

.arm-dip-iniciativas-block__title,
.arm-dip-cofirmantes-block__title {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text);
    margin: 0;
    padding-left: 1rem;
    position: relative;
    letter-spacing: -.02em;
}

.arm-dip-iniciativas-block__title::before,
.arm-dip-cofirmantes-block__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .1em;
    bottom: .1em;
    width: 4px;
    background: var(--red);
    border-radius: 3px;
}

@media (max-width: 1024px) {
    .arc-portada-iniciativas {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 680px) {
    .arm-dip-iniciativas-block,
    .arm-dip-cofirmantes-block {
        padding: 1.25rem 1.25rem 1.5rem;
    }
}

/* Lista de enlaces contextuales (Configurar / Eliminar): oculta por defecto */
.contextual .contextual-links {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.contextual:hover .contextual-links,
.contextual.contextual-open .contextual-links,
.contextual.is-open .contextual-links {
    opacity: 1;
    visibility: visible;
}

/* Layout Builder: barra de operaciones del bloque */
.layout-builder-block .layout-builder-block__operations,
.layout-builder__block .layout-builder-block__operations {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.layout-builder-block:hover .layout-builder-block__operations,
.layout-builder__block:hover .layout-builder-block__operations {
    opacity: 1;
    visibility: visible;
}

/* ═══════════════════════════════════════════════════════════
   INICIO: Sección «Noticias & actividad» — estilo moderno
   ═══════════════════════════════════════════════════════════ */

/* Fila título + botón */
.arm-news-home-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2rem 0 0.75rem;
    gap: 1rem;
}

.arm-news-home-title {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: -.02em;
    margin: 0;
    position: relative;
    padding-left: 1rem;
}

.arm-news-home-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: .15em;
    bottom: .15em;
    width: 4px;
    border-radius: 4px;
    background: var(--red);
}

/* Botón «Ver todas las noticias» — blanco minimalista, borde rojo */
.arm-news-see-all-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1.4rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--red, #8C2638);
    background: #fff;
    border: 1.5px solid var(--red, #8C2638);
    border-radius: 6px;
    text-decoration: none;
    letter-spacing: .01em;
    white-space: nowrap;
    transition: all .22s cubic-bezier(.4, 0, .2, 1);
}

.arm-news-see-all-btn:hover {
    background: var(--red, #8C2638);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(140, 38, 56, .25);
}

.arm-news-see-all-btn svg {
    transition: transform .22s ease;
}

.arm-news-see-all-btn:hover svg {
    transform: translateX(3px);
}

/* «Leer más» de la card en la portada — moderno y sutil */
.arc-front .arm-news-page .ar-card-link,
.arc-front .arm-ultima-noticia-block .ar-card-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem 1.1rem;
    font-size: .78rem;
    font-weight: 600;
    color: var(--red);
    background: var(--red-soft, rgba(140, 38, 56, .08));
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s ease;
}

.arc-front .arm-news-page .ar-card-link:hover,
.arc-front .arm-ultima-noticia-block .ar-card-link:hover {
    background: var(--red);
    color: #fff;
}

.arc-front .arm-news-page .ar-card-link svg,
.arc-front .arm-ultima-noticia-block .ar-card-link svg {
    transition: transform .2s ease;
}

.arc-front .arm-news-page .ar-card-link:hover svg,
.arc-front .arm-ultima-noticia-block .ar-card-link:hover svg {
    transform: translateX(3px);
}

/* Fondo de la sección en inicio: usamos el mismo que el main (transparente) */
.arc-front .arm-news-page {
    border-radius: 0;
}

/* En inicio la lista no lleva fondo blanco envolvente */
.arc-front .arm-news-page .arm-news-mosaic {
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 16px;
    overflow: hidden;
}

.arc-front .arm-news-page .arm-news-cell {
    border-bottom: none;
}

.arc-front .arm-news-page .arm-news-cell--hero .ar-card {
    background: #fff;
    border-radius: 16px 16px 0 0;
    /* solo esquinas superiores redondeadas */
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(0, 0, 0, .04);
    overflow: hidden;
    transition: box-shadow .3s ease, transform .3s ease;
}

.arc-front .arm-news-page .arm-news-cell--hero .ar-card:hover {
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.arc-front .arm-news-page .arm-news-cell--hero .ar-card-footer {
    display: flex;
}

.arc-front .arm-news-page .arm-news-cell--hero .ar-card-title {
    font-size: 1.4rem;
}

/* ════════════════════════════════════════════════
   PÁGINA DE INFORMACIÓN ECONÓMICA (nodo 550)
   Diseño moderno: tarjetas presupuestos + iconos PDF
   ════════════════════════════════════════════════ */

/* 1. Layout a ancho completo, sin retrato lateral */
.arc-path-arm-informacion .arc-emb-grid {
    grid-template-columns: 1fr !important;
}

.arc-path-arm-informacion .arc-emb-portrait {
    display: none !important;
}

/* 2. Quitar drop-cap decorativo del primer párrafo */
.arc-path-arm-informacion .arc-emb-prose p:first-of-type::first-letter {
    font-size: inherit !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: inherit !important;
    font-weight: inherit !important;
    font-family: inherit !important;
    line-height: inherit !important;
}

.arc-path-arm-informacion .arc-emb-prose p:first-of-type {
    font-size: 1.0625rem !important;
    font-weight: 400 !important;
    color: var(--gray-700) !important;
}

/* 3. Blockquote como callout institucional */
.arc-path-arm-informacion .arc-emb-prose blockquote {
    background: linear-gradient(135deg, #fef9f8 0%, #fff 100%);
    border-left: 4px solid var(--red);
    border-radius: 12px;
    padding: 1.75rem 2rem;
    margin: 0 0 2rem;
    box-shadow: 0 2px 12px rgba(15, 23, 42, .04);
}

.arc-path-arm-informacion .arc-emb-prose blockquote ol {
    padding-left: 1.25rem;
    margin: 0;
}

.arc-path-arm-informacion .arc-emb-prose blockquote li {
    margin-bottom: .75rem;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

/* 4. H4 como separador de sección */
.arc-path-arm-informacion .arc-emb-prose h4 {
    font-family: var(--font-serif) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--red-dark) !important;
    margin: 2.5rem 0 1.25rem !important;
    padding-left: 1rem;
    position: relative;
}

.arc-path-arm-informacion .arc-emb-prose h4::before {
    content: '';
    position: absolute;
    left: 0;
    top: .15em;
    bottom: .15em;
    width: 4px;
    background: var(--red);
    border-radius: 4px;
}

/* 5. Presupuestos: grid de tarjetas modernas */
.arc-path-arm-informacion .arc-emb-prose>ul {
    list-style: none !important;
    padding-left: 0 !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li {
    margin-bottom: 2rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--gray-800);
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul {
    list-style: none !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    gap: .85rem;
    margin: 1rem 0 1.5rem;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li {
    margin: 0 !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .5rem;
    padding: 1.1rem 1rem !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    color: var(--gray-800) !important;
    transition: all .2s ease !important;
    position: relative;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>a::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>a:hover {
    box-shadow: 0 8px 24px rgba(15, 23, 42, .12) !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    background: #f1f5f9 !important;
    transform: translateY(-2px);
}

/* Colores alternos para tarjetas de años (presupuestos y subvenciones) */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(1)>a {
    border-left: 4px solid #3b82f6 !important;
}

/* azul */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(2)>a {
    border-left: 4px solid #eab308 !important;
}

/* amarillo */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(3)>a {
    border-left: 4px solid #22c55e !important;
}

/* verde */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(4)>a {
    border-left: 4px solid #a16207 !important;
}

/* marrón */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(5)>a {
    border-left: 4px solid #6366f1 !important;
}

/* índigo */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(6)>a {
    border-left: 4px solid #ec4899 !important;
}

/* rosa */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(7)>a {
    border-left: 4px solid #06b6d4 !important;
}

/* cian */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(8)>a {
    border-left: 4px solid #f97316 !important;
}

/* naranja */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(9)>a {
    border-left: 4px solid #ef4444 !important;
}

/* rojo */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(10)>a {
    border-left: 4px solid #14b8a6 !important;
}

/* teal */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li:nth-child(11)>a {
    border-left: 4px solid #8b5cf6 !important;
}

/* violeta */

/* 6. Links directos (Normas, Convenios, Patrimonio, etc.) como tarjetas horizontales */
.arc-path-arm-informacion .arc-emb-prose>ul>li>a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between;
    gap: .9rem;
    width: 100%;
    padding: .95rem 1.15rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-left: 4px solid #cbd5e1 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .05) !important;
    text-decoration: none !important;
    color: #0f172a !important;
    font-weight: 650 !important;
    font-size: 1.02rem !important;
    transition: all .18s ease !important;
}

/* Contenedor: permitir que los links directos se dispongan en fila y envuelvan */
.arc-path-arm-informacion .arc-emb-prose>ul {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    padding-left: 0 !important;
    margin-bottom: 4rem;
}

/* Los LI que contienen sublistas (Presupuestos/Subvenciones) ocupan toda la fila */
.arc-path-arm-informacion .arc-emb-prose>ul>li:has(> ul),
/* Subvenciones (transformado por JS a .arc-acc-list) también debe ocupar toda la fila */
.arc-path-arm-informacion .arc-emb-prose>ul>li:has(.arc-acc-list) {
    flex: 0 0 100%;
}

/* Todos los links directos (LI con solo <a>) en fila y ancho según texto */
.arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a):not(:has(> ul)) {
    display: inline-flex;
    margin: 0 !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a):not(:has(> ul))>a {
    width: auto !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
    white-space: normal;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>a::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'/%3E%3Cpolyline points='13 2 13 9 20 9'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

/* Normas reguladoras: icono libro + acento azul suave */
.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="normativa-economica"] {
    border-left-color: #3b82f6 !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="normativa-economica"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3Cpath d='M8 6h8'/%3E%3Cpath d='M8 10h8'/%3E%3C/svg%3E");
}

/* Convenios: icono manos + acento verde suave */
.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="/convenios"] {
    border-left-color: #22c55e !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="/convenios"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 17l-2 2a3 3 0 0 1-4 0l-1-1a3 3 0 0 1 0-4l2-2'/%3E%3Cpath d='M13 7l2-2a3 3 0 0 1 4 0l1 1a3 3 0 0 1 0 4l-2 2'/%3E%3Cpath d='M8 12l8 0'/%3E%3C/svg%3E");
}

/* Normas + Convenios en una fila, ancho ajustado al texto */
.arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a[href*="normativa-economica"]),
.arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a[href*="/convenios"]) {
    display: inline-flex;
    margin: 0 .85rem .85rem 0 !important;
    vertical-align: top;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="normativa-economica"],
.arc-path-arm-informacion .arc-emb-prose>ul>li>a[href*="/convenios"] {
    width: auto !important;
    justify-content: flex-start !important;
    padding-right: 1.35rem !important;
}

@media (max-width: 760px) {
    .arc-path-arm-informacion .arc-emb-prose>ul {
        gap: .65rem;
    }

    .arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a):not(:has(> ul)) {
        flex: 0 0 100%;
    }

    .arc-path-arm-informacion .arc-emb-prose>ul>li:has(> a):not(:has(> ul))>a {
        width: 100% !important;
    }
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>a:hover {
    border-color: rgba(15, 23, 42, .18) !important;
    background: #f1f5f9 !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .10) !important;
    transform: translateY(-1px);
}

/* 7. Subvenciones: documentos PDF con icono */
.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>ul {
    list-style: none !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin: .75rem 0 1rem;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>ul>li {
    margin: 0 !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>ul>li>a {
    display: inline-flex !important;
    align-items: center !important;
    gap: .55rem;
    padding: .65rem 1.1rem !important;
    background: #fef7f7 !important;
    border: 1px solid #fecaca !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    color: var(--red-dark) !important;
    font-weight: 500 !important;
    font-size: .92rem !important;
    line-height: 1.45 !important;
    transition: all .2s ease !important;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>ul>li>a::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    min-width: 22px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%238C2638' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M9 15h0'/%3E%3Cpath d='M9.5 13.5l1.5 3 1.5-3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.arc-path-arm-informacion .arc-emb-prose>ul>li>ul>li>ul>li>a:hover {
    background: #fef2f2 !important;
    border-color: var(--red) !important;
    box-shadow: 0 3px 10px rgba(140, 38, 56, .1) !important;
}

/* 8. Responsive para tarjetas */
@media (max-width: 600px) {
    .arc-path-arm-informacion .arc-emb-prose>ul>li>ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 9. Subvenciones: acordeón por año (details/summary) — diseño limpio y profesional */
.arc-path-arm-informacion .arc-acc-list {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.arc-path-arm-informacion .arc-acc {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .1);
    border-left: 4px solid var(--gray-300);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
    overflow: hidden;
    transition: box-shadow .2s ease;
}

.arc-path-arm-informacion .arc-acc[open] {
    box-shadow: 0 4px 20px rgba(15, 23, 42, .08);
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2024 {
    border-left-color: #3b82f6;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2023 {
    border-left-color: #eab308;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2022 {
    border-left-color: #22c55e;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2021 {
    border-left-color: #06b6d4;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2020 {
    border-left-color: #6366f1;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2019 {
    border-left-color: #a16207;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2018 {
    border-left-color: #ec4899;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2017 {
    border-left-color: #f97316;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2016 {
    border-left-color: #ef4444;
}

.arc-path-arm-informacion .arc-acc.arc-acc--y2015 {
    border-left-color: #14b8a6;
}

.arc-path-arm-informacion .arc-acc__summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .9rem 1.25rem;
    font-weight: 700;
    font-size: 1rem;
    color: var(--gray-800);
    background: #f8f9fb;
    border-bottom: 1px solid transparent;
    transition: background .15s ease;
}

.arc-path-arm-informacion .arc-acc[open]>.arc-acc__summary {
    border-bottom-color: rgba(15, 23, 42, .06);
}

.arc-path-arm-informacion .arc-acc__summary:hover {
    background: #f1f3f7;
}

.arc-path-arm-informacion .arc-acc__summary::-webkit-details-marker {
    display: none;
}

.arc-path-arm-informacion .arc-acc__label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex: 1;
}

.arc-path-arm-informacion .arc-acc__label::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}


/* Flecha chevron */
.arc-path-arm-informacion .arc-acc__summary::after {
    content: '';
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform: rotate(0deg);
    transition: transform .2s ease;
}

.arc-path-arm-informacion .arc-acc[open]>.arc-acc__summary::after {
    transform: rotate(180deg);
}

/* Enlace Ir al año discreto */
.arc-path-arm-informacion .arc-acc__link {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .7rem;
    border-radius: 6px;
    background: transparent;
    border: 1px solid rgba(15, 23, 42, .12);
    color: var(--gray-500) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: .8rem !important;
    flex-shrink: 0;
    transition: all .15s ease;
}

.arc-path-arm-informacion .arc-acc__link:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

/* Interior del acordeon */
.arc-path-arm-informacion .arc-acc__content {
    padding: 1rem 1.25rem 1.25rem;
    background: #fafbfc;
}

.arc-path-arm-informacion .arc-acc__content ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.arc-path-arm-informacion .arc-acc__content li {
    margin: 0 !important;
}

.arc-path-arm-informacion .arc-acc__content li a {
    display: flex !important;
    align-items: flex-start !important;
    gap: .65rem;
    padding: .85rem 1rem !important;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    color: var(--gray-800) !important;
    font-weight: 500 !important;
    font-size: .93rem !important;
    line-height: 1.5 !important;
    transition: all .15s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .03);
}

.arc-path-arm-informacion .arc-acc__content li a::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    min-width: 22px;
    margin-top: 1px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%238C2638' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.arc-path-arm-informacion .arc-acc__content li a:hover {
    border-color: var(--red) !important;
    box-shadow: 0 3px 12px rgba(140, 38, 56, .08) !important;
    transform: translateX(3px);
}

/* ─────────────────────────────────────────────────────────────
   Presupuestos (páginas por año): índice + links PDF
   Selector estable por alias: /arm/informacion/presupuestos-2024 -> arc-path-arm-informacion-presupuestos-2024
   Para cualquier año usamos contains: [class*="arc-path-arm-informacion-presupuestos-"]
   ───────────────────────────────────────────────────────────── */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose {
    max-width: none;
    margin: 0 auto;
}

/* ÍNDICE (estructura real: h4 + div centrado con div>a) */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child {
    /* Reemplazo visual del texto (sin tocar el contenido) */
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 1.25rem 0 .75rem !important;
    text-align: center !important;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child::before {
    content: "Índice - Presupuestos";
    display: inline-block;
    font-size: 1.05rem;
    line-height: 1.2;
    letter-spacing: .01em;
    color: var(--gray-700);
    font-weight: 750;
}

/* El usuario quiere el “Índice -” en el H1 principal, no como título aparte */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child {
    display: none !important;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-hero-title span::before {
    content: "Índice - ";
    font-weight: inherit;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div {
    text-align: initial !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .65rem .8rem;
    margin: 1.25rem 0 2rem;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div>div {
    margin: 0 !important;
    flex: 0 0 auto;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1.15rem;
    border-radius: 12px;
    border: 1px solid rgba(140, 38, 56, .22);
    border-left: 4px solid var(--red);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    color: #0f172a !important;
    text-decoration: none !important;
    font-weight: 650;
    box-shadow: 0 2px 10px rgba(140, 38, 56, .06);
    transition: all .16s ease;
    white-space: nowrap;
    /* intenta poner todo en una fila; si no cabe, el item completo baja */
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a::before {
    content: '';
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    /* Icono “PDF / documento” (rojo) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z' stroke='%238C2638' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 2v6h6' stroke='%238C2638' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.3 17.3h1.2c.9 0 1.5-.5 1.5-1.3 0-.8-.6-1.3-1.5-1.3H7.3v2.6z' fill='%238C2638'/%3E%3Cpath d='M11.2 17.3h1.0c1.2 0 2.0-.8 2.0-2.0s-.8-2.0-2.0-2.0h-1.0v4z' fill='%238C2638'/%3E%3Cpath d='M15.8 17.3v-4h2.4v.9h-1.4v.8h1.3v.9h-1.3v1.4h-1.0z' fill='%238C2638'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a:hover {
    border-color: rgba(140, 38, 56, .38);
    background: var(--red-soft);
    box-shadow: 0 10px 26px rgba(140, 38, 56, .12);
    transform: translateY(-1px);
}

/* Si el link del índice es interno (#ancla), NO debe parecer PDF */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a[href^="#"] {
    border: 1px solid rgba(15, 23, 42, .10);
    border-left: 0;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .05);
    background: #fff;
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a[href^="#"]::before {
    /* Icono de navegación interna (no PDF) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.07 0l1.41-1.41a5 5 0 0 0-7.07-7.07L10 4.93'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.07 0L5.52 12.41a5 5 0 0 0 7.07 7.07L14 18.07'/%3E%3C/svg%3E");
}

body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div a[href^="#"]:hover {
    border-color: rgba(15, 23, 42, .18);
    background: #f1f5f9;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .10);
}

/* Quitar fecha (meta) en el hero de presupuestos */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-hero-meta {
    display: none !important;
}

@media (max-width: 740px) {
    body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-prose>h4:first-child+div {
        justify-content: flex-start;
        padding: 0 1rem;
    }
}

/* El índice estaba “encerrado” por el max-width del layout (780px) */
body[class*="arc-path-arm-informacion-presupuestos-"] .arc-emb-grid--solo {
    max-width: none;
}

/* Ajustes finos portada noticias (cabecera + CTA) */
@media (max-width: 900px) {
    .arm-news-home-header {
        margin: 1.25rem 0 .75rem;
    }

    .arm-news-home-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 560px) {
    .arm-news-home-header {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
    }

    .arm-news-home-title {
        font-size: 1.55rem;
        line-height: 1.12;
        word-break: normal;
        overflow-wrap: anywhere;
    }

    .arm-news-see-all-btn {
        width: 100%;
        justify-content: center;
        padding: .6rem 1rem;
        font-size: .85rem;
    }
}

@media (max-width: 430px) {
    .arm-news-home-title {
        font-size: 1.35rem;
    }

    .arm-news-see-all-btn {
        font-size: .8rem;
    }
}


@media (max-width: 1250px) {
    #block-arm-theme-classic-main-menu.open,
    #block-arm-header-nav-main-menu.open { z-index: 9999; }
}


/* ===== Fix móvil: menú hamburguesa + noticias aprovechan ancho ===== */
@media (max-width: 1250px) {
  #block-arm-theme-classic-main-menu.open,
  #block-arm-header-nav-main-menu.open,
  .ar-header-inner nav.open {
    display: flex !important;
    z-index: 99999 !important;
  }

  #block-arm-theme-classic-main-menu.open .ar-menu,
  #block-arm-header-nav-main-menu.open .ar-menu,
  .ar-header-inner nav.open .ar-menu {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
}

@media (max-width: 560px) {
  .arm-news-page .ar-container {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }

  .arm-news-home-header {
    align-items: stretch !important;
  }

  .arm-news-home-title {
    font-size: clamp(1.35rem, 7.2vw, 1.7rem) !important;
    line-height: 1.12 !important;
  }

  .arm-news-see-all-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  .arm-news-mosaic .ar-card,
  .arm-news-cell--hero .ar-card {
    border-radius: 14px !important;
  }

  .arm-news-mosaic .ar-card-body,
  .arm-news-cell--hero .ar-card-body {
    padding: .85rem .9rem 1rem !important;
  }
}

@media (max-width: 430px) {
  .ar-header-inner {
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }

  .arm-news-home-title {
    font-size: 1.28rem !important;
  }
}


/* Forzado visual menú móvil abierto */
@media (max-width: 1250px) {
  body.arc-mobile-nav-open .ar-topbar {
    display: block !important;
    position: fixed !important;
    top: var(--ar-header-bar-height) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100002 !important;
    /* Evita que la sombra “pise” el hover del primer item (Inicio). */
    box-shadow: none !important;
    border-bottom: none !important;
  }

  body.arc-mobile-nav-open #block-arm-theme-classic-main-menu,
  body.arc-mobile-nav-open #block-arm-header-nav-main-menu,
  body.arc-mobile-nav-open .ar-header-inner nav {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: var(--arc-mobile-nav-top, 156px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - var(--arc-mobile-nav-top, 156px)) !important;
    overflow-y: auto !important;
    background: #fff !important;
    z-index: 100000 !important;
    border-top: none !important;
    /* Separación visual interna (blanca) para que Inicio no quede pegado. */
    padding: .26rem .95rem .7rem !important;
  }

  body.arc-mobile-nav-open #block-arm-theme-classic-main-menu .ar-menu,
  body.arc-mobile-nav-open #block-arm-header-nav-main-menu .ar-menu,
  body.arc-mobile-nav-open .ar-header-inner nav .ar-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: .15rem !important;
    margin-top: 0 !important;
  }

  body.arc-mobile-nav-open #block-arm-theme-classic-main-menu .ar-menu > li > a,
  body.arc-mobile-nav-open #block-arm-header-nav-main-menu .ar-menu > li > a,
  body.arc-mobile-nav-open .ar-header-inner nav .ar-menu > li > a,
  body.arc-mobile-nav-open #block-arm-theme-classic-main-menu .ar-menu-parent-label,
  body.arc-mobile-nav-open #block-arm-header-nav-main-menu .ar-menu-parent-label,
  body.arc-mobile-nav-open .ar-header-inner nav .ar-menu-parent-label {
    width: 100% !important;
    padding: .8rem .9rem !important;
    display: flex !important;
    justify-content: space-between !important;
  }

  /* El espaciado se gestiona en el contenedor para mantener consistencia. */
}


@media (max-width: 1250px) {
  .ar-hamburger {
    position: relative !important;
    z-index: 100001 !important;
    pointer-events: auto !important;
  }

  body.arc-mobile-nav-open {
    overflow: hidden;
  }
}

/* Compactación final del header móvil para evitar solapes de links. */
@media (max-width: 1250px) {
  body.arc-mobile-nav-open .ar-topbar {
    padding: 0.3rem 0.6rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-inner {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem 0.75rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-left {
    display: flex;
    align-items: center !important;
    gap: 0.45rem !important;
    min-width: 0;
  }

  body.arc-mobile-nav-open .ar-topbar-right {
    display: flex;
    justify-content: flex-end;
    align-items: center !important;
    min-width: 0;
  }

  body.arc-mobile-nav-open .ar-topbar-historico {
    width: auto;
    flex: 0 1 auto;
    max-width: 100%;
  }

  body.arc-mobile-nav-open .ar-topbar-historico select {
    width: auto !important;
    min-width: 290px !important;
    max-width: calc(100vw - 2.4rem) !important;
    height: 34px;
    min-height: 34px;
    font-size: 0.75rem !important;
    font-weight: 600;
    line-height: 34px;
    padding: 0 1.6rem 0 0.75rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-links {
    width: auto;
    flex: 1 1 auto;
    display: flex;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    gap: 0.3rem 0.55rem;
  }

  body.arc-mobile-nav-open .ar-topbar-links a {
    flex: 0 0 auto;
    font-size: 0.72rem !important;
    font-weight: 500;
    line-height: 1.2;
  }

  /* En móvil dejamos solo enlaces institucionales clave. */
  body.arc-mobile-nav-open .ar-topbar-links li:nth-child(n+4) {
    display: none !important;
  }

  body.arc-mobile-nav-open .ar-topbar-right > a:not(.ar-topbar-sede) {
    display: none !important;
  }

  body.arc-mobile-nav-open .ar-topbar-sede {
    font-size: 0.72rem !important;
    padding: 0.2rem 0.55rem !important;
    margin-top: 0.28rem;
  }

  /* Offset del menú móvil: calculado dinámicamente por JS (arcUpdateMobileNavOffsets). */
}

@media (max-width: 980px) {
  body.arc-mobile-nav-open .ar-topbar {
    padding: 0.28rem 0.55rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-inner {
    grid-template-columns: 1fr;
    gap: 0.12rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-left,
  body.arc-mobile-nav-open .ar-topbar-right {
    width: 100%;
    justify-content: center;
    gap: 0.2rem 0.45rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-historico {
    width: auto;
    max-width: 100%;
  }

  body.arc-mobile-nav-open .ar-topbar-historico select {
    width: auto !important;
    max-width: none !important;
    font-size: 0.74rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-links {
    width: auto;
    max-width: 100%;
    justify-content: center;
    margin-top: 0 !important;
  }

}

@media (max-width: 705px) {
  body.arc-mobile-nav-open .ar-topbar-historico {
    max-width: 100%;
  }

}

@media (max-width: 560px) {
  body.arc-mobile-nav-open .ar-topbar-links a {
    font-size: 0.68rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-historico select {
    width: auto !important;
    max-width: none !important;
    font-size: 0.72rem !important;
  }

  body.arc-mobile-nav-open .ar-topbar-sede {
    font-size: 0.68rem !important;
    margin-top: 0.34rem;
  }

}


@media (max-width: 900px) {
    .arc-la-asamblea-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 560px) {
    .arc-la-asamblea-title {
        font-size: 1.55rem;
        line-height: 1.12;
        word-break: normal;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 430px) {
    .arc-la-asamblea-title {
        font-size: 1.35rem;
    }
}


/* CTA de La Asamblea: mismo look que "Leer más" en noticias */
.arc-la-asamblea .arc-emblema-card-cta {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem 1.1rem;
    font-size: .78rem;
    font-weight: 600;
    color: var(--red);
    background: var(--red-soft, rgba(140, 38, 56, .08));
    border-radius: 8px;
    text-decoration: none;
    transition: all .2s ease;
    margin-top: auto;
}

.arc-la-asamblea .arc-emblema-card-link:hover .arc-emblema-card-cta {
    background: var(--red);
    color: #fff;
}

.arc-la-asamblea .arc-emblema-card-cta::after {
    content: '→';
}

/* Botón rápido "Crear nuevo BOAR/Diario de Sesiones" en los listados,
   visible solo para usuarios con permiso para crear páginas. */
.arc-pub-create {
  margin: 0 0 0.75rem;
}

.arc-pub-create__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem;
  background: #9a1f2f;
  color: #fff;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.arc-pub-create__btn::before {
  content: "+";
  font-weight: 700;
}

.arc-pub-create__btn:hover {
  background: #8C2638;
  color: #fff;
}

/* Filtros manuales BOAR / Diario de Sesiones. */
.arc-pub-filters {
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid #e7e2e0;
  border-radius: 10px;
  background: #faf8f7;
}

.arc-pub-filters__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: end;
}

.arc-pub-filters__item {
  display: flex;
  flex-direction: column;
  min-width: 170px;
  gap: 4px;
}

.arc-pub-filters__item--leg {
  min-width: 280px;
  flex: 1 1 280px;
}

.arc-pub-filters__item > span {
  font-size: 12px;
  color: #6b5d59;
  font-weight: 600;
}

.arc-pub-filters select,
.arc-pub-filters input[type="text"] {
  height: 36px;
  border: 1px solid #d4cbc8;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Selector de legislatura: ancho cómodo para textos como
   "Undécima Legislatura (2023-2027)" sin que se corte. */
.arc-pub-filters__item:has(select[name="leg"]) {
  min-width: 280px;
}

.arc-pub-filters select[name="leg"] {
  min-width: 260px;
}

/* Input "Comisión (texto)": ancho cómodo para que se vea entera
   una entrada larga como "Financiación Autonómica" sin que parezca
   recortada visualmente. */
.arc-pub-filters__item--comision {
  min-width: 260px;
  flex: 1 1 260px;
}

.arc-pub-filters__item--comision input[type="text"] {
  min-width: 240px;
}

.arc-pub-filters__actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.arc-pub-filters__actions button {
  height: 36px;
  border: 0;
  border-radius: 8px;
  padding: 0 14px;
  background: #9a1f2f;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.arc-pub-filters__actions a {
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid #c8b8b3;
  border-radius: 8px;
  background: #fff;
  color: #7c2c31;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.arc-pub-filters__actions a:hover {
  background: #f7efef;
  border-color: #9a1f2f;
  color: #9a1f2f;
}

.arc-pub-filters__actions a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 31, 47, .2);
}


/* ===== Ajuste fino La Asamblea vs Noticias ===== */
.arc-la-asamblea .arc-emblema-card {
  background: #fff;
  border: 1px solid #e8eaf0;
  box-shadow: 0 1px 6px rgba(15, 23, 42, .05);
}

/* El botón no debe estirarse: igual que en noticias */
.arc-la-asamblea .arc-emblema-card-cta {
  align-self: flex-start;
  width: auto !important;
  max-width: max-content;
}

/* Igualar ancho útil al bloque de noticias también en móvil */
@media (max-width: 560px) {
  .arc-portada-bloque-asamblea > div {
    padding-left: .75rem !important;
    padding-right: .75rem !important;
  }
}

/* Tablet: evitar tarjetas gigantes */
@media (max-width: 1024px) {
  .arc-la-asamblea-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .arc-la-asamblea .arc-emblema-card-media img {
    aspect-ratio: 16 / 9;
  }
}

/*
 * Portada: debajo de 761px no usar fila imagen|texto (provoca solapes).
 * Mismo patrón que escritorio: bloque imagen arriba, cuerpo a ancho completo debajo.
 */
@media (max-width: 760px) {
  .arc-front .arc-la-asamblea-grid {
    grid-template-columns: 1fr;
    gap: .9rem;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card {
    border-radius: 14px;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    height: 100%;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-media {
    flex: 0 0 auto;
    position: relative;
    border-radius: 14px 14px 0 0;
    aspect-ratio: 16 / 10;
    min-height: 0;
    width: 100%;
    overflow: hidden;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-body {
    flex: 1 1 auto;
    padding: .8rem .9rem;
    min-width: 0;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-title {
    font-size: .96rem;
    line-height: 1.25;
    margin-bottom: .35rem;
    overflow-wrap: anywhere;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-desc {
    font-size: .82rem;
    line-height: 1.45;
    margin-bottom: .55rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 430px) {
  .arc-front .arc-la-asamblea .arc-emblema-card-title {
    font-size: .9rem;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-desc {
    font-size: .78rem;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin-bottom: .45rem;
  }
}

@media (max-width: 380px) {
  .arc-front .arc-la-asamblea .arc-emblema-card-body {
    padding: .65rem .7rem;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-media {
    aspect-ratio: 16 / 9;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-title {
    font-size: .86rem;
    line-height: 1.2;
  }

  .arc-front .arc-la-asamblea .arc-emblema-card-cta {
    font-size: .72rem;
    padding: .35rem .7rem;
  }
}


/* Fix: card principal de noticias con radio consistente en todas las capas */
.arm-news-cell--hero .ar-card,
.arm-news-cell--hero .ar-card-media,
.arm-news-cell--hero .ar-card-img-wrap {
  border-radius: 16px;
  overflow: hidden;
}

.arm-news-cell--hero .ar-card-img-wrap img {
  border-radius: inherit;
  display: block;
}

/* Internas: retrato lateral fijo a 360x255 (excepto noticias y portada). */
@media (min-width: 900px) {
  body:not(.arc-front):not(.arc-route-arm-noticias-list):not(.arc-path-arm-informacion) .ar-main .arc-emb-grid:not(.arc-emb-grid--solo):not(.arc-emb-grid--wrap) {
    grid-template-columns: 1fr 374px !important; /* 360 + 6*2 padding + 1*2 border */
  }

  body:not(.arc-front):not(.arc-route-arm-noticias-list) .ar-main .arc-emb-portrait {
    width: 374px !important;
    max-width: 374px !important;
  }

  body:not(.arc-front):not(.arc-route-arm-noticias-list) .ar-main .arc-emb-portrait-frame {
    width: 374px !important;
    max-width: 374px !important;
  }

  body:not(.arc-front):not(.arc-route-arm-noticias-list) .ar-main .arc-emb-portrait-frame img {
    width: 360px !important;
    height: 255px !important;
    max-width: 360px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
  }

  /* Diagramas/esquemas horizontales (Presupuestos, calendarios): mostrar imagen completa. */
  body:not(.arc-front):not(.arc-route-arm-noticias-list) .ar-main .arc-emb-portrait--diagram .arc-emb-portrait-frame img {
    object-fit: contain !important;
  }
}

/* ==========================================================================
   Publicaciones Hermes – estilo moderno ARM para contenido tipo Boletín
   Inspirado en hermes.asambleamurcia.es: cabecera oficial, secciones,
   enlaces a PDF, pero con paleta granate ARM y tipografía moderna.
   ========================================================================== */

/* --- Contenedor principal del body del artículo --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) {
  font-family: Georgia, "Times New Roman", "Droid Serif", serif;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: #2d2d2d;
  background: #fff;
  padding: 2rem 2.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  max-width: 900px;
  margin: 0 auto;
}

/* --- Cabecera tipo boletín oficial (escudo + título + franja) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="text-align: center"] img {
  display: block;
  margin: 0 auto 1rem;
  max-height: 120px;
  width: auto;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="font-size: 50px"],
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="font-size: 30px"] {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0.02em;
  color: #1a1a2e;
}

/* Párrafos que Joomla trae con border-style inline: los aplanamos a texto
   corriente para que no se vea cada línea como una tarjeta pintada. */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="border-style: solid"] {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0.6em 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-transform: none;
  letter-spacing: normal;
}

/* Solo la primera franja (cabecera oficial del boletín) mantiene un
   acento visual sutil: subrayado inferior + tipografía institucional. */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="border-style: solid"]:first-of-type {
  border-bottom: 1px solid #e4dee0 !important;
  padding: 0 0 0.5em !important;
  margin: 0 0 1.2em !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* --- Enlaces PDF genéricos en publicaciones (NO .arc-hermes-pdf-link) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) a[href$=".pdf"]:not(.arc-hermes-pdf-link) {
  color: #8C2638;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) a[href$=".pdf"]:not(.arc-hermes-pdf-link):hover {
  color: #a01830;
}

/* --- Encabezados: secciones del boletín (h2) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h1 {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.75rem;
  color: #1a1a2e;
  margin: 2em 0 0.5em;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #8C2638;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h2 {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a2e;
  margin: 1.4em 0 0.4em;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h2 a {
  color: #8C2638 !important;
  text-decoration: none !important;
  font-size: inherit !important;
  border: none !important;
  padding: 0 !important;
  display: inline !important;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h2 a:hover {
  text-decoration: underline !important;
  background: none !important;
  color: #a01830 !important;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h2 a::before {
  content: none !important;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h3 {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #8C2638;
  margin: 1.5em 0 0.3em;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Cabecera unificada en rojo (solo rutas activadas por preprocess). */
.ar-header.ar-header--merged-red {
  background: #8f1f1f;
  border-bottom: 0;
}

.ar-header.ar-header--merged-red .ar-logo img,
.ar-header.ar-header--merged-red .ar-logo-col img {
  max-height: var(--ar-logo-height);
  height: var(--ar-logo-height);
  width: auto;
}

.ar-header.ar-header--merged-red .ar-nav>ul>li>a,
.ar-header.ar-header--merged-red .ar-header-inner nav>ul>li>a,
.ar-header.ar-header--merged-red .ar-menu-parent-label,
.ar-header.ar-header--merged-red .ar-btn-icon {
  color: #fff;
}

.ar-header.ar-header--merged-red .ar-nav>ul>li>a:hover,
.ar-header.ar-header--merged-red .ar-header-inner nav>ul>li>a:hover,
.ar-header.ar-header--merged-red .ar-menu-parent-label:hover,
.ar-header.ar-header--merged-red .ar-btn-icon:hover {
  color: #fff;
  opacity: 0.9;
}

.ar-header.ar-header--merged-red .ar-search-input {
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.ar-header.ar-header--merged-red .ar-search-input::placeholder {
  color: rgba(255, 255, 255, 0.85);
}

/* Barra única roja para publicaciones/legislaturas anteriores con logo. */
.ar-topbar.ar-topbar--merged {
  background: #8f1f1f;
}

.ar-topbar--merged .ar-topbar-inner {
  min-height: 46px;
  gap: 16px;
}

.ar-topbar--merged .ar-topbar-left {
  gap: 16px;
}

.ar-topbar-merged-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.ar-topbar-merged-logo img {
  display: block;
  height: var(--ar-topbar-merged-logo-height);
  width: auto;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h4 {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #555;
  margin: 1em 0 0.3em;
}

/* --- Tablas dentro de publicaciones --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 1.5em 0;
  font-size: 0.9375rem;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) th {
  background: #8C2638;
  color: #fff;
  font-weight: 600;
  padding: 0.65em 1em;
  text-align: left;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) td {
  border-bottom: 1px solid #e8e1e3;
  padding: 0.6em 1em;
  text-align: left;
  vertical-align: top;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) tr:nth-child(even) td {
  background: #faf8f9;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) tr:last-child td {
  border-bottom: none;
}

/* --- Enlaces generales --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) a {
  color: #8C2638;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color 0.2s, text-decoration-color 0.2s;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) a:hover,
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) a:focus {
  color: #a01830;
  text-decoration-color: #a01830;
}

/* --- Listas --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) ul,
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) ol {
  padding-left: 1.75em;
  margin: 0.75em 0;
}

body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) li {
  margin-bottom: 0.35em;
}

/* --- Blockquote --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) blockquote {
  border-left: 4px solid #8C2638;
  margin: 1.5em 0;
  padding: 1em 1.5em;
  background: linear-gradient(135deg, #faf8f8, #f5f0f1);
  color: #555;
  font-style: italic;
  border-radius: 0 6px 6px 0;
}

/* --- Imágenes (escudo, etc.) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/* --- Separadores --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) hr {
  border: none;
  border-top: 2px solid #e0d5d8;
  margin: 2em 0;
}

/* --- Iframe visor PDF (Google Docs embed del original) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) iframe {
  width: 100%;
  min-height: 650px;
  border: 1px solid #e0d5d8;
  border-radius: 6px;
  margin: 1.5em 0;
}

/* --- Párrafos class="western" (estilo migrado de Joomla) --- */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p.western {
  margin: 0.6em 0;
  text-align: justify;
}

/* Neutraliza estilos inline residuales del contenido migrado de Joomla
   (border-left granate, fondos, paddings) que convertían cada línea en
   una tarjeta aislada. Solo texto y separación normales. */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="border-left"],
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="border-right"],
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="background-color"],
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) p[style*="background:"]:not([style*="border-style: solid"]) {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0.6em 0 !important;
  border-radius: 0 !important;
}

/* ==========================================================================
   Publicaciones Hermes – Listado BOAR / DS (views-row)
   ========================================================================== */

body.arc-hermes-publicaciones .view-content,
body.arc-hermes-publicaciones .view-header {
  max-width: 900px;
  margin: 0 auto;
}

body.arc-hermes-publicaciones .view-content {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  overflow: hidden;
}

body.arc-hermes-publicaciones .views-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  padding: 0.9em 1.5em;
  border-bottom: 1px solid #f0eaec;
  transition: background 0.15s;
}

body.arc-hermes-publicaciones .views-row:last-child {
  border-bottom: none;
}

body.arc-hermes-publicaciones .views-row:hover {
  background: #fdf8f9;
}

body.arc-hermes-publicaciones .views-field-title {
  flex: 1;
  min-width: 0;
}

body.arc-hermes-publicaciones .views-field-title a {
  color: #8C2638;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9375rem;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  transition: color 0.15s;
}

body.arc-hermes-publicaciones .views-field-title a:hover {
  color: #a01830;
  text-decoration: underline;
}

body.arc-hermes-publicaciones .views-field-created {
  flex-shrink: 0;
  text-align: right;
  font-size: 0.8125rem;
  color: #888;
  font-family: "Segoe UI", Arial, sans-serif;
  white-space: nowrap;
}

body.arc-hermes-publicaciones .views-field-created .views-label {
  display: none;
}

/* --- Título de la vista --- */
body.arc-hermes-publicaciones .view .view-header h2,
body.arc-hermes-publicaciones h1.page-title,
body.arc-hermes-publicaciones .page-title {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.5rem;
  color: #1a1a2e;
  font-weight: 700;
  margin-bottom: 0.75em;
  padding-bottom: 0.4em;
  border-bottom: 3px solid #8C2638;
}

/* --- Paginador --- */
body.arc-hermes-publicaciones .pager {
  margin: 2em auto 1em;
  max-width: 900px;
  display: flex;
  justify-content: center;
  gap: 0.35em;
  flex-wrap: wrap;
  padding: 0;
}

body.arc-hermes-publicaciones .pager__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35em;
  list-style: none;
  padding: 0;
  margin: 0;
}

body.arc-hermes-publicaciones .pager__item {
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

body.arc-hermes-publicaciones .pager__item a,
body.arc-hermes-publicaciones .pager__item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 0.35em 0.7em;
  border-radius: 4px;
  font-size: 0.8125rem;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #8C2638;
  text-decoration: none;
  border: 1px solid #e0d5d8;
  background: #fff;
  transition: all 0.15s;
  line-height: 1;
  box-sizing: border-box;
}

body.arc-hermes-publicaciones .pager__item a:hover {
  background: #fdf8f9;
  border-color: #8C2638;
  color: #8C2638;
}

body.arc-hermes-publicaciones .pager__item.is-active > a,
body.arc-hermes-publicaciones .pager__item.is-active > span,
body.arc-hermes-publicaciones .pager__item--active a,
body.arc-hermes-publicaciones .pager__item--active span {
  background: #8C2638;
  color: #fff;
  border-color: #8C2638;
  font-weight: 600;
}

body.arc-hermes-publicaciones .pager__item--first a,
body.arc-hermes-publicaciones .pager__item--previous a,
body.arc-hermes-publicaciones .pager__item--next a,
body.arc-hermes-publicaciones .pager__item--last a {
  font-weight: 600;
  width: auto;
  padding: 0.35em 0.9em;
  white-space: nowrap;
}

/* Algunos estilos globales añaden caja extra al <li> o al <span> interno
   de Siguiente/Último. Forzamos una sola caja visible (la del <a>). */
body.arc-hermes-publicaciones .pager__item--first,
body.arc-hermes-publicaciones .pager__item--previous,
body.arc-hermes-publicaciones .pager__item--next,
body.arc-hermes-publicaciones .pager__item--last,
body.arc-hermes-publicaciones .pager__item--first > a > span[aria-hidden="true"],
body.arc-hermes-publicaciones .pager__item--previous > a > span[aria-hidden="true"],
body.arc-hermes-publicaciones .pager__item--next > a > span[aria-hidden="true"],
body.arc-hermes-publicaciones .pager__item--last > a > span[aria-hidden="true"] {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--first,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--previous,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--next,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--last {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--first > a,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--previous > a,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--next > a,
body.arc-hermes-publicaciones .arc-hermes-pager .pager__item--last > a {
  border: 1px solid #e0d5d8 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) {
    padding: 1.25rem 1rem;
    font-size: 1rem;
  }

  body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) h2 {
    font-size: 1rem;
    padding: 0;
  }

  body.arc-hermes-publicaciones .views-row {
    flex-direction: column;
    gap: 0.25em;
    padding: 0.75em 1em;
  }

  body.arc-hermes-publicaciones .views-field-created {
    text-align: left;
  }
}

/* ==========================================================================
   Diario de Sesiones – Bloque introductorio de portada
   ========================================================================== */

.arc-pub-ds-intro {
  max-width: 900px;
  margin: 0 auto 1.75rem;
  padding: 1.25rem 0 1rem;
  border-bottom: 1px solid #e8dee2;
}

.arc-pub-ds-intro__text {
  text-align: justify;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #2d2d3a;
  margin-bottom: 0.5rem;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.arc-pub-ds-intro__cite {
  text-align: right;
  font-size: 0.8125rem;
  color: #888;
  margin-top: 0.5rem;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   Publicaciones Hermes – Estilos del template genérico de nodo
   ========================================================================== */

body.arc-hermes-publicaciones .arc-generic-article {
  max-width: none;
  margin: 0;
  background: #fff;
  border: 1px solid #e5dde0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(26, 26, 46, 0.05);
}

body.arc-hermes-publicaciones .arc-generic-header {
  margin: 0;
  padding: 1.25rem 1.25rem 0.8rem;
  max-width: none;
}

body.arc-hermes-publicaciones .arc-generic-accent {
  width: 56px;
  height: 4px;
  background: var(--red, #8C2638);
  border-radius: 0;
  margin-bottom: 1.2rem;
}

body.arc-hermes-publicaciones .arc-generic-title {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.3rem;
  color: #1a1a2e;
  font-weight: 700;
  padding: 0;
  margin: 0.9rem 0 0.6rem;
}

body.arc-hermes-publicaciones .arc-generic-meta {
  padding: 0;
  font-size: 0.9rem;
  color: #888;
  font-family: "Segoe UI", Arial, sans-serif;
  min-height: 40px;
  padding: 0.5rem 0.85rem;
  border-radius: 6px;
}

body.arc-hermes-publicaciones .arc-generic-body-wrap {
  background: #fff;
  padding: 0 1.25rem 0.55rem;
  max-width: none;
  margin: 0;
  border-bottom: 20px solid white;
}

body.arc-hermes-publicaciones .arc-generic-footer-accent {
  width: 56px;
  height: 4px;
  background: var(--red, #8C2638);
  border-radius: 0;
  margin: 1.2rem 0 0;
}

body.arc-hermes-publicaciones .arc-generic-body {
  font-size: 0.95rem;
  line-height: 1.7;
}

/* Ocultar el enlace de texto suelto "(Descargar PDF original)" dejando solo el botón. */
body.arc-hermes-publicaciones .arc-generic-body p > a[href*="hermes"]:not(.arc-hermes-pdf-link) {
  display: none;
}
body.arc-hermes-publicaciones .arc-generic-body p:has(> a[href*="hermes"]:not(.arc-hermes-pdf-link)):not(:has(.arc-hermes-pdf-link)) {
  display: none;
}

body.arc-hermes-publicaciones .arc-article-footer.arc-generic-footer {
  display: none;
}

body.arc-hermes-publicaciones .arc-hermes-content > .view {
  margin: 0;
}

body.arc-hermes-publicaciones .arc-hermes-content .node__content > *:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   BOAR – diseño reforzado solo en /publicaciones/boletin-oficial y nodos BOAR
   (el body incluye además .arc-hermes-boar-page; Diario de Sesiones no la tiene)
   ========================================================================== */

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-article {
  border-radius: 12px;
  border: 1px solid #e0d6db;
  box-shadow: 0 6px 28px rgba(26, 26, 46, 0.09);
  background: linear-gradient(180deg, #fffbfc 0%, #fff 12%);
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-header {
  padding: 1.5rem 1.5rem 1rem;
  background: linear-gradient(135deg, #faf6f7 0%, #fff 55%);
  border-bottom: 1px solid #f0e8eb;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-accent {
  width: 64px;
  height: 5px;
  border-radius: 2px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-title {
  font-size: 1.45rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #0f172a;
  margin-top: 0.75rem;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.5rem 1rem;
  background: #f8f4f6;
  border: 1px solid #eadfe3;
  border-radius: 999px;
  font-size: 0.875rem;
  color: #475569;
  min-height: 0;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-meta svg {
  flex-shrink: 0;
  opacity: 0.75;
}

/* Contenedor del botón «Descargar PDF» en fichas BOAR/DS.
   Se muestra justo bajo la fecha (.arc-generic-meta) dentro
   de la cabecera, antes del cuerpo del documento. */
.arc-pub-pdf-actions {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

body.arc-hermes-publicaciones .arc-pub-pdf-actions {
  margin-top: 1rem;
  padding-bottom: 0.25rem;
}

/* Cabecera oficial Hermes (BOAR y Dosier de Documentación). */
body.arc-hermes-publicaciones .arc-pub-official-header,
body.arc-hermes-publicaciones .arc-boar-official-header {
  margin: 0 0 1.25rem;
  padding: 1.35rem 1.25rem 1.1rem;
  text-align: center;
  background: #fff;
  border: 1px solid #e8dde1;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(26, 26, 46, 0.05);
}

body.arc-hermes-publicaciones .arc-pub-official-header__brand,
body.arc-hermes-publicaciones .arc-boar-official-header__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

body.arc-hermes-publicaciones .arc-pub-official-header__logo,
body.arc-hermes-publicaciones .arc-boar-official-header__logo {
  width: 72px;
  height: auto;
  margin-bottom: 0.35rem;
}

body.arc-hermes-publicaciones .arc-pub-official-header__institution,
body.arc-hermes-publicaciones .arc-boar-official-header__institution {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #334155;
}

body.arc-hermes-publicaciones .arc-pub-official-header__title,
body.arc-hermes-publicaciones .arc-pub-official-header__bulletin,
body.arc-hermes-publicaciones .arc-boar-official-header__bulletin {
  margin: 0;
  font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #0f172a;
}

body.arc-hermes-publicaciones .arc-pub-official-header__bar,
body.arc-hermes-publicaciones .arc-boar-official-header__bar {
  margin-top: 1rem;
  padding: 0.65rem 0.85rem;
  border-top: 2px solid #1a1a2e;
  border-bottom: 2px solid #1a1a2e;
}

body.arc-hermes-publicaciones .arc-pub-official-header__bar-line,
body.arc-hermes-publicaciones .arc-boar-official-header__bar-line {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1e293b;
  line-height: 1.45;
}

@media (min-width: 640px) {
  body.arc-hermes-publicaciones .arc-pub-official-header__bar-line,
  body.arc-hermes-publicaciones .arc-boar-official-header__bar-line {
    font-size: 0.82rem;
  }
}

/* Barra en tres columnas (NÚMERO | LEGISLATURA | FECHA). */
body.arc-hermes-publicaciones .arc-pub-official-header__bar-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
  text-align: center;
}

@media (min-width: 520px) {
  body.arc-hermes-publicaciones .arc-pub-official-header__bar-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem;
    text-align: center;
  }

  body.arc-hermes-publicaciones .arc-pub-official-header__bar-item--num {
    text-align: left;
  }

  body.arc-hermes-publicaciones .arc-pub-official-header__bar-item--date {
    text-align: right;
  }
}

body.arc-hermes-publicaciones .arc-pub-official-header__bar-item {
  display: block;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.45;
}

/* Dosier: título y barra en granate (paridad captura Hermes). */
body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__title,
body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__title-link {
  color: #800000;
  text-decoration: none;
}

body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__title-link:hover,
body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__title-link:focus {
  text-decoration: underline;
  color: #5c0000;
}

body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__bar {
  border-top-color: #800000;
  border-bottom-color: #800000;
}

body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__bar-item,
body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-pub-official-header--dd .arc-pub-official-header__bar-line {
  color: #800000;
}

body.arc-hermes-dd-page.arc-hermes-publicaciones .arc-generic-body-wrap,
body.arc-hermes-ds-page.arc-hermes-publicaciones .arc-generic-body-wrap,
body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-body-wrap {
  padding: 1rem 1.5rem 1.5rem;
  border-bottom: 24px solid #fff;
  background: #fff;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-body-wrap::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 0 1rem;
  background: linear-gradient(90deg, transparent, #dfd1d7 16%, #dfd1d7 84%, transparent);
}

body.arc-hermes-boar-page.arc-hermes-publicaciones .arc-generic-body {
  position: relative;
  background: #fff;
  border: 1px solid #eadfe3;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(26, 26, 46, 0.06);
  padding: 1.25rem 1.35rem 1.35rem;
  font-family: Georgia, "Iowan Old Style", "Times New Roman", Times, serif;
  font-size: 0.95rem;
  line-height: 1.62;
  color: #1e293b;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  :is(p, li) {
  margin-top: 0.38em;
  margin-bottom: 0.38em;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h1,
body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h2,
body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h3 {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: #0f172a;
  font-weight: 700;
  margin-top: 1.05em;
  margin-bottom: 0.35em;
  letter-spacing: 0.01em;
  line-height: 1.26;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h1 {
  font-size: 1rem;
  text-transform: uppercase;
  border-left: 4px solid #8C2638;
  padding-left: 0.55rem;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h2 {
  font-size: 0.98rem;
  border-bottom: 1px solid #e7dfe3;
  padding-bottom: 0.28em;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  h3 {
  font-size: 0.92rem;
  color: #334155;
}

/* Línea cabecera del boletín dentro del cuerpo: más discreta y compacta. */
body.arc-hermes-boar-page.arc-hermes-publicaciones
  .arc-generic-body
  > p:first-child {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.78rem;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #475569;
  margin: 0 0 0.9rem;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  ul,
body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  ol {
  padding-left: 1.05rem;
  margin: 0.52em 0 0.62em;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  a {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}

body.arc-hermes-boar-page.arc-hermes-publicaciones
  :is(.field--name-body, .arc-generic-body)
  hr {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d4c4ca 15%, #d4c4ca 85%, transparent);
  margin: 1.15em 0;
}

/* Listado de vistas BOAR/DS */
body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) {
  width: 100%;
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .view-header {
  margin-bottom: 1.25rem;
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .view-header h2,
body.arc-hermes-publicaciones
  :is(.view-publicaciones-boar, .view-publicaciones-ds)
  h1.page-title,
body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .page-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  border-bottom: none;
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .arc-pub-filters {
  background: #faf6f7;
  border: 1px solid #e8dee2;
  border-radius: 10px;
  padding: 1rem 1.1rem 1.1rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 12px rgba(26, 26, 46, 0.05);
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .arc-pub-filters__actions button {
  border-radius: 8px;
  font-weight: 600;
  padding: 0.45em 1.1em;
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .views-row {
  border-radius: 10px;
  border: 1px solid #e8e0e4;
  padding: 1rem 1.2rem;
  margin-bottom: 0.75rem;
  background: #fff;
  box-shadow: 0 2px 10px rgba(26, 26, 46, 0.04);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

body.arc-hermes-publicaciones :is(.view-publicaciones-boar, .view-publicaciones-ds) .views-row:hover {
  border-color: #d4c4ca;
  box-shadow: 0 6px 20px rgba(26, 26, 46, 0.08);
  transform: translateY(-1px);
}

body.arc-hermes-publicaciones
  :is(.view-publicaciones-boar, .view-publicaciones-ds)
  .views-field-title
  a {
  font-weight: 600;
  color: #0f172a;
}

body.arc-hermes-publicaciones
  :is(.view-publicaciones-boar, .view-publicaciones-ds)
  .views-field-title
  a:hover {
  color: #8C2638;
}

body.arc-hermes-publicaciones
  :is(.view-publicaciones-boar, .view-publicaciones-ds)
  .views-field-created {
  font-size: 0.85rem;
  color: #64748b;
}

body.arc-hermes-publicaciones
  :is(.view-publicaciones-boar, .view-publicaciones-ds)
  .arc-hermes-pager-info {
  margin-top: 1.25rem;
  color: #64748b;
}

/* En las vistas con formato tabla (actual en BOAR/DS), ocupar todo el ancho
   del contenedor para evitar hueco visual en la derecha. */
/* La plantilla custom de Views puede no imprimir wrapper .view-publicaciones-*.
   Por eso apuntamos al contenedor real donde siempre cae la tabla. */
body.arc-hermes-publicaciones .arc-hermes-content table.cols-2 {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
}

body.arc-hermes-publicaciones .arc-hermes-content table.cols-2 th:first-child,
body.arc-hermes-publicaciones .arc-hermes-content table.cols-2 td.views-field-title {
  width: 78%;
}

body.arc-hermes-publicaciones .arc-hermes-content table.cols-2 th:last-child,
body.arc-hermes-publicaciones .arc-hermes-content table.cols-2 td.views-field-created {
  width: 22%;
}

@media (max-width: 768px) {
  body.arc-hermes-publicaciones .arc-generic-header,
  body.arc-hermes-publicaciones .arc-generic-body-wrap {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  body.arc-hermes-publicaciones .arc-generic-body {
    padding: 1.2rem 1.1rem 1.3rem;
  }

  body.arc-hermes-publicaciones .arc-generic-title {
    font-size: 1.2rem;
  }
}

/* ==========================================================================
   Layout Hermes – sidebar + contenido (2 columnas)
   ========================================================================== */

.arc-hermes-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  padding-bottom: 3em;
  gap: 1.5em;
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  align-items: start;
}

.arc-hermes-sidebar {
  position: sticky;
  top: 1em;
  padding-bottom: 3em;
  max-height: calc(100vh - 2em);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #d5c5c9 transparent;
}

.arc-hermes-sidebar-section {
  margin-bottom: 1.25em;
}

.arc-hermes-sidebar-title {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1a1a2e;
  margin: 0 0 0.4em;
  padding: 0.5em 0.75em;
  background: #f0eaec;
  border-left: 3px solid #8C2638;
  border-radius: 0 4px 4px 0;
}

.arc-hermes-sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.arc-hermes-sidebar-menu li {
  margin: 0;
  padding: 0;
}

.arc-hermes-sidebar-menu a {
  display: block;
  padding: 0.3em 0.75em 0.3em 1em;
  font-size: 0.8125rem;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #333;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all 0.15s;
  line-height: 1.4;
}

.arc-hermes-sidebar-menu a::before {
  content: "» ";
  color: #999;
  font-size: 0.75em;
}

.arc-hermes-sidebar-menu a:hover {
  color: #8C2638;
  background: #fdf8f9;
  border-left-color: #8C2638;
}

.arc-hermes-sidebar-menu li.has-children > a {
  cursor: pointer;
  font-weight: 600;
  position: relative;
  padding-right: 1.8em;
}

.arc-hermes-sidebar-menu li.has-children > a::after {
  content: "\25B8";
  position: absolute;
  right: 0.6em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.7em;
  color: #999;
  transition: transform 0.2s;
}

.arc-hermes-sidebar-menu li.has-children.open > a::after {
  transform: translateY(-50%) rotate(90deg);
  color: #8C2638;
}

.arc-hermes-sidebar-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.arc-hermes-sidebar-menu li.has-children.open > .arc-hermes-sidebar-submenu {
  max-height: 40em;
}

.arc-hermes-sidebar-submenu li {
  margin: 0;
  padding: 0;
}

.arc-hermes-sidebar-submenu a {
  display: block;
  padding: 0.2em 0.75em 0.2em 1.8em;
  font-size: 0.75rem;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #555;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all 0.15s;
  line-height: 1.35;
}

.arc-hermes-sidebar-submenu a::before {
  content: "\2013 ";
  color: #bbb;
  font-size: 0.7em;
  margin-right: 0.2em;
}

.arc-hermes-sidebar-submenu a:hover {
  color: #8C2638;
  background: #fdf8f9;
  border-left-color: #b8384e;
}

.arc-hermes-sidebar-submenu .arc-hermes-sidebar-submenu a {
  padding-left: 2.6em;
  font-size: 0.7rem;
}

.arc-hermes-sidebar-submenu .arc-hermes-sidebar-submenu a::before {
  content: "\2022 ";
  color: #ccc;
  font-size: 0.65em;
}

/* Niveles 4 y 5: la macro Twig recursiva permite profundidades arbitrarias.
   Mantenemos la indentación coherente para que el árbol siga siendo legible. */
.arc-hermes-sidebar-submenu
  .arc-hermes-sidebar-submenu
  .arc-hermes-sidebar-submenu a {
  padding-left: 3.4em;
  font-size: 0.68rem;
}

.arc-hermes-sidebar-submenu
  .arc-hermes-sidebar-submenu
  .arc-hermes-sidebar-submenu
  .arc-hermes-sidebar-submenu a {
  padding-left: 4.2em;
  font-size: 0.66rem;
}

/* En cualquier nivel, los <li> con hijos se siguen abriendo/cerrando
   correctamente cuando los enlaces dentro de submenús anidados los marcan
   con .has-children. */
.arc-hermes-sidebar-submenu li.has-children > a::after {
  content: "\25BE";
  color: #b8384e;
  font-size: 0.7em;
  margin-left: 0.3em;
}

.arc-hermes-sidebar-submenu li.has-children.open > a::after {
  content: "\25B4";
}

.arc-hermes-content {
  min-width: 0;
}

.arc-hermes-sidebar-section--no-title {
  margin-top: 0.5em;
  padding-top: 0.75em;
  border-top: 1px solid #e0d5d8;
}

/* ── Acordeón sidebar Hermes ──
   Controlado por clase .is-open sobre la section y aria-expanded sobre el toggle.
   - Escritorio: panel SIEMPRE visible (se fuerza por CSS).
   - Móvil: panel oculto salvo si la sección tiene .is-open (JS toggle). */
.arc-hermes-sidebar-section > .arc-hermes-sidebar-title.arc-hermes-sidebar-title-toggle {
  appearance: none;
  -webkit-appearance: none;
  background: #f0eaec;
  border: none;
  border-left: 3px solid #8C2638;
  border-radius: 0 4px 4px 0;
  color: #1a1a2e;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 0 0.4em;
  padding: 0.5em 0.75em;
  text-align: left;
  text-transform: uppercase;
  width: 100%;
  user-select: none;
}

.arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle .arc-hermes-sidebar-title-text {
  flex: 1 1 auto;
  min-width: 0;
}

.arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle::after {
  content: "\25B8";
  font-size: 0.8em;
  color: #8C2638;
  transition: transform 0.2s ease;
  flex: 0 0 auto;
  margin-left: 0.5em;
}

.arc-hermes-sidebar-section.is-open > .arc-hermes-sidebar-title-toggle::after {
  transform: rotate(90deg);
}

.arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle:hover {
  background: #e8dde0;
}

.arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle:focus-visible {
  outline: 2px solid #8C2638;
  outline-offset: 2px;
}

/* Escritorio: todo siempre visible, sin depender del JS. */
@media (min-width: 769px) {
  .arc-hermes-sidebar-section > .arc-hermes-sidebar-panel {
    display: block !important;
  }

  .arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle::after {
    transform: rotate(90deg);
  }

  .arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle {
    cursor: default;
    pointer-events: none;
  }
}

/* Móvil: panel cerrado por defecto, abierto al añadir .is-open. */
@media (max-width: 768px) {
  .arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle {
    pointer-events: auto !important;
    cursor: pointer;
  }

  .arc-hermes-sidebar-section > .arc-hermes-sidebar-panel {
    display: none;
  }

  .arc-hermes-sidebar-section.is-open > .arc-hermes-sidebar-panel {
    display: block;
  }

  .arc-hermes-sidebar-section > .arc-hermes-sidebar-title-toggle[aria-expanded="true"] + .arc-hermes-sidebar-panel {
    display: block;
  }
}

/* Shortcode Joomla → cabecera formateada.
   Estilo sobrio para contenido largo tipo boletín/diario. */
.arc-hermes-cabecera {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d2d2d;
  background: transparent;
  padding: 0.2em 0;
  border: none;
  border-radius: 0;
  margin: 1.1em 0 .35em;
  letter-spacing: 0;
  line-height: 1.5;
}

/* Cabecera principal del boletín (primera línea: BOAR — fecha — nº — Legislatura).
   Se reconoce por ser un párrafo con border-style inline de Joomla. */
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) > p:first-of-type.arc-hermes-cabecera,
body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) .arc-hermes-cabecera--main {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a1a2e;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid #e4dee0;
  padding-bottom: 0.5em;
  margin-top: 0;
  margin-bottom: 1.2em;
}

/* Secciones principales tipo "SECCIÓN A, TEXTOS APROBADOS". */
.arc-hermes-cabecera--section {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a2e;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-top: 1.6em;
  margin-bottom: 0.4em;
}

/* Subsecciones numeradas: "2. Mociones y proposiciones no de ley". */
.arc-hermes-cabecera--sub {
  color: #5c2432;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 0.3em;
}

/* Shortcode Joomla → botón PDF */
.arc-hermes-pdf-wrapper {
  text-align: center;
  margin: 1.5em 0;
}

.arc-hermes-pdf-preview {
  margin-top: 1rem;
  text-align: left;
  position: relative;
}

.arc-hermes-pdf-iframe {
  display: block;
  width: 100%;
  height: 90vh;
  min-height: 600px;
  max-height: 1200px;
  border: 1px solid #d5c6ca;
  border-radius: 4px;
  background: #f9f6f7;
}

.arc-hermes-pdf-fallback {
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
  color: #5c5c66;
}

.arc-hermes-pdf-fallback a {
  color: #8C2638;
  font-weight: 600;
}

.arc-hermes-pdf-loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 90vh;
  min-height: 600px;
  max-height: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: #f9f6f7;
  border: 1px solid #d5c6ca;
  border-radius: 4px;
  z-index: 2;
  color: #5c2432;
  font-size: 0.92rem;
  font-weight: 600;
  pointer-events: none;
  animation: arcPdfFadeOut 0.5s ease forwards;
  animation-delay: 3s;
}

.arc-hermes-pdf-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #dfc8cf;
  border-top-color: #8C2638;
  border-radius: 50%;
  animation: arcHermesPdfSpin 0.8s linear infinite;
}

.arc-hermes-pdf-preview:not(.is-loading) .arc-hermes-pdf-loading {
  display: none;
}

@media (max-width: 500px) {
  body.arc-hermes-publicaciones .ar-main .ar-container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  body.arc-hermes-publicaciones .arc-generic-article,
  body.arc-hermes-publicaciones .arc-hermes-content {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  body.arc-hermes-publicaciones .arc-generic-header {
    padding: 1rem 0.85rem 0.65rem;
  }

  body.arc-hermes-publicaciones .arc-generic-body-wrap {
    padding: 0 0.75rem 0.5rem;
  }

  body.arc-hermes-publicaciones .arc-generic-body {
    overflow-x: hidden;
  }

  .arc-hermes-pdf-wrapper {
    margin: 1rem 0;
  }

  .arc-hermes-pdf-preview {
    margin-top: 0.75rem;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border-radius: 4px;
  }

  .arc-hermes-pdf-iframe {
    height: 70vh;
    min-height: 0;
    max-height: 78vh;
    border-radius: 4px;
  }

  .arc-hermes-pdf-loading {
    height: 70vh;
    min-height: 0;
    max-height: 78vh;
    font-size: 0.85rem;
    padding: 0 0.75rem;
    text-align: center;
  }

  /* Override del estilo genérico de iframe en Hermes para evitar roturas. */
  body.arc-hermes-publicaciones :is(.field--name-body, .arc-generic-body) iframe.arc-hermes-pdf-iframe {
    min-height: 0;
    margin: 0.75em 0 0;
  }
}

@media (max-width: 420px) {
  .arc-hermes-pdf-iframe,
  .arc-hermes-pdf-loading {
    height: 66vh;
    max-height: 72vh;
  }
}

@keyframes arcHermesPdfSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes arcPdfFadeOut {
  0%   { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

.arc-hermes-pdf-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.75em 1.8em;
  border: 2px solid #8C2638;
  border-radius: 6px;
  color: #8C2638;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: all 0.2s ease;
  background: #fff;
}

.arc-hermes-pdf-link:hover {
  background: #8C2638;
  color: #fff;
  box-shadow: 0 2px 8px rgba(109, 15, 36, 0.25);
  transform: translateY(-1px);
}

/* Ajuste exclusivo en ficha Hermes (columna derecha). */
body.arc-hermes-publicaciones .arc-generic-body-wrap .arc-hermes-pdf-link:hover,
body.arc-hermes-publicaciones .arc-generic-body-wrap .arc-hermes-pdf-link:focus-visible {
  background: #fdf7f9;
  color: #8C2638;
  border-color: #8b1a34;
  box-shadow: 0 2px 10px rgba(109, 15, 36, 0.12);
  transform: none;
  text-decoration: none;
}

.arc-hermes-pager-info {
  text-align: center;
  font-size: 0.8125rem;
  color: #888;
  margin: 0.5em 0 1.5em;
  font-family: "Segoe UI", Arial, sans-serif;
}

@media (max-width: 1000px) {
  .arc-hermes-layout {
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .arc-hermes-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
    width: 100%;
    min-width: 0;
    padding-bottom: 1rem;
  }

  .arc-hermes-content {
    width: 100%;
    min-width: 0;
  }

  .arc-hermes-pdf-iframe {
    height: 78vh;
    min-height: 520px;
    max-height: 1000px;
  }

  .arc-hermes-pdf-loading {
    height: 78vh;
    min-height: 520px;
    max-height: 1000px;
  }
}

@media (max-width: 768px) {
  .arc-hermes-layout {
    grid-template-columns: 1fr;
    gap: 1em;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .arc-hermes-sidebar {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    max-height: none;
    overflow-y: visible;
    width: 100%;
    min-width: 0;
  }

  .arc-hermes-sidebar-section {
    flex: 1 1 100%;
    margin-bottom: 0.4em;
    min-width: 0;
  }

  .arc-hermes-content {
    width: 100%;
    min-width: 0;
  }

  .arc-hermes-sidebar-menu a,
  .arc-hermes-sidebar-submenu a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Acordeón en móvil: cada sección apilada, summary cómodo al toque,
     panel oculto cuando <details> está cerrado y visible cuando [open]. */
  details.arc-hermes-sidebar-section > summary.arc-hermes-sidebar-title {
    padding: 0.7em 0.85em;
    font-size: 0.9rem;
    margin: 0;
    border-radius: 4px;
  }

  details.arc-hermes-sidebar-section > .arc-hermes-sidebar-panel {
    padding: 0.4em 0 0.6em;
  }
}

/* ---- Legacy asistencias / organigrama convertidos a body nativo ---- */
.page-node-type-contenido-externo .arc-generic-body table {
  border-collapse: collapse;
  width: auto;
  max-width: 100%;
  margin: 1rem auto;
  font-size: 0.95rem;
}

.page-node-type-contenido-externo .arc-generic-body th,
.page-node-type-contenido-externo .arc-generic-body td {
  border: 1px solid #1f1f1f;
  padding: 0.3rem 0.45rem;
  line-height: 1.2;
  vertical-align: top;
}

.page-node-type-contenido-externo .arc-generic-body th {
  font-weight: 700;
  background: #f3f3f3;
}

.page-node-type-contenido-externo .arc-generic-body p {
  margin: 0.85rem 0;
}

/* Organigrama: reconstruye aspecto de bloques/hojas del original. */
.page-node-type-contenido-externo .arc-generic-body #organos {
  max-width: 1060px;
  margin: 0 auto;
}

.page-node-type-contenido-externo .arc-generic-body #organos > .contenedor {
  border: 1px solid #b8b8b8;
  background: #f7f7f7;
  padding: 1rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos #rectores {
  border: 1px solid #9a9a9a;
  background: #f1f1f1;
  padding: 0.8rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos #no_rectores {
  border: 1px solid #b98f5a;
  background: #e6c79d;
  padding: 0.8rem;
  margin-top: 0.8rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos #comisiones {
  border: 1px solid #a6a075;
  background: #ece4b2;
  padding: 0.8rem;
  margin-top: 0.8rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos .hoja {
  border: 1px solid #8b7a67;
  background: #eadac7;
  padding: 0.6rem 0.7rem;
  margin: 0.4rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos #rectores > .hoja,
.page-node-type-contenido-externo .arc-generic-body #organos #no_rectores > .hoja {
  display: inline-block;
  width: calc(33.33% - 0.8rem);
  min-width: 250px;
  vertical-align: top;
}

.page-node-type-contenido-externo .arc-generic-body #organos h1,
.page-node-type-contenido-externo .arc-generic-body #organos h2,
.page-node-type-contenido-externo .arc-generic-body #organos h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}

.page-node-type-contenido-externo .arc-generic-body #organos ul {
  margin: 0.4rem 0 0;
  padding-left: 1.1rem;
}

/* Fallback real: en este proyecto no siempre existe page-node-type-* en body.
   Forzamos por nid para las páginas migradas de asistencias/organigrama. */
body.page-node-493030 .arc-generic-body table,
body.page-node-493031 .arc-generic-body table,
body.page-node-493034 .arc-generic-body table,
body.page-node-493035 .arc-generic-body table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 1rem auto !important;
  font-size: 0.95rem !important;
  display: table !important;
}

body.page-node-493030 .arc-generic-body thead,
body.page-node-493031 .arc-generic-body thead,
body.page-node-493034 .arc-generic-body thead,
body.page-node-493035 .arc-generic-body thead {
  display: table-header-group !important;
}

body.page-node-493030 .arc-generic-body tbody,
body.page-node-493031 .arc-generic-body tbody,
body.page-node-493034 .arc-generic-body tbody,
body.page-node-493035 .arc-generic-body tbody {
  display: table-row-group !important;
}

body.page-node-493030 .arc-generic-body tr,
body.page-node-493031 .arc-generic-body tr,
body.page-node-493034 .arc-generic-body tr,
body.page-node-493035 .arc-generic-body tr {
  display: table-row !important;
}

body.page-node-493030 .arc-generic-body th,
body.page-node-493031 .arc-generic-body th,
body.page-node-493034 .arc-generic-body th,
body.page-node-493035 .arc-generic-body th,
body.page-node-493030 .arc-generic-body td,
body.page-node-493031 .arc-generic-body td,
body.page-node-493034 .arc-generic-body td,
body.page-node-493035 .arc-generic-body td {
  display: table-cell !important;
  border: 1px solid #1f1f1f !important;
  padding: 0.3rem 0.45rem !important;
  line-height: 1.2 !important;
  vertical-align: top !important;
}

body.page-node-493030 .arc-generic-body th,
body.page-node-493031 .arc-generic-body th,
body.page-node-493034 .arc-generic-body th,
body.page-node-493035 .arc-generic-body th {
  font-weight: 700 !important;
  background: #f3f3f3 !important;
}

/* Organigrama por nid para clavar el aspecto de bloques. */
body.page-node-493033 .arc-generic-body #organos {
  max-width: 1060px;
  margin: 0 auto;
}

body.page-node-493033 .arc-generic-body #organos > .contenedor {
  border: 1px solid #b8b8b8;
  background: #f7f7f7;
  padding: 1rem;
}

body.page-node-493033 .arc-generic-body #organos #rectores {
  border: 1px solid #9a9a9a;
  background: #f1f1f1;
  padding: 0.8rem;
}

body.page-node-493033 .arc-generic-body #organos #no_rectores {
  border: 1px solid #b98f5a;
  background: #e6c79d;
  padding: 0.8rem;
  margin-top: 0.8rem;
}

body.page-node-493033 .arc-generic-body #organos #comisiones {
  border: 1px solid #a6a075;
  background: #ece4b2;
  padding: 0.8rem;
  margin-top: 0.8rem;
}

body.page-node-493033 .arc-generic-body #organos .hoja {
  border: 1px solid #8b7a67;
  background: #eadac7;
  padding: 0.6rem 0.7rem;
  margin: 0.4rem;
}

body.page-node-493033 .arc-generic-body #organos #rectores > .hoja,
body.page-node-493033 .arc-generic-body #organos #no_rectores > .hoja {
  display: inline-block;
  width: calc(33.33% - 0.8rem);
  min-width: 250px;
  vertical-align: top;
}

/* ════════════════════════════════════════════════
   SESIONES PARLAMENTARIAS: enlaces multimedia migrados
   (los <a> originales venían envueltos en glyphicons que no se
   cargan; aquí los hacemos visibles con icono SVG y etiqueta)
   ════════════════════════════════════════════════ */
/* Botones de compartir reescritos (sustituyen los iconos rotos del tema D7). */
.arc-share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.75rem 0 .5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #eadfe2;
}

.arc-share__label {
  font-weight: 700;
  color: var(--gray-700, #374151);
  margin-right: .25rem;
}

.arc-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--red, #8c2638);
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .15s ease, background .2s ease;
}

.arc-share__btn:hover,
.arc-share__btn:focus-visible {
  transform: translateY(-2px);
  background: #6f1d2c;
}

.arc-share__btn--fb { background: #1877f2; }
.arc-share__btn--fb:hover { background: #0d65d9; }
.arc-share__btn--ig { background: #ac2bac; }
.arc-share__btn--ig:hover { background: #8e248e; }
.arc-share__btn--yt { background: #ff0000; }
.arc-share__btn--yt:hover { background: #cc0000; }

.arc-session-media {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .1rem .55rem;
  margin: 0 .25rem;
  border-radius: 999px;
  background: rgba(140, 38, 56, .08);
  color: var(--red) !important;
  font-size: .85em;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  vertical-align: middle;
  transition: background var(--transition), color var(--transition);
}

.arc-session-media:hover,
.arc-session-media:focus-visible {
  background: var(--red);
  color: #fff !important;
}

.arc-session-media::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.arc-session-media--video::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4h12a2 2 0 0 1 2 2v3l4-2v10l-4-2v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4h12a2 2 0 0 1 2 2v3l4-2v10l-4-2v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/></svg>");
}

.arc-session-media--audio::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 13a9 9 0 1 1 18 0v6a2 2 0 0 1-2 2h-2v-7h3v-1a8 8 0 1 0-16 0v1h3v7H5a2 2 0 0 1-2-2v-6z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 13a9 9 0 1 1 18 0v6a2 2 0 0 1-2 2h-2v-7h3v-1a8 8 0 1 0-16 0v1h3v7H5a2 2 0 0 1-2-2v-6z'/></svg>");
}

/* CTA fallback cuando no hay enlace ni vídeo embebido. */
.arc-session-video-link {
  margin-top: 1.5rem;
}

.arc-session-video-link a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1rem;
  border-radius: 8px;
  background: var(--red);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
}

.arc-session-video-link a:hover {
  background: var(--red-dark);
}

/* Sesiones: espacio entre la caja de fecha y «ORDEN DEL DÍA» (no respecto al título). */
.arc-generic-article.arc-session-parlamentaria .arc-generic-meta {
  margin-bottom: 1.5rem;
}

/* Ficha de sesión: card blanco (sin bordes redondeados; paridad visitas/galería). */
.arc-generic-article.arc-session-parlamentaria {
  box-sizing: border-box;
  max-width: 1180px;
  margin: 0 auto 2.25rem;
  padding: 2.25rem 2.5rem 0;
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.arc-generic-article.arc-session-parlamentaria .arc-generic-header {
  max-width: none;
  padding: 0;
}

.arc-generic-article.arc-session-parlamentaria .arc-generic-body-wrap {
  max-width: none;
  padding: 1.75rem 0 0;
}

/* Línea roja inferior dentro del bloque blanco, con aire respecto al borde. */
.arc-generic-article.arc-session-parlamentaria .arc-generic-footer-accent {
  margin: 0;
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}

@media (max-width: 899px) {
  .arc-generic-article.arc-session-parlamentaria {
    padding: 1.5rem 1.25rem 0;
  }

  .arc-generic-article.arc-session-parlamentaria .arc-generic-footer-accent {
    padding-bottom: 2rem;
  }
}

/* ════════════════════════════════════════════════
   NOS HAN VISITADO: listado de galerías /visitas
   ════════════════════════════════════════════════ */
.arc-visitas-list {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.arc-visitas-list > li,
.arc-visitas-list ul > li {
  border-bottom: 1px solid rgba(139, 21, 56, 0.1);
  padding: 0.75rem 0;
  text-align: left;
  hyphens: manual;
  -webkit-hyphens: manual;
  line-height: 1.45;
}

.arc-visitas-list > li:last-child,
.arc-visitas-list ul > li:last-child {
  border-bottom: none;
}

.arc-visitas-list a {
  color: var(--red);
  text-decoration: none;
  font-family: var(--font);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: normal;
}

.arc-visitas-list strong {
  display: block;
  font-weight: 600;
  font-family: var(--font);
}

.arc-visitas-list a:hover,
.arc-visitas-list a:focus-visible {
  text-decoration: underline;
}

.arc-visitas-date {
  display: block;
  font-size: 0.88rem;
  color: #666;
  margin-top: 0.25rem;
}

.arc-visitas-pager {
  margin-top: 1.25rem;
}

.arc-visitas-exposed,
.view-id-visitas .view-filters {
  margin: 0 0 1.25rem;
  padding: 1rem 1.15rem;
  background: rgba(139, 21, 56, 0.04);
  border: 1px solid rgba(139, 21, 56, 0.14);
  border-radius: 8px;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.arc-visitas-exposed form,
.view-id-visitas .view-filters form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem 1.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.arc-visitas-exposed .form-item,
.view-id-visitas .view-filters .form-item {
  margin: 0;
  flex: 1 1 220px;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.arc-visitas-exposed .js-form-type-date,
.view-id-visitas .view-filters .js-form-type-date {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.arc-visitas-fecha-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.arc-visitas-exposed label,
.view-id-visitas .view-filters label {
  display: block;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--red, #8b1538);
  margin: 0 0 0.35rem;
}

.arc-visitas-exposed input.form-text,
.arc-visitas-exposed input[type="date"],
.arc-visitas-exposed .arc-visitas-fecha-input,
.view-id-visitas .view-filters input.form-text,
.view-id-visitas .view-filters input[type="date"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid rgba(139, 21, 56, 0.28);
  border-radius: 6px;
  padding: 0.45rem 0.65rem;
  font-size: 0.95rem;
  line-height: 1.25;
  color: var(--text, #18181f);
  -webkit-text-fill-color: var(--text, #18181f);
  background: #fff;
  box-sizing: border-box;
}

.arc-visitas-exposed input[type="date"],
.arc-visitas-exposed .arc-visitas-fecha-input,
.view-id-visitas .view-filters input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  height: 2.75rem;
  margin: 0;
  padding: 0 2.25rem 0 0.65rem;
  line-height: 1.25;
}

.arc-visitas-exposed input[type="date"]::-webkit-date-and-time-value,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-date-and-time-value,
.view-id-visitas .view-filters input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
  line-height: 1.25;
  min-height: 1.25em;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  height: 100%;
  color: var(--text, #18181f);
  -webkit-text-fill-color: currentColor;
}

.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit {
  padding: 0;
  margin: 0;
  line-height: 1.25;
  color: var(--text, #18181f);
  -webkit-text-fill-color: currentColor;
}

.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit-fields-wrapper,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
  margin: 0;
  color: var(--text, #18181f);
  -webkit-text-fill-color: currentColor;
}

.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit-year-field,
.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit-month-field,
.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit-day-field,
.arc-visitas-exposed input[type="date"]::-webkit-datetime-edit-text,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit-year-field,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit-month-field,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit-day-field,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-datetime-edit-text,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit-year-field,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit-month-field,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit-day-field,
.view-id-visitas .view-filters input[type="date"]::-webkit-datetime-edit-text {
  color: var(--text, #18181f);
  -webkit-text-fill-color: currentColor;
}

.arc-visitas-exposed input[type="date"]::-webkit-calendar-picker-indicator,
.arc-visitas-exposed .arc-visitas-fecha-input::-webkit-calendar-picker-indicator,
.view-id-visitas .view-filters input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  cursor: pointer;
}

.arc-visitas-exposed input.form-text:focus,
.arc-visitas-exposed input[type="date"]:focus,
.view-id-visitas .view-filters input.form-text:focus,
.view-id-visitas .view-filters input[type="date"]:focus {
  outline: 2px solid rgba(139, 21, 56, 0.25);
  outline-offset: 1px;
  border-color: var(--red, #8b1538);
}

.arc-visitas-exposed .form-actions,
.view-id-visitas .view-filters .form-actions {
  display: flex;
  align-items: center;
  margin: 0;
  flex: 0 0 auto;
}

.arc-visitas-exposed .form-submit,
.view-id-visitas .view-filters .form-submit {
  background: var(--red, #8b1538);
  color: #fff;
  border: 0;
  border-radius: 6px;
  padding: 0.5rem 1.15rem;
  font-weight: 600;
  cursor: pointer;
}

.arc-visitas-exposed .form-submit:hover,
.arc-visitas-exposed .form-submit:focus-visible,
.view-id-visitas .view-filters .form-submit:hover,
.view-id-visitas .view-filters .form-submit:focus-visible {
  background: #6d112c;
}

@media (max-width: 900px) {
  body.arc-path-visitas .arc-generic-body-wrap {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  body.arc-path-visitas .arc-generic-title {
    font-size: clamp(1.65rem, 6vw, 2.2rem);
    line-height: 1.15;
    margin-bottom: 1rem;
  }

  .arc-visitas-exposed,
  .view-id-visitas .view-filters {
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .arc-visitas-exposed form,
  .view-id-visitas .view-filters form {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .arc-visitas-exposed .form-item,
  .view-id-visitas .view-filters .form-item {
    flex: 1 1 auto;
    width: 100%;
  }

  .arc-visitas-exposed input.form-text,
  .arc-visitas-exposed input[type="date"],
  .view-id-visitas .view-filters input.form-text,
  .view-id-visitas .view-filters input[type="date"] {
    max-width: 100%;
    width: 100%;
  }

  .arc-visitas-fecha-wrap {
    width: 100%;
    max-width: 100%;
  }

  .arc-visitas-exposed .form-actions,
  .view-id-visitas .view-filters .form-actions {
    width: 100%;
  }

  .arc-visitas-exposed .form-submit,
  .view-id-visitas .view-filters .form-submit {
    width: 100%;
    padding: 0.65rem 1rem;
  }

  .arc-visitas-list {
    margin-top: 1rem;
  }

  .arc-visitas-list > li,
  .arc-visitas-list ul > li {
    padding: 0.9rem 0;
  }

  .arc-visitas-list a {
    font-size: 0.98rem;
    line-height: 1.4;
  }

  .arc-visitas-date {
    font-size: 0.82rem;
    margin-top: 0.35rem;
  }
}

@media (max-width: 480px) {
  body.arc-path-visitas .arc-generic-body-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .arc-visitas-list a {
    font-size: 0.92rem;
  }
}

/* ════════════════════════════════════════════════
   BANCO SESIONES: índice de tipos (nivel superior)
   ════════════════════════════════════════════════ */
/* Listado de ruedas de prensa (banco de recursos). */
.arc-ruedas-list-title {
    border-bottom: 1px solid var(--gray-200);
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}

.arc-ruedas-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-ruedas-item {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--gray-200);
}

.arc-ruedas-item:first-child {
    padding-top: 0;
}

.arc-ruedas-item__media {
    display: block;
    flex-shrink: 0;
    width: 120px;
    border-radius: 2px;
    overflow: hidden;
    line-height: 0;
}

.arc-ruedas-item__media img {
    display: block;
    width: 120px;
    height: 90px;
    object-fit: cover;
}

.arc-ruedas-item__body {
    flex: 1;
    min-width: 0;
}

.arc-ruedas-item__title {
    margin: 0 0 .35rem;
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
}

.arc-ruedas-item__title a {
    color: var(--red-dark);
    text-decoration: none;
}

.arc-ruedas-item__title a:hover,
.arc-ruedas-item__title a:focus-visible {
    color: var(--red);
    text-decoration: underline;
}

.arc-ruedas-item__date {
    margin: 0;
    font-size: .875rem;
    color: var(--gray-500);
    font-weight: 400;
}

.arc-ruedas-pager {
    margin-top: 2rem;
}

.arc-ruedas-pager .pager__items {
    justify-content: center;
}

.arc-ruedas-pager .pager__item a,
.arc-ruedas-pager .pager__item.is-active span {
    text-decoration: none;
}

.arc-ruedas-pager .pager__item a:hover,
.arc-ruedas-pager .pager__item a:focus-visible {
    text-decoration: none;
}

/* Ruedas: títulos alineados a la izquierda (sin justify/hyphens del cuerpo genérico). */
.arc-ruedas-list > .arc-ruedas-item,
.arc-ruedas-item__body,
.arc-ruedas-item__title,
.arc-ruedas-item__title a,
.arc-ruedas-item__date {
    text-align: left;
    hyphens: manual;
    -webkit-hyphens: manual;
}

.arc-ruedas-item__title a {
    overflow-wrap: break-word;
    word-break: normal;
}

@media (max-width: 900px) {
    body.arc-path-banco-de-recursos-ruedas-de-prensa .arc-generic-body-wrap {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .arc-ruedas-item {
        flex-direction: column;
        align-items: stretch;
        gap: .85rem;
        padding: 1.1rem 0;
    }

    .arc-ruedas-item__media {
        width: 100%;
        max-width: 100%;
        border-radius: 8px;
    }

    .arc-ruedas-item__media img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .arc-ruedas-item__title {
        font-size: 1.05rem;
        line-height: 1.4;
    }

    .arc-ruedas-item__date {
        font-size: .82rem;
    }
}

@media (max-width: 480px) {
    body.arc-path-banco-de-recursos-ruedas-de-prensa .arc-generic-body-wrap {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .arc-ruedas-item__title {
        font-size: .98rem;
    }
}

.arc-bank-group--index {
  margin-top: 1.5rem;
}

.arc-bank-group--index ul {
  list-style: none;
  list-style-type: none;
  padding-left: 0;
  margin: 0;
}

.arc-bank-group--index li {
  margin-bottom: 0.5rem;
  font-size: 1.05rem;
}

.arc-bank-group--index a {
  color: var(--red);
  font-weight: 600;
  text-decoration: none;
}

.arc-bank-group--index a:hover,
.arc-bank-group--index a:focus-visible {
  text-decoration: underline;
}

.arc-bank-list--sessions .arc-bank-item--session {
  margin-bottom: 0.65rem;
}

.arc-bank-list--sessions .arc-bank-link {
  margin-right: 0.45rem;
}

.arc-bank-list--sessions .arc-bank-date {
  color: var(--text, #333);
  font-weight: 400;
}

.arc-bank-breadcrumb {
  margin: 0.75rem 0 1.25rem;
  font-size: 0.95rem;
}

.arc-bank-breadcrumb a {
  color: var(--red);
  text-decoration: none;
}

.arc-bank-breadcrumb a:hover,
.arc-bank-breadcrumb a:focus-visible {
  text-decoration: underline;
}

/* ════════════════════════════════════════════════
   SESIONES PARLAMENTARIAS — banco de recursos
   ════════════════════════════════════════════════ */
.arc-sesiones-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.25rem 2rem 2.5rem;
  box-sizing: border-box;
}

.arc-sesiones-page__title {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -.02em;
  margin: 0 0 1rem;
  padding-left: 1rem;
  position: relative;
}

.arc-sesiones-page__title::before {
  content: '';
  position: absolute;
  left: 0;
  top: .12em;
  bottom: .12em;
  width: 4px;
  background: var(--red);
  border-radius: 3px;
}

.arc-bank-back {
  margin: 0 0 1rem;
  font-size: .95rem;
}

.arc-bank-back a {
  color: var(--red, #8C2638);
  font-weight: 600;
  text-decoration: none;
}

.arc-bank-back a:hover,
.arc-bank-back a:focus-visible {
  text-decoration: underline;
}

/* Listado de sesiones por año (?tipo=&year=) */
.arc-bank-group--sessions .arc-bank-list,
.arc-bank-list.arc-bank-list--sessions {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  border: 1px solid rgba(140, 38, 56, .12);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(15, 23, 42, .05);
}

.arc-bank-group--sessions .arc-bank-item--session,
.arc-bank-list--sessions > .arc-bank-item--session {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(140, 38, 56, .1);
  transition: background .18s ease;
}

.arc-bank-group--sessions .arc-bank-item--session:last-child,
.arc-bank-list--sessions > .arc-bank-item--session:last-child {
  border-bottom: none;
}

.arc-bank-group--sessions .arc-bank-item--session:hover,
.arc-bank-list--sessions > .arc-bank-item--session:hover {
  background: rgba(140, 38, 56, .03);
}

.arc-bank-item__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .85rem;
  padding: .95rem 1.15rem;
}

.arc-bank-group--sessions .arc-bank-link,
.arc-bank-list--sessions .arc-bank-link {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--red, #8C2638);
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.35;
  text-decoration: none;
}

.arc-bank-group--sessions .arc-bank-link:hover,
.arc-bank-list--sessions .arc-bank-link:hover,
.arc-bank-group--sessions .arc-bank-link:focus-visible,
.arc-bank-list--sessions .arc-bank-link:focus-visible {
  text-decoration: underline;
}

.arc-bank-item__title a {
  color: inherit;
  text-decoration: none;
}

.arc-bank-item__title a:hover {
  text-decoration: underline;
}

.arc-bank-group--sessions .arc-bank-date,
.arc-bank-list--sessions .arc-bank-date {
  flex: 0 0 auto;
  font-size: .88rem;
  color: var(--gray-500, #6b7280);
  font-weight: 500;
  white-space: nowrap;
}

.arc-bank-pager {
  margin-top: 1.25rem;
}

.arc-bank-pager .pager__item a,
.arc-bank-pager .pager__item.is-active span {
  text-decoration: none;
}

@media (max-width: 680px) {
  .arc-sesiones-page {
    padding: 1rem 1.25rem 2rem;
  }

  .arc-bank-item__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
  }

  .arc-bank-group--sessions .arc-bank-date,
  .arc-bank-list--sessions .arc-bank-date {
    white-space: normal;
  }
}

/* ── Ficha de galería/visitas ────────────────────────────────────────── */
.arc-galeria-article .arc-generic-header {
    max-width: none;
    padding: 0;
}

.arc-galeria-article .arc-generic-body-wrap {
    max-width: none;
    padding: 1.75rem 0 0;
    background: none;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

/* Separación galería ↔ texto descriptivo */
.arc-galeria-article .arc-rueda-gallery {
    margin-bottom: 1.5rem;
}

.arc-galeria-article .arc-galeria-prose {
    margin-top: 1rem;
}

.arc-galeria-article .arc-galeria-main-link {
    display: block;
    cursor: zoom-in;
    line-height: 0;
}

/* Visitas: ficheros migrados suelen ser 720×510; no ampliar al ancho del grid. */
.arc-galeria-article .arc-rueda-main-media {
    text-align: center;
}

.arc-galeria-article .arc-rueda-main-media img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

/* Visitas: miniaturas DEBAJO de la imagen principal (no a la derecha). */
.arc-galeria-article .arc-rueda-media-layout {
    grid-template-columns: 1fr;
}

.arc-galeria-article .arc-rueda-thumbs {
    grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
    gap: .55rem;
}

/* Visitas en móvil: sin cambio extra (ya es 1 columna por defecto). */

/* Navegación anterior/siguiente: misma columna que el contenido, pegada a los bordes. */
.arc-galeria-article > .arc-visita-nav {
    box-sizing: border-box;
    width: calc(100% + 5rem);
    max-width: none;
    margin: 1.5rem -2.5rem 0;
    padding: 1.25rem 2.5rem 2.5rem;
    background: var(--off-white);
}

.arc-galeria-article .arc-visita-nav__inner {
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 1rem;
}

.arc-galeria-article .arc-visita-nav__link {
    box-sizing: border-box;
    flex: 0 1 calc(50% - .5rem);
    max-width: calc(50% - .5rem);
    width: auto;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1.25rem;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    font-size: .9rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
    min-width: 0;
}

.arc-galeria-article .arc-visita-nav__link:hover,
.arc-galeria-article .arc-visita-nav__link:focus-visible {
    border-color: var(--red, #8C2638);
    color: var(--red, #8C2638);
    box-shadow: 0 2px 8px rgba(140, 38, 56, .12);
    outline: none;
}

.arc-galeria-article .arc-visita-nav__link--next {
    flex-direction: row;
    justify-content: flex-end;
}

.arc-galeria-article .arc-visita-nav__link--next .arc-visita-nav__text {
    align-items: flex-end;
    text-align: right;
    flex: 1;
    min-width: 0;
}

.arc-galeria-article .arc-visita-nav__link svg {
    flex-shrink: 0;
}

.arc-galeria-article .arc-visita-nav__text {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.arc-galeria-article .arc-visita-nav__label {
    font-weight: 600;
    white-space: nowrap;
}

.arc-galeria-article .arc-visita-nav__title {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #5c6370;
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.35;
}

@media (max-width: 899px) {
    .arc-galeria-article > .arc-visita-nav {
        width: calc(100% + 2.5rem);
        margin-left: -1.25rem;
        margin-right: -1.25rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

@media (max-width: 640px) {
    .arc-galeria-article .arc-visita-nav__inner {
        flex-direction: column;
    }

    .arc-galeria-article .arc-visita-nav__link {
        flex: 1 1 auto;
        max-width: 100%;
        width: 100%;
    }

    .arc-galeria-article .arc-visita-nav__title {
        -webkit-line-clamp: 1;
    }
}

/* ── Herramientas del libro: subir al padre + versión de impresión ────────── */
.arc-book-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.25rem;
    margin: 1.5rem 0 .5rem;
    padding: .6rem .85rem;
    background: #f8f9fa;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: .88rem;
}

.arc-book-tools__up,
.arc-book-tools__print {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #6b7280;
    text-decoration: none;
    transition: color .2s ease;
}

.arc-book-tools__up:hover,
.arc-book-tools__up:focus-visible,
.arc-book-tools__print:hover,
.arc-book-tools__print:focus-visible {
    color: var(--red, #8C2638);
    text-decoration: underline;
}

.arc-book-tools__up em {
    font-style: normal;
    font-weight: 600;
    color: inherit;
}

.arc-book-tools__print {
    margin-left: auto;
}

@media (max-width: 600px) {
    .arc-book-tools {
        flex-direction: column;
        align-items: flex-start;
    }
    .arc-book-tools__print {
        margin-left: 0;
    }
}

/* «Versión para impresión» bajo la navegación anterior/siguiente (Obra legislativa). */
.arc-book-print-bar {
    display: flex;
    justify-content: flex-start;
    margin: 1rem 0 2rem;
}

.arc-book-print-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem 1.25rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #374151;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.arc-book-print-btn:hover,
.arc-book-print-btn:focus-visible {
    border-color: var(--red, #8C2638);
    color: var(--red, #8C2638);
    box-shadow: 0 4px 10px rgba(140, 38, 56, .12);
    transform: translateY(-1px);
    text-decoration: none;
}

@media print {
    .arc-book-nav,
    .arc-book-print-bar,
    .arc-book-tools,
    .arc-legislatura-bar,
    .ar-navbar,
    .ar-topbar,
    .ar-footer {
        display: none !important;
    }

    .arc-generic-article,
    .arc-generic-body-wrap {
        box-shadow: none !important;
    }
}

/* ── Gráfico electoral en páginas book (field_gr_fico): flotado a la derecha ─ */
.arc-generic-body--with-grafico .arc-emb-portrait--diagram {
    max-width: min(52%, 520px);
}

.arc-generic-body--with-grafico .arc-emb-portrait-frame img {
    width: auto;
    max-width: 100%;
    height: auto;
}

/* ── Navegación anterior/siguiente para contenidos modo libro ───────────── */
.arc-book-nav {
    margin: 2rem 0 0;
    padding-top: 1rem;
}

.arc-book-nav__inner {
    display: flex;
    gap: .9rem;
    justify-content: space-between;
    align-items: stretch;
}

.arc-book-nav__link {
    flex: 1 1 calc(50% - .45rem);
    max-width: calc(50% - .45rem);
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: .8rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    text-decoration: none;
    min-width: 0;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.arc-book-nav__link:hover,
.arc-book-nav__link:focus-visible {
    border-color: var(--red, #8C2638);
    box-shadow: 0 4px 10px rgba(140, 38, 56, .12);
    transform: translateY(-1px);
}

.arc-book-nav__label {
    font-size: .75rem;
    font-weight: 700;
    color: var(--red, #8C2638);
    text-transform: uppercase;
    letter-spacing: .02em;
}

.arc-book-nav__title {
    font-size: .9rem;
    color: #374151;
    font-weight: 600;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.arc-book-nav__link--next {
    text-align: right;
}

@media (max-width: 760px) {
    .arc-book-nav__inner {
        flex-direction: column;
    }

    .arc-book-nav__link {
        max-width: 100%;
        flex-basis: auto;
    }

    .arc-book-nav__link--next {
        text-align: left;
    }
}

/* Obra legislativa (índice): botón legacy "Etapa provisional"
 * con estética de navegación (como resto de botones de moverse)
 * y desplazado fuera del bloque de contenido principal. */
.arc-path-obra-legislativa .arc-generic-article {
    padding-bottom: 6.2rem;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager {
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5.2rem;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next {
    display: block;
    width: min(560px, 100%);
    margin-left: auto;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next a {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .2rem;
    padding: .8rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    color: #374151;
    font-weight: 600;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next a:hover,
.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next a:focus-visible {
    border-color: var(--red, #8C2638);
    box-shadow: 0 4px 10px rgba(140, 38, 56, .12);
    transform: translateY(-1px);
    text-decoration: none;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next a::before {
    content: 'SIGUIENTE \203A';
    font-size: .75rem;
    font-weight: 700;
    color: var(--red, #8C2638);
    text-transform: uppercase;
    letter-spacing: .02em;
}

.arc-path-obra-legislativa .arc-generic-body-wrap h4.pager .pager-next a [aria-hidden="true"] {
    display: none;
}

/* ── Book TOC (Normas institucionales básicas) ─────────────────────────── */
.arc-book-toc {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 2px solid #b80000;
}

.arc-book-toc ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.arc-book-toc > ul > li {
    border-bottom: 1px solid #e8e8e8;
}

.arc-book-toc li {
    padding: 0;
}

.arc-book-toc li a {
    display: block;
    padding: .55rem .25rem;
    color: #1a5276;
    text-decoration: none;
    font-size: .9375rem;
    line-height: 1.4;
    transition: background-color .15s ease, color .15s ease;
}

.arc-book-toc li a:hover,
.arc-book-toc li a:focus {
    background-color: #f4f6f8;
    color: #b80000;
    text-decoration: underline;
}

/* Nivel 2 y siguientes con sangría */
.arc-book-toc ul ul {
    padding-left: 1.25rem;
    border-left: 2px solid #e0e0e0;
    margin-left: .25rem;
}

.arc-book-toc ul ul li a {
    font-size: .875rem;
    color: #2c3e50;
}

/* ── Galería de fotos en la ficha de noticia ── */
.arc-noticia-hero-caption {
  max-width: var(--max);
  margin: 0 auto;
  padding: 1.25rem 2rem 0;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--gray-600, #4b5563);
  font-style: italic;
  border-left: 3px solid var(--red, #8c2638);
}

.arc-article .arc-noticia-gallery {
    margin: 2.5rem 0 0;
    padding: 2rem 2.5rem;
    border-top: 1px solid #e5e7eb;
    background: #f8f9fa;
}

.arc-noticia-gallery__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 1.25rem;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.arc-noticia-gallery__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: .75rem;
}

.arc-noticia-gallery__cell {
    margin: 0;
    padding: 0;
}

.arc-noticia-gallery__figure {
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.arc-noticia-gallery__item {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.arc-noticia-gallery__item:hover,
.arc-noticia-gallery__item:focus-visible {
    border-color: var(--red, #8C2638);
    box-shadow: 0 2px 12px rgba(185, 28, 28, .15);
    outline: none;
}

.arc-noticia-gallery__item img {
    display: block;
    width: 100%;
    height: 130px;
    object-fit: cover;
    border-radius: 5px;
    transition: transform .25s ease;
}

.arc-noticia-gallery__item:hover img {
    transform: scale(1.04);
}

.arc-noticia-gallery__caption {
    margin: .65rem .15rem 0;
    font-size: .8rem;
    line-height: 1.45;
    color: var(--gray-600, #4b5563);
}

@media (max-width: 640px) {
    .arc-noticia-hero-caption {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .arc-article .arc-noticia-gallery {
        padding: 1.5rem 1rem;
    }
    .arc-noticia-gallery__grid {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    }
    .arc-noticia-gallery__item img {
        height: 100px;
    }
}

/* ── Galería multimedia (vídeo/audio) en ficha noticia ── */
.arc-article .arc-noticia-recursos-hd {
    margin: 0;
    max-width: none;
    padding: 2rem 2.5rem 1.25rem;
    background: #f8f9fa;
    border-top: 1px solid #e5e7eb;
}

.arc-noticia-gallery + .arc-noticia-recursos-hd {
    border-top: none;
    padding-top: 1.25rem;
}

.arc-noticia-recursos-hd + .arc-noticia-relacionadas-wrap {
    border-top: none;
    padding-top: 1.25rem;
}

.arc-article .arc-noticia-recursos-hd .arc-rueda-recursos-hd-title,
.arc-article .arc-noticia-recursos-hd .arc-rueda-recursos-hd {
    max-width: var(--max, 1200px);
    margin-left: auto;
    margin-right: auto;
}

.arc-article .arc-noticia-recursos-hd .arc-rueda-convocante__icon {
    background: transparent;
}

.arc-article .arc-noticia-recursos-hd .arc-rueda-convocante__icon:hover,
.arc-article .arc-noticia-recursos-hd .arc-rueda-convocante__icon:focus-visible {
    background: var(--red-soft);
}

@media (max-width: 640px) {
    .arc-article .arc-noticia-recursos-hd {
        padding: 1.5rem 1rem;
    }
}

/* ==========================================================================
   Lightbox Galería noticia (modal en la misma página)
   ========================================================================== */
body.arc-no-scroll {
  overflow: hidden;
}

.arc-noticia-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, .82);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}

.arc-noticia-gallery-lightbox.is-open {
  display: flex;
}

.arc-noticia-gallery-lightbox__inner {
  position: relative;
  width: min(1200px, 96vw);
}

.arc-noticia-gallery-lightbox__img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
  background: #000;
  border-radius: 10px;
  display: block;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.arc-noticia-gallery-lightbox__counter {
  position: absolute;
  left: .5rem;
  bottom: .5rem;
  z-index: 2;
  font-size: .9rem;
  font-weight: 700;
  color: #fff;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.15);
  padding: .25rem .6rem;
  border-radius: 999px;
}

.arc-noticia-gallery-lightbox__download {
  position: absolute;
  right: .5rem;
  bottom: .5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .85rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  background: rgba(196, 30, 58, .92);
  border: 1px solid rgba(255,255,255,.2);
  padding: .4rem .75rem;
  border-radius: 999px;
  transition: background .2s ease, transform .2s ease;
}

.arc-noticia-gallery-lightbox__download:hover,
.arc-noticia-gallery-lightbox__download:focus-visible {
  background: rgba(160, 20, 45, .95);
  color: #fff;
  text-decoration: none;
  outline: none;
  transform: translateY(-1px);
}

.arc-noticia-gallery-lightbox__close {
  position: absolute;
  right: -0.2rem;
  top: -0.2rem;
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: none;
  background: rgba(0,0,0,.35);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease, transform .2s ease;
}

.arc-noticia-gallery-lightbox__close:hover,
.arc-noticia-gallery-lightbox__close:focus-visible {
  background: rgba(0,0,0,.6);
  outline: none;
}

.arc-noticia-gallery-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: none;
  background: rgba(0,0,0,.35);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease, transform .2s ease;
}

.arc-noticia-gallery-lightbox__nav:hover,
.arc-noticia-gallery-lightbox__nav:focus-visible {
  background: rgba(0,0,0,.6);
  outline: none;
}

.arc-noticia-gallery-lightbox__nav--prev {
  left: -0.2rem;
}

.arc-noticia-gallery-lightbox__nav--next {
  right: -0.2rem;
}

@media (max-width: 640px) {
  .arc-noticia-gallery-lightbox {
    padding: .85rem;
  }

  .arc-noticia-gallery-lightbox__close {
    right: .2rem;
    top: .2rem;
  }

  .arc-noticia-gallery-lightbox__nav--prev {
    left: .15rem;
  }

  .arc-noticia-gallery-lightbox__nav--next {
    right: .15rem;
  }

  .arc-noticia-gallery-lightbox__img {
    max-height: 72vh;
  }
}

/* ── Botón «Noticia anterior» en la ficha de noticia ── */
.arc-article .arc-noticia-prev {
    margin: 0;
    padding: 1.25rem 2.5rem 2.5rem;
    background: #f8f9fa;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
}

.arc-noticia-gallery + .arc-noticia-prev,
.arc-noticia-recursos-hd + .arc-noticia-prev,
.arc-noticia-relacionadas-wrap + .arc-noticia-prev {
    margin-top: 0;
    padding-top: 0;
}

.arc-article .arc-noticia-prev__inner {
    width: 100%;
    max-width: var(--max, 1200px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

.arc-article .arc-noticia-prev__link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1.25rem;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    font-size: .9rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease;
    max-width: 100%;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
}

.arc-article .arc-noticia-prev__link--next {
    margin-left: auto;
}

.arc-article .arc-noticia-prev__link:hover,
.arc-article .arc-noticia-prev__link:focus-visible {
    border-color: var(--red, #8C2638);
    color: var(--red, #8C2638);
    box-shadow: 0 2px 8px rgba(140, 38, 56, .12);
    outline: none;
}

.arc-noticia-prev__link svg {
    flex-shrink: 0;
}

.arc-noticia-prev__label {
    font-weight: 600;
    white-space: nowrap;
}

.arc-article .arc-noticia-prev__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #5c6370;
    font-size: .85rem;
}

.arc-article .arc-noticia-prev__link:hover .arc-noticia-prev__title {
    color: inherit;
}

@media (max-width: 640px) {
    .arc-article .arc-noticia-prev,
    .arc-noticia-gallery + .arc-noticia-prev,
    .arc-noticia-relacionadas-wrap + .arc-noticia-prev {
        padding: 0 1rem 1.5rem;
    }
    .arc-article .arc-noticia-prev__link {
        width: auto;
        max-width: 100%;
    }
    .arc-article .arc-noticia-prev__title {
        display: none;
    }
}

/* Actas importadas (HTML congelado de Views D7 en arc-generic-body). */
.arc-generic-body .arc-actas-imported-view .views-summary,
.arc-generic-body .view-actas2 .views-summary {
  list-style: none;
  margin: 1rem 0;
  padding: 0;
}

.arc-generic-body .arc-actas-imported-view .views-summary li,
.arc-generic-body .view-actas2 .views-summary li {
  margin: 0.35rem 0;
}

.arc-generic-body .arc-actas-imported-view .views-summary a,
.arc-generic-body .view-actas2 .views-summary a {
  font-weight: 600;
  text-decoration: underline;
}

.arc-generic-body .arc-actas-imported-view .views-row,
.arc-generic-body .view-actas2 .views-row {
  margin: 0.5rem 0;
  padding: 0.35rem 0;
  border-bottom: 1px solid #e5e7eb;
}

.arc-generic-body .arc-actas-imported-view .views-row a,
.arc-generic-body .view-actas2 .views-row a {
  color: #1e3a5f;
  text-decoration: underline;
}

.arc-generic-body .arc-actas-imported-view .views-row a:hover,
.arc-generic-body .view-actas2 .views-row a:hover {
  color: #b91c1c;
}

.arc-actas-empty-fallback {
  margin-top: 1rem;
}

/* ==========================================================================
   Noticias relacionadas (ficha noticia / display noticiasrelacionadas)
   Franja gris continua: galería → relacionadas → noticia anterior
   ========================================================================== */
.arc-article .arc-noticia-relacionadas-wrap {
  margin: 0;
  max-width: none;
  padding: 2rem 2.5rem 1.25rem;
  background: #f8f9fa;
  border-top: 1px solid #e5e7eb;
}

.arc-noticia-gallery + .arc-noticia-relacionadas-wrap {
  border-top: none;
  padding-top: 1.25rem;
}

.arc-noticia-relacionadas-wrap .views-element-container,
.arc-noticia-relacionadas-wrap .arc-noticias-relacionadas {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  max-width: var(--max, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.arc-noticias-relacionadas {
  position: relative;
  background: transparent;
}

.arc-noticias-relacionadas__header {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-bottom: 1.75rem;
  width: 100%;
}

.arc-noticias-relacionadas__title {
  margin: 0;
  flex: 0 1 auto;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 300;
  color: #5c6370;
  line-height: 1.2;
}

.arc-noticias-relacionadas__pager {
  flex: 0 0 auto;
  margin-left: auto;
  min-width: 0;
  text-align: right;
}

.arc-noticias-relacionadas__pager .pager {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}

.arc-noticias-relacionadas__pager .pager__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.arc-noticias-relacionadas__pager .pager__item a,
.arc-noticias-relacionadas__pager .pager__item.is-active a,
.arc-noticias-relacionadas__pager .pager__item.is-active > span {
  border-radius: 4px;
  padding: 0.2rem 0.55rem;
  font-size: 0.9rem;
  border: 1.5px solid #d1d5db;
  background: #fff;
  color: #7a1530;
}

.arc-noticias-relacionadas__pager .pager__item.is-active a,
.arc-noticias-relacionadas__pager .pager__item.is-active > span {
  background: #7a1530;
  border-color: #7a1530;
  color: #fff;
}

.arc-noticias-relacionadas__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem 1.5rem;
}

.arc-noticias-relacionadas__cell {
  min-width: 0;
}

.arc-noticia-cartela {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.arc-noticia-cartela__media {
  display: block;
  overflow: hidden;
  border-radius: 2px;
  aspect-ratio: 16 / 10;
  background: #e8eaee;
}

.arc-noticia-cartela__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.arc-noticias-relacionadas .arc-noticia-cartela__media .file,
.arc-noticias-relacionadas .arc-noticia-cartela__media .file a {
  display: none !important;
}

.arc-noticia-cartela__body {
  padding-top: 1rem;
}

.arc-noticia-cartela__title {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 700;
}

.arc-noticia-cartela__title a {
  color: #7a1530;
  text-decoration: none;
}

.arc-noticia-cartela__title a:hover {
  text-decoration: underline;
}

.arc-noticia-cartela__meta {
  margin: 0 0 0.75rem;
  font-size: 0.88rem;
  color: #6b7280;
}

.arc-noticia-cartela__excerpt {
  font-size: 0.92rem;
  line-height: 1.55;
  color: #374151;
}

.arc-noticia-cartela__excerpt p {
  margin: 0 0 0.65rem;
}

.arc-noticia-cartela__excerpt p:last-child {
  margin-bottom: 0;
}

.arm-noticias-listado-list .item-list,
.arm-noticias-destacadas-list .item-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.arm-noticias-listado-list .arc-noticia-cartela,
.arm-noticias-destacadas-list .arc-noticia-cartela {
  margin-bottom: 1.75rem;
}

.arm-noticias-destacadas-page .arm-noticias-destacadas-hero {
  margin-top: -2.5rem;
  margin-bottom: 2.5rem;
  position: relative;
  z-index: 3;
}

.arm-noticias-destacadas-page .arm-news-mosaic {
  margin-top: 0.5rem;
}

@media (max-width: 900px) {
  .arm-noticias-destacadas-page .arm-noticias-destacadas-hero {
    margin-top: -1.5rem;
  }
}

@media (max-width: 640px) {
  .arm-noticias-destacadas-page .arm-noticias-destacadas-hero {
    margin-top: -1rem;
    margin-bottom: 1.5rem;
  }

  .arm-noticias-destacadas-page .arm-news-hero {
    padding-bottom: 1.75rem;
  }
}

@media (max-width: 900px) {
  .arc-article .arc-noticia-relacionadas-wrap {
    padding: 1.5rem 1rem 1rem;
  }

  .arc-noticias-relacionadas__header {
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .arc-noticias-relacionadas__pager {
    width: 100%;
    margin-left: 0;
    text-align: right;
  }

  .arc-noticias-relacionadas__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* ── Tabla RPT (Relación de Puestos de Trabajo) ───────────────── */
.arc-emb-prose .rpt {
  overflow-x: auto;
  margin: 1.25rem 0;
}

.arc-emb-prose .rpt .table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
  color: #2d2d2d;
  background: #fff;
}

.arc-emb-prose .rpt .table caption {
  caption-side: top;
  font-weight: 700;
  font-size: .9rem;
  text-align: left;
  padding: .5rem .75rem;
  background: var(--red, #8c2638);
  color: #fff;
  letter-spacing: .04em;
}

.arc-emb-prose .rpt .table thead th {
  background: #f3e9ec;
  color: #5a1020;
  font-weight: 600;
  padding: .45rem .65rem;
  border: 1px solid #ddd;
  white-space: nowrap;
}

.arc-emb-prose .rpt .table tbody tr:nth-child(even) {
  background: #faf5f7;
}

.arc-emb-prose .rpt .table tbody tr:hover {
  background: #f5e9ed;
}

.arc-emb-prose .rpt .table td {
  padding: .4rem .65rem;
  border: 1px solid #e0d0d5;
  vertical-align: middle;
}

.arc-emb-prose .rpt .table td.deno {
  font-weight: 500;
}

.arc-emb-prose .rpt .table td.cesp {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.arc-emb-prose .rpt .table tfoot th {
  font-size: .78rem;
  color: #555;
  font-weight: 400;
  padding: .4rem .65rem;
  border-top: 2px solid #c0a0ac;
  background: #fafafa;
}

@media (max-width: 700px) {
  .arc-emb-prose .rpt .table {
    font-size: .75rem;
  }
  .arc-emb-prose .rpt .table td,
  .arc-emb-prose .rpt .table th {
    padding: .3rem .4rem;
  }
}
/* ─────────────────────────────────────────────────────────────── */

/* CTA formulario solicitud información (Normas reguladoras transparencia). */
.arc-generic-body .arc-transparencia-form-cta {
  margin: 2rem 0 1rem;
  text-align: center;
}

.arc-generic-body .arc-transparencia-form-cta a {
  font-weight: 600;
  text-decoration: underline;
}
