/**
 * @file
 * Subtheme specific CSS.
 */
/* ------------------- General ----------------------------- */
body, body *, h1, h2, h3, h4, h5, h6, div, span, p, a {
  font-family: 'Gill Sans', sans-serif !important;
}

/* TYPOGRAPHY Gill Sans */

/* Gill Sans Regular npr*/
@font-face {
  font-family: 'Gill Sans';
  src: url('../fonts/gillsans/GillSans.eot');
  src: url('../fonts/gillsans/GillSans.eot?#iefix') format('embedded-opentype'),
       url('../fonts/gillsans/GillSans.woff2') format('woff2'),
       url('../fonts/gillsans/GillSans.woff') format('woff'),
       url('../fonts/gillsans/GillSans.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Clase bold (si no tienes Gill Sans Bold, seguirá usando regular en negrita de navegador) */
.bold {
  font-family: 'Gill Sans', sans-serif;
  font-weight: bold;
}

/* Aplicar Gill Sans como fuente predeterminada del portal */
body {
  font-family: 'Gill Sans', sans-serif;
}

.nav-link:focus {
  color: #00546b;
}
.tabs .nav-link {
  color: #333333;
}
.tabs .nav-link:hover {
  color: #00546b;
}

/* ------------------------------ Logos Cabecera -------------------------------- */
.bckHeader {
  display: flex;
  justify-content: center;
  align-items: center;
}

.bckHeader a.logo_PAE {
  display: block;
  text-decoration: none;
}

.bckHeader figure.cont_img {
  margin: 0;
}

.bckHeader img {
  display: block;
  max-height: 83px;
  height: auto;
}

/* Color Región Encabezado Logos */
#navbar-main {
  background-color: white !important;
}

/* Bloque Muface cabecera */
.cabecera-muface h2 {
  color: #00546b;
}

/* ------------------------------------- Menú Mobile ------------------------- */
/* Estilos boton */
.navbar-toggler-right {
  margin: 0;
  right: 0;
  font-size: 1.0625em;
  border-radius: 0;
  position: absolute;
  float: right;
  padding: 0.65em 1.9%;
  background-color: #00546b;
}

.navbar-toggler-right:focus {
  box-shadow: none;
}

.navbar-toggler-right .navbar-toggler-icon {
  background: url('../images/general/icons/menu_responsive.png') no-repeat top center transparent;
}

.mobile-show {
  display: flex !important;
  position: absolute;
  top: 77px;
  right: 0px;
  z-index: 10;
  flex-direction: column;
}

/* Ocupe toda la pantalla el menu mobile */
@media (max-width:768px) {
  .mobile-show {
    width: 100%;
  }

  .mobile-show #block-muface-sede-main-menu {
    width: 100%;
  }

  .mobile-show ul#block-muface-sede-main-menu .nav-item .dropdown-menu .dropdown-item {
    max-width: 100%;
  }

}

.mobile-show ul#block-muface-sede-main-menu {
  border-top: 4px solid #00546b;
  border-radius: 0;
  min-width: 250px;
  width: 100%;
  margin-left: 0px;
}

.mobile-show ul#block-muface-sede-main-menu .nav-item {
  margin: 0;
  display: block;
  padding: 0;
  width: 100%;
  background: #F4F4F4;
}

/* Bordes del menu mobile */
.mobile-show ul#block-muface-sede-main-menu .nav-item .dropdown-menu.show {
  border-bottom: 1px solid #D9D9D7;
}

.mobile-show ul#block-muface-sede-main-menu .nav-item .nav-link.dropdown-toggle {
  border-bottom: 1px solid #D9D9D7;
}

/* Estilos del desplegable */
.mobile-show ul#block-muface-sede-main-menu .nav-item .dropdown-menu {
  position: relative;
  background: #F4F4F4;
  border-radius: 0;
  border: 0;
}

.mobile-show ul#block-muface-sede-main-menu .nav-item .dropdown-menu .dropdown-item .nav-link {
  padding: 0.96em 13% 0.96em 45px;
  width: 100%;
  font-size: 1.2em;
  color: #707070;
  text-align: left;
  background: url(../images/general/icons/list-style.png) no-repeat 25px center;
}

/* ------------------------------------- Menú main ------------------------- */

