/* ==========================================================================
   UDG — CSS unificado y modular (Montserrat)
   ========================================================================== */

/* == 0) Fuentes ============================================================ */
/* Carga Montserrat con pesos requeridos. Si ya lo cargas en la librería del tema,
   puedes eliminar esta línea. */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

/* == 1) Variables (colores/espaciados/tipo) ================================ */
:root {
  /* Colores */
  --udg-primary: #5F5078;
  --udg-primary-600: #5F5078;
  --udg-accent: #785177;
  --udg-link: #265986;
  --udg-text: #4B4B4B;
  --udg-head: #5F5078;
  --udg-light: #EEE;
  --udg-grey: #e6e6e6;
  --white: #fff;
  --black: #000;

  /* Layout */
  --radius: 10px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;

  /* Tipografía (pt -> rem aprox) */
  --font-family-base: "Montserrat", "Open Sans", "Lucida Grande", Tahoma, Verdana, Arial, sans-serif;
  --font-pt-12: 1rem;
  /* 16px  ≈ 12pt  (párrafo) */
  --font-pt-13: 1.0625rem;
  /* 17px  ≈ 13pt  (menú) */
  --font-pt-18: 1.5rem;
  /* 24px  ≈ 18pt  (H2 / título principal) */
  --font-pt-21: 1.75rem;
  /* 28px  ≈ 21pt  (H3) */
  --font-pt-24: 2rem;
  /* 32px  ≈ 24pt  (H1) */
}

/* == 2) Reset/Normas rápidas ============================================== */
* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  display: block;
}

/* Reset solo para listas de UI (menús, navegación, bloques) */
nav ul,
nav ol,
.menu,
.nav,
.block ul,
.block ol,
.region-sidebar-first ul,
.region-sidebar-second ul,
.region-footer1 ul,
.region-footer2 ul,
.region-footer-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Listas de contenido editorial — conservar formato HTML */
.field--name-body ul,
.field--name-body ol,
.text-formatted ul,
.text-formatted ol {
  margin: 0.5em 0 1em 2em;
  padding: 0;
}

.field--name-body ul,
.text-formatted ul {
  list-style: disc;
}

.field--name-body ul ul,
.text-formatted ul ul {
  list-style: circle;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.field--name-body ul ul ul,
.text-formatted ul ul ul {
  list-style: square;
}

.field--name-body ol,
.text-formatted ol {
  list-style: decimal;
}

.field--name-body ol ol,
.text-formatted ol ol {
  list-style: lower-alpha;
}

.field--name-body li,
.text-formatted li {
  margin-bottom: 0.3em;
  line-height: 1.6;
}

table {
  width: 100%;
  border-collapse: collapse;
}

/* == 3) Tipografía y enlaces (Guía) ======================================= */
/* Párrafo texto — 12 pt Regular */
html {
  font-size: 100%;
}

/* 1rem = 16px */
body {
  font-family: var(--font-family-base);
  font-weight: 400;
  /* Regular */
  font-size: var(--font-pt-12);
  /* 12pt */
  line-height: 1.6;
  color: var(--udg-text);
  min-width: 300px;
}

/* Títulos globales */
h1,
h2,
h3 {
  font-family: var(--font-family-base);
  color: var(--udg-head);
  margin: 0 0 .5rem;
}

h1 {
  /* Título nivel 1 — 24 pt Medium */
  font-weight: 500;
  /* Medium */
  font-size: var(--font-pt-24);
  line-height: 1.2;
}

h2 {
  /* Título nivel 2 — 18 pt Bold */
  font-weight: 700;
  /* Bold */
  font-size: var(--font-pt-18);
  line-height: 1.3;
}

h3 {
  /* Título nivel 3 — 21 pt Regular */
  font-weight: 400;
  /* Regular */
  font-size: var(--font-pt-21);
  line-height: 1.3;
}

#footer h1,
#footer h2,
#footer h3 {
  color: var(--white);
}

strong,
b {
  font-weight: 700;
}

/* Semántico, usa Montserrat Bold */
a {
  color: var(--udg-link);
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
}

a.is-active {
  font-weight: 600;
}

dt {
  font-weight: 600;
}

dd {
  margin: 0 0 1em 2em;
}

abbr[title] {
  text-decoration: underline dotted;
}

blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 10px;
  padding: .5em 10px;
  quotes: "“" "”" "‘" "’";
}

blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: .1em;
  margin-right: .25em;
  vertical-align: -.4em;
}

blockquote p {
  display: inline;
}

/* == 4) Layout de cabecera ================================================ */
#header.container-fluid {
  background: linear-gradient(#00427B, #002D4B);
  color: var(--white);
  min-height: 50px;
}

#header a {
  color: var(--white);
}

.navbar {
  margin-bottom: 0;
  border: 0;
}

.navbar-default {
  background: #fff;
  border: 0;
}

.navbar-collapse {
  padding: 0;
}

.navbar-brand {
  float: none;
}

.logog {
  position: relative;
  z-index: 400;
  top: 12px;
  width: 100%;
  max-width: 468px;
}

.escudo {
  display: none;
  text-align: center;
}

.escudoch {
  width: 60%;
  max-width: 468px;
  margin: 10px 0;
}

@media (min-width:768px) {
  .escudo {
    display: inline-block;
    height: 50px;
  }

  .escudoch {
    display: none;
  }
}

/* == 5) NAVEGACIÓN PRINCIPAL ==============================================
   Soporta: 2º nivel hacia abajo, 3er nivel+ lateral (flyout). */
#navigation {
  background: var(--udg-primary);
  font-family: var(--font-family-base);
  font-weight: 500;
  /* Medium */
  text-transform: uppercase;
  font-size: var(--font-pt-13);
  /* 13 pt */
}

