:root {
  --als-color-principal: #003a8f;
  /* azul institucional */
  --als-color-principal-hover: #002a68;
  --als-color-texto-invertido: #ffffff;
  --als-color-fondo-suave: #f5f7fa;
  --als-color-acento: #8b1538;
  /* burdeos secundario si quieres */
}

/* =====================================================
   Carrusel portada – contenedor
===================================================== */

.als-carrusel {
  position: relative;
  overflow: hidden;
  height: 420px;
}

/* =====================================================
   Carrusel – slides
===================================================== */

.als-carrusel-track {
  position: relative;
  height: 100%;
}

.als-carrusel-slide {
  position: absolute;
  inset: 0;
  display: none;
}

.als-carrusel-slide.is-active {
  display: block;
}

/* =====================================================
   Carrusel – imagen
===================================================== */

.als-carrusel-slide img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

/* =====================================================
   Carrusel – texto
===================================================== */

.als-carrusel-caption {
  position: absolute;
  left: 50%;
  bottom: 12%;
  transform: translateX(-50%);
  z-index: 3;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.als-carrusel-text {
  font-family: 'Poppins', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}

/* =====================================================
   Carrusel – navegación (flechas)
===================================================== */

/* =====================================================
   Carrusel – navegación (flechas)
===================================================== */

.als-carrusel-nav {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.als-carrusel-prev,
.als-carrusel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;

  background: rgba(0, 0, 0, 0.45) !important;
  border: none !important;
  border-radius: 50%;

  color: #ffffff !important;
  cursor: pointer;

  pointer-events: all;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow: none !important;
}

.als-carrusel-prev {
  left: 16px;
}

.als-carrusel-next {
  right: 16px;
}

/* Fuerza visual del icono */
.als-carrusel-prev::before,
.als-carrusel-next::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 18px;
  color: #ffffff;
}

.als-carrusel-prev::before {
  content: "\f053";
  /* chevron-left */
}

.als-carrusel-next::before {
  content: "\f054";
  /* chevron-right */
}


/* ===============================
   Carrusel de logotipos
=============================== */

.als-logos-carousel {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  --als-logo-size: 80px;
  /* fallback */
}

/* Flechas */
.als-logos-prev,
.als-logos-next {
  background: none;
  border: none;
  font-size: 42px;
  /* más grandes */
  cursor: pointer;
  color: #365274;
  /* color corporativo */
  line-height: 1;
  padding: 0;
}

.als-logos-prev:hover,
.als-logos-next:hover {
  background: none !important;
  color: #1f3a52;
}

.als-logos-prev:focus,
.als-logos-next:focus,
.als-logos-prev:active,
.als-logos-next:active {
  background: none !important;
  box-shadow: none !important;
  outline: none;
}

/* Wrapper */
.als-logos-track-wrapper {
  overflow: hidden;
  width: 100%;
}

/* Track */
.als-logos-track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: transform 0.4s ease;
  will-change: transform;
}

