:root {
  --news-gap: 0.4rem;
  --margin-top: 3rem;
  --red: #C10400;
  --red2: #910D0B;
  --red3: #ED1C24;
  --red4: #B11F24;
  --dark: #000;
  --original: #333333;
  --white: #fff;
  --news-dark: #111;
  --grey: #6F6F6F;
  --bs-breadcrumb-divider: "›";
}


@font-face {
  font-family: 'Cambria';
  src: url('../fonts/cambria/cambria-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cambria-bold';
  src: url('../fonts/cambria/cambria-bold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: url('../fonts/roboto/roboto-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-bold';
  src: url('../fonts/roboto/roboto-bold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Roboto', sans-serif;
  font-size: 1.1rem;
  line-height: 1.5;
  color: var(--original);
  background-color: var(--white);
  overflow-x: hidden;
}

a,
.nav-link {
  color: var(--red);
}

a:hover,
a:focus,
.nav-link:hover,
.nav-link:focus {
  color: var(--red2);
}

.fondo-gris{
  background: rgba(236, 236, 236, 0.5);
}

.full-width {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}

.full-width > div {
  width: 90%;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.padding-block {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.margin-top {
  margin-top: var(--margin-top, 3rem);
}

.display-none {
  display: none;
}
.sombra-seccion {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  padding: 3rem 4rem;
}

.form-control {
  border-radius: 0;
}

.btn,
.button,
a.button.btn,
.sliding-popup-bottom button {
  --bs-btn-padding-x: 1.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--red3);
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  color: var(--bs-btn-color);
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
}
.btn-primary,
.btn-secondary,
.sliding-popup-bottom button {
  --bs-btn-color: var(--white);
  --bs-btn-bg: var(--red3);
  --bs-btn-border-color: var(--red3);
  --bs-btn-hover-color: var(--white);
  --bs-btn-hover-bg: var(--red);
  --bs-btn-hover-border-color: var(--red);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: var(--white);
  --bs-btn-active-bg: var(--red);
  --bs-btn-active-border-color: var(--red2);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--white);
  --bs-btn-disabled-bg: var(--red3);
  --bs-btn-disabled-border-color: var(--red3);
}

.btn:hover,
.button:hover,
.btn:focus,
.button:focus {
  color: var(--white);
  background-color: var(--red2);
  border-color: var(--red2);
  --bs-btn-border-color: var(--red3);
  --bs-btn-hover-bg: var(--red3);
  --bs-btn-hover-border-color: var(--red3);
  --bs-btn-active-bg: var(--red3);
  --bs-btn-active-border-color: var(--red3);
  --bs-btn-disabled-color: var(--red3)
  --bs-btn-disabled-border-color: var(--red3)
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(17%) sepia(94%) saturate(7492%) hue-rotate(358deg) brightness(95%) contrast(120%);
    cursor: pointer;
}

.back-to-top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  display: none;
  z-index: 1000;
  text-decoration: none;
  font-weight: bold;
  font-size: 2rem;
  border: 1px solid;
  padding: 0.5rem 1rem;
  background: rgb(50, 50, 50, 0.2)
}

span.modal-content.hidden {
  display: none;
}

/* HEDAER */

header {
  box-shadow: 0px 4px 4px 0px #0000000A;
  height: 180px;
  --header-height: 140px;
  margin-bottom: 5px;
}

header.header-main .header-content {
  display: grid;  
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}

.region.region-header {
  background-color: var(--red4);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 36px;
  padding: 0 6rem;
}

button.navbar-toggler {
  border: none;
  box-shadow: none;
}
button.navbar-toggler:hover,
button.navbar-toggler:focus,
button.navbar-toggler:active {
  box-shadow: none;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
}

#block-parlacan-tema-d10-headerredessociales {
  border-left: 1px solid var(--white);
  padding-left: 2rem;
}

#block-parlacan-tema-d10-headerredessociales .field--name-body {
  display: inline-flex;
  color: var(--white);
}

#block-parlacan-tema-d10-headerredessociales .field--name-body p {
  margin: 0
}
#block-parlacan-tema-d10-headerredessociales .field--name-body p:first-child {
  margin-right: 1rem;
} 

#block-parlacan-tema-d10-headerredessociales .field--name-body img {
  width: 20px;
  height: auto;
  margin: 0 0.2rem;
}

header > nav.navbar{
  width: 90%;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1rem;
}

@media (min-width: 1200px) {
    .navbar-brand img {
        height: 86px;
    }
}

.navbar-menu {
  padding: 0 !important;
}

.navbar-menu a,
.navbar-menu .nav-link {
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-decoration: none;
  color: var(--bs-nav-link-color);
  cursor: pointer;
}
.navbar-menu a:hover,
.navbar-menu a:focus {
  color: var(--bs-nav-link-hover-color);
}
.navbar-menu .megamenu__links a {
    padding: 0.3rem;
    width: 100%;
    display: block;
}

header .navbar-expand-lg .navbar-nav .nav-link {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 700;
  font-size: 1.1rem;
}

.has-megamenu {
  position: static;
}

a .navbar-nav .nav-link{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.megamenu {
  position: fixed;
  top: var(--header-height, 155px);
  left: 0;
  width: 100vw;
  background: var(--white);
  z-index: 1000;
  margin-top: 0.25rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms ease;
}

body.toolbar-horizontal .megamenu {
  top: calc(var(--header-height, 155px) + 39px); /* altura toolbar horizontal */
}

body.toolbar-horizontal.toolbar-tray-open .megamenu {
  top: calc(var(--header-height, 155px) + 79px); /* toolbar + tray */
}

.megamenu .container {
  width: 100% !important;
  max-width: 100% !important;
}

.has-megamenu.is-open .megamenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  background: #f6eaea;
}

.megamenu__grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  padding: 2rem 0;
}

.navbar-menu a.megamenu__title,
.navbar-menu span.megamenu__title {
  color: var(--red4);
  font-weight: 600;
  font-size: 1.1rem;
  padding: 0.3rem;
  margin-bottom: 0.75rem;
  text-decoration: none;
  display: block;
}

.megamenu__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.megamenu__links li {
  margin-bottom: 0.5rem;
  border-bottom: 1px solid;
}


/* CONTENT */

main #main-content,
main #main-content .full-width h2,
main #main-content .full-width .field--name-body,
main #main-content .view.view-grid-home,
main #main-content .view.view-videoteca-home{
  width: 90%;
  max-width: 90%;
  margin-left: auto !important;
  margin-right: auto !important;
}