#navigation h2 {
  color: var(--white);
}

nav#block-drudg8b3-main-menu {
  position: relative;
  z-index: 1100;
}

nav#block-drudg8b3-main-menu ul.menu.menu--main.nav.navbar-nav {
  float: none;
}

nav#block-drudg8b3-main-menu .navbar-default .navbar-nav>li>a,
nav#block-drudg8b3-main-menu .navbar-nav>li>a {
  color: #fff;
  padding: .6rem 1rem;
  font-family: var(--font-family-base);
  font-weight: 500;
  /* Medium */
  text-transform: uppercase;
  font-size: var(--font-pt-13);
}

.nav>li>a:hover,
.nav>li>a:focus {
  color: var(--udg-text) !important;
  background: #e7e7e7 !important;
}

/* Desktop (>=768px) */
@media (min-width:768px) {
  nav#block-drudg8b3-main-menu .navbar-nav>li {
    position: relative;
  }

  /* 2º nivel (debajo) */
  nav#block-drudg8b3-main-menu .navbar-nav>li>.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    z-index: 1050;
  }

  nav#block-drudg8b3-main-menu .navbar-nav>li:hover>.dropdown-menu,
  nav#block-drudg8b3-main-menu .navbar-nav>li.open>.dropdown-menu {
    display: block;
  }

  /* 3er nivel+ (flyout lateral) */
  nav#block-drudg8b3-main-menu .dropdown-menu>li.expanded,
  nav#block-drudg8b3-main-menu .dropdown-menu>li.dropdown-submenu {
    position: relative;
  }

  nav#block-drudg8b3-main-menu .dropdown-menu>li.expanded>ul.dropdown-menu,
  nav#block-drudg8b3-main-menu .dropdown-menu>li.dropdown-submenu>ul.dropdown-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    margin-top: -1px;
    min-width: 240px;
    z-index: 1051;
  }

  nav#block-drudg8b3-main-menu .dropdown-menu>li.expanded:hover>ul.dropdown-menu,
  nav#block-drudg8b3-main-menu .dropdown-menu>li.dropdown-submenu:hover>ul.dropdown-menu {
    display: block;
  }

  /* Abrir hacia la izquierda si el LI tiene .pull-left */
  nav#block-drudg8b3-main-menu .dropdown-menu>li.pull-left>ul.dropdown-menu {
    left: auto;
    right: 100%;
  }
}

/* Móvil (<=767px) */
@media (max-width:767px) {
  nav#block-drudg8b3-main-menu .navbar-nav>li {
    position: static;
  }

  nav#block-drudg8b3-main-menu .navbar-nav .open .dropdown-menu {
    display: block;
    position: static;
    float: none;
    width: auto;
    margin: 0;
    border: 0;
    box-shadow: none;
  }

  nav#block-drudg8b3-main-menu .navbar-nav .open .dropdown-menu>li.expanded>ul.dropdown-menu {
    display: block;
    position: static;
    margin: 0;
    min-width: 0;
  }
}

nav#block-drudg8b3-main-menu .dropdown-menu>li>a {
  white-space: normal;
  line-height: 1.25;
  padding: .6rem 1rem;
  font-family: var(--font-family-base);
}

nav#block-drudg8b3-main-menu .dropdown-menu>li>a:hover {
  background: #fcfcfc;
}

/* Asegurar superposición correcta */
#slideshow,
.carousel,
.region-precontent {
  position: relative;
  z-index: 1;
}

/* == 6) Buscador en header ================================================ */
.block-search-form-block {
  margin-top: 15px;
}

#search-block-form .control-label {
  color: var(--white);
}

#header .btn-primary {
  background: #002D4B;
  border: 1px solid #002D4B;
}

#header input#edit-keys {
  height: 25px;
}

/* == 7) Precontent / Listón =============================================== */
/* Título principal — 18 pt Semibold (Mayúsculas) */
#region-precontent,
.region.region-precontent {
  text-align: center;
}

#precontent {
  background: var(--udg-accent);
}

.region.region-precontent .name {
  color: #fff;
  text-transform: uppercase;
  padding-top: 16px;
  line-height: 20px;
  display: inline-block;
  font-size: var(--font-pt-18);
  font-family: var(--font-family-base);
  font-weight: 600;
  /* Semibold */
}

/* == 8) Slideshow ========================================================= */
#slideshow {
  background: #303131;
}

#slideshow.container-fluid {
  margin: 0;
  padding: 0;
}

.carousel-caption {
  text-align: left;
}

.carousel-inner>.item>a>img,
.carousel-inner>.item>img {
  margin-left: auto;
  margin-right: auto;
}

#block-drudg8b3-views-block-slideshow-principal-block-1 .form-group {
  margin-bottom: 0;
}

#block-drudg8b3-views-block-slideshow-principal-block-1 .carousel-caption {
  background: rgba(19, 68, 90, .8);
  padding: 10px;
  color: #fff;
}

#block-drudg8b3-views-block-slideshow-principal-block-1 .view-content a {
  color: #fff;
}

#block-drudg8b3-views-block-slideshow-principal-block-1 #carouselButtonsviews-bootstrap-slideshow-principal-block-1 {
  position: absolute;
  bottom: 0;
  margin-left: 100px;
}

/* Slideshow video custom */
#Anuncio1 {
  background: rgba(0, 54, 96, .8);
  padding: 10px;
  border-radius: 5px;
  text-align: left;
}

#Anuncio1 h2 a {
  color: #fff;
}

#Anuncio1 p {
  display: none;
}

#block-slideudgvideo .node-43 .carousel-caption {
  top: 10px;
  left: 25%;
}

@media (min-width:1200px) {
  #Anuncio1 p {
    display: block;
  }
}