/* Logo item: CUADRADO */
.als-logo-item {
  flex: 0 0 auto;
  width: var(--als-logo-size);
  height: var(--als-logo-size);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

/* Imagen contenida */
.als-logo-item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.als-logo-item,
.als-logo-item>a {
  height: 100%;
}


/* Acordeón Gutenberg – cabeceras */

/* Estado normal (cerrado) */
.wp-block-aab-group-accordion .aagb__accordion_head {
  background-color: #1da3eb !important;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 12px 16px;
  transition: background-color 0.2s ease;
}

/* Título */
.wp-block-aab-group-accordion .aagb__accordion_title {
  color: #ffffff;
  font-weight: 600;
}

/* Icono */
.wp-block-aab-group-accordion .aagb__accordion_icon .dashicons {
  color: #ffffff;
}

/* Hover SOLO cuando está cerrado */
.wp-block-aab-group-accordion .aagb__accordion_head:not(.active):hover {
  background-color: #168ecf !important;
}

/* Estado activo REAL (abierto) */
.wp-block-aab-group-accordion .aagb__accordion_head.active {
  background-color: #002e5b !important;
}

/* Título activo */
.wp-block-aab-group-accordion .aagb__accordion_head.active .aagb__accordion_title {
  color: #ffffff;
}

/* Icono activo */
.wp-block-aab-group-accordion .aagb__accordion_head.active .dashicons {
  color: #ffffff;
}

/* Cuerpo del acordeón */
.wp-block-aab-group-accordion .aagb__accordion_body {
  background-color: #ffffff !important;
  padding: 12px 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-top: none;
}

@media (max-width: 768px) {
  .wp-block-aab-accordion-item .aagb__accordion_body {
    padding: 16px 8px !important;
  }
}

/* === MCE · Evento individual === */

/* Ocultar cuenta atrás */
.single-mec-events .mec-countdown,
.single-mec-events .mec-event-countdown,
.single-mec-events .mec-events-meta-group-countdown {
  display: none !important;
}

/* Margen superior para la página del evento */
.single-mec-events .mec-single-event {
  margin-top: 20px;
}

/* Evitar que la última imagen de una galería se estire */
.wp-block-gallery.has-nested-images figure.wp-block-image:last-child {
  flex-grow: 0;
}

/* ===============================
   Bloque Noticias Departamento
   =============================== */

.als-dep-noticias {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 5px;
}

/* Tarjeta */
.als-dep-noticia {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.als-dep-noticia:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
}

/* Enlace completo */
.als-dep-noticia-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

/* Imagen */
.als-dep-noticia-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #f5f5f5;
}

.als-dep-noticia-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Cuerpo */
.als-dep-noticia-body {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-grow: 1;
}

/* Título */
.als-dep-noticia-title {
  font-size: 20px !important;
  font-weight: 600;
  line-height: 1.4;
  color: #002e5b;
  /* azul institucional */
  margin: 0;
}

/* Fecha */
.als-dep-noticia-date {
  font-size: 14px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Icono calendario (opcional, solo si usas pseudo-elementos) */
.als-dep-noticia-date::before {
  content: "📅";
  font-size: 14px;
}

/* ===============================
   Responsive
   =============================== */

@media (max-width: 1024px) {
  .als-dep-noticias {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .als-dep-noticias {
    grid-template-columns: 1fr;
  }

  .als-dep-noticia-img {
    height: 180px;
  }
}

/* Imagen fallback (logo) */
.als-dep-noticia-img.is-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  padding: 4px;
}

.als-dep-noticia-img.is-fallback img {
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 0.85;
}

/* ======================================================
   TRÁMITES DESTACADOS (tarjetas)
====================================================== */

.als-tramites-destacados {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 5px;
}

.als-tramite-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  text-decoration: none;
  color: #ffffff;

  background: var(--als-color-principal);
  border-radius: 16px;
  padding: 24px;
}

.als-tramite-card {
  cursor: pointer;
}

.als-tramite-card:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.8);
  outline-offset: 3px;
}

.als-tramite-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .15);
  background: var(--als-color-principal-hover);
}

.als-tramite-card h3 {
  margin: 0 0 18px;
  font-size: 1.15rem !important;
  font-weight: 600;
  line-height: 1.3;
  color: #ffffff !important;
}

.als-tramite-btn {
  display: inline-block;
  padding: 6px 16px;
  font-size: 0.9rem;
  font-weight: 500;

  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;

  border: 1px solid #ffffff;
  border-radius: 6px;

  text-decoration: none;
}

.als-tramite-card:hover .als-tramite-btn {
  background: #ffffff;
  color: var(--als-color-principal);
}


/* ======================================================
   TRÁMITES NORMALES – ENLACES DE INTERÉS
====================================================== */

.als-tramites-enlaces {
  margin-top: 10px;
}

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

.als-tramites-enlaces li {
  background: var(--als-color-fondo-suave);
  border-radius: 8px;
  margin-bottom: 12px;
  transition: background .2s ease;
}

.als-tramites-enlaces li:hover {
  background: #e9eef5;
}

.als-tramites-enlaces a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  color: #1d2b4f;
  text-decoration: none;
  font-weight: 500;
}

