/* Importar Inter desde Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ===== Tipografía global: Inter ===== */

/* Pila tipográfica */
:root {
  --font-sans: "Inter", system-ui, -apple-system,
               "Segoe UI", Roboto, "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

/* Aplicación global */
html, body {
  font-family: var(--font-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Negritas coherentes */
strong, b, h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}

/* ===== Fin tipografía global ===== */

/* ===== Navbar básico ===== */
.navbar {
  background-color: #aeba00;
  border-bottom: 1px solid #e9ecef;
  padding-left: 0;
  padding-right: 0;
}

/* Estructura flex correcta del contenedor superior */
.navbar > .container-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 10%;
  padding-right: 10%;
}

.navbar-brand img {
  max-height: 44px;
}

.navbar-nav .nav-link {
  padding: 0.5rem 1rem;
  color: #333;
}

.navbar-nav .nav-link.active {
  font-weight: 600;
}

/* El colapso no debe empujar el logo en escritorio */
.navbar .navbar-collapse {
  flex-grow: 0;
  flex-basis: auto;
  width: auto !important;
}

/* En móvil que sí se estire al 100% */
@media (max-width: 991.98px) {
  .navbar .navbar-collapse {
    width: 100% !important;
    justify-content: flex-start;
  }
}

/* ===== Colores personalizados de botones ===== */
.btn-primary {
  background-color: #cae04b;
  border-color: #cae04b;
  color: #000; /* texto oscuro para contraste */
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #bcd43e;
  border-color: #bcd43e;
  color: #000;
}

.btn-secondary {
  background-color: #175675;
  border-color: #175675;
  color: #fff;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #97a000;
  border-color: #97a000;
  color: #fff;
}

/* ===== Padding interno global del contenido ===== */
main[role="main"] {
  padding-left: 10%;
  padding-top: 20px;
  padding-right: 10%;
}

/* ===== Estilos de títulos contenido reciente ===== */
.recent-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}

.recent-title a {
  color: #333333;
  text-decoration: none;
}

.recent-title a:hover {
  text-decoration: underline;
}

/* Ajuste personalizado del margen lateral del contenido */
main .container {
  padding-left: 1%;
  padding-right: 1%;
  max-width: 100%; /* opcional: evita límite fijo del .container */
}

/* --- Estilo etiquetas (rectangulares, azul corporativo)
     → PARA LAS ETIQUETAS DEL ARTÍCULO (PARTE SUPERIOR) --- */
.field--name-field-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;   /* separación entre etiquetas */
  padding: .5rem 0;
  margin-bottom: 1rem;
}

/* Enlace de cada etiqueta (artículo) */
.field--name-field-tags a {
  display: inline-block;
  text-decoration: none;
  background-color: transparent;    /* fondo transparente */
  color: #28A8F2;                   /* texto azul */
  border: 1px solid #28A8F2;        /* borde azul */
  border-radius: 4px;               /* leve redondeo, rectangular */
  padding: .3rem .8rem;
  font-size: .85rem;
  font-weight: 600;
  text-transform: uppercase;        /* texto en mayúsculas */
  letter-spacing: 0.5px;
  transition: all .2s ease;
}

/* Hover (inversión de color) */
.field--name-field-tags a:hover {
  background-color: #28A8F2;        /* fondo azul */
  color: #FDFEEF;                   /* texto crema/blanco cálido */
  border-color: #28A8F2;
  text-decoration: none;
}

/* --- LISTADO DE ETIQUETAS EN LA COLUMNA DERECHA (VISTA) --- */
/* Contenedor del bloque de listado de etiquetas (clase que pondremos en la Vista) */
.mmz-tags-cloud {
  display: flex;
  flex-wrap: wrap; /* que salten de línea cuando no quepan */
}

/* Cada etiqueta dentro del bloque de la sidebar */
.mmz-tags-cloud-item {
  margin-right: 2px;   /* separación derecha */
  margin-bottom: 2px;  /* separación inferior */
}

/* Enlace dentro del listado de etiquetas (reutiliza estilo "chip") */
.mmz-tags-cloud-item a {
  display: inline-block;
  text-decoration: none;
  background-color: transparent;
  color: #28A8F2;
  border: 1px solid #28A8F2;
  border-radius: 4px;
  padding: .3rem .8rem;
  font-size: .85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all .2s ease;
}