@media (min-width:768px) {
  #Anuncio1 {
    left: 0;
    width: 30%;
  }
}

/* == 9) Banners (carrusel de carteles) ==================================== */
#block-drudg8b3-views-block-banner-block-1-2 .carousel-control {
  width: 0;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-control>a>span {
  color: #fff;
  background: #000;
  font-size: 29px !important;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-inner {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-item {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  transition: transform .5s ease-in-out;
  width: 100%;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-item .views-row {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 10px;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-item img {
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  transition: transform .3s ease, box-shadow .3s ease;
}

#block-drudg8b3-views-block-banner-block-1-2 .carousel-item img:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

@media (max-width:1199px) {
  #block-drudg8b3-views-block-banner-block-1-2 .carousel-inner {
    gap: .5rem;
  }

  #block-drudg8b3-views-block-banner-block-1-2 .carousel-item .views-row {
    max-width: 220px;
  }
}

@media (max-width:768px) {
  #block-drudg8b3-views-block-banner-block-1-2 .carousel-inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  #block-drudg8b3-views-block-banner-block-1-2 .carousel-item .views-row {
    max-width: 90%;
  }
}

/* == 10) Noticias (portada y página) ====================================== */
#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row .views-field-field-imagen-noticia.col-sm-6 {
  padding: 0;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row .views-field-title.col-sm-6 a {
  color: #fff;
  font-family: var(--font-family-base);
  font-weight: 500;
  /* Medium */
  font-size: 1.25rem;
  /* ≈ 20px */
  line-height: 1.35;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row:nth-child(1) {
  background: #4d4d4d;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row:nth-child(2) {
  background: #616161;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row:nth-child(3) {
  background: #595959;
}

#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row:nth-child(4) {
  background: #545454;
}

@media (max-width:767px) {
  #block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row {
    padding-bottom: 15px;
  }

  #block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row .views-field-title.col-sm-6 {
    padding: 10px;
    margin-top: 0 !important;
    color: #fff;
    font-size: 12px;
    font-family: var(--font-family-base);
    font-weight: 500;
  }
}

@media (min-width:992px) and (max-width:1199px) {
  #block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row .views-field-title.col-sm-6 a {
    font-size: 16px;
    line-height: 20px;
  }
}

@media (min-width:1200px) {
  #block-drudg8b3-views-block-noticias-pagina-principal-block-1 .views-row .views-field-title.col-sm-6 a {
    font-size: 20px;
    line-height: 24px;
  }
}

/* Página de noticias */
.view.view-noticias-pagina-principal.view-id-noticias_pagina_principal.view-display-id-page_1 .views-field-field-imagen-noticia {
  float: left;
  margin: 10px;
}

.view.view-noticias-pagina-principal.view-id-noticias_pagina_principal.view-display-id-page_1 .views-row {
  clear: both;
}

.view.view-noticias-pagina-principal.view-id-noticias_pagina_principal.view-display-id-page_1 .views-field-created {
  color: #999;
  font-size: 11px;
}

/* Listas de contenido (blocks reutilizados) */
#block-contenidofield .field--item,
#block-contenidofield-2 .field--item {
  text-align: left;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 18px;
  border-bottom: 1px dashed;
  padding: 5px 15px;
}

#block-contenidofield .field--item:hover,
#block-contenidofield-2 .field--item:hover {
  background: #E7E7E7;
}

#block-contenidofield .field--item:hover a,
#block-contenidofield-2 .field--item:hover a {
  text-decoration: none;
  color: var(--udg-text);
}

/* == 11) Agenda ============================================================ */
#block-views-block-agenda-contenido-block-1 .views-field-title,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-field-title {
  font-family: var(--font-family-base);
  font-weight: 600;
  /* Semibold para destacar */
  font-size: 20px;
  padding-left: 40px;
}

#block-views-block-agenda-contenido-block-1 .views-field-field-sitio-de-interes,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-field-field-sitio-de-interes {
  background: #164d73;
  padding: 10px;
  margin-top: 10px;
  text-align: center;
  color: #fff;
}

#block-views-block-agenda-contenido-block-1 .views-field-field-sitio-de-interes a,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-field-field-sitio-de-interes a {
  color: #fff;
}

#block-views-block-agenda-contenido-block-1 input,
#block-views-block-agenda-contenido-block-2 input,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 input {
  width: 40px;
  height: 40px;
  text-indent: 50px;
  border: #fff solid 1px;
  background: url('../images/ico_evento_fecha.png') no-repeat center;
}

#block-views-block-agenda-contenido-block-1 input:hover,
#block-views-block-agenda-contenido-block-2 input:hover,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 input:hover {
  background: #cecece url('../images/ico_evento_fecha_over.png') no-repeat center;
}

#block-views-block-agenda-contenido-block-1 .views-field-field-lugar a,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-field-field-lugar a {
  width: 40px;
  height: 40px;
  line-height: 50px;
  text-indent: 50px;
  overflow: hidden;
  display: block;
  color: #fff;
  background: url('../images/ico_evento_lugar.png') no-repeat 10px center;
}

#block-views-block-agenda-contenido-block-1 .views-field-field-lugar a:hover,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-field-field-lugar a:hover {
  background: #cecece url('../images/ico_evento_lugar_over.png') no-repeat 10px center;
}

#block-views-block-agenda-contenido-block-1 .content-group,
#block-views-block-agenda-contenido-block-2 .content-group,
.view.view-agenda-contenido-.view-id-agenda_contenido_.view-display-id-page_1 .views-row {
  border: 3px solid var(--udg-light);
  margin: 10px 0;
  padding: 20px 5px;
}

/* == 12) Galerías (imágenes y videos) ===================================== */
.view.view-galeria-de-imagenes.view-id-galeria_de_imagenes.view-display-id-page_1 .view-content img {
  display: inline-block;
  vertical-align: top;
}