.als-tramites-enlaces a:hover {
  color: var(--als-color-principal);
}

.als-acceso-departamento {
  margin-bottom: 1.5rem;
}

.als-acceso-dep-btn {
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 14px 18px;
  border-radius: 12px;

  background: #003b8e;
  color: #fff !important;
  text-decoration: none;

  font-weight: 600;
}

.als-acceso-dep-btn:hover {
  background: #002f70;
}

/* Icono */
.als-acceso-dep-icon {
  width: 22px;
  height: 22px;
  fill: #fff;
}

/* Texto */
.als-acceso-dep-text strong {
  font-weight: 700;
}

.als-acceso-dep-label {
  opacity: 0.85;
  font-weight: 500;
}

/* ==========================================================
   BOTÓN GUTENBERG – LA SOLANA
   ========================================================== */

.wp-block-button.boton_lasolana .wp-block-button__link {
  background-color: #003f8f;
  /* azul corporativo */
  color: #ffffff;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 26px;
  border-radius: 10px;
  border: 2px solid transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.25s ease;
  box-shadow: 0 6px 18px rgba(0, 63, 143, 0.25);
}

/* Icono opcional antes del texto */
.wp-block-button.boton_lasolana .wp-block-button__link::before {
  content: "↗";
  font-size: 18px;
  line-height: 1;
}

/* Hover */
.wp-block-button.boton_lasolana .wp-block-button__link:hover {
  background-color: #1da3eb;
  /* azul claro */
  color: #ffffff;
  box-shadow: 0 8px 22px rgba(29, 163, 235, 0.35);
  transform: translateY(-1px);
}

/* Focus (accesibilidad) */
.wp-block-button.boton_lasolana .wp-block-button__link:focus {
  outline: none;
  border-color: #1da3eb;
}

/* Activo */
.wp-block-button.boton_lasolana .wp-block-button__link:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 63, 143, 0.3);
}

.als-hora-oficial {
  text-align: center;
  font-family: inherit;
}

.als-hora-digital {
  display: inline-flex;
  gap: 6px;
  margin-bottom: 8px;
}

.als-hora-digital span {
  display: inline-block;
  min-width: 38px;
  padding: 6px 8px;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  border-radius: 6px;
}

.als-h {
  background: #111;
  color: #fff;
}

.als-m {
  background: #111;
  color: #fff;
}

.als-s {
  background: #e5e5e5;
  color: #000;
}

.als-hora-digital .sep {
  background: transparent;
  color: #111;
  min-width: auto;
  padding: 0;
}

.als-hora-texto {
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  color: #666;
}

.als-hora-oficial {
  text-align: center;
}

.als-fecha {
  margin-bottom: 6px;
  font-size: 14px;
  color: #6b7280;
}

.als-reloj span {
  font-size: 32px;
  font-weight: 600;
  padding: 5px;
}

/* ==========================================================
   TABLAS GUTENBERG – TRÁMITES (ESTILO TARJETA LIMPIO)
========================================================== */

.wp-block-table {
  overflow-x: hidden;
}

.wp-block-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
  table-layout: fixed;
  /* CLAVE */
}

/* Reset base */
.wp-block-table th,
.wp-block-table td {
  border: none;
  padding: 1rem;
  vertical-align: middle;
  background: transparent;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ===== FILA COMO TARJETA ===== */
.wp-block-table tbody tr {
  background: #f7faff;
  border-radius: 12px;
  transition: background 0.2s ease;
}

.wp-block-table tbody tr:hover {
  background: #eef5ff;
}

/* ===== PRIMERA COLUMNA (TÍTULO) ===== */
.wp-block-table tbody tr td:first-child {
  width: 40%;
  font-weight: 600;
  color: #003a8f;
  font-size: 1rem;
}

.wp-block-table.ancho_columnas tbody tr td {
  width: unset !important;
}

/* ===== COLUMNAS DE ACCIÓN (IGUALES) ===== */
.wp-block-table tbody tr td.has-text-align-center {
  width: 20%;
  text-align: center;
}

.wp-block-table.tabla-contactos-lasolana thead th,
.wp-block-table.tabla-contactos-lasolana tbody td {
  width: unset !important;
}

/* Mantener altura aunque esté vacío */
.wp-block-table td.has-text-align-center:empty::before {
  content: "";
  display: inline-block;
  min-height: 44px;
}

/* ===== ENLACES DE ACCIÓN ===== */
.wp-block-table a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  color: #1d9cd4;
  font-weight: 500;
  text-decoration: none;
}