.mmz-tags-cloud-item a:hover {
  background-color: #28A8F2;
  color: #FDFEEF;
  border-color: #28A8F2;
  text-decoration: none;
}

/* Tarjeta de artículos relacionados con overlay de título */
.related-card {
  position: relative;
  overflow: hidden;
  border-radius: 0;        /* <-- SIN redondeo en el contenedor */
}

/* Enlace contenedor de la tarjeta */
.related-card__link {
  display: block;
  position: relative;
  text-decoration: none;
  color: inherit;
}

/* Imagen dentro de la tarjeta */
.related-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0 !important;  /* <-- SIN redondeo en la imagen (sobrescribe Bootstrap) */
}

/* Franja inferior a todo lo ancho, sin bordes ni huecos laterales */
.related-card__title {
  position: absolute;
  left: 0;                 /* sin espacio lateral */
  right: 0;                /* sin espacio lateral */
  bottom: 0;               /* pegado abajo */
  z-index: 1;
  display: block;
  padding: 0.6rem 0.9rem;  /* alto de la franja */
  background: rgba(0, 0, 0, 0.75); /* franja oscura */
  color: #FDFEEF;          /* tu color de texto */
  border-radius: 0;        /* <-- SIN redondeo en la franja */
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.25;
  white-space: normal;     /* permite múltiples líneas */
  max-height: none;
}

/* Enlaces dentro del título con tu color, sin subrayado */
.related-card__title,
.related-card__title a {
  color: #FDFEEF !important;
  text-decoration: none;
}
.related-card__title a:hover,
.related-card__title:hover {
  color: #FDFEEF !important;
  text-decoration: none;
}

/* Hover opcional: un poco más oscuro */
.related-card:hover .related-card__title {
  background: rgba(0, 0, 0, 0.85);
}

/* Separa las cards de contenido relacionado (solo vertical, sin huecos laterales) */
.related-card {
  margin: 1rem 0;   /* margen arriba y abajo entre tarjetas */
  padding: 0;       /* sin relleno interno: franja e imagen a tope de ancho */
}

/* ===== Banner destacados MMZ (100% ancho, 3:1) ===== */

.mmz-featured-carousel {
  width: 100%;
  max-width: 100%;
  margin: 0 0 2rem 0;
  position: relative;
}

/* Quitar padding superior en la home para pegar más el carrusel arriba */
body.path-frontpage main[role="main"] {
  padding-top: 0;
}

.mmz-featured-slides {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 1;   /* Mantiene proporción 3:1 */
  overflow: hidden;
}

/* Cada slide ocupa el área completa */
.mmz-featured-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.mmz-featured-slide--active {
  opacity: 1;
}

/* Imagen que llena el espacio 3:1 */
.mmz-featured-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Degradado negro abajo → transparente arriba */
.mmz-featured-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.4) 40%,
    transparent 80%
  );
  pointer-events: none;
  z-index: 1;
}

/* Pastilla de categoría arriba a la izquierda */
.mmz-featured-pill {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  background-color: #175675;
  color: #FDFEFF;
  padding: 0.3rem 0.9rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Título + texto centrados */
.mmz-featured-caption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  padding: 0 10%;
}

.mmz-featured-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
}

.mmz-featured-title a {
  color: #ffffff;
  text-decoration: none;
}

.mmz-featured-title a:hover {
  text-decoration: none;
}

/* Extracto bajo el título */
.mmz-featured-excerpt {
  margin-top: 0.75rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #FDFEFF;
  opacity: 0.9;
}

/* "Leer más" en negrita y azul corporativo */
.mmz-featured-readmore {
  font-weight: 700;
  color: #28A8F2;
}

/* Indicadores (puntos) */
.mmz-featured-indicators {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 3;
}

.mmz-featured-indicators button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.mmz-featured-indicators button.active {
  background: #ffffff;
}

/* Botones anterior/siguiente */
.mmz-featured-prev,
.mmz-featured-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mmz-featured-prev {
  left: 1rem;
}

.mmz-featured-next {
  right: 1rem;
}

.mmz-featured-prev:hover,
.mmz-featured-next:hover {
  background: rgba(0, 0, 0, 0.7);
}