/* Reset general para asegurar consistencia */
/* * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
} */
/* .nav-link:hover {
  color: #00546b;
} */
/* Estilos para la barra de navegación */
.navbar-nav {
  list-style-type: none;
  display: flex;
  justify-content: center;
  background-color: white;
  /* font-family: 'Arial', sans-serif; */
  font-size: 1.70rem;
  margin-left: 30px;
  margin-bottom: 13px;
}

/* Estilos para cada ítem del menú */
.navbar-nav .nav-item {
  margin: 0 10px;
}

/* Estilos para cada enlace del menú */
.navbar-nav .nav-link {
  text-decoration: none;
  color: #00546b;
  padding: 10px 15px;
  display: block;
  position: relative;
}

.menu-main-custom .nav-link:hover {
  color: #00546b;
}

.navbar-nav .nav-link svg.ext {
  display: none;
}

.navbar-nav .nav-link:focus {
  color: #00546b;
}

/* Estilos para los submenús */
.navbar-nav .dropdown-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  background-color: white;
  text-align: left;
  border: 1px solid #8490a0;
  border-top: 3px solid #084f70;
  width: auto;
  min-width: 250px;
  padding-top: 0;
  padding-bottom: 0;
}

/* Mostrar el submenú en hover */
@media (min-width: 1200px) {
  /* Mostrar el submenú en hover */
  .navbar-nav .nav-item:hover > .dropdown-menu {
    display: block;
  }
}
/* .navbar-nav .nav-item:hover>.dropdown-menu {
  display: block;
} */

/* Estilos para los enlaces dentro del submenú */
.dropdown-menu .dropdown-item {
  color: white;
  padding: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-width: 260px;
  font-size: 16px;
}
.dropdown-item.active {
  background-color: white;
}
.dropdown-menu .dropdown-item:hover a {
  color: white;
}

/* Cambios de estilo en hover para los enlaces de submenús */
.dropdown-menu .dropdown-item:active {
  color: #fff;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #00546b;
  /* Cambia el color de fondo al pasar el ratón por encima */

}

/* Esconde el caret si está presente */
.nav-link .caret {
  display: none;
}

/* enlaces activos se destacan */
.navbar-nav .nav-link.is-active,
.navbar-nav .nav-link.active {
  background-color: white;
}

/* Cabecera Muface */
.cabecera-muface {
  text-align: center;
}


/* Editar Aviso Importante */


/* Sevicios para colectivos */
.servicios-colectivos .custom-card {
  text-decoration: none;
  color: #084f70;
  display: block;
}

.servicios-colectivos .custom-card:hover{
  text-decoration: underline;
}


.servicios-colectivos .custom-card .card {
  background-color: #f1f2f2;
  border: 1px solid #e0e0e0;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* .servicios-colectivos .custom-card:hover .card {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
} */

.servicios-colectivos .card-body {
  font-size: 16px;
  padding: 20px;
  text-align: center;
}

.servicios-colectivos h3 {
  color: #084f70;
}

.servicios-colectivos h4 {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Cita previa */
/* .cita-previa-container {
  border: 1px solid #cccccc;
  padding: 20px;
  margin: 20px 0;
  background-color: #ffffff;
} */

.cita-previa-container h3 {
  color: #333333;
  margin-bottom: 10px;
}

.cita-previa-container p {
  color: #666666;
  margin-bottom: 20px;
}

.btn-cita {
  background-color: #0056b3;
  color: #ffffff!important;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s;
}

.btn-cita:hover {
  background-color: #003d7a;
}

/* Footer */
.footer {
  background-color: #707070;
  color: #fff;
  border-top: 3px solid #00546b;
  margin-top: 1em;
  padding: 25px;
}

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

.footer a {
  color: #fff;
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
  color: #fff;
}

.footer img {
  max-width: 100%;
}

.linea-footer {
  display: block;
  float: left;
  width: 100%;
  border-top: 1px solid #B8B8B8;
  margin-bottom: 15px;
}

.site-footer {
  padding-top: 0;
  padding-bottom: 0%;
}

.footer .container {
  margin-top: 20px;
}

/** Bloque fecha y hora **/
.region-top-header-form .labelSede {
  font-weight: bold;
  color: #084f70;
  font-size: 1.2em;
}

.region-top-header-form .labelSede a{
  text-decoration: none;
}

#live-clock-container {
  font-family: Arial, sans-serif;
  font-size: 16px;
  color: #00546b;
}

.text-calendar {
  font-weight: bold;
  margin-right: 10px;
}

#liveclock {
  color: #555;
}