.texto-destacado {
  color: var(--red4);
  font-weight: 600;
}
li.enlace-descarga {
  list-style: none;
  padding: 1rem;
  display: block;
}
li.enlace-descarga a,
a.enlace-descarga {
  color: var(--red3);
  text-decoration: none;
}
li.enlace-descarga a::before,
a.enlace-descarga::before{
  content: "\f30a";
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-weight: bold !important;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-right: 0.5rem;
}
.card-persona-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  padding: 1rem 0;
}
.node__content .card-persona-wrapper h3 {
  padding-bottom: 1rem;
}
.card-persona {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  border-radius: 1rem;
  padding: 2rem 2rem 2rem 9rem;
}
.card-persona p {
  position: relative;
}
.titulo-card-persona {
  font-weight: bold;
}
.titulo-card-persona::before,
.telefono-card-persona::before,
.correo-card-persona::before
{
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-weight: bold !important;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-right: 0.5rem;
  position: absolute;
  left: -4rem;
}
.titulo-card-persona::before {
  content: "\f4e1";
  font-size: 3rem;
  left: -5rem;
}
.telefono-card-persona::before {
  content: "\f5c1";
  top: 0.3em;
}
.correo-card-persona::before {
  content: "\f32f";
  top: 0.3em;
}

@media (max-width: 768px) {
  .contact-cards {
    grid-template-columns: 1fr;
  }
}

.path-frontpage main h2, main h1 {
  color: var(--red2);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2rem;
}
.node__content h2,
h2.header-view {
  color: var(--red2);
  font-weight: 700;
  font-size: 1.4rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.path-frontpage main h2::after, main h1::after,
.node__content h2::after,
h2.header-view::after {
  content: "";
  display: block;
  width: 60px;
  height: 4px;
  background-color: var(--red2);
  margin-top: 0.8rem;
}

.node__content h3 {
  font-size: 1.2em;
  font-weight: 700;
}

/* Contenedor general */

.node .group-margen-izquierdo {
  clear: left;
  float: left;
  width: 15%;
}
.node .group-margen-izquierdo.group-tipo-dos {
  width: 25%;
}

.node .group-contenido {
  float: left;
  width: 85%;
  margin-bottom: 30px;
  padding-left: 3%;
}
.node .group-contenido.group-tipo-dos {
  width: 75%;
}

.node .group-contenido .field {
  margin-bottom: 0.5rem;
}

.node .group-margen-izquierdo time {
  font-size: 1.5rem;
  font-weight: bold;
}

.node .group-margen-izquierdo time.datetime::after {
  content: "\F231";
  font-family: 'bootstrap-icons';
  color: var(--grey);
  vertical-align: bottom;
}

.path-frontpage div#block-parlacan-tema-d10-page-title {
  text-indent: -10000px;
  height: 0;
}
.path-frontpage .region.region-breadcrumb {
  position: absolute;
  top: -100px;
  z-index: -1;
}

.mensaje-aviso {
  position: relative;
  background-color: rgba(193, 4, 0, 0.12);
  color: #2B2C30;
  padding: 2rem 2.5rem 2rem 7rem;
  border-radius: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1.1rem;
  max-width: 90%;
  margin-left: auto !important;
  margin-right: auto !important;  
}
.mensaje-aviso::before {
  content: "\F333"; /* Bootstrap Icons: exclamation-circle */
  font-family: "bootstrap-icons";
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.8rem;
  font-weight: 700;
  color: #1a1a1a;
}
.mensaje-aviso p {
  margin: 0;
}
main .mensaje-aviso h2{
  color: #2B2C30;
  font-size: 1.5rem;
}
main .mensaje-aviso h2::after {
  display: none;
}

.iconos-home {
  text-align: center;
  margin-top: 3rem;
}

/* Enlace completo */
.icono-enlace {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

/* Círculo */
.icono-enlace__icono {
  width: 121px;
  height: 121px;
  border-radius: 50%;
  background-color: var(--red3);
  border: 1px solid var(--red3);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Imagen */
.icono-enlace__icono img {
  width: 45%;
  height: auto;
  display: block;
}

/* Texto */
.icono-enlace__texto {
  font-size: 1.3rem;
  font-weight: 600;
  color: #2b2b2b;
}

/* Hover / focus */
.icono-enlace:hover .icono-enlace__icono,
.icono-enlace:focus-visible .icono-enlace__icono {
  background-color: #b80000;
}

.icono-enlace:hover .icono-enlace__texto,
.icono-enlace:focus-visible .icono-enlace__texto {
  text-decoration: underline;
}

/* ==========================================================
   PÁGINA ESTÁTICA
   ========================================================== */

.field--name-field-reproductor-video {
  max-width: 100%;
  padding: 2rem 0;
}

.field--name-field-reproductor-video video {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================
   RECURSOS DOCUMENTALES
   ========================================================== */

.recursos-documentales {
  padding-left: 6rem;
}

.recursos-documentales ul {
  padding-left: 0;
}

.node__content .recursos-documentales h2 {
  position: relative;
}

.recursos-documentales img {
  width: 35px;
  height: auto;
  position: absolute;
  left: -4rem;
}

/* ==========================================================
   GRID DE NOTICIAS – HOME
   Drupal 10.5 · Views · CSS Grid editorial
   ========================================================== */

/* ================= GRID DESKTOP ================= */
.news-grid {
  margin-top: var(--margin-top);
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  grid-template-rows: minmax(375px, auto) minmax(300px, auto);
  grid-template-areas:
    "main side1"
    "main side-bottom";
  gap: var(--news-gap);
}

/* ASIGNACIÓN DE ÁREAS */
.news-grid__item:nth-child(1) {
  grid-area: main;
}

.news-grid__item:nth-child(2) {
  grid-area: side1;
}

.news-grid__item--side-bottom {
  grid-area: side-bottom;
}

/* =========================
   SUBGRID INFERIOR DERECHO
   ========================= */
.side-bottom-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: var(--news-gap);
  height: 100%;
}

/* =========================
   TARJETA NOTICIA
   ========================= */
.news-card {
  display: block;
  position: relative;
  height: 100%;
  overflow: hidden;
  background: var(--news-dark);
  color: var(--white);
  text-decoration: none;
}
.news-card:hover {
  color: var(--white)
}

.news-card__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.75),
    rgba(0,0,0,.2)
  );
  z-index: 2;
}

.news-card__content {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.25rem;
  z-index: 3;
}

.news-card__title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  padding-bottom: 1rem;
}

.news-card__date {
  display: inline-block;
  background: var(--red);
  color: var(--white);
  font-size: 1rem;
  padding: .5rem .75rem;
  margin-bottom: .5rem;
}