.view.view-galeria-de-imagenes.view-id-galeria_de_imagenes.view-display-id-page_1 .views-row {
  border-bottom: 1px dotted #DDD;
  padding: 10px 0;
  margin: 0;
}

#block-views-block-galeria-de-imagenes-block-2 .views-field,
#block-views-block-videos-block-3 .views-field {
  text-align: left;
  font-family: var(--font-family-base);
  font-weight: 500;
  /* Medium */
  font-size: 22px;
  line-height: 30px;
  border-bottom: 2px dashed;
  padding: 5px 15px;
}

#block-views-block-galeria-de-imagenes-block-2 .views-field:hover,
#block-views-block-videos-block-3 .views-field:hover {
  background: #E7E7E7;
}

#block-views-block-galeria-de-imagenes-block-2 .views-field:hover a,
#block-views-block-videos-block-3 .views-field:hover a {
  text-decoration: none;
  color: var(--udg-text);
}

/* == 13) Archivos/descargas =============================================== */
.field--type-file .file {
  background: var(--udg-grey);
  padding: 10px 10px 5px;
  margin-bottom: 5px;
  display: block;
}

.file-icon {
  font-size: 24px;
  display: inline-block;
  vertical-align: middle;
}

.file-link {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

.file-size {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

span.file.file--mime-application-pdf.file--application-pdf.icon-before span.file-link a {
  font-family: var(--font-family-base);
  font-weight: 500;
  /* Medium */
  font-size: 18px;
}

/* == 14) Botones “Ver más” reutilizables (Premium) ========================== */
.view-footer,
.more-link {
  display: block;
  /* Ocupar ancho para poder alinear contenido interno */
  width: 100%;
  text-align: center;
  /* Centrar el botón */
  margin-top: 30px;
  margin-bottom: 40px;
  float: none;
  /* Quitar float antiguo */
  clear: both;
}

.view-footer a,
.more-link a {
  display: inline-block;
  padding: 12px 35px;
  background-color: var(--udg-primary);
  /* Color Institucional */
  color: #fff;
  border-radius: 50px;
  /* Redondeado moderno */
  text-decoration: none;
  font-family: var(--font-family-base);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  border: 2px solid transparent;
  /* Para evitar saltos si se añade borde en hover */
}

.view-footer a:hover,
.more-link a:hover {
  background-color: var(--udg-accent);
  /* Color de acento al hover */
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-decoration: none;
}

/* == 15) Footer ============================================================ */
#footer {
  background: var(--udg-accent);
  padding-top: 20px;
  color: #fff;
}

#footer a {
  color: #fff;
}

.footer {
  margin: 0 0 10px;
  padding: 0;
  border: 0 !important;
}

#block-redessociales img {
  width: 30px;
  height: auto;
  margin: 5px;
  border-radius: 50%;
  background: #4A9FDC;
}

#block-drudg8b3-footer1 {
  width: 70%;
}

#block-drudg8b3-footer2 .field {
  text-align: center;
}

.foot_direccion {
  padding-left: 10px;
}

#block-drudg8b3-footer h2,
#block-drudg8b3-footer1 h2.block-title,
#block-redessociales h2.block-title,
#block-drudg8b3-footer2 h2.block-title,
#block-bannerudg h2.block-title {
  height: 0;
  padding: 0;
  overflow: hidden;
}

/* == 16) Utilidades ======================================================== */
.u-hide {
  display: none !important;
}

.u-center {
  text-align: center !important;
}

/* == 17) Media Queries globales (pequeños ajustes) ======================== */
@media (max-width:767px) {
  #header.container-fluid {
    padding-bottom: 10px;
  }
}

@media (min-width:992px) and (max-width:1199px) {
  /* Ajustes de tipografía en noticias/banners si aplica */
}

@media (min-width:1200px) {
  /* Ajustes para desktop grande si se requieren */
}

/* Alineación del menú a la derecha y separación entre filas */
#footer .footer-top .footer-menu-right {
  text-align: right;
}

#footer .footer-bottom {
  margin-top: 12px;
  clear: both;
}

@media (max-width: 767px) {
  #footer .footer-top .footer-menu-right {
    text-align: left;
    margin-top: 10px;
  }
}

/* ---- Centrado real del header en desktop ---- */
@media (min-width: 768px) {
  #header .content-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
  }

  /* Columna izquierda (botón hamburguesa) fuera del flujo en desktop */
  #header .content-title .menu {
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    width: auto;
  }

  /* Columna derecha (buscador) fuera del flujo en desktop */
  #header .content-title>.col-sm-2.col-xs-12 {
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    width: auto;
  }

  /* Asegurar centrado visual del escudo */
  #header .escudo {
    text-align: center;
  }

  #header .logog {
    margin: 0 auto;
    top: 0;
  }
}

/* ---- Listón centrado ---- */
#liston .row {
  margin: 0;
}

#liston .text-center {
  text-align: center;
}

/* == 18) Bloque: Circulares (Montserrat + legibilidad) ==================== */
.circulares-block {
  font-family: var(--font-family-base);
}

.circulares-block .view-content {
  border-top: 1px solid var(--udg-light);
}

.circulares-block .views-row {
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 2.25rem;
  border-bottom: 1px solid var(--udg-light);
  transition: background-color .3s ease;
}

.circulares-block .views-row::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background-color: var(--udg-light);
  transition: background-color .3s ease;
}

.circulares-block .views-row:hover {
  background-color: var(--udg-grey);
}

.circulares-block .views-row:hover::before {
  background-color: var(--udg-accent);
}