/* HOME PRE TABS */
.node--type-home .paragraph--type--tab-main .row .flex-column {
  width: 100%;
}

.dialog-off-canvas-main-canvas #page-wrapper .layout-main-wrapper .row>* {
  padding-right: 0;
}

.node--type-home .paragraph--type--tab-main .row .accordion-wrap {
  width: 100%;
  margin-bottom: 3%;
}

.node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  line-height: 60px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #f1f2f2;
  border: none;
  color: #084f70;
  text-align: left;
  padding: 0px 30px 0px 30px;
  font-size: 1.2rem;
  cursor: pointer;
  transition: all 0.2s linear;
  text-decoration: none;
}

/* Reemplazar + y - por imágenes */
.node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion::after {
  display: flex;
  content: "";
  position: relative;
  float: right;
  background-image: url('images/down-button.png'); /* Ruta de la imagen para + */
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.2s linear;
  font-size: 1.813rem;
  align-items: center;
  width: 30px;
  height: 30px;
  margin-top: -5px;
}

.node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion.is-open::after {
  content: "";
  background-image: url('images/flecha-up.png'); /* Ruta de la imagen para - */
  transform: rotate(360deg);
  top: 2px;
  width: 30px;
  height: 30px;
  /* left: -12px; */
  margin-top: -5px;
}

/* .node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion::after {
  display: flex;
  content: "+";
  position: relative;
  float: right;
  background-size: 1.25rem;
  transition: all 0.2s linear;
  font-size: 1.813rem;
  align-items: center;
  width: 20px;
  margin-top: -5px;
}

.node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion.is-open::after {
  content: "-";
  transform: rotate(180deg);
  top: 2px;
  width: 20px;
  left: -12px;
  margin-top: -5px;
} */

.node--type-home .paragraph--type--tab-main .row .accordion-wrap .accordion-content .card .card-body {
  padding: 1.875rem 1.875rem 0.625rem 1.875rem;
  color: #4b5766;
  font-size: 1rem;
}

.node--type-home .muface-col .card {
  border-radius: 0;
}

.accordion-content {
  display: none;
  /* el contenido esté oculto por defecto */
}

.accordion-content.show {
  display: block;
  /* Muestra el contenido cuando tiene la clase 'show' */
}

.node--type-home .paragraph--type--tab-main .titulo h2 {
  text-align: center;
  color: #084f70;
}

/* Estilo base para los tabs */

.custom-tab {
  margin-bottom: 4rem;
}

.custom-tab .nav-tabs {
  display: flex;
  justify-content: space-between;
  border-bottom: 4px solid #084f70;
  background-color: #fff;
}

.custom-tab .nav-tabs .nav-item {
  flex: 1;
  text-align: center;
  margin-right: 5px;
  height: 147px;
}

.custom-tab .nav-tabs .nav-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px 10px;
  border: none;
  background-color: #f1f2f2;
  /* Fondo para los tabs no activos */
  color: #084f70;
  font-weight: bold;
  transition: background-color 0.1s, color 0.1s;
  border-radius: 0;
}

.custom-tab .nav-tabs .nav-link:hover {
  background-color: #e0e0e0;
  color: #084f70;
}

.custom-tab .nav-tabs .nav-link.active {
  background-color: #084f70;
  /* Fondo para el tab activo */
  color: #ffffff;
  /* Texto blanco para el tab activo */
}

.custom-tab .nav-tabs .nav-link .icon-image {
  /* max-width: 30px;  Tamaño máximo de la imagen */
  margin-right: 10px;
  /* Espacio entre la imagen y el texto */
}

.custom-tab .nav-tabs .nav-link .enlaces_icono_portada {
  font-size: 1.5em;
  margin: 0;
  text-align: left;
  font-family: inherit;
  padding-left: 3%;
  padding-top: 2%;
  transition: 0.5s;
  min-height: 112px;
  margin-top: 15px;
}

.custom-tab .nav-tabs .nav-link .alltab {
  display: flex;
  flex-direction: row;
  /* Alinear el contenido de los tabs en fila */
  align-items: center;
  justify-content: flex-start;
  /* Alinear el contenido a la izquierda */
}

.custom-tab .nav-tabs .nav-item+.nav-item {
  margin-left: 2px;
  /* Espacio entre los tabs */
}

.custom-tab .nav-tabs .nav-link.active .alltab {
  background-color: #084f70;
  /* Fondo azul oscuro para el contenido activo */
  /* color: #ffffff; */
  /* Texto blanco para el contenido activo */
}