/* Responsive: reducir tipografías en móvil */
@media (max-width: 768px) {
  .mmz-featured-caption {
    padding: 0 2%;
  }

  .mmz-featured-title {
    font-size: 1rem;
  }

  .mmz-featured-excerpt {
    font-size: 0.4rem;
  }

  .mmz-featured-pill {
    font-size: 0.5rem;
    padding: 0.25rem 0.7rem;
  }
}

/* ===== Carrusel por categoría (imagen izq, texto dcha) ===== */

.mmz-category-carousel {
  width: 100%;
  max-width: 100%;
  margin: 0 0 2rem 0;
  position: relative;
}

.mmz-cat-slides {
  position: relative;
  width: 100%;
  min-height: 260px;
  overflow: hidden;
}

.mmz-cat-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.mmz-cat-slide--active {
  opacity: 1;
}

/* Distribución: imagen izquierda, texto derecha */
.mmz-cat-slide-inner {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
}

/* Imagen izquierda */
.mmz-cat-image {
  flex: 1 1 40%;
  overflow: hidden;
}

.mmz-cat-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bloque de texto derecha */
.mmz-cat-content {
  flex: 1 1 60%;
  background-color: #175675;
  color: #FDFEFF;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Título H2 */
.mmz-cat-title {
  margin: 0 0 0.75rem 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #FDFEFF;
}

/* Descripción */
.mmz-cat-excerpt {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  color: #FDFEFF;
}

/* CTA */
.mmz-cat-cta {
  margin-top: auto;
}

.mmz-cat-button {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  background-color: #CAE04B;  /* fondo botón */
  color: #175675;             /* texto botón */
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
}

.mmz-cat-button:hover {
  text-decoration: none;
  background-color: #bcd43e;
  color: #175675;
}

/* Indicadores (puntos) */
.mmz-cat-indicators {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 3;
}

.mmz-cat-indicators button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.mmz-cat-indicators button.active {
  background: #FFFFFF;
}

/* Flechas */
.mmz-cat-prev,
.mmz-cat-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(0, 0, 0, 0.3);
  color: #ffffff;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mmz-cat-prev { left: 0.75rem; }
.mmz-cat-next { right: 0.75rem; }

.mmz-cat-prev:hover,
.mmz-cat-next:hover {
  background: rgba(0, 0, 0, 0.6);
}

/* Responsive: apilar en móvil */
@media (max-width: 768px) {
  .mmz-cat-slide-inner {
    flex-direction: column;
  }
  .mmz-cat-image,
  .mmz-cat-content {
    flex: 1 1 auto;
    min-height: 180px;
  }
  .mmz-cat-content {
    padding: 1rem;
  }
  .mmz-cat-title {
    font-size: 1.3rem;
  }
}

@media (max-width: 768px) {
  .mmz-featured-excerpt {
    display: none !important;
  }
}

/* Quitar decoración enlace en featured slide */
.mmz-featured-slide {
  text-decoration: none !important;
  color: inherit;
  cursor: pointer;
}

.mmz-featured-pill,
.mmz-featured-pill:link,
.mmz-featured-pill:visited,
.mmz-featured-pill:hover,
.mmz-featured-pill:focus,
.mmz-featured-pill:active {
  text-decoration: none !important;
}

/* ===== Ajustes específicos para móvil (máx 768px) ===== */
@media (max-width: 768px) {

  /* 0) Quitar padding lateral de <main> en todas las páginas */
  main[role="main"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 1) Quitamos márgenes y padding de contenedores Bootstrap */
  .container,
  .container-fluid,
  .row {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 2) Páginas internas (artículos, etc.):
        añadimos padding suave al contenido y a la sidebar */
  body:not(.path-frontpage) .col-md-9,
  body:not(.path-frontpage) aside.col-md-3 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* 3) Home: sin padding extra para que los bloques vayan a tope de ancho */
  body.path-frontpage main[role="main"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===== Eliminar márgenes laterales en HOME móvil para carruseles y bloques ===== */
@media (max-width: 768px) {

  /* Quitar gutters de Bootstrap en la home */
  body.path-frontpage .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.path-frontpage [class^="col-"],
  body.path-frontpage [class*=" col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===== HOME en móvil: todo a ras de borde (especial carruseles) ===== */
@media (max-width: 768px) {
  body.path-frontpage main[role="main"],
  body.path-frontpage main[role="main"] .region-content,
  body.path-frontpage main[role="main"] .layout,
  body.path-frontpage main[role="main"] .layout__region,
  body.path-frontpage main[role="main"] .block,
  body.path-frontpage main[role="main"] .container,
  body.path-frontpage main[role="main"] .container-fluid,
  body.path-frontpage main[role="main"] .row,
  body.path-frontpage main[role="main"] [class^="col-"],
  body.path-frontpage main[role="main"] [class*=" col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ===== Layout en 2 columnas para bloques de categoría en la home ===== */

/* Bloque de bienvenida full width en la home */
body.path-frontpage .mmz-welcome-block {
  grid-column: 1 / -1;
}

/* Estilo del texto de bienvenida */
body.path-frontpage .mmz-welcome-block p {
  text-align: center;
  max-width: 960px;
  margin: 15rem auto 20rem;
  font-size: 1rem;
  line-height: 1.6;
}

/* Opcional: un pelín más pequeño en móvil */
@media (max-width: 768px) {
  body.path-frontpage .mmz-welcome-block p {
    font-size: 0.95rem;
    margin: 1rem auto 1.5rem;
  }
}

/* ============================
   MENÚ PRINCIPAL (NAVBAR)
   ============================ */

/* ALTURA GENERAL DE LA BARRA */
.mmz-header .navbar {
  padding-top: 0.15rem;     /* 👉 Reduce alto superior */
  padding-bottom: 0.15rem;  /* 👉 Reduce alto inferior */
  min-height: auto;         /* Que no fuerce altura mínima */
}

/* Enlaces del menú: texto blanco, algo más pequeño y barra más fina */
.mmz-header .navbar-nav .nav-link {
  color: #ffffff;
  font-weight: 300;             /* Light */
  font-size: 0.9rem;            /* Un poco más pequeño */
  letter-spacing: 0.03em;
  padding: 0.3rem 0.9rem;       /* 👉 También reduce la altura del menú */
  position: relative;
  transition: color 0.2s ease, background-color 0.2s ease;
  text-transform: uppercase;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Aseguramos que no haya subrayado ni en hover ni en activo */
.mmz-header .navbar-nav .nav-link:hover,
.mmz-header .navbar-nav .nav-link:focus,
.mmz-header .navbar-nav .nav-link.active,
.mmz-header .navbar-nav .show > .nav-link {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Separación lateral entre items */
.mmz-header .navbar-nav .nav-item + .nav-item {
  margin-left: 0.25rem;
}

/* Efecto elegante: línea debajo SOLO en hover/focus */
.mmz-header .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.25rem;          /* Ajustado a la nueva altura */
  width: 0;
  height: 2px;
  background-color: #ffffff;
  transform: translateX(-50%);
  transition: width 0.2s ease;
}

.mmz-header .navbar-nav .nav-link:hover::after,
.mmz-header .navbar-nav .nav-link:focus::after {
  width: 60%;
}

/* Cambio sutil de color al pasar el ratón */
.mmz-header .navbar-nav .nav-link:hover,
.mmz-header .navbar-nav .nav-link:focus {
  color: #FDFEEF;
}

/* ============================
   LOGO EN EL HEADER
   ============================ */

.mmz-header .navbar-brand img,
.mmz-header .block-system-branding-block img {
  max-height: 32px;   /* 👉 Ajusta aquí si quieres aún más fino (28, 30, etc.) */
  height: auto;
}

/* Fondo en móvil para que se lea bien el menú */
@media (max-width: 991.98px) {
  .mmz-header .navbar-collapse {
    background-color: #AEBA00;
    padding: 0.4rem 0.8rem;
  }
}


/* ============================================================
   LISTADO DE ETIQUETAS EN LA COLUMNA DERECHA (Sidebar)
   ============================================================ */

/* Contenedor del bloque "Listado de etiquetas" */
.region-sidebar-second .view-id-listado_de_etiquetas .view-content {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 2px; /* separación entre etiquetas */
  padding: 4px 0;
}

/* Cada etiqueta */
.region-sidebar-second .view-id-listado_de_etiquetas .views-row {
  margin: 0; /* anulamos margen vertical que pone Drupal */
}

/* Enlace de cada etiqueta del listado en la sidebar */
.region-sidebar-second .view-id-listado_de_etiquetas a {
  display: inline-block;
  text-decoration: none;
  background-color: transparent;
  color: #28A8F2;
  border: 1px solid #28A8F2;
  border-radius: 4px;
  padding: 0.15rem 0.45rem;   /* MÁS PEQUEÑAS */
  font-size: 0.70rem;         /* LETRA MÁS PEQUEÑA SOLO EN LA SIDEBAR */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

/* Hover */
.region-sidebar-second .view-id-listado_de_etiquetas a:hover {
  background-color: #28A8F2;
  color: #FDFEEF;
}

/* === FOOTER SUPERIOR: CONTENEDOR GENERAL === */
.mmz-footer-legal {
  background-color: #175675;
  padding: 25px 0;
  color: #FDFEFF !important;
}

/* ===== MENÚ EN LÍNEA EN EL FOOTER ===== */
.mmz-footer-legal nav,
.mmz-footer-legal .menu,
.mmz-footer-legal ul.menu,
.mmz-footer-legal .nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Cada elemento de lista del menú */
.mmz-footer-legal li {
  display: flex;
  align-items: center;
  font-weight: normal;
}

/* Separador " | " entre elementos */
.mmz-footer-legal li + li::before {
  content: "|";
  color: #FDFEFF;
  margin: 0 20px; /* espacio a izquierda y derecha del separador */
}

/* Enlaces del footer (color blanco y SIN negrita) */
.mmz-footer-legal a,
.mmz-footer-legal .menu a,
.mmz-footer-legal .nav-link,
.mmz-footer-legal li a,
footer.mmz-footer-legal a {
  color: #FDFEFF !important;
  font-weight: normal !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Hover: subrayado pero mismo color */
.mmz-footer-legal a:hover,
.mmz-footer-legal .menu a:hover,
.mmz-footer-legal .nav-link:hover,
.mmz-footer-legal li a:hover,
footer.mmz-footer-legal a:hover {
  color: #FDFEFF !important;
  text-decoration: underline !important;
}

/* === Copyright del footer === */
.mmz-footer-copy {
  text-align: center;
  color: #FDFEFF;
  background-color: #175675; /* mismo azul del footer superior */
  padding: 10px 0;
  padding-left: 30%;        /* margen interior a la izquierda */
  font-size: 0.9rem;
}

/* ===== Footer inferior amarillo (logo empresa) ===== */
.mmz-footer-brand {
  background-color: #AEBA00;
  padding: 15px 5% 15px 0;  /* top / right / bottom / left */
  display: flex;
  justify-content: flex-end;    /* alinea el contenido (logo) a la derecha */
  align-items: center;
}

/* Que el campo que contiene la imagen no añada márgenes raros */
.mmz-footer-brand .field--name-body {
  margin: 0;
}

/* Imagen del logo dentro del footer inferior */
.mmz-footer-brand img {
  max-height: 60px;   /* ajusta si lo quieres más grande/pequeño */
  width: auto;
  display: block;
}

/* Eliminar márgenes y line-height del párrafo que envuelve el logo */
.mmz-footer-brand p {
  margin: 0;
  padding: 0;
  line-height: 0;
}

/* Estilo de banda con contenidos mínimos (bloques de ft_reducidas) */

/* Tamaño de letra y separación muy discreta */
.mmz-products-band {
  font-size: 0.5rem;
  line-height: 1.25;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Cada línea de producto, con poquísimo espacio entre ellas */
.mmz-products-band-inner {
  display: block;
  width: 100%;
  max-width: none;
  margin: 2px 0;
}

/* No añadimos padding lateral extra ni forzamos ancho global */
.mmz-products-outer,
.mmz-products-band {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 0;
}

/* Dentro de un bloque de página (.mmz-page-block),
   banda al mismo ancho que la imagen (60%), centrada
   y con un pequeño margen superior muy suave */
.mmz-page-block .mmz-products-outer,
.mmz-page-block .mmz-products-band {
  margin: 4px auto 0 auto; /* 4px arriba, centrado */
}

/* Enlace de ficha técnica: mismo color que el texto + subrayado */
.mmz-products-band .mmz-ft-link,
.mmz-products-band .mmz-ft-link:link,
.mmz-products-band .mmz-ft-link:visited {
  color: inherit !important;          /* mismo color que el texto */
  text-decoration: underline !important;
}

.mmz-products-band .mmz-ft-link:hover,
.mmz-products-band .mmz-ft-link:focus,
.mmz-products-band .mmz-ft-link:active {
  color: inherit !important;          /* no se ponga azul al hover */
  text-decoration: underline !important;
}

/* ============================
   BUSCADOR EN EL HEADER (navbar)
   ============================ */

.navbar-search {
  margin-left: 1rem;
  display: flex;
  align-items: center;       /* Centrado vertical en la barra */
}

.navbar-search #search-block-form {
  margin: 0;
  display: flex;
  align-items: center;
}

.navbar-search #search-block-form .form-item-keys {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

/* Caja del buscador con lupa SVG dentro */
.navbar-search #search-block-form input.form-search.form-control {
  height: 32px;
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid rgba(0, 0, 0, .10);  /* borde casi imperceptible */
  background-color: #ffffff;             /* 👉 fondo blanco */
  color: #333;
  font-size: 0.85rem;
  min-width: 190px;

  /* Espacio interior */
  padding: 0.25rem 2rem 0.25rem 0.6rem;  /* más hueco a la derecha para la lupa */

  /* Lupa SVG incrustada (sin archivos externos) */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23666' fill='none' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cline x1='16' y1='16' x2='21' y2='21'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 14px 14px;
}

.navbar-search #search-block-form input.form-search.form-control::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

/* Ocultar el botón: se sigue enviando con Enter */
.navbar-search #search-block-form .form-actions,
.navbar-search #search-block-form input[type="submit"],
.navbar-search #search-block-form button[type="submit"] {
  display: none !important;
}

/* Móvil */
@media (max-width: 991.98px) {
  .navbar-search {
    margin-top: 0.5rem;
    margin-left: 0;
    width: 100%;
  }

  .navbar-search #search-block-form input.form-search.form-control {
    width: 100%;
    height: 36px;
  }
}

/* ============================
   AJUSTE MENÚ MÓVIL (PADDING LATERAL)
   ============================ */

@media (max-width: 991.98px) {

  /* Devolvemos algo de padding lateral al contenedor del navbar */
  .mmz-header .navbar > .container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* El bloque desplegado del menú (hamburguesa) */
  .mmz-header .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }

  /* La lista del menú dentro del desplegable */
  .mmz-header .navbar-collapse .navbar-nav {
    width: 100%;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  /* Cada enlace del menú en móvil con más aire a la izquierda y derecha */
  .mmz-header .navbar-nav .nav-link {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }
}

/* ===== Ajuste del carrusel destacado según tamaño de pantalla ===== */

/* Pantallas medianas (portátiles típicos 1024–1366px) */
@media (min-width: 992px) and (max-width: 1399px) {
  .mmz-featured-caption {
    padding-left: 4%;
    padding-right: 4%;
  }

  .mmz-featured-title {
    font-size: 1.8rem; /* un poco más compacto */
  }

  .mmz-featured-excerpt {
    font-size: 0.9rem;
  }
}

/* Pantallas grandes (>= 1400px) — dejamos más aire */
@media (min-width: 1400px) {
  .mmz-featured-caption {
    padding-left: 10%;
    padding-right: 10%;
  }
}

/* Pantallas pequeñas (tablet horizontal 768–991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .mmz-featured-caption {
    padding-left: 6%;
    padding-right: 6%;
  }
}

/* ===== Copyright debajo del footer legal ===== */
.mmz-footer-copy {
  background-color: #175675;     /* mismo azul del footer legal */
  color: #FDFEFF;                /* texto blanco */
  text-align: center;
  padding: 8px 0 12px 0;         /* espacio arriba/abajo */
  font-size: 0.9rem;
  margin: 0;                     /* sin márgenes extra */
  /* sin border-top, para que no haya rayita de separación */
}

/* Reducir tipografía en móviles */
@media (max-width: 576px) {
  body {
    font-size: 0.92rem; /* Ajusta este valor a tu gusto */
  }

  /* Si quieres afinar títulos también */
  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.35rem; }
  h3 { font-size: 1.15rem; }
  p  { font-size: 0.92rem; }
}

/* Reducir tamaño de las etiquetas en móvil */
@media (max-width: 576px) {

  /* Selector del contenedor de etiquetas */
  .field--name-field-tags.field--type-entity-reference.field__items {
    font-size: 0.85rem; /* Ajusta a tu gusto */
  }

  /* Si las etiquetas tienen enlaces individuales */
  .field--name-field-tags.field--type-entity-reference.field__items a {
    font-size: 0.85rem;
    padding: 2px 6px; /* opcional si quieres que el chip sea más pequeño */
  }
}


/* ====== LISTADO DE CATEGORÍA (Vista listado_por_categoria_mmz) ====== */

.mmz-category-item {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}

/* Imagen 3:2 horizontal */
.mmz-category-image-wrapper img {
  width: 260px;             /* Ajusta el ancho si lo ves grande o pequeño */
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 8px;
}

/* Contenedor de texto a la derecha */
.mmz-category-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Título del artículo */
.mmz-category-title {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 8px;
}

/* Clase genérica para quitar estilo de enlace */
.mmz-no-link-style {
  text-decoration: none !important;
  color: inherit !important;
}

/* Aseguramos que los enlaces dentro de título y extracto no sean azules ni subrayados */
.mmz-category-title a,
.mmz-category-excerpt a {
  text-decoration: none !important;
  color: inherit !important;
}

/* Extracto del artículo */
.mmz-category-excerpt {
  font-size: 0.95rem;
  margin-top: 5px;
}

/* Leer más en negrita */
.mmz-category-readmore {
  font-weight: 700;
}

/* Ajustes en móvil */
@media (max-width: 767.98px) {
  .mmz-category-item {
    flex-direction: column;
  }

  .mmz-category-image-wrapper img {
    width: 100%;
    margin-bottom: 10px;
  }

  .mmz-category-text {
    margin-left: 0;
  }
}

/* Sombra en título de banner Home */
.mmz-featured-title {
  text-shadow: 0 3px 8px rgba(0,0,0,0.45);
}


/* Quitar los separadores en pantallas móviles del footer */
@media (max-width: 768px) {
  .mmz-footer-legal li + li::before {
    content: none;
    margin: 0;
  }
}

/* Reducir interlineado del footer legal */
.mmz-footer-legal,
.mmz-footer-legal li,
.mmz-footer-legal a {
  line-height: 1.2;   /* antes heredaba ~1.5 o 1.6 */
}

/* ===== Resultados de búsqueda: quitar numeración ===== */

ol.search-results {
  list-style: none;       /* quita números */
  margin: 0;
  padding-left: 0;
}

ol.search-results > li.search-result {
  list-style: none;       /* por si acaso */
  margin-bottom: 0;       /* dejamos que el margen lo ponga .mmz-category-item */
}

/* opcional pero ayuda en algunos navegadores */
ol.search-results > li.search-result::marker {
  content: '';
}

/* ===== Destacados HOME v2: título más pequeño en laptop ===== */
/* "Laptop" típico: Bootstrap lg → antes de pantallas muy grandes */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .mmz-featured-v2__title {
    font-size: 1.5rem;
    line-height: 1.15;
  }
}

/* Separador visual MMZ */
hr {
  width: 70%;
  margin: 2rem auto;
  opacity: 0.25;
}



/* Hace clicable toda la tarjeta de artículos relacionados */
.related-card__link {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.related-card__title {
  pointer-events: none;
}

/* Artículos relacionados: pantalla auxiliar grande */
.related-card__title {
  font-size: 1.15rem;
  line-height: 1.25;
  padding: 0.6rem 0.9rem;
}

/* Artículos relacionados: portátil */
@media (max-width: 1600px) {
  .related-card__title {
    font-size: 0.8rem;
    line-height: 1.15;
    padding: 0.35rem 0.6rem;
  }
}

/* Artículos relacionados: móvil */
@media (max-width: 768px) {
  .related-card__title {
    font-size: 1.2rem;
    line-height: 1.25;
    padding: 0.6rem 0.9rem;
  }
}