/* Título de cada circular — Semibold para contraste */
.circulares-block .views-field-title a {
  font-weight: 600;
  /* Semibold */
  font-size: 1.35rem;
  /* ~22px */
  line-height: 1.4;
  color: var(--udg-text);
  text-decoration: none;
  letter-spacing: .1px;
  transition: color .3s ease;
}

.circulares-block .views-row:hover .views-field-title a {
  color: var(--udg-accent);
}

/* Fecha bajo el título */
.circulares-block .views-field-created {
  font-weight: 400;
  /* Regular */
  font-size: .95rem;
  /* ~15px */
  line-height: 1.4;
  color: #6f6f6f;
  margin-top: .35rem;
  display: block;
}

/* Ajustes responsivos Circulares */
@media (max-width: 575px) {
  .circulares-block .views-field-title a {
    font-size: 1.2rem;
  }

  .circulares-block .views-field-created {
    font-size: .98rem;
  }
}



/* === MENÚ PRINCIPAL — base #5F5078, texto blanco, hover/activo #785177 === */
#navigation {
  background: #5F5078;
  /* color base del menú */
  font-size: .95rem;
  /* compacto */
}

/* Nivel superior (links principales) */
#navigation .navbar-nav>li>a {
  color: var(--white) !important;
  padding: .5rem .9rem;
  text-shadow: none;
}

/* Hover/Focus/Activo/Abierto: fondo #785177 y texto blanco */
#navigation .navbar-nav>li>a:hover,
#navigation .navbar-nav>li>a:focus,
#navigation .navbar-nav>.active>a,
#navigation .navbar-nav>.active>a:hover,
#navigation .navbar-nav>.active>a:focus,
#navigation .navbar-nav>.open>a,
#navigation .navbar-nav>.open>a:hover,
#navigation .navbar-nav>.open>a:focus {
  background: #785177 !important;
  color: var(--white) !important;
  text-shadow: none;
}

/* Anular reglas globales que ponían gris en hover/focus */
#navigation .nav>li>a:hover,
#navigation .nav>li>a:focus {
  background: #785177 !important;
  color: var(--white) !important;
}

/* Caret/flechita del dropdown en blanco */
#navigation .navbar-nav>li>a .caret {
  border-top-color: var(--white);
  border-bottom-color: var(--white);
}

/* Dropdowns internos: conservar estilo sobre fondo claro */
#navigation .dropdown-menu>li>a {
  background: transparent;
  color: inherit;
}

#navigation .dropdown-menu>li>a:hover,
#navigation .dropdown-menu>li>a:focus {
  background: #eee;
  color: inherit;
}

/* Precontent full-width: sin gutters laterales ni contenedores internos fijos */
#precontent.container-fluid,
#precontent2.container-fluid,
#precontent3.container-fluid {
  padding-left: 0;
  padding-right: 0;
}

#precontent .precontent,
#precontent2 .precontent2,
#precontent3 .precontent3 {
  width: 100%;
  margin: 0;
}

/* Asegurar que sliders/imágenes dentro ocupen ancho completo */
#precontent .carousel,
#precontent2 .carousel,
#precontent3 .carousel,
#precontent img,
#precontent2 img,
#precontent3 img {
  width: 100%;
  height: auto;
  display: block;
}

/* Evitar barras por padding del body en breakpoints pequeños */
.region-precontent,
.precontent,
.precontent2,
.precontent3 {
  overflow: hidden;
}


/* == 19) Secciones Principales (Separación Visual Premium) ================= */

/* Espaciado y separación base para secciones principales */
#block-drudg8b3-views-block-banner-block-1-2,
#block-drudg8b3-views-block-noticias-pagina-principal-block-1,
#block-views-block-videos-block-3,
.circulares-block,
#block-views-block-agenda-contenido-block-1,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1,
/* ID Nuevo */
.titulo-seccion-noticias,
.titulo-con-linea {
  padding: 60px 0;
  margin: 0;
  position: relative;
  clear: both;
}

/* Mixin simulado para Fondo Ancho Completo (Full-Width Hack) */
/* Esto permite que el fondo se extienda al borde de la pantalla aunque esté dentro de un container */
#block-drudg8b3-views-block-banner-block-1-2,
#block-drudg8b3-views-block-noticias-pagina-principal-block-1,
#block-views-block-videos-block-3,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 {
  width: 100vw;
  margin-left: -50vw;
  left: 50%;
  right: 50%;
  padding-left: calc(50vw - 50%);
  /* Restar la mitad del ancho del parent para mantener contenido alineado */
  padding-right: calc(50vw - 50%);
  box-sizing: border-box;
  /* Crucial para que el padding no rompa el ancho */
}

/* Nota: Se excluye .circulares-block si ya es blanco y no necesita estirarse o si causa conflictos */


/* 1. Carrusel de Banners - Fondo blanco */
#block-drudg8b3-views-block-banner-block-1-2 {
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

/* Corrección para título alineado a la derecha en Banners */
#block-drudg8b3-views-block-banner-block-1-2 .titulo-con-linea,
#block-drudg8b3-views-block-banner-block-1-2 h2 {
  text-align: center !important;
  width: 100%;
  display: block;
}

/* 2. Noticias - Fondo gris claro (más contraste) */
#block-drudg8b3-views-block-noticias-pagina-principal-block-1 {
  background-color: #f5f5f5;
  /* Antes #fcfcfc */
  border-bottom: 1px solid #d0d0d0;
}

/* 3. Galería de Videos - Fondo gris medio (mucho más contraste) */
#block-views-block-videos-block-3 {
  background-color: #e0e0e0;
  /* Antes #f4f4f4 */
  border-bottom: 1px solid #bbb;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.08);
}

/* Ajuste adicional para el título en videos */
#block-views-block-videos-block-3 h2,
#block-views-block-videos-block-3 .titulo-con-linea {
  color: var(--udg-head);
  text-align: center !important;
}