.custom-tab .nav-tabs .nav-link.active {
  /* border-bottom: 4px solid #084f70;  Línea azul en la parte inferior del tab activo */
  background-color: #084f70;
  color: #ffffff;
}

/* modificar module extlink iconos */
svg.ext {
  width: 19px;
  height: 19px;
  margin-bottom: 8px;
  margin-left: 7px;
}

/* Estilo para las listas dentro de las pestañas */
/* Remueve los bullets predeterminados */
.content-section-home ul {
  list-style: none; 
  padding-left: 0;
}
.content-section-home ul li {
  position: relative;
  padding-left: 30px; 
  margin-bottom: 10px;
}
.content-section-home ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px; 
  height: 24px; 
  background-image: url('../images/general/icons/bullet-muface.png'); 
  background-size: cover;
  background-repeat: no-repeat;
}

/* Contenido de home */
.content-section-home a {
  color: black;
  text-decoration: none;
}

.content-section-home li {
  margin-bottom: 0.5rem;
}

.content-section-home a:hover {
  color: #084f70;
  text-decoration: underline;
}

/* Nuevo bullet */

.content-section-home ul,
.content-section-home-pre ul { list-style: none; padding-left: 0; }

.content-section-home ul li,
.content-section-home-pre ul li {
  position: relative;
  padding-left: 30px; 
  margin-bottom: 10px;
}

.content-section-home ul li::before,
.content-section-home-pre ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  background-image: url('../images/general/icons/bullet-muface.png');
  background-size: cover;
  background-repeat: no-repeat;
}

/* --- CONTROL DESDE EL EDITOR --- */
/* Si añado la clase "no-bullet" al <li>, elimino la imagen manteniendo la alineación */
.content-section-home ul li.no-bullet::before,
.content-section-home-pre ul li.no-bullet::before { content: none; }

/* Si alguna vez necesito que un ítem sin icono también pierda el sangrado (alinear al margen izquierdo) */
.content-section-home ul li.flush-left,
.content-section-home-pre ul li.flush-left { padding-left: 0; }
/* Fin nuevo bullet */

/* Contenidos */
.content .mdcnt-cont p {
  display: block;
  margin-bottom: 0.6em;
  width: 100%;
  letter-spacing: 0.003em;
  line-height: 1.5em;
  color: #404a50;
  font-family: system-ui;
}
.content .mdcnt-cont h2 {
  margin-bottom: 0.8em;
  font-size: 1.1em;
  letter-spacing: 0.01em;
  color: #707070;
  font-weight: bold;
  margin-top: 1.2em;
}
.content .mdcnt-cont h3 {
  margin-top: 1.2em;
  margin-bottom: 1.25em;
  font-size: 1.3em;
  color: #084f70;
}
.content .mdcnt-cont ul li {
  line-height: 1.5em;
  color: #707070;
  /* font-size: 0.875em; */
}
.content .mdcnt-cont ul li a,
.content .mdcnt-cont p a {
  text-decoration: none;
}
.content .mdcnt-cont ul li a:hover,
.content .mdcnt-cont p a:hover {
  opacity: .8;
  color: #23527c;
  text-decoration: underline;
}

/* Alternador de idioma */
#block-alternadordeidioma span a {
  padding: 0 0.45em;
  text-decoration: none;
  /* font-size: 0.9375em; */
  color: #00546b;
  border-right: 1px solid #00546b;
}

#block-alternadordeidioma span {
  padding: 0;
}

#block-alternadordeidioma span.en a {
  display: none;
}

/* Contenido derecho */
.content .mod-info {
  display: inline-block;
  padding-left: 15px;
	padding-right: 15px;
	padding-top: 20px;
	padding-bottom: 15px;
  margin-top: 0.4375em;
  margin-left: 3.3%;
  width: 65%;
  vertical-align: top;
  background-color: #FFFFFF;
  border: 1px solid #AAAAAA;
}

.content .mod-info .mdif-title-flexible img {
  top: 0em!important;
}

/* Aviso importante */
.aviso-bloque {
  max-width: 40%;
  margin: 0 auto;
  text-align: center;
  color: red;
  font-size: 1.3em;
}

/* Requisitos acceso */
.content .requisitos-bloque p,
.content .requisitos-bloque h3,
.content .requisitos-bloque p a {
  margin-bottom: 1.50em;
}