/* Iconos (Font Awesome / SVG) */
.wp-block-table a i {
  font-size: 22px;
  opacity: 0.75;
  color: #005fa3;
  line-height: 1;
}

/* Texto */
.wp-block-table a span {
  font-size: 0.8rem;
  line-height: 1.2;
  text-align: center;
}

/* ===== CABECERA "TRÁMITES DESTACADOS" ===== */
.wp-block-table tbody tr:first-child td strong {
  display: block;
  font-size: 1.1rem;
  color: #003a8f;
}

/* ===== CELDAS VACÍAS ===== */
.wp-block-table td:empty {
  background: transparent !important;
  padding: 1rem;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {

  .wp-block-table table,
  .wp-block-table tbody,
  .wp-block-table tr,
  .wp-block-table td {
    display: block;
    width: 100%;
  }

  .wp-block-table tbody tr {
    padding: 1rem;
  }

  .wp-block-table tbody tr td {
    padding: 0.5rem 0;
    text-align: left !important;
  }

  .wp-block-table tbody tr td:not(:first-child) {
    display: inline-flex;
    margin-right: 1rem;
  }

  .wp-block-table a {
    flex-direction: row;
    gap: 0.5rem;
  }
}

/* Evitar cortes raros en desktop */
@media (min-width: 769px) {
  .wp-block-table a span {
    white-space: nowrap;
  }
}

.als-ubicaciones {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.als-ubicacion {
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}

.als-ubicacion-contenido {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.als-ubicacion-datos {
  list-style: none;
  padding: 0;
  margin: 0;
}

.als-ubicacion-datos li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.als-ubicacion-datos i {
  color: var(--color-azul-corporativo, #0b4f8a);
  font-size: 1rem;
  width: 18px;
  text-align: center;
}

.als-ubicacion-titulo {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--color-azul-corporativo, #0b4f8a);
  margin-bottom: 12px;
}

.als-ubicacion-contenido {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 40px;
  align-items: start;
}

.als-ubicacion-mapa {
  width: 100%;
  max-width: 420px;
  justify-self: end;
}

.als-ubicacion-mapa iframe {
  width: 100%;
  height: 220px;
  border-radius: 6px;
  display: block;
}

@media (max-width: 768px) {
  .als-ubicacion-contenido {
    grid-template-columns: 1fr;
  }

  .als-ubicacion-mapa {
    max-width: 100%;
    justify-self: stretch;
  }
}


.actas_la_solana td:first-child::before {
  content: '\f05a';
  /* fa-info-circle */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 8px;
}

.actas_la_solana td:nth-child(2)::before {
  content: '\f1c1';
  /* fa-file-pdf */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 8px;
}

.actas_la_solana td:nth-child(3)::before {
  content: '\f15c';
  /* fa-file-alt */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 8px;
}

.actas_la_solana td:last-child::before {
  content: '\f167';
  /* fa-youtube */
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400;
  margin-right: 8px;
}

.normativa_municipal td::before {
  content: '\f1c1';
  /* fa-file-pdf */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: 8px;
}


/* Tabla de empleo público */
table.empleo_publico {
  width: 100%;
  table-layout: auto;
  /* clave */
}

table.empleo_publico td {
  vertical-align: middle;
}

table.empleo_publico td:nth-child(2) {
  word-break: normal;
  overflow-wrap: break-word;
}

table.empleo_publico td:last-child {
  white-space: nowrap;
  text-align: center;
}

/* Estado convocatoria */
.empleo_publico td.als-estado {
  font-weight: 500;
}

.empleo_publico td.estado-abierto {
  color: #1f7a3f !important;
  /* verde tenue */
}

.empleo_publico td.estado-cerrado {
  color: #9b2c2c !important;
  /* rojo tenue */
}

.empleo_publico td.als-estado i {
  margin-right: 0.25rem;
}

.empleo_publico thead th {
  background-color: #f5f5f5;
  color: #111;
  font-weight: 600;
  padding: 0.75rem 0.75rem;
  border-bottom: 2px solid #ddd;
  text-align: left;
}

.empleo_publico thead th.has-text-align-center {
  text-align: center;
}


.empleo_publico tbody td {
  padding: 0.75rem 0.75rem;
  vertical-align: middle;
}

.empleo_publico tbody tr {
  border-bottom: 1px solid #eee;
}

.als-titulo-tabla {
  margin: 1.5rem 0 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #002e5b;
}


/* ============================
   Filtros empleo público
   ============================ */
.als-convocatorias-filtros {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

/* Todos los hijos directos en línea */
.als-convocatorias-filtros>* {
  display: inline-flex !important;
  align-items: center !important;
}

/* Selects */
.als-convocatorias-filtros select {
  width: auto !important;
  min-width: 220px !important;
  max-width: 260px !important;
  padding: 0.6rem 0.8rem !important;
}

/* Botón */
.als-btn-filtrar {
  background-color: #2aa4e7 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0.6rem 1.2rem !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.als-btn-filtrar:hover {
  background-color: #1c8dcc !important;
  color: #ffffff !important;
}

.als-documentos-convocatoria ul,
.als-enlaces-convocatoria ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.als-documentos-convocatoria li,
.als-enlaces-convocatoria li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #e5e5e5;
}

.als-enlaces-convocatoria li:last-child {
  border-bottom: none;
}

.als-documento-link {
  flex: 1;
  text-decoration: none;
  color: #0b5ed7;
  font-weight: 500;
}

.als-documento-link:hover,
.als-enlace-item a:hover {
  text-decoration: underline;
}

.als-documento-download {
  color: #0b5ed7;
  font-size: 1rem;
}

.als-documento-download:hover {
  color: #084298;
}

.als-icon {
  margin-right: 6px;
}

.als-sidebar-title {
  font-family: Poppins, sans-serif;
  font-size: 24px;
  font-weight: 300;
  color: rgb(0, 46, 91);
  margin: 32px 0 16px;
}


/* Grid de departamentos */
.als-departamentos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 24px;
  margin: 2rem 0;
}

.als-departamentos-grid.is-layout-flow> :first-child {
  margin-block-start: 24px;
}

/* Tarjeta */
.als-departamento-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;

  padding: 24px 16px;
  background: #f8fafc;
  border: 1px solid #dbe3ec;
  border-radius: 6px;

  text-align: center;
  text-decoration: none;
  color: inherit;

  transition: all 0.2s ease;
}

/* Hover */
.als-departamento-card:hover {
  background: #ffffff;
  border-color: #b6c6d6;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Icono */
.als-departamento-icono {
  font-size: 36px;
  line-height: 1;
  color: #0a3d62;
  /* ajustable a color corporativo */
}

/* Nombre */
.als-departamento-nombre {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: #0a3d62;
  /* mismo color que icono */
}

/* Accesibilidad: foco teclado */
.als-departamento-card:focus {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}


.als-alojamientos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin: 2rem 0;
}

/* Móvil */
@media (max-width: 767px) {
  .als-alojamientos-grid {
    grid-template-columns: 1fr !important;
  }
}

.als-alojamiento-card {
  background: #f8fafc;
  border: 1px solid #dbe3ec;
  border-radius: 6px;
  padding: 20px;
  text-align: center;
}

.als-alojamiento-card img {
  max-height: 120px;
  width: auto;
  margin: 0 auto 12px;
}

.als-alojamiento-card h3 {
  font-size: 1.05rem;
  margin-bottom: 8px;
  color: #0a3d62;
}

/* Iconos sociales como accesos institucionales */
.als-alojamiento-card .wp-block-social-links {
  justify-content: center;
  gap: 20px;
  margin-top: 16px;
}

/* Quitar aspecto de red social */
.als-alojamiento-card .wp-social-link {
  background: transparent !important;
  border-radius: 0;
}

/* Tamaño y color del icono */
.als-alojamiento-card .wp-social-link svg {
  width: 30px;
  height: 30px;
  fill: #0a3d62;
  /* color corporativo */
  transition: transform 0.2s ease, fill 0.2s ease;
}

/* Hover limpio */
.als-alojamiento-card .wp-social-link:hover svg {
  fill: #083152;
  transform: translateY(-2px);
}

/* Contenedor de imagen */
.als-alojamiento-card img {
  max-width: 100%;
  max-height: 90px;
  min-height: 90px;
  height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0 auto 16px;
  display: block;
}

@media (max-width: 768px) {

  .wp-block-table table,
  .wp-block-table tbody,
  .wp-block-table tr {
    display: block;
    width: 100%;
  }

  .wp-block-table tbody tr {
    padding: 1rem 1.2rem;
    border-radius: 12px;
  }

  .wp-block-table tbody tr td {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0;
    text-align: left !important;
    width: 100%;
  }

  /* TÍTULO */
  .wp-block-table tbody tr td:first-child {
    font-size: 1rem;
    font-weight: 600;
    color: #003a8f;
    margin-bottom: 0.5rem;
    width: 100%;
  }

}

@media (max-width: 768px) {

  .wp-block-table a {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }

  .wp-block-table a span {
    font-size: 0.85rem;
    white-space: normal;
  }

  .wp-block-table a i {
    font-size: 18px;
  }

}

@media (max-width: 768px) {

  .wp-block-table[class*="tabla-"] td {
    width: 100% !important;
  }

  .sede_electronica td {
    width: 100% !important;
  }

}

.patrimonio-card img {
  max-height: unset;
}

.patrimonio-card p {
  margin-top: 11px !important;
}

.escudo_patrimonio img {
  margin-bottom: 0px !important;
}

.als-patrimonio-intro {
  background: #e8edf3;
  border: 1px solid #d3dde8;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 36px !important;
}


/* ==============================
   Bloque Gutenberg: Archivo
   ============================== */

.wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

/* Enlace al archivo (título) */
.wp-block-file>a:not(.wp-block-file__button) {
  font-weight: 500;
  color: #002e5b;
  text-decoration: none;
}

.wp-block-file>a:not(.wp-block-file__button):hover {
  text-decoration: underline;
}

/* Botón Descargar */
.wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 20px;
  border-radius: 999px;

  background-color: #1da2eb;
  color: #fff !important;

  font-size: 15px;
  font-weight: 500;
  line-height: 1;

  text-decoration: none;
  border: none;

  transition: background-color 0.2s ease, transform 0.2s ease;
}

/* Hover / focus */
.wp-block-file__button:hover,
.wp-block-file__button:focus {
  background-color: #002e5b;
  color: #fff;
  transform: translateY(-1px);
}

/* Accesibilidad */
.wp-block-file__button:focus-visible {
  outline: 2px solid #1ca3ec;
  outline-offset: 2px;
}


/* Avisos */

/* Contenedor de destacados */
.als-destacados-portada {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

/* Tarjeta destacada */
.als-destacado-item {
  display: block;
  flex: 0 0 calc(50% - 12px);
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}

/* Hover */
.als-destacado-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

/* Imagen */
.als-destacado-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}


/* Descripción del departamento */
.als-departamento-descripcion {
  background-color: #fff;
  border: 1px solid #f1f1f1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  padding: 24px;
  margin: 16px 0;
}

.als-departamento-descripcion p:last-child {
  margin-bottom: 0;
}

.als-departamento-descripcion ul,
.als-departamento-descripcion ol {
  padding-left: 20px;
}

.als-departamento-descripcion a {
  color: #005fa3;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .als-departamento-descripcion {
    padding: 20px;
    margin: 24px 0;
  }
}

.als-post-visitas {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #646970;
  margin-top: 12px;
}

.als-post-visitas .dashicons {
  font-size: 18px;
}