/* 4. Circulares - Fondo blanco limpio */
.circulares-block {
  background-color: #fff;
}

/* 5. Enlaces de interés (NUEVO) - Fondo y correcciones */
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 {
  background-color: #f9f9f9;
  border-top: 1px solid #ddd;
  padding-bottom: 80px;
}

/* Interacción hover DRAMÁTICA para Enlaces de Interés */
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 a,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 .views-row {
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  /* Efecto rebote suave */
  display: block;
  /* Asegurar que tome el espacio para transform */
}

#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 a:hover,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 .views-row:hover {
  transform: scale(1.05) translateY(-5px);
  /* Aumento de tamaño y subida */
  filter: brightness(1.05);
  /* Ligero brillo */
  z-index: 10;
  /* Poner al frente */
  cursor: pointer;
}

/* Títulos de Sección - Estilo unificado "Premium" */
#block-drudg8b3-views-block-carrusel-de-banners-block-1 .block-title,
#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .block-title,
.noticias-section .mc-heading,
#block-galeriadevideos .block-title,
#block-views-block-noticias-2-block-circulares .block-title,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 .block-title,
#bloque-comunidad h2,
/* Antiguos o redundantes para asegurar compatibilidad */
#block-drudg8b3-views-block-banner-block-1-2 h2,
#block-drudg8b3-views-block-agenda-contenido-block-1 h2 {
  text-align: center !important;
  font-size: 2rem !important;
  /* Forzar tamaño unificado */
  font-weight: 700 !important;
  margin-bottom: 40px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--udg-head);
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.2;
}

/* Decoración debajo del título */
#block-drudg8b3-views-block-carrusel-de-banners-block-1 .block-title::after,
#block-drudg8b3-views-block-noticias-pagina-principal-block-1 .block-title::after,
.noticias-section .mc-heading::after,
#block-galeriadevideos .block-title::after,
#block-views-block-noticias-2-block-circulares .block-title::after,
#block-drudg8b3-views-block-enlaces-de-interes-banners-block-1 .block-title::after,
#bloque-comunidad h2::after,
/* Antiguos */
#block-drudg8b3-views-block-agenda-contenido-block-1 h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background: var(--udg-accent);
  margin: 15px auto 0;
  border-radius: 2px;
}
/* Comunidad Tabs y Cards (Estilo híbrido CUVALLES/CUCEA - Paleta UdeG) */
.comunidad-tabs-container {
  margin: 60px 0;
  font-family: var(--font-family-base);
}
.comunidad-nav-tabs {
  border-bottom: none;
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
}
.comunidad-nav-tabs > li {
  float: none !important;
  display: inline-block;
}
.comunidad-nav-tabs > li > a {
  border: 1px solid #e0e0e0 !important;
  border-radius: 50px !important;
  padding: 10px 25px !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  color: var(--udg-text);
  background-color: #fff;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  margin-right: 0 !important;
}
.comunidad-nav-tabs > li.active > a,
.comunidad-nav-tabs > li.active > a:hover,
.comunidad-nav-tabs > li.active > a:focus {
  background-color: var(--udg-link) !important;
  color: #fff !important;
  border-color: var(--udg-link) !important;
  box-shadow: 0 4px 12px rgba(38, 89, 134, 0.3);
  transform: translateY(-2px);
}
.comunidad-nav-tabs > li > a:hover {
  background-color: #fcfcfc !important;
  border-color: #ccc !important;
  color: var(--udg-link) !important;
}

.comunidad-tab-content {
  padding: 50px 30px;
  background: #fdfdfd;
  border-radius: 15px;
  margin-top: 10px;
  box-shadow: inset 0 0 15px rgba(0,0,0,0.03);
  border: 1px solid #eee;
}
.comunidad-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 12px;
  padding: 35px 20px;
  margin-bottom: 30px;
  text-decoration: none !important;
  color: var(--udg-text);
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  border: 1px solid #f0f0f0;
  height: 100%;
}
.comunidad-card:hover,
.comunidad-card:focus {
  color: var(--udg-link);
  box-shadow: 0 15px 35px rgba(38, 89, 134, 0.1);
  transform: translateY(-10px);
  border-color: var(--udg-link);
}
.comunidad-card-icon {
  font-size: 52px;
  margin-bottom: 20px;
  color: var(--udg-link);
  transition: transform 0.4s ease, color 0.3s ease;
}
.comunidad-card:hover .comunidad-card-icon {
  transform: scale(1.1) rotate(3deg);
  color: var(--udg-primary);
}
.comunidad-card-icon img.svg-icon {
  width: 65px;
  height: 65px;
  object-fit: contain;
  margin: 0 auto;
  transition: transform 0.4s ease, filter 0.3s ease;
}
.comunidad-card:hover .comunidad-card-icon img.svg-icon {
  transform: scale(1.1) rotate(3deg);
}
.comunidad-card-title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  text-align: center;
}

@media (max-width: 768px) {
  .comunidad-nav-tabs {
    flex-direction: column;
    padding: 0 15px;
  }
  .comunidad-nav-tabs > li {
    width: 100%;
    margin-bottom: 8px;
  }
  .comunidad-nav-tabs > li > a {
    text-align: center;
    width: 100%;
  }
  .comunidad-tab-content {
    padding: 30px 15px;
  }
}

/* ==========================================================================
   MODERN SIDEBAR MENU (Premium Style - Unified)
   ========================================================================== */