.news-grid__item:nth-child(1) .news-card__title {
  font-size: 1.6rem;
}

.news-grid__item:nth-child(1) .news-card__content {
  padding: 2rem;
}

/* =========================
   CTA
   ========================= */
.news-cta {
  background: var(--red4);
  color: var(--white);
  font-size: 1.5rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  height: 100%;
}

.news-cta::before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;

  background-image: url("../images/contenidos.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991px) {
  .news-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "main main"
      "side1 side1"
      "side-bottom side-bottom";
  }

  .side-bottom-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575px) {
  .news-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "side1"
      "side-bottom";
  }

  .side-bottom-grid {
    grid-template-columns: 1fr;
  }
}

/* ================= HOVER ================= */
@media (hover:hover) {
  .news-card img {
    transition: transform .4s ease;
  }
  .news-card:hover img {
    transform: scale(1.05);
  }
  .news-cta:hover {
    background-color: #9e0f17;
    color: var(--white);
  }
}


/* ================= ACCESIBILIDAD ================= */
.news-card:focus-visible,
.news-grid__item--cta a:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: -3px;
}

/* ==================================================
   VIDEOTECA HOME
   ================================================== */

.video-grid {
  margin-top: var(--margin-top);
  display: grid;
  grid-template-columns: 1fr 1fr 0.6fr;
  grid-template-rows: minmax(auto, 400px);
  gap: 1.5rem;
  align-items: stretch;
}

/* ITEM BASE */
.video-grid__item {
  display: flex;
  flex-direction: column;
}

/* ------------------------------
   VIDEO CARD
   ------------------------------ */
.video-card {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--dark);
}

.video-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* OVERLAY */
.video-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
}

/* PLAY ICON */
.video-card__play {
  width: 70px;
  height: 70px;
  background: url("../images/play.png") no-repeat center;
  background-size: contain;
}