/* Sidebar menu usa la paleta oficial UDG */
:root {
  --sb-accent:        #785177;               /* udg-accent — hover/active color */
  --sb-accent-light:  rgba(95, 80, 120, 0.07); /* udg-primary con transparencia */
  --sb-primary-dark:  #5F5078;               /* udg-primary — iconos activos */
  --sb-text:          #4B4B4B;               /* udg-text */
  --sb-text-muted:    #888;
  --sb-bg:            #ffffff;
  --sb-divider:       #EEEEEE;               /* udg-light */
  --sb-shadow:        0 2px 14px rgba(95, 80, 120, 0.10);
  --sb-radius:        14px;
  --sb-item-radius:   8px;
}

/* Container */
.sidebar-menu {
  background: var(--sb-bg);
  border: 1px solid #e8edf2;
  border-radius: var(--sb-radius);
  box-shadow: var(--sb-shadow);
  overflow: hidden;
  margin-bottom: 2rem;
  padding: 0.75rem;
}

/* Header / Title */
.sidebar-menu > h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.8px !important;
  color: var(--sb-text-muted) !important;
  padding: 0.75rem 1rem 0.75rem 1rem !important;
  margin: 0 0 0.25rem 0 !important;
  border-bottom: 1px solid var(--sb-divider) !important;
}

/* List Reset */
.sidebar-menu .card-list-container ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* — SUBTLE DIVIDERS between items — */
.sidebar-menu .card-list-container li {
  margin: 0 !important;
  border-bottom: 1px solid var(--sb-divider);
}

/* Remove divider from last item */
.sidebar-menu .card-list-container li:last-child {
  border-bottom: none !important;
}

/* Links / Items */
.sidebar-menu .card-list-container a {
  display: flex !important;
  align-items: center;
  padding: 11px 12px !important;
  color: var(--sb-text) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  border-radius: var(--sb-item-radius) !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-left-color 0.2s ease !important;
  border-left: 3px solid transparent !important;
  gap: 10px;
}

/* Hover effect */
.sidebar-menu .card-list-container a:hover {
  background-color: #f6f8fa !important;
  color: var(--sb-accent) !important;
  text-decoration: none !important;
  border-left-color: var(--sb-accent) !important;
}

/* Active / Current Page State */
.sidebar-menu .card-list-container li.is-active > a,
.sidebar-menu .card-list-container li.is-active > .item-wrapper > a,
.sidebar-menu .card-list-container li.active > a {
  background-color: var(--sb-accent-light) !important;
  color: var(--sb-accent) !important;
  border-left-color: var(--sb-accent) !important;
  font-weight: 700 !important;
}

/* Active state icon color */
.sidebar-menu .card-list-container li.is-active > a .menu-icon,
.sidebar-menu .card-list-container li.is-active > .item-wrapper > a .menu-icon {
  opacity: 1;
  color: var(--sb-accent);
}

/* Icon Styling */
.sidebar-menu .menu-icon {
  flex-shrink: 0;
  font-size: 1rem;
  width: 20px;
  text-align: center;
  opacity: 0.55;
  color: var(--sb-primary-dark);
  transition: opacity 0.2s ease, color 0.2s ease;
}

.sidebar-menu .card-list-container a:hover .menu-icon {
  opacity: 1;
  color: var(--sb-accent);
}

/* Submenu Dot Icon */
.sidebar-menu .menu-icon-sub {
  flex-shrink: 0;
  font-size: 0.45rem;
  width: 16px;
  text-align: center;
  opacity: 0.4;
}

/* SVG Specific Styling */
.sidebar-menu img.svg-menu-icon {
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.65);
  transition: filter 0.2s ease, transform 0.2s ease;
}
.sidebar-menu .card-list-container a:hover img.svg-menu-icon,
.sidebar-menu .card-list-container li.is-active > a img.svg-menu-icon,
.sidebar-menu .card-list-container li.is-active > .item-wrapper > a img.svg-menu-icon {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.1);
}

/* Item wrapper (for parent items with children) */
.sidebar-menu .item-wrapper {
  display: flex;
  align-items: center;
  position: relative;
}

.sidebar-menu .item-wrapper > a {
  flex-grow: 1;
}

.sidebar-menu .toggle-btn {
  display: none; /* Hidden — toggle via JS */
}

/* Submenu / Nested list */
.sidebar-menu .card-list--nested {
  padding: 0 0 0 2rem !important;
  margin: 0 !important;
  background-color: #fafbfc;
  border-top: 1px solid var(--sb-divider);
}

.sidebar-menu .card-list--nested li {
  border-bottom: 1px solid #f4f4f8 !important;
}

.sidebar-menu .card-list--nested li:last-child {
  border-bottom: none !important;
}

.sidebar-menu .card-list--nested a {
  font-size: 0.82rem !important;
  padding: 9px 10px !important;
  font-weight: 500 !important;
  color: var(--sb-text-muted) !important;
}

.sidebar-menu .card-list--nested a:hover {
  color: var(--sb-accent) !important;
  background-color: #f0f3f6 !important;
}

/* Chevron for parent items */
.sidebar-menu li.has-children > .item-wrapper::after {
  content: '›';
  font-size: 1.4rem;
  line-height: 1;
  color: var(--sb-text-muted);
  opacity: 0.5;
  margin-right: 8px;
  transition: transform 0.2s ease;
}

.sidebar-menu li.has-children.is-expanded > .item-wrapper::after {
  transform: rotate(90deg);
  opacity: 1;
  color: var(--sb-accent);
}

/* Responsive */
@media (max-width: 768px) {
  .sidebar-menu {
    border-radius: 8px;
    padding: 0.4rem;
  }
}




/* == 17) Directorio Jerárquico (Extensiones) =============================== */
.view-id-directorio_extensiones .view-grouping {
  margin-bottom: 1.5rem;
}