/* LABEL */
.video-card__label {
  color: var(--white);
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

/* TITLE */
.video-card__title {
  margin-top: .75rem;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.video-card__title a {
  color: inherit;
  text-decoration: none;
}

/* HOVER */
@media (hover: hover) {
  .video-card__media img {
    transition: transform .4s ease;
  }

  .video-card:hover .video-card__media img {
    transform: scale(1.05);
  }
  .video-cta:hover {
    background-color: #9e0f17;
    color: var(--white);
  }
}

/* ------------------------------
   CTA
   ------------------------------ */
.video-grid__item--cta {
  background: var(--red4);
  margin-bottom: 45px;
}

.video-cta {
  color: var(--white);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.8rem;
  text-decoration: underline;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;

  padding: 2rem;
  height: 100%;
}

/* ICON CTA */
.video-cta__icon {
  width: 70px;
  height: 70px;
  background: url("../images/videoteca.png") no-repeat center;
  background-size: contain;
}

/* ------------------------------
   VIDEO RESPONSIVE
   ------------------------------ */
@media (max-width: 991px) {
  .video-grid {
    grid-template-columns: 1fr 1fr;
  }

  .video-grid__item--cta {
    grid-column: 1 / -1;
    min-height: 180px;
  }
}

@media (max-width: 575px) {
  .video-grid {
    grid-template-columns: 1fr;
  }

  .video-card__title {
    font-size: .95rem;
  }
}


.agenda-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .5rem;
}

.agenda-type {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .8rem;
  color: var(--white);
}

.agenda-type--a { background: var(--red); }
.agenda-type--b { background: #232323; }
.agenda-type--d { background: #588940; }
.agenda-type--e { background: #82ABDA; }

.link-contenido {
  margin-right: 0.3rem;
}

.agenda-loader {
  text-align: center;
}

.agenda-tipo-filtro {
  display: flex;
  gap: 2rem;
  margin-bottom: 1rem;
  padding: 0 3rem 3rem;
}
.calendario-mes.calendario-mes-ajax .agenda-tipo-filtro,
.calendario-mes.calendario-mes-ajax .agenda-item {
  justify-content: center;
}

.agenda-tipo-filtro button {
  border: none;
  padding: 0.25rem 0.5rem;
  font-weight: 700;
  cursor: pointer;
  opacity: 1;
  color: var(--white);
}

.agenda-tipo-filtro button.is-disabled {
  opacity: 0.3;
  pointer-events: none;
  background: var(--grey);
}

.agenda-tipo-filtro button.is-active {
  outline: 2px solid var(--dark);
}

h3#agenda-title {
  padding: 3rem;
  font-weight: 700;
}

.listado-agenda-calendario  {
  padding: 0 1rem 3rem 6rem;
}

.calendario-mes.calendario-mes-ajax .listado-agenda-calendario  {
  padding: 0 1rem 3rem;
}

.listado-agenda-calendario .agenda-item a {
  color: #282828;
  font-size: 1.2rem;
}


/* ==========================================================
   CALENDARIO MINI – ESTÉTICA CUADRADA
   Drupal 10 · Calendar module
   ========================================================== */

.block-views-blockcalendario-normal-block-1 {
  padding: 6rem 1rem 4rem;
}
.calendar-pager__items {
  width: 100%;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
  background: #373737;
  color: var(--white);
  font-size: 1.4rem;
}

.calendar-pager__items a {
  color: var(--white);
  text-decoration: none;
}
/* Tabla base */
.calendar-calendar table.mini {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* Cabecera (L M X J V S D) */
.calendar-calendar table.mini thead th {
  text-align: center;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.75rem 0;
  border: 1px solid #e0e0e0;
  background: var(--white);
}

/* Celdas */
.calendar-calendar table.mini td {
  border: 1px solid #e0e0e0;
  padding: 0;
  height: 48px;
  text-align: center;
  vertical-align: middle;
  background: var(--white);
  cursor: default;
}

/* Contenedor del número */
.calendar-calendar .month {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #222;
}

/* Días sin eventos */
.calendar-calendar td.has-no-events .month {
  background: var(--white);
}

/* Días con eventos */
.calendar-calendar td.has-events .month {
  background: #f6eaea; /* rosado suave */
  font-weight: 600;
  cursor: pointer;
  color: #6e1a29;
}

/* Día actual */
.calendar-calendar td.today .month {
  background: #dfeaf6;
  font-weight: 700;
}

/* Día activo (click) */
.calendar-calendar td.is-active .month {
  background: #f1d0d0;
  box-shadow: inset 0 0 0 2px #b5121b;
}

/* Hover solo si hay eventos */
.calendar-calendar td.has-events:hover .month {
  background: #ecd0d0;
}

/* Días de otro mes */
.calendar-calendar td.past-month .month,
.calendar-calendar td.future-month .month {
  color: #aaa;
}

/* Eliminar contenido interno no deseado */
.calendar-calendar .calendar-empty {
  display: none;
}

/* Accesibilidad foco */
.calendar-calendar td.has-events:focus-visible .month {
  outline: 2px solid var(--dark);
  outline-offset: -2px;
}

.views-element-container .calendario-mes header {
  display: block;
  padding-bottom: 0;
}

.calendario-mes.calendario-mes-ajax footer {
  color: inherit;
  background: inherit;
  text-align: center;
}


/* =========================
   TOOLTIP AGENDA
   ========================= */

.agenda-tooltip {
  position: absolute;
  min-width: 220px;
  background: var(--white);
  border: 1px solid #ccc;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  padding: 0.75rem;
  font-size: 0.9rem;
  z-index: 1000;
  display: none;
  pointer-events: auto;
}

.agenda-tooltip.is-visible {
  display: block;
}

.agenda-tooltip .agenda-item {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.agenda-tooltip .agenda-item:last-child {
  margin-bottom: 0;
}

.region.region-breadcrumb {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-bottom: 2rem;
  background: #F9F9F9;
  padding: 3.5rem 4.75rem;
}

.path-publicaciones .region.region-breadcrumb,
.path-videoteca .region.region-breadcrumb,
.path-agenda-semana .region.region-breadcrumb,
.path-actividad .region.region-breadcrumb,
.path-asistencias-sesiones .region.region-breadcrumb,
.path-boletines-legislativos .region.region-breadcrumb
 {
  margin-bottom: 0;
}

.breadcrumb-item a, 
.breadcrumb-item {
  color: var(--dark);
  text-decoration: none;
  font-weight: 600;
}

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

/* ==========================================================
   FILTRO BUSCADOR – VIEWS
   ========================================================== */

.view-filters {
  background: #F5F5F5;
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
}

.view-filters.search-filters {
  left: inherit;
  right: inherit;;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.view-filters h3{
  color: var(--red2);
  font-size: 1.6rem;
  font-weight: 600;
}

.view-filters-content {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 0.75rem;
  margin-bottom: 1rem;
}

.views-exposed-form .view-filters form,  
.views-exposed-form .fieldset-wrapper, 
.views-element-container header {
  display: inline-flex;
}

.views-exposed-form .form--inline {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;   
}

.views-element-container header {
  height: inherit;
  box-shadow: none;
  border-bottom: 1px solid gray;
  width: 100%;
  justify-content: space-between;
  padding-bottom: 1rem;
}

.views-exposed-form .fieldset-wrapper {
  gap: 1rem;
}

.views-exposed-form.bef-exposed-form .form--inline .form-item{
  margin: 0;
}

.views-exposed-form.bef-exposed-form .form--inline fieldset{
  max-width: min-content;
}

.views-exposed-form .js-form-type-textfield,
.views-exposed-form .js-form-type-select,
.views-exposed-form .js-form-type-search-api-autocomplete {
  display: grid;
  align-items: end;
  margin-bottom: 0;
}

.views-exposed-form .form-actions {
  display: inline-flex;
  padding-left: 3rem;
  align-items: end;
  margin-bottom: 0;
}

.js .views-exposed-form .form-actions.js-hide,
.js .views-exposed-form .form-actions.js-hide input[type="submit"] {
  display: none;
}

.views-exposed-form label {
  font-weight: 600;
  position: relative;
  margin-bottom: 0.5rem;
}
.views-exposed-form .form-item-field-fecha-evento-value-min label,
.views-exposed-form .form-item-field-fecha-evento-value-max label,
.views-exposed-form .form-item-field-videoteca-inicio-value-min label,
.views-exposed-form .form-item-field-videoteca-inicio-value-max label {
  display: none;
}

.actividad-legislatura .views-exposed-form label,
.path-asistencias-sesiones .views-exposed-form label {
  position: inherit;
  bottom: inherit;
}

/* Botón Buscar */
.views-exposed-form #edit-actions input:first-child {
  height: 42px;
  padding: 0.2rem 1.75rem 0.3rem 3rem;
  font-size: 1.2rem;
  background: var(--red3);
  color: var(--white);
  border: 0;
  border-radius: 6px;
  font-weight: 600;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 1rem center;
  background-size: 1.3rem;
}

/* Botón Reset */
.views-exposed-form #edit-actions input:nth-child(2) {
  height: 42px;
  width: 42px;
  background: var(--white);
  border: 1px solid var(--red3);
  color: var(--red3);
  border-radius: 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e30613' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.64-6.36'/%3E%3Cpolyline points='21 3 21 9 15 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.3rem;
  text-indent: -9999px;
}

.view-filters span.fieldset-legend {
  font-weight: 600;
  font-size: 1.1rem;
}

.views-element-container header .view-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 600;
}

p.buscador-resultados {
    font-weight: 300;
}

p.buscador-resultados span {
    font-weight: 600;
}

.facets-widget-dropdown select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: 1.1rem;
  border: 1.5px solid var(--red4);
  background: #f6dada;
  font-size: 1.1rem;
  color: #333;
  cursor: pointer;
  margin-bottom: 1.5rem;
}

/* Flecha */
.facets-widget-dropdown {
  position: relative;
  padding: 0 3rem;
}
.facets-widget-dropdown::after {
  content: "";
  position: absolute;
  top: 1.5rem;
  right: 1.1rem;
  width: 1rem;
  height: 1rem;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
  margin: 0 3rem;
}

/* Focus */
.facets-widget-dropdown select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(230,0,0,0.2);
}

/* Responsive */
@media (max-width: 992px) {
  .view-filters form {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   PAGINACIÓN – VIEWS
   ========================================================== */

.pagination {
  --bs-pagination-color: var(--red);
  --bs-pagination-hover-color: var(--red2);
  --bs-pagination-focus-color: var(--red2);
  --bs-pagination-active-border-color: var(--red);
  --bs-pagination-active-bg: var(--red);
  --bs-pagination-active-color: var(--red);
  --bs-pagination-focus-box-shadow: none;
  justify-content: end;
  padding-bottom: 0;
}

.pagination .page-item .page-link,
.pagination .page-item.page-link {
  border: none;
  border-radius: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.pagination .page-item.page-link {
  text-decoration: none;
}

.footer-noticia  {
  display: block;
  clear: both;
}

.pagination .page-item.active .page-link {
  background: none;
  text-decoration: underline;
  color: var(--red);
}

/* ==========================================================
   TABLA - VIEWS
   ========================================================== */

.listado-tabla table thead th {
  color: var(--grey);
}
.listado-tabla table tbody,
.listado-tabla.listado-tabla-persona {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.listado-tabla th {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.listado-tabla td {
  min-width: 175px;
}

.tabla-tramites td {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.label-warning {
    color: #f0ad4e;
}

.listado-tabla.listado-tabla-persona {
  padding-left: 2rem;
  padding-right: 2rem;
}
.listado-tabla.listado-tabla-persona table tbody {
  box-shadow: none;
}
.listado-tabla-persona .table-striped > tbody > tr:nth-of-type(odd) > *,
.listado-tabla-persona-grabacion .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--white);
  --bs-table-bg-type: var(--white);
}
.listado-tabla-persona a,
.listado-tabla-persona-grabacion a {
  color: var(--red3);
}
.listado-tabla-persona .views-field-field-composicion-alta-cargo {
  font-size: 0.9rem;
}
.listado-tabla.listado-tabla-persona td{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.listado-tabla.listado-tabla-persona-grabacion td {
  padding: 2rem;
  vertical-align: middle;
}
.listado-tabla-persona .label-persona {
  background: var(--grey);
  padding: 0.5rem 3rem;
  border-radius: 4rem;
  color: var(--white);
}

.listado-tabla-persona .label-persona.persona-diputado,
.listado-tabla-persona .label-persona.persona-diputada {
  background: #82ABDA;
}
.listado-tabla-persona .label-persona.persona-vicepresidente,
.listado-tabla-persona .label-persona.persona-vicepresidenta {
  background: var(--red);
}
.listado-tabla-persona .label-persona.persona-presidente,
.listado-tabla-persona .label-persona.persona-presidenta {
  background: #588940;
}

.listado-tabla.listado-tabla-persona-grabacion .views-exposed-form label {
  position: inherit;
  margin-bottom: inherit;
}

.listado-tabla.listado-tabla-persona-grabacion .views-field-play-marca-button button.btn,
.listado-tabla.listado-tabla-persona-grabacion .views-field-play-marca-button a.btn {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  border-radius: 100%;
  border: var(--red3) solid 4px;
  font-size: 4rem;
  padding: 1rem 1rem 1rem 1rem;
  line-height: 1;
  color: var(--red3);
  background: var(--white);
}
.listado-tabla.listado-tabla-persona-grabacion .views-field-play-marca-button button.btn i,
.listado-tabla.listado-tabla-persona-grabacion .views-field-play-marca-button a.btn i {
  position: relative;
  left: 5px;
}
.sesion-persona-foto,
.sesion-persona-foto-campo img,
.expediente-proponente.persona-proponente img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 1rem;
  margin-left: 1rem;
  vertical-align: middle;
}

.badge {
  display: inline-block;
  min-width: 1rem;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  color: var(--white);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  background-color: var(--grey) ;
  border-radius: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* ==========================================================
   AGENDA - PÁGINA
   ========================================================== */

.date-nav-wrapper.pagination {
  width: 100%;
  justify-content: space-evenly;
}

.date-nav-wrapper.pagination h3 {
  color: var(--red);
  font-weight: bold;
}

.eventos-listado-new-day {
  color: var(--grey);
  padding: 2em;
}
.eventos-listado-new-day span {
  font-size: 1.2rem;
  color: var(--red);
}
.page-eventos-listado.view article {
  padding-left: 2rem;
  padding-right: 2rem;
}
.page-eventos-listado.view .date-display-single {
  font-weight: bold;
  padding: 0.5rem 0;
}
.page-eventos-listado.view h2 {
  font-size: 1.4rem;
  color: var(--red);
  font-weight: bold;
}

/* ==========================================================
   NOTICIAS
   ========================================================== */

.noticia-item {
  display: grid;
  gap: 6rem;
  margin: 3rem 0;
  padding-bottom: 3rem;
  grid-template-columns: 0.4fr 1fr;
  border-bottom: 1px solid gray;
}
.noticia-item_titulo {
  display: flex;
  gap: 0.5rem;
}
.noticia-item_titulo h2 {
  line-height: 1;
  font-size: 1.5rem;
}
.noticia-item_titulo h2 a {
  color:var(--red2);
  text-decoration: none;
  font-weight: 700;
}

.noticia-item__imagen {
  width: 100%;
  height: 250px; /* o el alto fijo que necesites */
  overflow: hidden;
}

.noticia-item__imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.noticia-item__contenido{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.noticia-item__fecha {
  display: flex;
  align-items: flex-end;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.noticia-item__fecha .fecha-ano {
  font-size: 1rem;
  padding-left: 0.5rem;
  line-height: 1;
}

.noticia-item__resumen {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #444444;
}

.field--name-field-noticia-imagenes .img-fluid {
  width: 100%;
}

/* ==========================================================
   Listado videoteca – VIEWS
   ========================================================== */


.listado-videoteca .views-label {
  font-weight: 600;
  padding-right: 0.5rem;
}
.listado-videoteca .views-field-field-organo-agora,
.listado-videoteca .views-field-field-videoteca-inicio {
  display: inline-flex;
  width: 100%;
}
.listado-videoteca .views-field-field-organo-agora,
.listado-videoteca .views-field-field-videoteca-inicio {
  padding: 0 2rem;
}
.listado-videoteca .views-field-field-videoteca-descripcion a{
  padding: 2rem 2rem 1rem;
  font-weight: 600;
  font-size: 1.4rem;
  text-decoration: none;
  display: block;
}
.listado-videoteca.listado-fototeca .views-label{
  padding-left: 1rem;
  padding-top: 2rem;
  display: inline-flex;
}
.listado-videoteca .views-field-view-node {
  position: relative;
}
.listado-videoteca .overlay-videoteca {
  position: absolute;
  inset: 0;               /* top/right/bottom/left = 0 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: rgba(0,0,0,0.35); /* capa oscura */
  text-align: center;
  z-index: 1;
}
.listado-videoteca a .overlay-videoteca {
  color: var(--white);
  text-align: center;
  vertical-align: middle;
  font-size: 1.4rem;
}
.listado-videoteca .overlay-videoteca i.bi.bi-play-circle {
  font-size: 4rem;
}
.listado-videoteca .imagen-videoteca img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}

.listado-videoteca .imagen-videoteca {
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.listado-videoteca .views-view-responsive-grid__item {
  border-bottom: 1px solid gray;
  padding: 3rem 1rem;
}
/* ==========================================================
   Listado órganos – VIEWS
   ========================================================== */

.listado-organos header {
  margin-bottom: 3rem;
}

.listado-organos .views-view-responsive-grid__item {
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
  text-align: center;
  padding: 2rem 1.5rem;
}

.listado-organos .views-field-field-fotografia-1 img {
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.75rem;
}

.listado-organos .views-field-field-persona-nombre-completo img {
  margin-top: 0.75rem;
}

.listado-organos .views-field-field-persona-nombre-completo a {
  text-decoration: none;
  color: var(--red2);
  font-weight: 600;
  font-size: 1.4rem;
}

.listado-organos .views-field-field-persona-nombre-completo p{
  font-size: 1.2rem;
  margin-bottom: 0;
}

/* ==========================================================
   Listado fondos plásticos y publicaciones – VIEWS
   ========================================================== */

.listado-fondos-plasticos .views-view-responsive-grid__item {
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
  text-align: center;
  padding: 2rem 1.5rem;
  border-radius: 1rem;
}

.listado-fondos-plasticos .fondos-plasticos-wrapper {
  display: inline-flex;
  gap: 1.5rem;
  width: 100%;
}

.listado-fondos-plasticos .fondos-plasticos-wrapper .fondos-plasticos-img,
.listado-fondos-plasticos .fondos-plasticos-wrapper .publicaciones-img {
  width: 20%;
}
.listado-fondos-plasticos .fondos-plasticos-wrapper .publicaciones-img {
  padding: 1rem;
}

.listado-fondos-plasticos .fondos-plasticos-wrapper .fondos-plasticos-content,
.listado-fondos-plasticos .fondos-plasticos-wrapper .publicaciones-content {
  width: 80%;
  text-align: justify;
}

.listado-fondos-plasticos .fondos-plasticos-content a,
.listado-fondos-plasticos .publicaciones-content a {
  text-decoration: none;
  color: var(--red3);
  font-weight: 600;
  font-size: 1.2rem;
}

.listado-fondos-plasticos .listado-fondos-plasticos {
  padding: 3rem 0;
}

.listado-fondos-plasticos a {
  color: #949494;
  font-weight: 1.1rem;
  padding: 0 0.4rem;
}

.listado-fondos-plasticos a.is-active {
  color: var(--red3);
  font-weight: 600;
}

.listado-fondos-plasticos .publicaciones-content-item {
  padding: 0.4rem 0;
}

.listado-fondos-plasticos .publicaciones-content-item .label{
  color: var(--red4);
}

/* ==========================================================
   Accordeón – VIEWS
   ========================================================== */

#listadoCollapse {
  margin-top: 0 !important;
}

.listado-accordion button {
  background-color: var(--red4);
  color: var(--white);
  border-radius: 1.5rem;
  font-size: 1.2rem;
  padding: 1rem;
}

.listado-accordion button:hover,
.listado-accordion button:focus {
  background-color: var(--red2);
  color: var(--white);
}

.listado-accordion button i.bi.bi-image {
    padding: 0 2rem;
}

.listado-accordion button i.bi.bi-chevron-down {
  transition: transform 0.5s ease;
  padding: 0 2rem;
}

.listado-accordion button[aria-expanded="false"] i.bi.bi-chevron-down {
  transform: rotate(-90deg);
}


.listado-accordion button[aria-expanded="true"] i.bi.bi-chevron-down {
  transform: rotate(0deg);
}

/* ==========================================================
   Persona – estilos generales
   ========================================================== */

.sombra-seccion .block-field-blocknodeparlamento-personasfield-fotografia img{
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.75rem;
}
.sombra-seccion .field--name-title {
  text-decoration: none;
  color: var(--red4);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 1.2rem;
}
.sombra-seccion .field--name-field-legislatura-agora a {
  color: var(--original);
  font-size: 1rem;
}
.sombra-seccion .field--name-field-contacto .field__label {
  color: var(--red4);
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
.sombra-seccion .field--name-field-contacto .field__item p{
  margin-bottom: 0;
}
.sombra-seccion .field--name-field-contacto .field__item a{
  color: var(--original);
}
.sombra-seccion .field--name-field-fotografia {
  margin-top: 1rem;
}
.perfil-tab {
  padding: 0.8rem 2.5rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--red4);
  text-decoration: none;
  display: inline-block;
}

.perfil-tab.is-active {
  background: var(--red4);
  color: #fff;
}

nav.perfil-tabs div {
  border-bottom: 3px solid var(--red4);
  margin-top: 3rem;
}

.perfil-section {
  display: none;
  padding: 3rem 2.5rem 4rem;
}

.perfil-section.is-active {
  display: block;
}

.grabaciones .view-filters {
  position: inherit;
  left: inherit;
  right: inherit;
  width: inherit;
  margin-left: inherit;
  margin-right: inherit;
}
/* ==========================================================
   webform – estilos generales
   ========================================================== */

.block-webform-block {
  margin: 4rem 0;
  padding: 6rem 15rem;
  background-color: #F5F5F5;
}

.block-webform-block #edit-header h2 {
  color: var(--red4);
}
.block-webform-block #edit-header p {
  font-size: 0.8rem;
}
.block-webform-block #edit-header {
  margin-bottom: 2rem;
}
.block-webform-block label {
  font-weight: 600;
} 

.webform-submission-canal-del-informante-form .js-form-item-telefono,
.webform-submission-canal-del-informante-form .js-form-item-correo {
  width: 50%;
  float: left;
}
.webform-submission-canal-del-informante-form .js-form-item-telefono {
  padding-right: 1rem;
}
.webform-submission-canal-del-informante-form .js-form-item-correo {
  padding-left: 1rem;
}

/* ==========================================================
   BOP
   ========================================================== */

.field.field--name-field-capbopseccion.field--type-entity-reference.field--label-hidden.field__item {
  font-size: 1.4rem;
  font-weight: 700;
  border-bottom: 2px solid gray;
}

.field.field--name-field-capbopsubseccion.field--type-entity-reference.field--label-hidden.field__item {
  font-size: 1.2rem;
  font-weight: 700;
  border-bottom: 1px solid gray;
}

.field.field--name-field-capbopepigrafe.field--type-entity-reference.field--label-hidden.field__item {
  font-size: 1.1rem;
  font-weight: 700;
}

.field.field--name-field-capboptramite.field--type-list-string.field--label-hidden.field__item {
  font-weight: 700;
}

.field.field--name-field-bopcapitulos.field--type-entity-reference-revisions.field--label-hidden.field__items > .field__item {
  margin-top: 1rem;
  margin-bottom: 2rem;
}

.btn-summary {
  position: absolute;
  top: -3rem;
  right: 0;
}

/* ==========================================================
   Diarios
   ========================================================== */

.field.field--name-field-odialinktexto.field--type-string.field--label-hidden.field__item {
  font-weight: 700;
}

.field.field--name-field-diariocapitulos.field--type-entity-reference-revisions.field--label-hidden.field__items > .field__item {
  margin-top: 1rem;
  margin-bottom: 2rem;
}

/* ==========================================================
   Dossier legislativo
   ========================================================== */

.field.field--name-field-dossier-secci-n.field--type-entity-reference-revisions.field--label-hidden.field__items {
  padding: 0 2rem;
}

.field.field--name-field-secci-n.field--type-entity-reference.field--label-hidden.field__item.field-taxonomy-level-1 {
  margin-top: 2rem;  
  border-bottom: 2px solid gray;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}

.field.field--name-field-secci-n.field--type-entity-reference.field--label-hidden.field__item.field-taxonomy-level-2 {
  border-bottom: 1px solid gray;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.field.field--name-field-secci-n.field--type-entity-reference.field--label-hidden.field__item.field-taxonomy-level-3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* ==========================================================
   Buscador
   ========================================================== */

.node--view-mode-search-result .field.field--search-api-excerpt {
  display: inline;
  color: initial;
}

.listado-buscador .js-form-type-search-api-autocomplete {
  width: 100%;
}
.listado-buscador .js-form-type-search-api-autocomplete label {
  position: inherit;
}

.listado-buscador .item-list > ol > li{
  color: var(--red);
  padding-bottom: 0.5rem;
}

.listado-buscador .views-exposed-form .form-actions{
  padding-left: 0;
}

.listado-buscador .item-list > ol > li::before {
  content: "\F4B3";
  font-family: "bootstrap-icons";
  transform: translateY(-5px) rotate(-35deg);
  position: absolute;
  left: 1rem;
  color: var(--red);
  font-size: 1.3rem;
}

.buscador-header input,
.buscador-header input:focus,
.buscador-header input:active {
  background: transparent;
  border: none !important;
  color: var(--white);
  box-shadow: none !important;
  background-image: none !important;
  position: relative;
    z-index: 1;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.buscador-header .js-form-type-search-api-autocomplete {
  position: relative;
}
.buscador-header .js-form-type-search-api-autocomplete::before {
  content: '';
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  width: 1.3rem;
  height: 1.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position-x: right;
  background-size: 1.3rem;
}
.buscador-header .js-form-type-search-api-autocomplete:has(
  input.form-autocomplete.form-text.form-control.ui-autocomplete-input.ui-autocomplete-loading
)::before {
  animation: spin 0.5s linear infinite;
}
/* Placeholder normal */
.buscador-header.views-exposed-form
input#edit-s-.form-control::placeholder {
  color: #fff !important;
  opacity: 1 !important;
  padding-left: 2rem;
}

/* Placeholder en focus (CLAVE) */
.buscador-header.views-exposed-form
input#edit-s-.form-control:focus::placeholder {
  color: #fff !important;
}  

/* ==========================================================
   User
   ========================================================== */
form#user-register-form > div,
form#user-form > div {
  border: 1px solid var(--grey);
  padding: 2rem;
  margin: 1rem;
}
form#user-register-form > div:last-child,
form#user-form > div:last-child{ border: none; }
form#user-register-form label,
form#user-register-form legend,
form#user-form label,
form#user-form legend {
  margin: 0.5rem 0 1rem ;
}
form#user-register-form legend,
form#user-form legend { 
  font-weight: 300;
}

/* ==========================================================
   eu cookies
   ========================================================== */
.sliding-popup-bottom {
  padding: 2rem;
  background: rgba(255,0,0,0.75);
  color: var(--white);  
}
.sliding-popup-bottom a {
  color: var(--white);
}
.sliding-popup-bottom button {
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: var(--white);
  color: var(--red);
}

/* ==========================================================
   otros
   ========================================================== */

.logo-himno {
  padding: 0 3rem 3rem;
  max-width: 600px;
}



.group-proponentes .field__items .field__items{
  float: none;
}

.block-views-blockbanner-superior-block-1 img {
  width: 100%;
  max-height: 350px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.field--name-field-legislatura-agora a {
  text-decoration: none;
  color: var(--red2);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 1.4rem;
}

.legislatura-normal .field--name-field-legislatura-agora a{
  font-size: inherit;
  text-transform: inherit;
  color: var(--red);
  font-weight: inherit;
  text-decoration: underline;
}

.group-proponentes .field--name-field-organos-proponentes .field__item{
  line-height: 4rem;
}

.suscripcion {
  font-size: 1.5rem;
  text-decoration: none;
  color: inherit;
}
.suscripcion::after {
  content: '\F32F';
  font-family: "bootstrap-icons";
  vertical-align: bottom;
  padding-left: 0.5rem;
}

.page-node-type-revista .layout__region.layout__region--first {
  text-align: center;
}

.page-node-type-revista .layout__region.layout__region--first .field {
  padding-bottom: 1rem;
}

.page-node-type-revista .layout__region.layout__region--second .block-layout-builder .field {
  border-bottom: 1px solid gray;
  padding: 1rem 0;
}

.page-node-type-revista .layout__region.layout__region--second .block-webform-block {
  margin-top: 1rem;
  padding: 2rem;
}

/* FOOTER */

footer {
  background-color: #303030;
  padding-bottom: 0;
  color: var(--white);
}
footer.mt-auto {
  margin-top: 3rem !important;
}

footer h2 {
  font-size: 1.3rem;
}

footer .container-fluid {
  padding: 2rem !important;
  max-width: 90%;
  margin-left: auto !important;
  margin-right: auto !important;
}

footer .region-footer {
  background-color: var(--red4);
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: initial;
}

.footer-contacto {
  font-size: 0.95rem;
}

.footer-contacto__lista {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-contacto__item {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.4;
}

/* Icono común */
.footer-contacto__item::before {
  position: absolute;
  left: 0;
  top: 0.1rem;
  font-family: "bootstrap-icons";
  font-size: 1.1rem;
  color: var(--white);
}

/* Iconos concretos */
.icono-geo::before {
  content: "\F3E8"; /* geo-alt-fill */
}

.icono-tel::before {
  content: "\F5C1"; /* telephone-fill */
}

.icono-mail::before {
  content: "\F32F"; /* envelope-fill */
}

.icono-inbox::before {
  content: "\F3C5"; /* inbox-fill */
}

.footer-contacto a {
  color: var(--white);
  text-decoration: none;
}

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

.footer-enlaces ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-enlaces ul li {
  position: relative;
  padding-left: 1.2rem;
  margin-bottom: 0.5rem;
  color: var(--white);
  text-decoration: underline;
}

.footer-enlaces ul li::before {
  content: ">";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
}

.footer-enlaces ul a {
  text-decoration: underline;
  color: inherit;
}

.footer-enlaces ul li:hover,
.footer-enlaces ul li:focus,
.footer-enlaces ul a,
.footer-enlaces ul a:hover {
  text-decoration: none;
}

.footer-siguenos {
  padding-top: 0.3rem;
}

footer .navbar-nav {
  display: inline-flex;
  flex-direction: row;
}

footer .navbar-nav li .nav-link {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  position: relative;
  color: var(--white);
}

footer .navbar-nav li .nav-link:hover {
  text-decoration: underline;
}

footer .navbar-nav li .nav-link::after {
  width: 1px;
  height: 1.5rem;
  border: 1px solid var(--white);
  content: "";
  display: inline-block;
  position: absolute;
  left: 0rem;
  top: 0.5rem;
}

footer .navbar-nav li:first-child .nav-link::after {
  border: none;
}

footer #block-parlacan-tema-d10-footercopyright p {
  margin: 0;
}


/* ------------------------------
   GENERAL RESPONSIVE
   ------------------------------ */
@media (max-width: 1650px) {
  header .navbar-expand-lg .navbar-collapse {
    flex-direction: column;
  }
}

@media (max-width: 1450px) {
  .listado-buscador .js-form-type-select {
    width: 47%;
  }
  .listado-buscador .js-form-type-select label {
    position: inherit;
  }
  .listado-buscador .form--inline div:first-child {
    width: 100%;
  }
  .facets-widget-dropdown {
    padding: 0 1rem;
  }
  .facets-widget-dropdown::after {
    right: 0;
  }
  .videoteca-contadores .perfil-tab {
    padding: 0.8rem 1.5rem;
    font-size: 0.9rem;
  }
  .marca-votaciones-contenedor.card.mb-3 {
    display: flex;
    flex-direction: column;
  }
  .videoteca-header {
    gap: 2rem;
  }
  .videoteca-sesion-card.sombra-seccion {
    padding: 1.5rem;
  }
  header {
    height: inherit;
  }

  .video-grid {
    grid-template-rows: minmax(auto, auto);
  }
}

@media (max-width: 1199px) {
  .facets-widget-dropdown {
    padding: 0 0rem;
  }
  .facets-widget-dropdown::after {
    right: -1rem;
  }
}


@media (max-width: 991px) {
  header.header-main .header-content {
    background: var(--white);
    position: relative;
    z-index: 2;
  }
  header.header-main .header-content .header-first{
    order: 2;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: var(--white);
  }
  header.header-main .header-content .header-second{
    order: 1;
  }
  header.header-main .navbar-expand-lg .navbar-collapse {
    background: var(--white);
    position: relative;
    z-index: 2;
  }
  header.header-main .megamenu__grid {
    display: block;
  }
  header.header-main .megamenu__column {
    margin-bottom: 2rem;
  }
  .region.region-header {
    padding: 0 2rem;
    justify-content: space-between;
    background: transparent;
    color: inherit
  }
  #block-parlacan-tema-d10-headerredessociales .field--name-body,
  .buscador-header input,
  .buscador-header input:focus,
  .buscador-header input:active {
    color: var(--original) !important;
  }
  .buscador-header.views-exposed-form input#edit-s-.form-control::placeholder,
  .buscador-header.views-exposed-form input#edit-s-.form-control:focus::placeholder {
    color: var(--grey) !important;
  }
  #block-parlacan-tema-d10-headerredessociales .field--name-body img {
    filter: brightness(0);
  }
  .buscador-header .js-form-type-search-api-autocomplete::before {
    filter: brightness(0.6);
  }
  header.header-main nav.navbar.navbar-expand-lg {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    width: 100%;
    display: block;
  }
  header.header-main .navbar-brand img {
    height: 60px;
  }

  header.header-main ul.ms-auto {
    margin-left: 0 !important;
  }

  header.header-main .megamenu {
    position: inherit;
    width: 100%;
    display: none;
  }
  .has-megamenu.is-open .megamenu {
    display: block;
  }

  footer .navbar-nav {
    display: block;
  }
  footer .navbar-nav li .nav-link::after {
    display: none;  
  }

  footer > .container-fluid {
    flex-direction: column;
    gap: 2rem;
  }
  footer h2,
  footer .footer-enlaces {
    margin-bottom: 1rem;
  }
  .node .group-margen-izquierdo {
    width: 30%;
  }
  .node .group-contenido {
    width: 70%;
  }
  .node .group-margen-izquierdo.group-tipo-dos {
    width: 40%;
  }
  .node .group-contenido.group-tipo-dos {
    width: 60%;
  }
  .videoteca-desglose-votos, 
  .views-table-wrapper {
    overflow: auto;
  }
  .videoteca-sesion-marcas-container .sombra-seccion {
    padding: 1.5rem;
  }
  .listado-tabla a img {
    display: flex;
  }
  .videoteca-header {
    grid-template-columns: 1fr;
  }
  .videoteca-sesion-card.sombra-seccion {
    padding: 3rem;
  }
  .videoteca-contadores {
    display: ruby;
  }
  .videoteca-contadores .contador {
    margin-bottom: 1rem;
  }
  .video-card__label,
  .video-cta {
    font-size: 1.5rem;
  }
}

@media (max-width: 767px) {
  .region.region-header {
    padding: 0 1rem 1rem;
    display: inline-block;
    text-align: center;
    width: 100%;

  }
  .region.region-header .views-exposed-form .form--inline {
    display: block;
  }
  .region.region-header .views-exposed-form.bef-exposed-form .form--inline .form-item {
    float: none;
  }
  .region.region-header .views-exposed-form.bef-exposed-form input.form-autocomplete {
    border: 1px solid var(--grey) !important;
    border-color: var(--grey) !important;
    border-radius: 0.3rem;
  }
  footer .region-footer {
    flex-direction: column;
    gap: 1rem;
    align-items: start;
  }
  footer .region-footer > div {
    padding-left: 1.5rem;
  }
  .layout--twocol-section {
    flex-direction: column;
  }

  .node .group-margen-izquierdo,
  .node .group-contenido,
  .node .group-margen-izquierdo.group-tipo-dos,
  .node .group-contenido.group-tipo-dos {
    width: 100%;
  }
  .node .group-margen-izquierdo {
    margin-bottom: 2rem;
    padding-left: 1rem;
  }

  .noticia-item {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 575px) {

}