/* Nivel 1: División / Rectoría (Bisabuelo) */
.view-id-directorio_extensiones .view-grouping-header {
  background: var(--udg-primary);
  color: #fff;
  padding: 10px 15px;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 4px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

/* Nivel 2: Coordinación / Departamento (Abuelo) */
.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping-header {
  background: #f0f0f0;
  color: var(--udg-primary);
  padding: 8px 12px;
  margin-left: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  border-left: 5px solid var(--udg-primary);
  text-transform: none;
}

/* Nivel 3: Jefaturas de Unidad (Padre) */
.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping .view-grouping-header {
  background: transparent;
  color: var(--udg-text);
  padding: 5px 10px;
  margin-left: 40px;
  font-size: 1.15rem;
  font-weight: 600;
  border-left: 3px solid #ccc;
  border-bottom: 1px solid #eee;
}

/* Nivel 4: Área específica / Directa */
.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping .view-grouping .view-grouping-header {
  background: transparent;
  color: #666;
  padding: 2px 10px;
  margin-left: 60px;
  font-size: 1rem;
  font-weight: 500;
  font-style: italic;
  border-left: 2px solid #ddd;
}

/* Indentación de las tablas de datos según el nivel */
.view-id-directorio_extensiones .view-grouping-content table {
  margin-left: 0;
  width: 100%;
}

.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping-content {
  margin-left: 20px;
}
.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping .view-grouping-content {
  margin-left: 40px;
}
.view-id-directorio_extensiones .view-grouping .view-grouping .view-grouping .view-grouping .view-grouping-content {
  margin-left: 60px;
}

/* ============================================================
   == PÁGINAS BÁSICAS (node--page) ============================
   ============================================================ */

/* Wrapper del artículo */
article.page-content-wrapper {
  padding: 0;
}

/* Título de la página */
h1.page-node-title {
  font-family: var(--font-family-base);
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--udg-primary);
  letter-spacing: 0.02em;
  margin: 1rem 0 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid var(--udg-accent);
  line-height: 1.25;
}

/* Cuerpo del contenido editorial */
.page-content-wrapper .content.field--name-body {
  font-family: var(--font-family-base);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--udg-text);
}

/* Párrafos */
.page-content-wrapper .content.field--name-body p {
  margin: 0 0 1em;
}

/* Encabezados dentro del cuerpo */
.page-content-wrapper .content.field--name-body h1,
.page-content-wrapper .content.field--name-body h2,
.page-content-wrapper .content.field--name-body h3,
.page-content-wrapper .content.field--name-body h4 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  color: var(--udg-head);
}

/* Viñetas y listas dentro del cuerpo */
.page-content-wrapper .content.field--name-body ul,
.page-content-wrapper .content.field--name-body ol {
  margin: 0.5em 0 1em 2em;
  padding: 0;
}

.page-content-wrapper .content.field--name-body ul {
  list-style: disc;
}

.page-content-wrapper .content.field--name-body ul ul {
  list-style: circle;
  margin-top: 0.25em;
}

.page-content-wrapper .content.field--name-body ol {
  list-style: decimal;
}

.page-content-wrapper .content.field--name-body li {
  margin-bottom: 0.4em;
  line-height: 1.6;
}

/* Tablas dentro del cuerpo */
.page-content-wrapper .content.field--name-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
}

.page-content-wrapper .content.field--name-body th,
.page-content-wrapper .content.field--name-body td {
  border: 1px solid #ddd;
  padding: 8px 12px;
  text-align: left;
  font-size: 0.95rem;
}

.page-content-wrapper .content.field--name-body th {
  background: var(--udg-primary);
  color: #fff;
  font-weight: 600;
}

.page-content-wrapper .content.field--name-body tr:nth-child(even) td {
  background: #f5f5f5;
}

/* Adjuntos (archivos) */
.page-adjuntos {
  margin-top: 2em;
  padding-top: 1em;
  border-top: 2px dashed var(--udg-grey);
}

.page-adjuntos::before {
  content: "Archivos adjuntos";
  display: block;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--udg-primary);
  margin-bottom: 0.75em;
}

/* Listón de imagen */
.page-liston {
  margin-bottom: 1.5em;
}

/* Responsive */
@media (max-width: 767px) {
  h1.page-node-title {
    font-size: 1.35rem;
  }

  .page-content-wrapper .content.field--name-body {
    font-size: 0.95rem;
  }
}

/* Fix for inline SVG icons that lost their inline styles due to Drupal filters */
.menu img[src*="/iconos-svg/"],
.nav img[src*="/iconos-svg/"],
.item-list ul li img[src*="/iconos-svg/"],
.field--name-body img[src*="/iconos-svg/"],
.region-sidebar-second img[src*="/iconos-svg/"],
a img[src*="/iconos-svg/"] {
    max-height: 22px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

/* Remove filter if we want colors, or apply filter if we want them dark blue like original */
.menu img[src*="/iconos-svg/"],
.nav img[src*="/iconos-svg/"],
.item-list ul li img[src*="/iconos-svg/"] {
    /* To keep them strictly monochrome (dark blue) */
    /* filter: grayscale(100%) brightness(50%) sepia(100%) hue-rotate(180deg) saturate(300%); */
    /* Or keep them colorful as requested by "nueva retícula de tarjetas utilizando los nuevos iconos de diseño (con el formato SVG)" */
}

/* Fix for the grid cards in Oferta Academica */
.lp-card-icon img[src*="/iconos-svg/"] {
    height: 50px !important;
    max-height: 50px !important;
    width: auto !important;
    margin: 0 auto 10px auto;
    display: block;
    transition: transform 0.3s ease;
}

/* Add hover effect for the cards */
.lp-card:hover .lp-card-icon img[src*="/iconos-svg/"] {
    transform: scale(1.1);
}

.lp-filter-btn img[src*="/iconos-svg/"] {
    height: 18px !important;
    max-height: 18px !important;
    width: auto !important;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}


