/* Playfair Display: se carga desde assets/fonts/fuentes.css (alojada en la web) */
/* ===== Modernización (fase 1): fondo blanco y pie nuevo ===== */

/* Fondo blanco completo */
body, #header, #content, #promo { background-color: #fff; }
#header { background-color: #fff; border-bottom: 0; }
#content:before, #content:after { background: none; display: none; }
#promo .moduletable { background: #fff; }

/* Pie de página */
#footer.hs-pie, #footer.hs-pie p, #footer.hs-pie li { color: #f3e9e9; }
#footer.hs-pie { background: #6d0000; background-image: linear-gradient(180deg, #7a0a0a 0%, #6d0000 60%, #5a0000 100%); color: #f3e9e9; padding: 48px 0 0; border-top: 4px solid #4a0000; font-family: 'Open Sans', Arial, sans-serif; }
#footer.hs-pie a, #footer.hs-pie a:link, #footer.hs-pie a:visited { color: #fff !important; text-decoration: none; }
#footer.hs-pie a:hover { color: #fff !important; text-decoration: underline; }
.hs-pie-columnas { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; padding-bottom: 40px; }
#footer.hs-pie .hs-pie-col h4 { margin: 0 0 16px; font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 18px; color: #fff !important; text-shadow: none; background: none; padding: 0 0 10px; position: relative; }
.hs-pie-col h4:after { content: ""; position: absolute; left: 0; bottom: 0; width: 38px; height: 2px; background: rgba(255,255,255,.7); }
.hs-pie-escudo { display: block; width: 90px; height: 90px; margin-bottom: 14px; }
#footer.hs-pie p.hs-pie-nombre { font-family: 'Merriweather', Georgia, serif; font-size: 19px; line-height: 1.3; color: #fff !important; margin: 0 0 6px; }
.hs-pie-lema { font-size: 12px; line-height: 1.5; color: #e5cfcf; margin: 0 0 18px; font-style: italic; }
.hs-pie-datos { list-style: none; margin: 0; padding: 0; }
.hs-pie-datos li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; font-size: 14px; line-height: 1.5; color: #f3e9e9; }
.hs-pie-datos svg { width: 18px; height: 18px; fill: #fff; flex: 0 0 18px; margin-top: 2px; }
ul.hs-pie-menu { list-style: none; margin: 0; padding: 0; columns: 1; }
ul.hs-pie-menu li { margin: 0 0 8px; font-size: 14px; line-height: 1.4; }
ul.hs-pie-menu li a { display: inline-block; padding-left: 14px; position: relative; }
ul.hs-pie-menu li a:before { content: "›"; position: absolute; left: 0; top: 0; color: rgba(255,255,255,.7); }
.hs-pie-iconos { display: flex; flex-wrap: nowrap; gap: 8px; margin-bottom: 20px; }
.hs-pie-iconos .hs-red { width: 36px; height: 36px; flex: 0 0 36px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transition: background .15s, transform .15s; }
.hs-pie-iconos .hs-red svg { width: 18px; height: 18px; fill: #fff; }
.hs-pie-iconos .hs-red:hover { background: #fff; transform: translateY(-2px); }
.hs-pie-iconos .hs-red:hover svg { fill: #6d0000; }
.hs-pie-whatsapp { display: flex; gap: 12px; align-items: center; background: rgba(0,0,0,.18); border-radius: 10px; padding: 12px 14px; font-size: 13px; line-height: 1.4; color: #fff; }
.hs-pie-whatsapp svg { width: 34px; height: 34px; fill: #25d366; flex: 0 0 34px; }
.hs-pie-whatsapp span { font-size: 15px; }
.hs-pie-whatsapp strong { font-size: 12px; font-weight: 600; color: #f3e9e9; }
.hs-pie-boletin p { font-size: 14px; line-height: 1.5; margin: 0 0 12px; color: #f3e9e9; }
.hs-pie-boletin .acymailing_form { width: 100%; }
.hs-pie-boletin .acymailing_form td { padding: 0 0 8px; }
.hs-pie-boletin .acymailing_form input.inputbox { width: 100% !important; box-sizing: border-box; height: 38px; border: 0; border-radius: 6px; padding: 6px 12px; font-size: 14px; }
.hs-pie-boletin .acyterms { font-size: 12px; color: #e5cfcf; }
.hs-pie-boletin .acyterms a { text-decoration: underline; }
.hs-pie-boletin input.button.subbutton { background: #fff; color: #6d0000; border: 0; border-radius: 6px; padding: 9px 18px; font-weight: 700; font-size: 14px; cursor: pointer; text-shadow: none; box-shadow: none; }
.hs-pie-boletin input.button.subbutton:hover { background: #f3e9d2; }
.hs-pie-boletin .hs-bol-msg { background: rgba(255,255,255,.15); color: #fff; border: 0; border-radius: 6px; padding: 8px 10px; font-size: 13px; }
.hs-pie-bajo { border-top: 1px solid rgba(255,255,255,.2); padding: 18px 0 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; font-size: 13px; color: #e5cfcf; }
.hs-pie-bajo p.copytext { margin: 0; font-style: normal; color: #e5cfcf; padding: 0; display: inline; }
ul.hs-pie-legal { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; }
ul.hs-pie-legal a { color: #fff; }
.hs-pie-credito { margin-left: auto; }
.hs-pie-credito p, .hs-pie-credito .widget { margin: 0; }
.hs-pie-credito img { opacity: .85; vertical-align: middle; }
#footer #copyright { border: 0; box-shadow: none; background: none; padding: 0; text-align: left; }
@media (max-width: 979px) { .hs-pie-columnas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .hs-pie-columnas { grid-template-columns: 1fr; gap: 28px; } .hs-pie-bajo { flex-direction: column; align-items: flex-start; } .hs-pie-credito { margin-left: 0; } }
.hs-pie-boletin .acysubbuttons { text-align: left !important; }

/* ===================== Portada nueva: noticias en 4 columnas, bloques, patrocinadores ===================== */
#content.hs-portada > .container { padding-top: 10px; }
.hs-seccion-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 6px 0 18px; }
.hs-seccion-titulo { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 26px; line-height: 1.2; color: #6d0000; margin: 0; padding: 0 0 10px; position: relative; background: none; }
.hs-seccion-titulo:after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 3px; background: #6d0000; border-radius: 2px; }
.hs-noticias-titulo { margin: 4px 0 22px; }

/* Rejilla de tarjetas: 4 por fila */
.hs-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0 0 8px; }
.hs-tarjeta { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6e0e0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,.05); transition: transform .18s ease, box-shadow .18s ease; min-width: 0; }
.hs-tarjeta:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(80,0,0,.12); }
.hs-tarjeta-img { display: block; aspect-ratio: 3 / 2; background: #f1ecec; overflow: hidden; }
.hs-tarjeta-img img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; max-width: none; transition: transform .35s ease; }
.hs-tarjeta:hover .hs-tarjeta-img img { transform: scale(1.04); }
.hs-tarjeta-sinfoto { display: block; width: 100%; height: 100%; background: #f1ecec url('../../../../uploads/images/imagenes/escudo-hdad-color-nuevo.png') center/70px auto no-repeat; opacity: .5; }
.hs-tarjeta-cuerpo { display: flex; flex-direction: column; flex: 1 1 auto; padding: 14px 16px 16px; }
.hs-tarjeta-fecha { display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #8a1010; margin: 0 0 6px; }
.hs-tarjeta-titulo { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 17px; line-height: 1.3; margin: 0 0 8px; padding: 0; background: none; }
.hs-tarjeta-titulo a { color: #6d0000; text-decoration: none; }
.hs-tarjeta-titulo a:hover { color: #a00; text-decoration: underline; }
.hs-tarjeta-texto { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; line-height: 1.55; color: #555; margin: 0 0 12px; }
.hs-tarjeta-mas { margin-top: auto; align-self: flex-start; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; font-weight: 700; color: #6d0000; text-decoration: none; }
.hs-tarjeta-mas:hover { color: #a00; text-decoration: underline; }

/* Botón "Ver todas las noticias" */
.hs-ver-mas { text-align: center; margin: 22px 0 36px; }
.hs-boton, .hs-boton:link, .hs-boton:visited { display: inline-block; background: #6d0000; color: #fff !important; font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; font-size: 15px; padding: 12px 30px; border-radius: 30px; text-decoration: none !important; border: 2px solid #6d0000; transition: background .18s ease, color .18s ease; }
.hs-boton:hover { background: #fff; color: #6d0000 !important; }

/* Bloques de la portada (vídeo, agenda, banners, boletín) en 3 columnas */
.hs-bloques { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; margin: 8px 0 30px; align-items: start; }
.hs-bloques .hs-bloque { min-width: 0; margin: 0; }
.hs-bloques .hs-bloque iframe[src*="youtube"] { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 8px; }
.hs-bloques .hs-bloque .sidebar_module_content > p { margin: 0; }
.hs-bloques .hs-bloque .hs-banner img { display: block; width: 100%; height: auto; border-radius: 8px; }
.hs-bloques .hs-bloque img { max-width: 100%; height: auto; }
.hs-bloques .hs-bloque iframe { max-width: 100%; }
.hs-bloques .hs-bloque h3.sidebar_module_heading { position: relative; font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 17px; line-height: 1.25; color: #6d0000; margin: 0 0 14px; padding: 0 0 10px; border-bottom: 1px solid #e6dede; background: none; text-shadow: none; }
.hs-bloques .hs-bloque h3.sidebar_module_heading:after { content: ""; position: absolute; left: 0; bottom: -1px; width: 44px; height: 3px; background: #6d0000; border-radius: 2px; }
.hs-bloques .hs-bloque .sidebar_module_content { color: #555; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; line-height: 1.55; }
.hs-bloques .hs-bloque .hs-aleatorio .hs-banner { margin: 0; }
.hs-bloques .hs-bloque .hs-banner img, .hs-bloques .hs-bloque .hs-fb-page iframe { width: 100%; }
.hs-bloques .hs-bloque .acymailing_module { margin: 0; }

/* Paginación del archivo de noticias */
.hs-noticias-lista .hs-paginacion { margin: 22px 0 10px; }
.hs-noticias-lista .hs-paginacion .pagination { margin: 0; }

/* Franja de patrocinadores (todos por igual), justo encima del pie */
.hs-patrocinadores { background: #fff; border: 0; padding: 26px 0 40px; margin-top: 0; }
.hs-patrocinadores-int { width: 1000px; max-width: 100%; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.hs-patrocinadores-titulo { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6d0000; text-align: center; margin: 0 0 18px; background: none; padding: 0; }
.hs-patrocinadores-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hs-patrocinador { margin: 0; }
.hs-patrocinador a, .hs-patro-caja { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e6dcdc; border-radius: 10px; overflow: hidden; text-decoration: none !important; transition: box-shadow .18s ease, transform .18s ease; }
.hs-patrocinador a:hover { box-shadow: 0 8px 20px rgba(0,0,0,.10); transform: translateY(-2px); }
.hs-patro-logo { display: flex; align-items: center; justify-content: center; height: 104px; padding: 10px 16px; background: #fff; }
.hs-patro-logo img { display: block; max-width: 100%; max-height: 84px; width: auto; height: auto; margin: 0; }
.hs-patro-info { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 10px 12px 11px; background: #6d0000; color: #fff; text-align: center; font-family: 'Open Sans', Arial, sans-serif; }
.hs-patro-nombre { font-size: 17px; line-height: 1.25; font-weight: 700; color: #fff; }
.hs-patro-dato { font-size: 15px; line-height: 1.3; color: #f3e6e6; }

/* Responsive */
@media (max-width: 979px) {
    .hs-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .hs-bloques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .hs-rejilla { grid-template-columns: 1fr; }
    .hs-bloques { grid-template-columns: 1fr; }
    .hs-patrocinadores-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .hs-patro-logo { height: 84px; } .hs-patro-logo img { max-height: 64px; }
    .hs-patro-nombre { font-size: 15px; } .hs-patro-dato { font-size: 13px; }
    .hs-seccion-titulo { font-size: 22px; }
}

/* Banner Credencial del peregrino: de lado a lado (rompe el contenedor de 1000 px), temática Camino de Santiago */
.hs-credencial { position: relative; width: 100vw; margin: 34px 0 0 50%; transform: translateX(-50%); background: #6d0000; background-image: radial-gradient(ellipse at 15% 50%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 55%), linear-gradient(100deg, #7d0a0a 0%, #6d0000 55%, #4f0000 100%); color: #fff; overflow: hidden; border: 0; font-family: 'Open Sans', Arial, sans-serif; }
.hs-credencial-ruta { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.hs-credencial-int { position: relative; width: 1000px; max-width: 100%; margin: 0 auto; padding: 32px 20px; box-sizing: border-box; display: flex; align-items: center; gap: 32px; }
.hs-credencial-vieira { flex: 0 0 auto; width: 130px; height: 130px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
.hs-credencial-vieira svg { width: 100%; height: 100%; display: block; }
.hs-credencial-texto { flex: 1 1 auto; min-width: 0; }
.hs-credencial-sobre { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; opacity: .85; }
.hs-credencial-titulo { margin: 0 0 10px; padding: 0; background: none; font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 34px; line-height: 1.1; color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,.3); }
.hs-credencial-parrafo { margin: 0; font-size: 15px; line-height: 1.5; color: #f6e9e9; max-width: 560px; }
.hs-credencial-accion { flex: 0 0 auto; }
.hs-credencial-boton, .hs-credencial-boton:link, .hs-credencial-boton:visited { display: inline-flex; align-items: center; gap: 12px; background: #fff; color: #6d0000 !important; border: 2px solid #fff; font-weight: 700; font-size: 15px; padding: 14px 24px 14px 18px; border-radius: 40px; text-decoration: none !important; box-shadow: 0 6px 16px rgba(0,0,0,.3); transition: transform .18s ease, box-shadow .18s ease; white-space: nowrap; }
.hs-credencial-boton:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0,0,0,.35); background: #f7efdc; }
.hs-credencial-flecha { width: 30px; height: 30px; color: #b8860b; }
@media (max-width: 979px) {
    .hs-credencial-int { flex-wrap: wrap; gap: 20px; padding: 26px 20px; }
    .hs-credencial-vieira { width: 90px; height: 90px; }
    .hs-credencial-titulo { font-size: 28px; }
    .hs-credencial-accion { flex-basis: 100%; }
}
@media (max-width: 600px) {
    .hs-credencial-int { flex-direction: column; align-items: flex-start; text-align: left; }
    .hs-credencial-titulo { font-size: 24px; }
    .hs-credencial-boton { width: 100%; justify-content: center; box-sizing: border-box; white-space: normal; }
}

/* Iconos de redes en la cabecera (arriba a la derecha, sobre el buscador) */
.hs-cabecera-redes { float: right; clear: right; margin: 22px 0 0 16px; }
.hs-cabecera-iconos { display: flex; gap: 8px; justify-content: flex-end; }
.hs-cabecera-iconos .hs-red { width: 32px; height: 32px; border-radius: 50%; background: #6d0000; display: inline-flex; align-items: center; justify-content: center; transition: background .15s ease, transform .15s ease; }
.hs-cabecera-iconos .hs-red svg { width: 16px; height: 16px; fill: #fff; }
.hs-cabecera-iconos .hs-red:hover { background: #a00; transform: translateY(-2px); }
#header #search { margin-top: 10px; }
@media (max-width: 767px) {
    .hs-cabecera-redes { float: none; clear: both; margin: 0 0 10px; }
    .hs-cabecera-iconos { justify-content: center; }
}

/* Contenido a todo el ancho en las páginas interiores (sin columna lateral); el texto de artículos y páginas, a un ancho cómodo de lectura */
#content #middlecol.hs-middlecol-completo { width: 100%; float: none; }
body.single-post .item-page, body.page:not(.hs-ancho) .item-page { max-width: 820px; margin-left: auto; margin-right: auto; }
.hs-bloques .acymailing_module input.button.subbutton, .hs-bloques .acymailing_module .button.btn-primary { background: #6d0000 !important; border: 0; color: #fff; border-radius: 6px; padding: 8px 18px; font-weight: 700; text-shadow: none; box-shadow: none; }
.hs-bloques .acymailing_module input.button.subbutton:hover { background: #8a1010 !important; }

/* Banner del canal de WhatsApp: fondo de foto difuminada con velo verde oscuro, sobrio */
.hs-wa { position: relative; overflow: hidden; display: flex; align-items: center; gap: 26px; margin: 44px 0 40px; padding: 30px 34px; background: #0f3327; color: #fff; border: 0; border-radius: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.14); font-family: 'Open Sans', Arial, sans-serif; }
.hs-wa-fondo { position: absolute; inset: -24px; background-position: center; background-size: cover; filter: blur(9px) saturate(.5); opacity: .65; }
.hs-wa-velo { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(12,46,35,.96) 0%, rgba(12,46,35,.8) 50%, rgba(12,46,35,.6) 100%); }
.hs-wa > *:not(.hs-wa-fondo):not(.hs-wa-velo) { position: relative; }
.hs-wa-icono { flex: 0 0 auto; width: 84px; height: 84px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3); display: flex; align-items: center; justify-content: center; box-shadow: none; }
.hs-wa-icono svg { width: 48px; height: 48px; fill: #fff; }
.hs-wa-texto { flex: 1 1 auto; min-width: 0; }
.hs-wa-sobre { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; opacity: .8; }
.hs-wa-titulo { margin: 0 0 8px; padding: 0; background: none; font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 26px; line-height: 1.15; color: #fff; }
.hs-wa-parrafo { margin: 0; font-size: 14px; line-height: 1.55; color: #e7efeb; max-width: 560px; }
.hs-wa-accion { flex: 0 0 auto; text-align: center; }
.hs-wa-boton, .hs-wa-boton:link, .hs-wa-boton:visited { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: #0f3327 !important; font-weight: 700; font-size: 15px; padding: 13px 24px; border-radius: 40px; text-decoration: none !important; box-shadow: 0 6px 16px rgba(0,0,0,.25); transition: background .18s ease, transform .18s ease; white-space: nowrap; }
.hs-wa-boton:hover { background: #e9f1ec; transform: translateY(-2px); }
.hs-wa-boton svg { width: 22px; height: 22px; fill: #0f3327; }
.hs-wa-telefono { margin: 10px 0 0; font-size: 14px; font-weight: 600; color: #fff; opacity: .85; letter-spacing: .04em; }
@media (max-width: 979px) { .hs-wa { flex-wrap: wrap; gap: 18px; padding: 24px; } .hs-wa-accion { flex-basis: 100%; text-align: left; } }
@media (max-width: 600px) { .hs-wa { flex-direction: column; align-items: flex-start; } .hs-wa-icono { width: 64px; height: 64px; } .hs-wa-icono svg { width: 38px; height: 38px; } .hs-wa-titulo { font-size: 22px; } .hs-wa-boton { width: 100%; justify-content: center; box-sizing: border-box; } .hs-wa-accion { width: 100%; } }

/* Banda de accesos (Coronación, Obra Social...) ahora al final, encima de los patrocinadores */
#promo.hs-promo-abajo { clear: both; margin: 10px 0 30px; }
#promo.hs-promo-abajo .moduletable { margin: 0; }

/* Portada: pase de imágenes encima del menú */
#iceslideshow.hs-slide-arriba { clear: both; margin: 0 0 14px; }

/* Control de tamaño del texto (accesibilidad) */
.hs-cabecera-redes { display: flex; align-items: center; gap: 18px; }
.hs-tamano { display: inline-flex; align-items: center; gap: 4px; font-family: 'Open Sans', Arial, sans-serif; }
.hs-tamano-txt { font-size: 13px; color: #555; margin-right: 4px; }
.hs-tamano button { min-width: 34px; height: 32px; padding: 0 8px; border: 1px solid #d9cccc; border-radius: 6px; background: #fff; color: #6d0000; font-weight: 700; font-size: 15px; line-height: 1; cursor: pointer; }
.hs-tamano button sup { font-size: 11px; }
.hs-tamano button:hover, .hs-tamano button:focus-visible { background: #6d0000; color: #fff; border-color: #6d0000; outline: none; }
.hs-tamano-estado { font-size: 12px; color: #777; min-width: 36px; text-align: right; }
@media (max-width: 767px) { .hs-cabecera-redes { flex-direction: column; gap: 10px; } .hs-tamano-txt { display: none; } }

/* ===================== Accesos rápidos (tarjetas 3D) ===================== */
.hs-accesos { margin: 10px 0 24px; }
.hs-accesos-fila { display: grid; gap: 18px; perspective: 1000px; }
.hs-accesos-fila + .hs-accesos-fila { margin-top: 18px; }
.hs-accesos-n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hs-accesos-n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hs-accesos-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hs-acc { display: block; text-decoration: none !important; color: #fff !important; border-radius: 14px; outline: none; }
.hs-acc-mov { position: relative; display: block; height: 230px; border-radius: 14px; overflow: hidden; background: #3a0000; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; box-shadow: 0 6px 18px rgba(60,0,0,.18); will-change: transform; }
.hs-acc-foto .hs-acc-mov { height: 190px; }
.hs-acc:hover .hs-acc-mov, .hs-acc:focus-visible .hs-acc-mov { box-shadow: 0 22px 40px rgba(60,0,0,.32); }
.hs-acc.hs-tilt .hs-acc-mov { transition: transform .08s linear, box-shadow .35s ease; }
.hs-acc-bg { position: absolute; inset: -6%; background-size: cover; background-position: center; transform: scale(1.02); transition: transform .6s ease, filter .6s ease; filter: saturate(.9); }
.hs-acc:hover .hs-acc-bg, .hs-acc:focus-visible .hs-acc-bg { transform: scale(1.1); filter: saturate(1.05); }
.hs-acc-velo { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(60,0,0,.04) 0%, rgba(70,0,0,.4) 45%, rgba(85,0,0,.9) 100%); }
.hs-acc-brillo { position: absolute; inset: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 0%), rgba(255,255,255,.28), rgba(255,255,255,0) 55%); opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.hs-acc:hover .hs-acc-brillo { opacity: 1; }
.hs-acc-cont { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 16px 15px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; transform: translateZ(40px); font-family: 'Open Sans', Arial, sans-serif; }
.hs-acc-emblema { width: 54px; height: 54px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.3); border: 2px solid rgba(255,255,255,.9); transition: transform .35s ease; }
.hs-acc-emblema img { width: 86%; height: 86%; object-fit: contain; margin: 0; }
.hs-acc-icono svg { width: 26px; height: 26px; fill: #6d0000; }
.hs-acc:hover .hs-acc-emblema { transform: translateY(-3px) scale(1.06); }
.hs-acc-sobre { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.hs-acc-tit { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 19px; line-height: 1.2; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.hs-acc-foto .hs-acc-tit { font-size: 18px; }
.hs-acc-mas { margin-top: 6px; font-size: 13px; font-weight: 700; color: #fff; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .3s ease; }
.hs-acc:hover .hs-acc-mas, .hs-acc:focus-visible .hs-acc-mas { opacity: 1; transform: none; }
.hs-acc:focus-visible .hs-acc-mov { outline: 3px solid #b8860b; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .hs-acc-mov, .hs-acc-bg, .hs-acc-mas, .hs-acc-emblema { transition: none !important; transform: none !important; } .hs-acc-mas { opacity: 1; } }
@media (max-width: 979px) { .hs-accesos-n5, .hs-accesos-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hs-accesos-n5 .hs-acc:last-child { grid-column: span 2; } .hs-acc-mov { height: 190px; } .hs-acc-mas { opacity: 1; transform: none; } }
@media (max-width: 480px) { .hs-acc-mov, .hs-acc-foto .hs-acc-mov { height: 160px; } .hs-acc-tit { font-size: 16px; } .hs-acc-emblema { width: 42px; height: 42px; } }

/* Pie en el mismo granate que la barra de menú */
#footer.hs-pie { background: #6d0000; background-image: none; }

/* Tarjetas de noticias: los carteles (imágenes verticales o muy apaisadas sin imagen destacada) se ven enteros */
.hs-tarjeta-img.hs-tarjeta-img-entera { background: #f4f0f0; display: flex; align-items: center; justify-content: center; padding: 8px; box-sizing: border-box; }
.hs-tarjeta-img.hs-tarjeta-img-entera img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 1px 4px rgba(0,0,0,.12); }

/* Buscador de la cabecera: más presente, pero discreto */
#header #search { margin: 12px 0 0 16px; }
#header #search .search-query, #header #search input.inputbox { width: 300px; max-width: 100%; height: 40px; box-sizing: border-box; padding: 6px 40px 6px 16px; border: 1px solid #d9cccc; border-radius: 22px; background: #faf7f7; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; color: #333; box-shadow: none; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
#header #search .search-query::placeholder { color: #8a7a7a; }
#header #search .search-query:focus { outline: none; border-color: #6d0000; background: #fff; box-shadow: 0 0 0 3px rgba(109,0,0,.12); }
#header #search .hs-search-btn { right: 5px; width: 30px; height: 30px; border-radius: 50%; background: #6d0000; color: #fff; padding: 0; display: flex; align-items: center; justify-content: center; }
#header #search .hs-search-btn svg { display: block; }
#header #search .hs-search-btn:hover { background: #a00; }
@media (max-width: 767px) { #header #search { margin: 0 0 12px; float: none; } #header #search .search-query { width: 100%; } }

/* Botón de alto contraste (junto a A−/A/A+) */
.hs-tamano button.hs-contraste-btn { display: inline-flex; align-items: center; justify-content: center; margin-left: 6px; }
.hs-tamano button svg { display: block; }
html.hs-contraste .hs-tamano button.hs-contraste-btn { background: #ffd400; color: #000; border-color: #ffd400; }

/* ===================== Modo de alto contraste (accesibilidad) ===================== */
html.hs-contraste, html.hs-contraste body { background: #000 !important; color: #fff !important; }
html.hs-contraste body *:not(img):not(svg):not(path):not(video):not(iframe):not(.hs-acc-emblema):not(.hs-acc-emblema *):not(.hs-patro-logo):not(.hs-patro-logo *):not(.hs-credencial-vieira):not(.hs-credencial-vieira *) { background-color: #000 !important; background-image: none !important; color: #fff !important; border-color: #fff !important; text-shadow: none !important; box-shadow: none !important; }
html.hs-contraste .hs-patro-logo, html.hs-contraste .hs-acc-emblema { background: #fff !important; }
html.hs-contraste a, html.hs-contraste a *, html.hs-contraste .hs-tarjeta-mas, html.hs-contraste .hs-acc-tit { color: #ffd400 !important; text-decoration: underline !important; }
html.hs-contraste a:hover, html.hs-contraste a:focus { color: #fff !important; background: #000 !important; }
html.hs-contraste h1, html.hs-contraste h2, html.hs-contraste h3, html.hs-contraste h4, html.hs-contraste strong { color: #fff !important; }
html.hs-contraste .hs-tarjeta, html.hs-contraste .hs-wa, html.hs-contraste .hs-acc-mov, html.hs-contraste .hs-patrocinador a, html.hs-contraste .hs-patro-caja, html.hs-contraste input, html.hs-contraste textarea, html.hs-contraste button, html.hs-contraste .hs-boton, html.hs-contraste .hs-credencial-boton, html.hs-contraste .hs-wa-boton, html.hs-contraste #mainmenu, html.hs-contraste #footer, html.hs-contraste .hs-credencial, html.hs-contraste .hs-tamano button { border: 2px solid #fff !important; }
html.hs-contraste .hs-boton, html.hs-contraste .hs-credencial-boton, html.hs-contraste .hs-wa-boton, html.hs-contraste button, html.hs-contraste input[type=submit] { background: #000 !important; color: #ffd400 !important; }
html.hs-contraste svg { fill: #fff !important; color: #fff !important; }
html.hs-contraste .hs-acc-emblema svg, html.hs-contraste .hs-acc-icono svg { fill: #000 !important; }
html.hs-contraste .hs-acc-velo, html.hs-contraste .hs-acc-brillo, html.hs-contraste .hs-wa-fondo, html.hs-contraste .hs-wa-velo, html.hs-contraste .hs-credencial-ruta, html.hs-contraste .hs-acc-bg { display: none !important; }
html.hs-contraste .hs-seccion-titulo:after, html.hs-contraste .hs-pie-col h4:after, html.hs-contraste .hs-bloques .hs-bloque h3.sidebar_module_heading:after { background: #ffd400 !important; }
html.hs-contraste .hs-acc-mov { height: auto !important; min-height: 120px; transform: none !important; }
html.hs-contraste .hs-acc-cont { position: static !important; transform: none !important; }
html.hs-contraste img { filter: none !important; }
html.hs-contraste :focus-visible { outline: 3px solid #ffd400 !important; outline-offset: 2px; }

/* Logotipo de la cabecera: escudo en alta resolución + nombre en texto */
#header #logo { margin: 22px 0 18px; }
.hs-logo, .hs-logo:hover { display: inline-flex; align-items: center; gap: 12px; text-decoration: none !important; }
.hs-logo-escudo { display: block; width: 52px; height: 70px; }
.hs-logo-texto { font-family: 'Merriweather', Georgia, serif; font-weight: 700; font-size: 42px; line-height: 1; color: #6d0000; letter-spacing: -0.5px; white-space: nowrap; }
.hs-logo-texto em { font-style: normal; font-weight: 400; }
@media (max-width: 979px) { .hs-logo-texto { font-size: 32px; } }
@media (max-width: 600px) { .hs-logo-texto { font-size: 24px; } .hs-logo-escudo { width: 40px; height: 54px; } }
html.hs-contraste .hs-logo-texto { color: #fff !important; }
html.hs-contraste #logo a { background: none !important; }
.ice-megamenu-toggle a, .ice-megamenu-toggle a:hover { background: #6d0000 !important; color: #fff !important; }

/* Botón "Hazte hermano" (cabecera, junto al buscador; y pie) */
#header #search { display: flex; align-items: center; gap: 12px; }
.hs-hazte-hermano, .hs-hazte-hermano:link, .hs-hazte-hermano:visited { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px 0 14px; border-radius: 22px; background: #6d0000; color: #fff !important; font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; font-size: 14px; text-decoration: none !important; white-space: nowrap; box-shadow: 0 3px 10px rgba(109,0,0,.25); transition: background .18s ease, transform .18s ease; }
.hs-hazte-hermano svg { width: 18px; height: 18px; }
.hs-hazte-hermano:hover, .hs-hazte-hermano:focus-visible { background: #8a1010; transform: translateY(-1px); color: #fff !important; }
#footer.hs-pie a.hs-hazte-pie, #footer.hs-pie a.hs-hazte-pie:link, #footer.hs-pie a.hs-hazte-pie:visited, #footer.hs-pie a.hs-hazte-pie:hover { background: #fff; color: #6d0000 !important; margin-top: 6px; box-shadow: none; text-decoration: none !important; }
#footer.hs-pie a.hs-hazte-pie svg { color: #6d0000; }
#footer.hs-pie a.hs-hazte-pie:hover { background: #f3e9d2; }
html.hs-contraste .hs-hazte-hermano { background: #000 !important; color: #ffd400 !important; border: 2px solid #fff !important; }
@media (max-width: 767px) { #header #search { flex-direction: column; align-items: stretch; } .hs-hazte-cabecera { justify-content: center; } }

/* ===== Cabecera en dos niveles: franja superior (contacto, accesibilidad, redes) y cabecera principal (logo, buscador, Hazte hermano) ===== */
.hs-franja { background: #f6f2f2; border-bottom: 1px solid #e9e0e0; font-family: 'Open Sans', Arial, sans-serif; }
.hs-franja-int { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.hs-franja-izq { display: flex; align-items: center; gap: 20px; }
.hs-franja-dato, .hs-franja-dato:link, .hs-franja-dato:visited { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #5a4a4a; text-decoration: none; }
.hs-franja-dato:hover { color: #6d0000; text-decoration: underline; }
.hs-franja-dato svg { width: 14px; height: 14px; color: #6d0000; }
.hs-franja-der { display: flex; align-items: center; gap: 16px; }
.hs-franja .hs-tamano { gap: 3px; }
.hs-franja .hs-tamano button { min-width: 28px; height: 26px; font-size: 13px; padding: 0 6px; border-radius: 5px; background: #fff; }
.hs-franja .hs-tamano button sup { font-size: 9px; }
.hs-franja .hs-tamano-estado { font-size: 11px; min-width: 32px; }
.hs-franja .hs-tamano button.hs-contraste-btn { margin-left: 4px; }
.hs-franja .hs-cabecera-iconos { gap: 6px; }
.hs-franja .hs-cabecera-iconos .hs-red { width: 26px; height: 26px; }
.hs-franja .hs-cabecera-iconos .hs-red svg { width: 13px; height: 13px; }
#header #logo { margin: 24px 0 20px; }
#header #search { margin: 36px 0 0 16px; }
@media (max-width: 979px) { .hs-franja-izq .hs-franja-dato:last-child { display: none; } }
@media (max-width: 767px) {
    .hs-franja-int { flex-direction: column; gap: 6px; padding: 6px 0; }
    .hs-franja-izq { display: none; }
    #header #search { margin: 0 0 12px; }
}
html.hs-contraste .hs-franja { border-bottom: 1px solid #fff !important; }

/* ===== Controles de texto junto a "Últimas noticias" (portada) y encima del contenido (interiores) ===== */
.hs-seccion-cabecera .hs-tamano { margin-bottom: 10px; }
.hs-controles-pagina { display: flex; justify-content: flex-end; margin: 4px 0 6px; }
.hs-tamano-txt { display: inline; font-size: 13px; color: #666; margin-right: 2px; }
.hs-tamano button.hs-contraste-btn { margin-left: 6px; }

/* ===== Botón "Hazte hermano" en la barra de menú (derecha) ===== */
#header #mainmenu { position: relative; }
#mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { position: absolute; z-index: 1000; right: 10px; top: 50%; transform: translateY(-50%); height: 38px; background: #fff; color: #6d0000 !important; box-shadow: none; }
#mainmenu .hs-hazte-menu:hover { background: #f3e9d2; transform: translateY(-50%) translateY(-1px); }
#mainmenu .hs-hazte-menu svg { color: #6d0000; }
#header #mainmenu #icemegamenu { padding-right: 170px; box-sizing: border-box; }

/* ===== Menú móvil (hamburguesa) ===== */
.hs-burger { display: none; }
.hs-movil { display: none; }
@media (max-width: 979px) {
    #header #mainmenu .icemegamenu, #header #mainmenu .hs-hazte-menu { display: none !important; }
    #header #mainmenu { height: auto; min-height: 0; background: none; margin: 0 0 10px; }
    .hs-burger { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; float: right; width: 56px; height: 50px; margin: 32px 0 0 10px; padding: 0; border: 1px solid #d9cccc; border-radius: 8px; background: #fff; cursor: pointer; }
    .hs-burger span:not(.hs-burger-txt) { display: block; width: 22px; height: 2px; background: #6d0000; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
    .hs-burger-txt { font-family: 'Open Sans', Arial, sans-serif; font-size: 10px; font-weight: 700; color: #6d0000; text-transform: uppercase; letter-spacing: .06em; margin-top: 1px; }
    html.hs-menu-abierto .hs-burger { background: #6d0000; border-color: #6d0000; }
    html.hs-menu-abierto .hs-burger span:not(.hs-burger-txt) { background: #fff; }
    html.hs-menu-abierto .hs-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    html.hs-menu-abierto .hs-burger span:nth-child(2) { opacity: 0; }
    html.hs-menu-abierto .hs-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    html.hs-menu-abierto .hs-burger-txt { color: #fff; }
    .hs-movil { display: block; clear: both; background: #6d0000; border-radius: 10px; margin: 0 0 14px; padding: 8px 0 14px; font-family: 'Open Sans', Arial, sans-serif; }
    .hs-movil[hidden] { display: none; }
    .hs-movil-lista, .hs-movil-lista ul { list-style: none; margin: 0; padding: 0; }
    .hs-movil-lista > li { border-bottom: 1px solid rgba(255,255,255,.12); position: relative; }
    .hs-movil-lista > li:last-child { border-bottom: 0; }
    .hs-movil-lista a { display: block; padding: 13px 56px 13px 18px; color: #fff !important; font-size: 16px; font-weight: 600; text-decoration: none !important; }
    .hs-movil-lista a:hover, .hs-movil-lista a:focus { background: rgba(255,255,255,.08); }
    .hs-movil-mas { position: absolute; right: 8px; top: 5px; width: 40px; height: 38px; border: 0; background: rgba(255,255,255,.1); border-radius: 6px; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
    .hs-movil-mas svg { width: 22px; height: 22px; transition: transform .2s ease; }
    .hs-movil-lista li.hs-abierto > .hs-movil-mas svg { transform: rotate(180deg); }
    .hs-movil-lista .sub-menu { display: none; background: rgba(0,0,0,.18); padding: 4px 0; }
    .hs-movil-lista li.hs-abierto > .sub-menu { display: block; }
    .hs-movil-lista .sub-menu a { padding: 10px 18px 10px 32px; font-size: 15px; font-weight: 400; }
    .hs-movil .hs-hazte-movil { margin: 14px 18px 0; background: #fff; color: #6d0000 !important; box-shadow: none; justify-content: center; }
    .hs-movil .hs-hazte-movil svg { color: #6d0000; }
    #header #search { clear: both; float: none; width: 100%; margin: 0 0 12px; }
    #header #search .search, #header #search form { width: 100%; }
    #header #search .search-query { width: 100%; }
    #iceslideshow.hs-slide-arriba { margin-top: 4px; }
    .hs-seccion-cabecera { flex-wrap: wrap; }
}
@media (max-width: 767px) {
    #header #logo { float: left; margin: 14px 0 10px; }
    .hs-burger { margin-top: 16px; }
    .hs-controles-pagina { justify-content: flex-start; }
}
html.hs-contraste .hs-movil, html.hs-contraste .hs-burger { background: #000 !important; border: 1px solid #fff !important; }
.hs-franja-int:before, .hs-franja-int:after { display: none; }
body.single-post .hs-controles-pagina, body.page:not(.hs-ancho) .hs-controles-pagina { max-width: 820px; margin-left: auto; margin-right: auto; }

/* ===== Página "Hazte hermano" ===== */
body.page .item-page:has(.hs-hh) { max-width: 1000px; }
.hs-hh { font-family: 'Open Sans', Arial, sans-serif; }
.hs-hh-hero { position: relative; min-height: 300px; border-radius: 14px; overflow: hidden; background-size: cover; background-position: center 30%; display: flex; align-items: flex-end; margin: 0 0 32px; }
.hs-hh-hero-velo { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(60,0,0,.15) 0%, rgba(85,0,0,.9) 100%); }
.hs-hh-hero-cont { position: relative; padding: 30px 32px 26px; color: #fff; }
.hs-hh-hero-cont p { color: #fff; margin: 0 0 10px; }
.hs-hh-sobre { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.hs-hh-lema { font-family: 'Merriweather', Georgia, serif; font-size: 26px; line-height: 1.3; max-width: 640px; }
.hs-hh-lema strong { color: #fff; }
.hs-hh-hero-cont .hs-hh-boton { margin-top: 6px; background: #fff; color: #6d0000 !important; border-color: #fff; }
.hs-hh-hero-cont .hs-hh-boton:hover { background: #f3e9d2; }
.hs-hh-titulo { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 24px; color: #6d0000; margin: 34px 0 18px; padding: 0 0 10px; position: relative; background: none; }
.hs-hh-titulo:after { content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 3px; background: #6d0000; border-radius: 2px; }
.hs-hh-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hs-hh-caja { background: #fff; border: 1px solid #e9e0e0; border-radius: 12px; padding: 22px 22px 18px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.hs-hh-caja h4 { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 18px; color: #6d0000; margin: 0 0 8px; }
.hs-hh-caja p { margin: 0; font-size: 14px; line-height: 1.6; color: #555; }
.hs-hh-ico { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; background: #6d0000; color: #fff; align-items: center; justify-content: center; margin-bottom: 12px; }
.hs-hh-ico svg { width: 24px; height: 24px; }
.hs-hh-pasos { list-style: none; margin: 0; padding: 0; counter-reset: paso; display: grid; gap: 14px; }
.hs-hh-pasos li { display: flex; gap: 18px; align-items: flex-start; background: #faf7f7; border-left: 4px solid #6d0000; border-radius: 0 12px 12px 0; padding: 18px 20px; }
.hs-hh-num { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: #6d0000; color: #fff; font-family: 'Merriweather', Georgia, serif; font-size: 22px; display: inline-flex; align-items: center; justify-content: center; }
.hs-hh-pasos h4 { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 18px; color: #6d0000; margin: 4px 0 6px; }
.hs-hh-pasos p { margin: 0 0 6px; font-size: 14px; line-height: 1.6; color: #444; }
.hs-hh-pasos a { color: #6d0000; font-weight: 700; }
.hs-hh-dos { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; margin-top: 28px; }
.hs-hh-ficha { background: #6d0000; color: #fff; border-radius: 12px; padding: 24px 26px; }
.hs-hh-ficha h4 { font-family: 'Merriweather', Georgia, serif; font-weight: 400; font-size: 20px; color: #fff; margin: 0 0 14px; }
.hs-hh-ficha ul { list-style: none; margin: 0; padding: 0; }
.hs-hh-ficha li { font-size: 14px; line-height: 1.6; color: #f3e9e9; margin: 0 0 8px; }
.hs-hh-ficha li strong { color: #fff; }
.hs-hh-ficha a { color: #fff !important; text-decoration: underline; }
.hs-hh-ficha-foto { position: relative; min-height: 220px; background-size: cover; background-position: center; padding: 0; display: flex; align-items: flex-end; overflow: hidden; }
.hs-hh-ficha-pie { background: linear-gradient(180deg, rgba(0,0,0,0), rgba(60,0,0,.85)); width: 100%; padding: 30px 18px 14px; font-size: 13px; color: #fff; }
.hs-hh-faq details { border: 1px solid #e9e0e0; border-radius: 10px; margin: 0 0 10px; background: #fff; }
.hs-hh-faq summary { cursor: pointer; padding: 14px 18px; font-weight: 700; color: #6d0000; font-size: 15px; list-style: none; position: relative; padding-right: 44px; }
.hs-hh-faq summary::-webkit-details-marker { display: none; }
.hs-hh-faq summary:after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: #f3e9e9; color: #6d0000; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.hs-hh-faq details[open] summary:after { content: "−"; }
.hs-hh-faq details p { margin: 0; padding: 0 18px 16px; font-size: 14px; line-height: 1.6; color: #444; }
.hs-hh-cierre { text-align: center; margin: 36px 0 10px; padding: 30px 20px; background: #faf7f7; border-radius: 14px; }
.hs-hh-cierre-txt { font-family: 'Merriweather', Georgia, serif; font-size: 22px; color: #6d0000; margin: 0 0 16px; }
.hs-hh-cierre .hs-boton { margin: 4px 6px; }
.hs-boton.hs-boton-claro, .hs-boton.hs-boton-claro:link, .hs-boton.hs-boton-claro:visited { background: #fff; color: #6d0000 !important; }
.hs-boton.hs-boton-claro:hover { background: #6d0000; color: #fff !important; }
@media (max-width: 767px) { .hs-hh-rejilla, .hs-hh-dos { grid-template-columns: 1fr; } .hs-hh-lema { font-size: 21px; } .hs-hh-hero { min-height: 240px; } .hs-hh-hero-cont { padding: 22px 20px; } }
html.hs-contraste .hs-hh-hero, html.hs-contraste .hs-hh-ficha-foto { background-image: none !important; }

/* ===== Cabecera definitiva: logo + redes; menú con "Hazte hermano"; debajo, buscador y tamaño del texto ===== */
.hs-franja { display: none; }
#header #logo { margin: 24px 0 22px; }
#header .hs-cabecera-redes { float: right; clear: none; margin: 40px 0 0; display: block; }
#header .hs-cabecera-iconos { gap: 8px; }
#header .hs-cabecera-iconos .hs-red { width: 34px; height: 34px; }
#header #search { float: none; margin: 0; display: block; }
.hs-utilidades { clear: both; display: flex; justify-content: flex-end; align-items: center; gap: 22px; margin: 10px 0 6px; }
.hs-utilidades .hs-tamano { margin: 0; }
.hs-utilidades #search .search-query { width: 260px; height: 36px; }
.hs-utilidades #search .hs-search-btn { width: 28px; height: 28px; }
#header #mainmenu #icemegamenu > li > a { padding-left: 10px; padding-right: 10px; }
#header #mainmenu #icemegamenu { padding-right: 150px; }
#mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { height: 34px; padding: 0 14px 0 11px; font-size: 13px; right: 8px; }
#mainmenu .hs-hazte-menu svg { width: 16px; height: 16px; }
.hs-movil-redes { display: flex; justify-content: center; gap: 10px; margin: 14px 0 4px; }
.hs-movil-redes .hs-red { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.14); display: inline-flex; align-items: center; justify-content: center; }
.hs-movil-redes .hs-red svg { width: 17px; height: 17px; fill: #fff; }
@media (max-width: 979px) {
    #header .hs-cabecera-redes { display: none; }
    .hs-utilidades { flex-wrap: wrap; justify-content: space-between; gap: 10px; margin: 0 0 12px; }
    .hs-utilidades #search { flex: 1 1 100%; margin: 0; }
    .hs-utilidades #search .search-query { width: 100%; }
    .hs-burger { margin-top: 32px; }
}
@media (max-width: 767px) { .hs-burger { margin-top: 16px; } .hs-utilidades .hs-tamano-txt { display: inline; } }

/* ===== Menú de una sola línea: solo el título, con flecha ▾ en las secciones desplegables ===== */
#header #mainmenu, #header #mainmenu .icemegamenu, #header #mainmenu #icemegamenu, #header #mainmenu .nav-collapse { height: 52px !important; min-height: 0; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle { height: 52px !important; padding: 0 11px !important; display: flex; align-items: center; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_title { padding: 0 !important; font-size: 16px; text-shadow: none; display: inline-flex; align-items: center; gap: 7px; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_desc { display: none !important; }
#header #mainmenu #icemegamenu > li.parent > a.iceMenuTitle span.icemega_title:after { content: ""; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid rgba(255,255,255,.85); margin-top: 1px; transition: transform .2s ease; }
#header #mainmenu #icemegamenu > li.parent:hover > a.iceMenuTitle span.icemega_title:after { transform: rotate(180deg); }
#header #mainmenu #icemegamenu > li:hover > a.iceMenuTitle, #header #mainmenu #icemegamenu > li.active > a.iceMenuTitle { background: rgba(0,0,0,.22); }
#mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { height: 34px; }

/* ===== Menú sin barra: palabras en granate sobre blanco; los desplegables sí llevan fondo granate ===== */
#header #mainmenu, #header #mainmenu .icemegamenu, #header #mainmenu .nav-collapse, #header #mainmenu #icemegamenu, #header #mainmenu #icemegamenu > li { background: transparent !important; border: 0 !important; box-shadow: none !important; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle { background: transparent !important; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_title { color: #6d0000 !important; font-weight: 600; }
#header #mainmenu #icemegamenu > li.parent > a.iceMenuTitle span.icemega_title:after { border-top-color: #6d0000; }
#header #mainmenu #icemegamenu > li:hover > a.iceMenuTitle, #header #mainmenu #icemegamenu > li.active > a.iceMenuTitle { background: transparent !important; }
#header #mainmenu #icemegamenu > li:hover > a.iceMenuTitle span.icemega_title, #header #mainmenu #icemegamenu > li.active > a.iceMenuTitle span.icemega_title { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 2px; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle:first-child { padding-left: 11px !important; }
#header #mainmenu #icemegamenu > li:first-child > a.iceMenuTitle { padding-left: 0 !important; }
#mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited, #mainmenu .hs-hazte-menu span { background: #6d0000; color: #fff !important; box-shadow: 0 3px 10px rgba(109,0,0,.25); }
#mainmenu .hs-hazte-menu:hover { background: #8a1010; }
#mainmenu .hs-hazte-menu svg { color: #fff; }
#iceslideshow.hs-slide-arriba { margin-bottom: 4px; }
.hs-utilidades { margin-top: 2px; }
html.hs-contraste #header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_title { color: #ffd400 !important; }

/* ===== Portada: últimas noticias en 3 columnas (texto más legible) ===== */
.hs-rejilla-portada { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.hs-rejilla-portada .hs-tarjeta-titulo { font-size: 20px; }
.hs-rejilla-portada .hs-tarjeta-texto { font-size: 14px; }
@media (max-width: 979px) { .hs-rejilla-portada { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 600px) { .hs-rejilla-portada { grid-template-columns: 1fr; } }

/* ===== Burdeos más oscuro en los fondos (como las letras de la cabecera) ===== */
:root { --hs-burdeos: #5a0000; --hs-burdeos-osc: #3f0000; }
#footer.hs-pie { background: var(--hs-burdeos) !important; }
.hs-patro-info { background: var(--hs-burdeos); }
.hs-boton, .hs-boton:link, .hs-boton:visited { background: var(--hs-burdeos); border-color: var(--hs-burdeos); }
.hs-boton:hover { background: #fff; color: var(--hs-burdeos) !important; }
.hs-boton.hs-boton-claro:hover { background: var(--hs-burdeos); }
.hs-credencial { background: var(--hs-burdeos); background-image: radial-gradient(ellipse at 15% 50%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 55%), linear-gradient(100deg, #6a0404 0%, #5a0000 55%, #3f0000 100%); }
.hs-credencial-boton, .hs-credencial-boton:link, .hs-credencial-boton:visited { color: var(--hs-burdeos) !important; }
.hs-acc-velo { background: linear-gradient(180deg, rgba(50,0,0,.04) 0%, rgba(60,0,0,.42) 45%, rgba(70,0,0,.92) 100%); }
.hs-acc-mov { background: var(--hs-burdeos-osc); }
.hs-hazte-hermano, .hs-hazte-hermano:link, .hs-hazte-hermano:visited, #mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { background: var(--hs-burdeos); }
.hs-hazte-hermano:hover, #mainmenu .hs-hazte-menu:hover { background: #7a0a0a; }
#header .hs-cabecera-iconos .hs-red, .hs-movil, #header #search .hs-search-btn, .hs-tamano button:hover, .hs-tamano button:focus-visible { background: var(--hs-burdeos); }
.hs-tamano button:hover, .hs-tamano button:focus-visible { border-color: var(--hs-burdeos); }
.icemegamenu ul.icesubMenu, .icemegamenu ul.icesubMenu ul, .icemegamenu ul.icesubMenu li, .icemegamenu ul.icesubMenu .iceCols { background-color: var(--hs-burdeos) !important; }
.hs-wa { border: 0; }
.hs-hh-hero-velo { background: linear-gradient(180deg, rgba(50,0,0,.15) 0%, rgba(70,0,0,.9) 100%); }
.hs-hh-ico, .hs-hh-num, .hs-hh-ficha { background: var(--hs-burdeos); }
.hs-hh-pasos li { border-left-color: var(--hs-burdeos); }
.dp-upcoming-calendar-background { background-color: var(--hs-burdeos) !important; }
.ice-megamenu-toggle a, .ice-megamenu-toggle a:hover { background: var(--hs-burdeos) !important; }
html.hs-menu-abierto .hs-burger { background: var(--hs-burdeos); border-color: var(--hs-burdeos); }

/* ===== Móvil: márgenes iguales en todos los bloques (nada pegado al borde) ===== */
@media (max-width: 767px) {
    #footer.hs-pie > .container { padding-left: 20px; padding-right: 20px; box-sizing: border-box; width: auto; }
    .hs-pie-columnas { gap: 26px; }
    .hs-credencial-int { padding: 26px 20px; }
    .hs-credencial-vieira { width: 72px; height: 72px; }
    .hs-wa { padding: 22px 20px; }
    .hs-ver-mas { margin: 10px 0 24px; }
    #iceslideshow.hs-slide-arriba { margin-bottom: 10px; }
    #header #mainmenu { margin: 0; }
    .hs-utilidades { margin-top: 0; }
}
@media (max-width: 600px) {
    .hs-accesos-n5 { grid-template-columns: 1fr; }
    .hs-accesos-n5 .hs-acc:last-child { grid-column: auto; }
    .hs-acc-mov, .hs-acc-foto .hs-acc-mov { height: 150px; }
    .hs-acc-cont { flex-direction: row; align-items: center; gap: 12px; padding: 14px 16px; }
    .hs-acc-emblema { margin: 0; flex: 0 0 46px; width: 46px; height: 46px; }
    .hs-acc-textos { display: flex; flex-direction: column; gap: 2px; }
    .hs-acc-mas { display: none; }
}

/* ===== Menú siempre en UNA línea: flex sin salto, con "Hazte hermano" dentro de la fila ===== */
#header #mainmenu { display: flex; align-items: center; height: 52px !important; }
#header #mainmenu .icemegamenu { flex: 0 1 auto; min-width: 0; }
#header #mainmenu .nav-collapse { width: auto; }
#header #mainmenu #icemegamenu { display: flex !important; flex-wrap: nowrap; align-items: center; width: auto; padding-right: 0 !important; margin: 0; float: none; }
#header #mainmenu #icemegamenu > li { float: none !important; flex: 0 0 auto; white-space: nowrap; }
#header #mainmenu #icemegamenu > li > a.iceMenuTitle { padding: 0 9px !important; }
#header #mainmenu #icemegamenu > li:first-child > a.iceMenuTitle { padding-left: 0 !important; }
#mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { position: static; transform: none; margin-left: auto; flex: 0 0 auto; right: auto; top: auto; }
#mainmenu .hs-hazte-menu:hover { transform: none; }
@media (max-width: 1199px) {
    #header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_title { font-size: 13.5px; gap: 5px; }
    #header #mainmenu #icemegamenu > li > a.iceMenuTitle { padding: 0 7px !important; }
    #mainmenu .hs-hazte-menu, #mainmenu .hs-hazte-menu:link, #mainmenu .hs-hazte-menu:visited { padding: 0 10px; font-size: 12px; }
}
@media (min-width: 980px) and (max-width: 1060px) {
    #header #mainmenu #icemegamenu > li > a.iceMenuTitle span.icemega_title { font-size: 13px; }
    #mainmenu .hs-hazte-menu span { display: none; }
    #mainmenu .hs-hazte-menu { padding: 0 9px; }
}

/* Correcciones: el texto del botón "Hazte hermano" sin fondo propio; botón blanco de la cabecera de la página Hazte hermano */
#mainmenu .hs-hazte-menu span, .hs-hazte-hermano span, .hs-movil .hs-hazte-movil span, #footer.hs-pie a.hs-hazte-pie span { background: transparent !important; }
.hs-hh-hero-cont a.hs-hh-boton, .hs-hh-hero-cont a.hs-hh-boton:link, .hs-hh-hero-cont a.hs-hh-boton:visited { background: #fff; color: var(--hs-burdeos) !important; border-color: #fff; }
.hs-hh-hero-cont a.hs-hh-boton:hover { background: #f3e9d2; color: var(--hs-burdeos) !important; }
.hs-hh-cierre a.hs-boton-claro, .hs-hh-cierre a.hs-boton-claro:link, .hs-hh-cierre a.hs-boton-claro:visited { background: #fff; color: var(--hs-burdeos) !important; }
.hs-hh-cierre a.hs-boton-claro:hover { background: var(--hs-burdeos); color: #fff !important; }

/* Créditos del pie en texto (nítido en cualquier pantalla) */
.hs-pie-credito p.hs-pie-creditos { margin: 0; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: #e5cfcf; }
.hs-pie-credito p.hs-pie-creditos a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* ===== Accesos rápidos: icono y textos centrados (vertical y horizontal) ===== */
.hs-acc-mov { height: 210px; }
.hs-acc-velo { background: linear-gradient(180deg, rgba(50,0,0,.35) 0%, rgba(60,0,0,.55) 50%, rgba(70,0,0,.85) 100%); }
.hs-acc-cont { top: 0; bottom: 0; left: 0; right: 0; padding: 18px 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4px; }
.hs-acc-emblema { width: 60px; height: 60px; margin-bottom: 10px; }
.hs-acc-emblema img { width: 84%; height: 84%; }
.hs-acc-icono svg { width: 28px; height: 28px; }
.hs-acc-textos { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.hs-acc-sobre { font-size: 10.5px; letter-spacing: .14em; }
.hs-acc-tit { font-size: 19px; line-height: 1.2; }
.hs-acc-mas { margin-top: 8px; }
@media (max-width: 979px) { .hs-acc-mov { height: 180px; } }
@media (max-width: 600px) {
    .hs-acc-mov, .hs-acc-foto .hs-acc-mov { height: 150px; }
    .hs-acc-cont { flex-direction: row; justify-content: flex-start; text-align: left; gap: 14px; padding: 14px 18px; }
    .hs-acc-emblema { margin: 0; }
    .hs-acc-textos { align-items: flex-start; }
}

/* ===== Próximos actos y cultos: mini calendario limpio (mes en la banda granate, día grande debajo) ===== */
.dp-upcoming .dpcalendar-upcoming-default { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; }
.dp-upcoming .dpcalendar-upcoming-default > p { margin: 0; flex: 1 1 auto; font-size: 14px; line-height: 1.45; }
.dp-upcoming .dpcalendar-upcoming-default > p[style] { display: none; }
.dp-upcoming-calendar { float: none; flex: 0 0 50px; width: 50px; margin: 0; border: 1px solid #e3d6d6; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.dp-upcoming-calendar-background { position: static !important; height: auto !important; background: var(--hs-burdeos) !important; }
.dp-upcoming-text-month { position: absolute; top: 0; left: 0; right: 0; height: 20px; line-height: 20px; font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #fff !important; text-transform: uppercase; }
.dp-upcoming-calendar-background { height: 20px !important; }
.dp-upcoming-text-day { font-size: 22px; font-weight: 700; line-height: 34px; color: var(--hs-burdeos) !important; background: #fff; }
.hs-cultos-fijos .dp-upcoming-text-month { letter-spacing: .06em; }
.hs-ver-calendario { margin-top: 4px; }
.dp-upcoming-calendar { height: auto !important; min-height: 54px; padding: 0 !important; }
.dp-upcoming-text-month { top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 20px !important; line-height: 20px !important; margin: 0 !important; padding: 0 !important; }
.dp-upcoming-text-day { position: static !important; margin: 0 !important; padding: 0 !important; height: 34px !important; }

/* ===== Tienda de recuerdos (diseño moderno, colores corporativos) ===== */
.hs-tienda { --hs-crema: #f6f0e4; --hs-gris: #f5f3ef; --hs-linea: #e6e0d6; --hs-burdeos-hover: #7a1a1a; }
.hs-tienda .woocommerce-notices-wrapper .woocommerce-message, .hs-tienda .woocommerce-message, .hs-tienda .woocommerce-info, .hs-tienda .woocommerce-error { border-top: 0; border-left: 4px solid var(--hs-burdeos); background: var(--hs-crema); color: #333; border-radius: 8px; padding: 14px 18px 14px 50px; margin: 0 0 24px; }
.hs-tienda .woocommerce-message::before, .hs-tienda .woocommerce-info::before, .hs-tienda .woocommerce-error::before { color: var(--hs-burdeos); top: 14px; }
.hs-tienda .woocommerce-message .button, .hs-tienda .woocommerce-info .button, .hs-tienda .woocommerce-error .button { background: var(--hs-burdeos) !important; color: #fff !important; border-radius: 20px; font-weight: 700; padding: 8px 16px; }
/* Cabecera y pasos */
.hs-tienda-cab { display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 40px; align-items: center; margin: 10px 0 40px; }
.hs-tienda-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 40px; line-height: 1.1; color: var(--hs-burdeos); margin: 0 0 14px; }
.hs-tienda-intro { font-size: 17px; line-height: 1.6; color: #444; margin: 0 0 18px; }
.hs-tienda-acceso { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.hs-tienda-acceso .hs-boton { padding: 10px 22px; font-size: 14px; }
.hs-tienda-acceso .hs-boton, .hs-tienda-acceso .hs-boton:link, .hs-tienda-acceso .hs-boton:visited { background: var(--hs-burdeos); border-color: var(--hs-burdeos); }
.hs-tienda-acceso .hs-boton.hs-boton-claro, .hs-tienda-acceso .hs-boton.hs-boton-claro:link, .hs-tienda-acceso .hs-boton.hs-boton-claro:visited { background: #fff; color: var(--hs-burdeos) !important; }
.hs-tienda-acceso .hs-boton:hover { background: var(--hs-burdeos-hover); color: #fff !important; }
.hs-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; counter-reset: paso; }
.hs-paso { position: relative; background: var(--hs-gris); border-radius: 14px; padding: 22px 14px 18px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; transition: transform .2s ease, box-shadow .2s ease; }
.hs-paso:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(90,0,0,.10); }
.hs-paso-num { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%; background: var(--hs-burdeos); color: #fff; font: 700 12px/24px 'Open Sans', Arial, sans-serif; box-shadow: 0 2px 6px rgba(90,0,0,.3); }
.hs-paso-ico { width: 48px; height: 48px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 2px var(--hs-crema); }
.hs-paso-ico svg { width: 24px; height: 24px; fill: var(--hs-burdeos); }
.hs-paso-txt { font-size: 13px; line-height: 1.45; color: #444; }
.hs-tienda-sub { font-family: 'Playfair Display', Georgia, serif; font-size: 26px; color: var(--hs-burdeos); margin: 0 0 22px; padding-bottom: 10px; border-bottom: 1px solid var(--hs-linea); }
/* Rejilla de productos */
ul.hs-prod-lista { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.hs-prod { background: #fff; border: 1px solid var(--hs-linea); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.hs-prod:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(90,0,0,.12); border-color: transparent; }
.hs-prod-foto { display: block; aspect-ratio: 1 / 1; background: var(--hs-gris); overflow: hidden; }
.hs-prod-foto img.hs-prod-img { width: 100%; height: 100%; object-fit: contain; padding: 14px; box-sizing: border-box; transition: transform .35s ease; display: block; }
.hs-prod:hover .hs-prod-foto img { transform: scale(1.06); }
.hs-prod-cuerpo { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hs-prod-nombre { font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.3; margin: 0; min-height: 2.6em; }
.hs-prod-nombre a { color: #2b2b2b; text-decoration: none; }
.hs-prod-nombre a:hover { color: var(--hs-burdeos); }
.hs-prod-precio { margin: 0; font-size: 20px; font-weight: 700; color: var(--hs-burdeos); font-family: 'Open Sans', Arial, sans-serif; }
.hs-prod-precio .woocommerce-Price-amount, .hs-prod-precio .amount { color: var(--hs-burdeos); font-weight: 700; }
.hs-prod-unidad { font-size: 12px; font-weight: 400; color: #777; margin-left: 2px; }
.hs-prod-form { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
/* Selector de cantidad − 1 + */
.hs-qty, .hs-tienda .quantity { display: inline-flex !important; align-items: center; border: 1.5px solid var(--hs-linea); border-radius: 24px; overflow: hidden; height: 40px; background: #fff; width: max-content; }
.hs-qty-btn { width: 40px; height: 40px; border: 0; background: transparent; color: var(--hs-burdeos); font: 700 20px/1 'Open Sans', Arial, sans-serif; cursor: pointer; transition: background .15s ease; padding: 0; margin: 0; border-radius: 0; box-shadow: none; }
.hs-qty-btn:hover { background: var(--hs-crema); color: var(--hs-burdeos); }
.hs-qty-input, .hs-tienda .quantity input.qty { width: 46px !important; height: 40px; border: 0 !important; border-left: 1.5px solid var(--hs-linea) !important; border-right: 1.5px solid var(--hs-linea) !important; border-radius: 0; text-align: center; font: 700 16px 'Open Sans', Arial, sans-serif; color: #2b2b2b; background: #fff; margin: 0 !important; padding: 0; box-shadow: none !important; -moz-appearance: textfield; }
.hs-qty-input::-webkit-outer-spin-button, .hs-qty-input::-webkit-inner-spin-button, .hs-tienda .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hs-tienda .quantity .screen-reader-text { position: absolute; }
/* Botón principal de la tienda */
.hs-prod-anadir, .hs-tienda .single_add_to_cart_button, .hs-tienda .checkout-button, .hs-tienda #place_order, .hs-tienda button[name="update_cart"], .hs-tienda button[name="apply_coupon"], .hs-tienda .woocommerce-form-login .button, .hs-tienda .woocommerce-form-register .button, .hs-tienda .return-to-shop .button, .hs-tienda .woocommerce-MyAccount-content .button, .hs-tienda .lost_reset_password .button { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 20px !important; border: 0 !important; border-radius: 22px !important; background: var(--hs-burdeos) !important; color: #fff !important; font: 700 14px 'Open Sans', Arial, sans-serif !important; cursor: pointer; text-decoration: none !important; text-shadow: none !important; box-shadow: 0 3px 10px rgba(90,0,0,.22) !important; transition: background .18s ease, transform .18s ease; line-height: 42px !important; }
.hs-prod-anadir:hover, .hs-tienda .single_add_to_cart_button:hover, .hs-tienda .checkout-button:hover, .hs-tienda #place_order:hover, .hs-tienda button[name="update_cart"]:hover, .hs-tienda button[name="apply_coupon"]:hover, .hs-tienda .woocommerce-form-login .button:hover, .hs-tienda .woocommerce-form-register .button:hover, .hs-tienda .return-to-shop .button:hover, .hs-tienda .woocommerce-MyAccount-content .button:hover { background: var(--hs-burdeos-hover) !important; color: #fff !important; transform: translateY(-1px); }
.hs-prod-anadir svg { width: 18px; height: 18px; fill: #fff; }
.hs-prod-anadir { width: 100%; }
.hs-tienda button[name="update_cart"] { background: #fff !important; color: var(--hs-burdeos) !important; border: 1.5px solid var(--hs-burdeos) !important; box-shadow: none !important; line-height: 39px !important; }
.hs-tienda button[name="update_cart"]:hover { background: var(--hs-crema) !important; color: var(--hs-burdeos) !important; }
.hs-tienda button[name="update_cart"]:disabled { opacity: .45; }
.hs-prod-agotado { margin: auto 0 0; color: #888; font-size: 13px; }
.hs-prod-contador { text-align: center; color: #888; font-size: 13px; margin: 0 0 30px; }
/* Ficha de producto */
.hs-tienda .product { display: block; }
.hs-tienda div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; align-items: start; margin-bottom: 30px; }
.hs-tienda div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; background: var(--hs-gris); border-radius: 18px; padding: 20px; box-sizing: border-box; }
.hs-tienda div.product .woocommerce-product-gallery img { mix-blend-mode: multiply; }
.hs-tienda div.product .woocommerce-product-gallery__trigger { background: #fff; border-radius: 50%; }
.hs-tienda div.product .summary { width: 100% !important; float: none !important; margin: 0; }
.hs-tienda div.product .product_title { font-family: 'Playfair Display', Georgia, serif; font-size: 34px; line-height: 1.15; color: var(--hs-burdeos); margin: 0 0 14px; }
.hs-tienda div.product p.price, .hs-tienda div.product .price { font-family: 'Open Sans', Arial, sans-serif; font-size: 28px; font-weight: 700; color: var(--hs-burdeos) !important; margin: 0 0 18px; }
.hs-tienda div.product .price .woocommerce-Price-amount { color: var(--hs-burdeos); }
.hs-tienda div.product .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.65; color: #444; margin-bottom: 20px; }
.hs-tienda div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 18px; padding: 18px; background: var(--hs-crema); border-radius: 14px; }
.hs-tienda div.product form.cart .quantity { float: none; margin: 0; }
.hs-tienda div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; }
.hs-prod-nota { font-size: 13.5px; line-height: 1.5; color: #666; margin: 0 0 14px; padding-left: 14px; border-left: 3px solid var(--hs-crema); }
.hs-prod-volver, .hs-prod-volver:link, .hs-prod-volver:visited { display: inline-block; color: var(--hs-burdeos); font-weight: 700; font-size: 14px; text-decoration: none; }
.hs-prod-volver:hover { text-decoration: underline; }
.hs-prod-descripcion { grid-column: 1 / -1; background: #fff; border: 1px solid var(--hs-linea); border-radius: 16px; padding: 24px 28px; }
.hs-prod-descripcion h3 { font-family: 'Playfair Display', Georgia, serif; color: var(--hs-burdeos); font-size: 22px; margin: 0 0 10px; }
/* Carrito */
.hs-tienda table.shop_table { border: 1px solid var(--hs-linea); border-radius: 14px; border-collapse: separate; overflow: hidden; margin-bottom: 24px; }
.hs-tienda table.shop_table th { background: var(--hs-burdeos); color: #fff; font: 700 12px/1.2 'Open Sans', Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; padding: 12px 14px; border: 0; }
.hs-tienda table.shop_table td { border-top: 1px solid var(--hs-linea); padding: 14px; vertical-align: middle; background: #fff; }
.hs-tienda table.shop_table td.product-thumbnail img { width: 70px; border-radius: 10px; background: var(--hs-gris); }
.hs-tienda table.shop_table td.product-name a { color: #2b2b2b; font-weight: 700; text-decoration: none; }
.hs-tienda table.shop_table td.product-name a:hover { color: var(--hs-burdeos); }
.hs-tienda table.shop_table td.product-price, .hs-tienda table.shop_table td.product-subtotal { font-weight: 700; color: var(--hs-burdeos); }
.hs-tienda table.shop_table a.remove { width: 28px; height: 28px; line-height: 26px; color: var(--hs-burdeos) !important; border: 1.5px solid var(--hs-linea); border-radius: 50%; font-size: 18px; text-align: center; }
.hs-tienda table.shop_table a.remove:hover { background: var(--hs-burdeos) !important; color: #fff !important; border-color: var(--hs-burdeos); }
.hs-tienda table.shop_table td.actions { background: var(--hs-gris); }
.hs-tienda table.shop_table td.actions .coupon { display: flex; gap: 8px; align-items: center; float: left; }
.hs-tienda table.shop_table td.actions .coupon label { display: none; }
.hs-tienda table.shop_table td.actions .coupon input.input-text { height: 42px; border: 1.5px solid var(--hs-linea); border-radius: 22px; padding: 0 16px; width: 170px; font-size: 14px; }
.hs-seguir { float: right; margin-right: 10px; padding: 0 20px !important; height: 42px; line-height: 39px !important; font-size: 14px !important; }
.hs-seguir, .hs-seguir:link, .hs-seguir:visited { background: #fff; color: var(--hs-burdeos) !important; border: 1.5px solid var(--hs-burdeos); border-radius: 22px; }
.hs-seguir:hover { background: var(--hs-crema); }
.hs-tienda .cart-collaterals .cart_totals { width: 100%; float: none; background: var(--hs-gris); border-radius: 16px; padding: 22px 26px; box-sizing: border-box; }
.hs-tienda .cart_totals h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 22px; color: var(--hs-burdeos); margin: 0 0 12px; }
.hs-tienda .cart_totals table.shop_table { border: 0; background: transparent; margin: 0 0 14px; }
.hs-tienda .cart_totals table.shop_table th, .hs-tienda .cart_totals table.shop_table td { background: transparent; border: 0; border-bottom: 1px solid var(--hs-linea); color: #333; text-transform: none; letter-spacing: 0; font-size: 15px; padding: 12px 0; }
.hs-tienda .cart_totals table.shop_table th { width: auto; font-weight: 600; }
.hs-tienda .cart_totals .order-total td { font-size: 20px; color: var(--hs-burdeos); font-weight: 700; }
.hs-carrito-aviso { display: block; font-size: 12px; font-weight: 400; color: #777; }
.hs-tienda .wc-proceed-to-checkout { padding: 0; }
.hs-tienda .wc-proceed-to-checkout a.checkout-button { display: flex !important; width: 100%; font-size: 15px !important; height: 48px; line-height: 48px !important; }
.hs-tienda .cart-empty.woocommerce-info { text-align: center; font-size: 17px; padding: 26px; }
.hs-tienda .return-to-shop { text-align: center; }
/* Finalizar pedido, formularios y mi cuenta */
.hs-tienda form .form-row label { font-weight: 600; font-size: 13.5px; color: #444; }
.hs-tienda form .form-row input.input-text, .hs-tienda form .form-row textarea, .hs-tienda form .form-row select, .hs-tienda .select2-container .select2-selection--single, .hs-tienda .woocommerce-form input.input-text, .hs-tienda .woocommerce-EditAccountForm input.input-text { border: 1.5px solid var(--hs-linea); border-radius: 10px; padding: 11px 14px; font-size: 15px; background: #fff; box-shadow: none; }
.hs-tienda .select2-container .select2-selection--single { height: 44px; display: flex; align-items: center; }
.hs-tienda form .form-row input.input-text:focus, .hs-tienda form .form-row textarea:focus { border-color: var(--hs-burdeos); outline: 0; }
.hs-tienda #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; }
.hs-tienda #customer_details .col-1, .hs-tienda #customer_details .col-2 { width: 100%; float: none; }
.hs-tienda h3, .hs-tienda #order_review_heading, .hs-tienda .woocommerce-MyAccount-content h2, .hs-tienda .woocommerce-MyAccount-content h3 { font-family: 'Playfair Display', Georgia, serif; color: var(--hs-burdeos); font-size: 22px; }
.hs-tienda #order_review { background: var(--hs-gris); border-radius: 16px; padding: 22px 26px; }
.hs-tienda #order_review table.shop_table { border: 0; margin-bottom: 10px; }
.hs-tienda #order_review table.shop_table th, .hs-tienda #order_review table.shop_table td { background: transparent; }
.hs-tienda #order_review table.shop_table thead th { background: var(--hs-burdeos); }
.hs-tienda #order_review table.shop_table tfoot th { background: transparent; color: #333; text-transform: none; letter-spacing: 0; font-size: 15px; }
.hs-tienda #payment { background: transparent; border-radius: 0; }
.hs-tienda #payment ul.payment_methods { border-bottom: 0; padding: 0; }
.hs-tienda #payment div.payment_box { background: #fff; border-radius: 10px; color: #444; }
.hs-tienda #payment div.payment_box::before { border-bottom-color: #fff; }
.hs-tienda #payment .place-order { padding: 10px 0 0; }
.hs-tienda #place_order { width: 100%; height: 50px; line-height: 50px !important; font-size: 15px !important; }
.hs-tienda .woocommerce-privacy-policy-text { font-size: 12.5px; color: #777; }
.hs-tienda .woocommerce-form-login, .hs-tienda .woocommerce-form-register, .hs-tienda form.lost_reset_password { border: 1px solid var(--hs-linea) !important; border-radius: 16px !important; padding: 26px !important; background: #fff; }
.hs-tienda .u-columns .woocommerce-form-login h2, .hs-tienda .u-columns .woocommerce-form-register h2, .hs-tienda .u-columns h2 { font-family: 'Playfair Display', Georgia, serif; color: var(--hs-burdeos); font-size: 24px; }
.hs-tienda .woocommerce-form-login .button, .hs-tienda .woocommerce-form-register .button { margin-top: 6px; }
.hs-tienda nav.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.hs-tienda nav.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 10px; color: #333; text-decoration: none; font-weight: 600; }
.hs-tienda nav.woocommerce-MyAccount-navigation li.is-active a, .hs-tienda nav.woocommerce-MyAccount-navigation li a:hover { background: var(--hs-burdeos); color: #fff; }
.hs-tienda .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--hs-linea); border-radius: 16px; padding: 26px; }
.hs-tienda .woocommerce-order { background: var(--hs-gris); border-radius: 16px; padding: 26px; }
.hs-tienda .woocommerce-thankyou-order-received { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; color: var(--hs-burdeos); }
.hs-tienda ul.order_details { background: #fff; border-radius: 12px; padding: 18px; }
.hs-tienda ul.order_details li strong { color: var(--hs-burdeos); }
.hs-tienda a { color: var(--hs-burdeos); }
.hs-tienda .hs-share, .woocommerce-cart .hs-share, .woocommerce-checkout .hs-share, .woocommerce-account .hs-share { display: none !important; }
/* Responsive */
@media (max-width: 1100px) { ul.hs-prod-lista { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
    .hs-tienda-cab { grid-template-columns: 1fr; gap: 26px; }
    .hs-pasos { grid-template-columns: repeat(5, 1fr); gap: 8px; }
    .hs-tienda div.product { grid-template-columns: 1fr; gap: 24px; }
    .hs-tienda #customer_details { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    ul.hs-prod-lista { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .hs-prod-cuerpo { padding: 12px 12px 14px; }
    .hs-prod-nombre { font-size: 13.5px; }
    .hs-prod-precio { font-size: 17px; }
    .hs-qty, .hs-tienda .quantity { height: 36px; }
    .hs-qty-btn { width: 34px; height: 36px; font-size: 18px; }
    .hs-qty-input, .hs-tienda .quantity input.qty { width: 40px !important; height: 36px; font-size: 15px; }
    .hs-prod-anadir { height: 38px; font-size: 13px !important; line-height: 38px !important; padding: 0 10px !important; }
    .hs-pasos { grid-template-columns: 1fr; gap: 14px; }
    .hs-paso { flex-direction: row; text-align: left; padding: 14px 14px 14px 18px; gap: 14px; }
    .hs-paso-num { left: -2px; top: 50%; transform: translateY(-50%); }
    .hs-paso-ico { flex: 0 0 44px; width: 44px; height: 44px; }
    .hs-tienda-titulo { font-size: 32px; }
    .hs-tienda table.shop_table_responsive tr td { display: flex; justify-content: space-between; align-items: center; }
    .hs-tienda table.shop_table_responsive tr td::before { color: #777; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
    .hs-tienda table.shop_table_responsive tr td.product-thumbnail { justify-content: center; }
    .hs-tienda table.shop_table td.actions { display: flex; flex-direction: column; gap: 10px; }
    .hs-tienda table.shop_table td.actions .coupon { float: none; width: 100%; }
    .hs-tienda table.shop_table td.actions .coupon input.input-text { flex: 1; width: auto; }
    .hs-seguir { float: none; margin: 0; text-align: center; }
    .hs-tienda table.shop_table td.actions button[name="update_cart"] { width: 100%; }
}
@media (max-width: 420px) { ul.hs-prod-lista { grid-template-columns: 1fr 1fr; } .hs-prod-form { gap: 8px; } }
html.hs-contraste .hs-prod, html.hs-contraste .hs-paso, html.hs-contraste .hs-qty { border: 2px solid #fff !important; background: #000 !important; }
html.hs-contraste .hs-prod-anadir, html.hs-contraste .hs-qty-btn { background: #000 !important; color: #ffd400 !important; }
.hs-prod h3.hs-prod-nombre { font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: 700; color: #2b2b2b; margin: 0; }
.hs-prod h3.hs-prod-nombre a, .hs-prod h3.hs-prod-nombre a:link, .hs-prod h3.hs-prod-nombre a:visited { color: #2b2b2b; }
.hs-prod h3.hs-prod-nombre a:hover { color: var(--hs-burdeos); }
.hs-prod-foto { background: #fff; border-bottom: 1px solid var(--hs-linea); }
.hs-tienda h2.hs-tienda-sub, .hs-tienda h1.hs-tienda-titulo { font-family: 'Playfair Display', Georgia, serif; }
.hs-tienda .wc-proceed-to-checkout a.checkout-button, .hs-tienda #place_order, .hs-tienda .woocommerce-form-login .button, .hs-tienda .woocommerce-form-register .button { height: auto !important; line-height: 1.2 !important; padding: 15px 20px !important; }
.hs-tienda .cart-collaterals { display: flex; justify-content: flex-end; }
.hs-tienda .cart-collaterals .cart_totals { width: 100%; max-width: 460px; }
.hs-tienda table.shop_table td.actions .coupon input.input-text { width: 190px !important; }
.hs-tienda h1.product_title.entry-title { font-family: 'Playfair Display', Georgia, serif; }
@media (max-width: 767px) { .hs-tienda .cart-collaterals .cart_totals { max-width: none; } }
.hs-tienda #customer_details::before, .hs-tienda #customer_details::after, .hs-tienda .col2-set::before, .hs-tienda .col2-set::after { content: none !important; display: none !important; }
.hs-tienda .woocommerce-form-coupon-toggle .woocommerce-info, .hs-tienda .woocommerce-form-login-toggle .woocommerce-info { padding: 12px 18px 12px 46px; margin-bottom: 14px; }
@media (max-width: 767px) {
    .hs-paso { padding: 14px 14px 14px 16px; }
    .hs-paso-num { left: auto; right: 10px; top: -9px; transform: none; }
    .hs-prod-anadir { height: auto !important; line-height: 1.2 !important; padding: 11px 8px !important; white-space: normal; text-align: center; }
    .hs-prod-anadir svg { flex: 0 0 16px; }
}
/* "Tu pedido": resumen del carrito en la tienda */
.hs-tienda-sub-fila { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 22px; padding-bottom: 10px; border-bottom: 1px solid #e6e0d6; }
.hs-tienda-sub-fila .hs-tienda-sub { margin: 0; padding: 0; border: 0; }
.hs-pedido { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; }
.hs-pedido-resumen { display: inline-flex; align-items: center; gap: 10px; color: #2b2b2b; text-decoration: none !important; position: relative; }
.hs-pedido-resumen svg { width: 26px; height: 26px; fill: var(--hs-burdeos); }
.hs-pedido-n { position: absolute; left: 16px; top: -8px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--hs-burdeos); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-sizing: border-box; }
.hs-pedido-txt { color: #444; }
.hs-pedido-txt strong { color: var(--hs-burdeos); }
.hs-pedido-ver, .hs-pedido-fin, .hs-pedido-ver:link, .hs-pedido-fin:link, .hs-pedido-ver:visited, .hs-pedido-fin:visited { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 18px; font-weight: 700; font-size: 13px; text-decoration: none !important; transition: background .18s ease; }
.hs-pedido-ver { background: #fff; color: var(--hs-burdeos) !important; border: 1.5px solid var(--hs-burdeos); }
.hs-pedido-ver:hover { background: #f6f0e4; }
.hs-pedido-fin { background: var(--hs-burdeos); color: #fff !important; box-shadow: 0 3px 10px rgba(90,0,0,.22); }
.hs-pedido-fin:hover { background: #7a1a1a; }
.hs-pedido-cab.hs-pedido-vacio { background: #f5f3ef; border-radius: 22px; padding: 7px 16px; }
.hs-pedido-cab.hs-pedido-lleno { background: #f6f0e4; border-radius: 26px; padding: 7px 8px 7px 16px; }
.hs-pedido-ficha { margin: 0 0 16px; }
.hs-pedido-ficha.hs-pedido-vacio { display: none; }
/* Barra fija abajo */
.hs-pedido-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; justify-content: center; gap: 14px; padding: 10px 16px; background: var(--hs-burdeos); color: #fff; box-shadow: 0 -6px 20px rgba(0,0,0,.18); font-size: 14px; }
.hs-pedido-barra .hs-pedido-resumen, .hs-pedido-barra .hs-pedido-txt, .hs-pedido-barra .hs-pedido-txt strong { color: #fff; }
.hs-pedido-barra .hs-pedido-resumen svg { fill: #fff; }
.hs-pedido-barra .hs-pedido-n { background: #fff; color: var(--hs-burdeos); }
.hs-pedido-barra .hs-pedido-ver { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.7); }
.hs-pedido-barra .hs-pedido-ver:hover { background: rgba(255,255,255,.12); }
.hs-pedido-barra .hs-pedido-fin { background: #fff; color: var(--hs-burdeos) !important; box-shadow: none; }
.hs-pedido-barra .hs-pedido-fin:hover { background: #f6f0e4; }
body.woocommerce-shop, body.single-product { padding-bottom: 64px; }
#gotop { bottom: 76px; }
@media (max-width: 767px) {
    .hs-tienda-sub-fila { flex-direction: column; align-items: stretch; }
    .hs-pedido-cab { justify-content: space-between; }
    .hs-pedido-barra { gap: 8px; padding: 8px 10px; font-size: 13px; }
    .hs-pedido-barra .hs-pedido-txt strong { display: none; }
    .hs-pedido-barra .hs-pedido-ver { display: none; }
    .hs-pedido-ver, .hs-pedido-fin { height: 34px; padding: 0 12px; font-size: 12.5px; }
}
html.hs-contraste .hs-pedido-barra, html.hs-contraste .hs-pedido-cab { background: #000 !important; border: 2px solid #fff; }

/* ===== Animaciones de aparición (portada y resto) ===== */
html.hs-anim .hs-anim-el { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--hs-d, 0ms); will-change: opacity, transform; }
html.hs-anim .hs-anim-el.hs-vis { opacity: 1; transform: none; }
html.hs-anim .hs-tarjeta.hs-anim-el.hs-vis { transition-property: opacity, transform, box-shadow; }
html.hs-anim .hs-tarjeta.hs-vis:hover { transition-delay: 0ms; transition-duration: .2s; }
html.hs-anim .hs-acc.hs-anim-el { transform: translateY(26px) scale(.97); }
html.hs-anim .hs-acc.hs-anim-el.hs-vis { transform: none; }
html.hs-anim .hs-seccion-titulo.hs-anim-el { transform: translateX(-14px); }
html.hs-anim .hs-seccion-titulo.hs-anim-el.hs-vis { transform: none; }
html.hs-contraste .hs-anim-el { opacity: 1 !important; transform: none !important; transition: none !important; }
/* Título de sección con línea que crece */
.hs-seccion-titulo { position: relative; padding-bottom: 10px; }
.hs-seccion-titulo::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; border-radius: 2px; background: var(--hs-burdeos); transition: width .9s cubic-bezier(.2,.7,.2,1) .25s; }
html:not(.hs-anim) .hs-seccion-titulo::after, .hs-seccion-titulo.hs-vis::after { width: 56px; }
/* Pase de imágenes: zoom lento tipo Ken Burns en la foto activa */
.hs-slider .showplus-images li img { transform-origin: 50% 50%; }
.hs-slider .showplus-images li.is-active img { animation: hsKen 6.5s ease-out forwards; }
@keyframes hsKen { from { transform: scale(1); } to { transform: scale(1.07); } }
@media (prefers-reduced-motion: reduce) { .hs-slider .showplus-images li.is-active img { animation: none; } }
/* Botones con un poco más de vida */
.hs-boton, .hs-hazte-hermano, .hs-wa-boton, .hs-credencial-boton, .hs-prod-anadir { transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.hs-boton:hover, .hs-wa-boton:hover, .hs-credencial-boton:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(60,0,0,.18); }
/* Tarjetas de noticia: la imagen se aclara y el título se subraya al pasar */
.hs-tarjeta:hover { transform: translateY(-5px); }
.hs-tarjeta .hs-tarjeta-mas { transition: padding-left .18s ease; }
.hs-tarjeta:hover .hs-tarjeta-mas { padding-left: 4px; }
/* Patrocinadores: logos a color al pasar */
.hs-patrocinador a img, .hs-patro-caja img { transition: transform .3s ease; }
.hs-patrocinador a:hover img { transform: scale(1.05); }

/* ===== Desplegables del menú: sin hueco que los cierre y con el texto siempre dentro ===== */
#header #mainmenu #icemegamenu > li { position: relative; }
#header #mainmenu #icemegamenu > li > ul.icesubMenu { top: 52px !important; margin-top: 0 !important; padding-top: 8px !important; background: transparent !important; width: auto !important; min-width: 280px; max-width: 440px; left: 0; box-shadow: none; }
#header #mainmenu #icemegamenu > li > ul.icesubMenu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 24px; background: transparent; }
#header #mainmenu #icemegamenu > li > ul.icesubMenu > li, #header #mainmenu #icemegamenu > li > ul.icesubMenu .iceCols, #header #mainmenu #icemegamenu > li > ul.icesubMenu .iceCols > ul { width: auto !important; float: none !important; display: block; }
#header #mainmenu #icemegamenu > li > ul.icesubMenu > li { background: var(--hs-burdeos) !important; border-radius: 0 0 10px 10px; box-shadow: 0 12px 28px rgba(0,0,0,.22); overflow: hidden; }
#header #mainmenu #icemegamenu ul.icesubMenu .iceCols > ul > li > a, #header #mainmenu #icemegamenu ul.icesubMenu ul li a { white-space: normal !important; width: auto !important; max-width: none !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.35 !important; padding: 10px 18px !important; display: block; }
#header #mainmenu #icemegamenu ul.icesubMenu ul li a span { white-space: normal !important; display: inline !important; }
/* Los últimos menús se abren hacia la izquierda para no salirse de la pantalla */
#header #mainmenu #icemegamenu > li:nth-last-child(-n+3) > ul.icesubMenu { left: auto; right: 0; }

/* ===== Páginas índice de sección: tarjetas con foto y botón ===== */
.hs-indice { margin: 6px 0 36px; }
.hs-indice-intro { font-size: 17px; line-height: 1.6; color: #444; max-width: 820px; margin: 0 0 26px; }
ul.hs-indice-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hs-indice-item { min-width: 0; }
.hs-indice-tarjeta { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e6e0d6; border-radius: 16px; overflow: hidden; text-decoration: none !important; color: #2b2b2b; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.hs-indice-tarjeta:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(90,0,0,.14); border-color: transparent; }
.hs-indice-img { position: relative; display: block; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #6a0404 0%, var(--hs-burdeos) 55%, #3f0000 100%); overflow: hidden; }
.hs-indice-img img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .4s ease; }
.hs-indice-tarjeta:hover .hs-indice-img img { transform: scale(1.05); }
.hs-indice-sinfoto .hs-indice-img { display: flex; align-items: center; justify-content: center; }
.hs-indice-sinfoto .hs-indice-img img.hs-indice-escudo { width: 72px; height: auto; opacity: .85; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.hs-indice-num { position: absolute; top: 12px; left: 12px; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 14px; background: rgba(255,255,255,.92); color: var(--hs-burdeos); font: 700 13px/28px 'Open Sans', Arial, sans-serif; text-align: center; box-sizing: border-box; }
.hs-indice-cuerpo { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.hs-indice-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; line-height: 1.25; color: var(--hs-burdeos); }
.hs-indice-texto { font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px; line-height: 1.5; color: #555; }
.hs-indice-boton { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 17px; background: #fff; border: 1.5px solid var(--hs-burdeos); color: var(--hs-burdeos); font: 700 13px 'Open Sans', Arial, sans-serif; transition: background .18s ease, color .18s ease; }
.hs-indice-tarjeta:hover .hs-indice-boton { background: var(--hs-burdeos); color: #fff; }
@media (max-width: 979px) { ul.hs-indice-lista { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 560px) { ul.hs-indice-lista { grid-template-columns: 1fr; } .hs-indice-titulo { font-size: 18px; } }
html.hs-contraste .hs-indice-tarjeta { background: #000 !important; border: 2px solid #fff !important; color: #fff; }
html.hs-contraste .hs-indice-titulo, html.hs-contraste .hs-indice-texto { color: #fff; }
body.page .item-page:has(.hs-indice) { max-width: none; }

/* ===== Vídeos: rejilla de 4 columnas en tarjetas ===== */
.hs-videos { margin: 6px 0 30px; }
.hs-videos-contador { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: #888; margin: 0 0 16px; }
ul.hs-videos-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.hs-video { min-width: 0; }
.hs-video-tarjeta { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #e6e0d6; border-radius: 14px; overflow: hidden; text-decoration: none !important; color: #2b2b2b; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.hs-video-tarjeta:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(90,0,0,.14); border-color: transparent; }
.hs-video-img { position: relative; display: block; aspect-ratio: 16 / 9; background: #1a0000; overflow: hidden; }
.hs-video-img img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .4s ease, opacity .3s ease; }
.hs-video-tarjeta:hover .hs-video-img img { transform: scale(1.06); opacity: .85; }
.hs-video-play { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: rgba(90,0,0,.88); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(0,0,0,.35); transition: transform .2s ease, background .2s ease; }
.hs-video-play svg { width: 26px; height: 26px; fill: #fff; margin-left: 3px; }
.hs-video-tarjeta:hover .hs-video-play { transform: scale(1.12); background: var(--hs-burdeos); }
.hs-video-cuerpo { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px 14px; }
.hs-video-titulo { font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.35; color: #2b2b2b; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hs-video-tarjeta:hover .hs-video-titulo { color: var(--hs-burdeos); }
.hs-video-meta { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; color: #888; }
.hs-videos-paginacion { margin: 10px 0 30px; text-align: center; }
body.page .item-page:has(.hs-videos) { max-width: none; }
@media (max-width: 1100px) { ul.hs-videos-lista { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { ul.hs-videos-lista { grid-template-columns: repeat(2, 1fr); gap: 12px; } .hs-video-cuerpo { padding: 10px 12px 12px; } .hs-video-titulo { font-size: 13px; } }
html.hs-contraste .hs-video-tarjeta { background: #000 !important; border: 2px solid #fff !important; } html.hs-contraste .hs-video-titulo { color: #fff; }

/* ===== Fichas de personas (Junta de Gobierno) ===== */
ul.hs-equipo { list-style: none; margin: 10px 0 30px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; clear: both; }
.hs-miembro { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid #e6e0d6; border-radius: 16px; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.hs-miembro:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(90,0,0,.14); }
.hs-miembro-foto { display: block; width: 100%; aspect-ratio: 4 / 5; background: #f1ecec; overflow: hidden; }
.hs-miembro-foto img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; margin: 0; max-width: none; }
.hs-miembro-cargo { display: block; margin: 14px 12px 2px; font-family: 'Open Sans', Arial, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--hs-burdeos); }
.hs-miembro-nombre { display: block; margin: 0 12px 16px; font-family: 'Playfair Display', Georgia, serif; font-size: 16px; line-height: 1.3; color: #2b2b2b; }
body.page .item-page:has(.hs-equipo) { max-width: none; }
.item-page:has(.hs-equipo) .hs-content > p:first-child img[style*="float"] { float: none !important; display: block; width: 100%; max-width: 100%; height: auto; margin: 0 0 18px; border-radius: 14px; }
.item-page:has(.hs-equipo) .hs-content > p:first-child { font-size: 16px; line-height: 1.6; max-width: 900px; }
@media (max-width: 979px) { ul.hs-equipo { grid-template-columns: repeat(3, 1fr); gap: 14px; } }
@media (max-width: 600px) { ul.hs-equipo { grid-template-columns: repeat(2, 1fr); gap: 10px; } .hs-miembro-nombre { font-size: 14px; } .item-page:has(.hs-equipo) .hs-content > p:first-child img[style*="float"] { float: none !important; max-width: 100%; margin: 0 0 14px; } }
html.hs-contraste .hs-miembro { background: #000 !important; border: 2px solid #fff !important; } html.hs-contraste .hs-miembro-nombre { color: #fff; }

/* ===== Página de la Banda de Cornetas y Tambores ===== */
body.page .item-page:has(.hs-banda-hero) { max-width: none; }
.hs-banda-hero { position: relative; border-radius: 18px; overflow: hidden; background: var(--hs-burdeos-osc); min-height: 420px; display: flex; align-items: flex-end; margin: 0 0 22px; }
.hs-banda-hero-foto { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 30%; margin: 0 !important; max-width: none !important; float: none !important; }
.hs-banda-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(40,0,0,.05) 0%, rgba(50,0,0,.55) 55%, rgba(50,0,0,.92) 100%); }
.hs-banda-hero-texto { position: relative; z-index: 1; padding: 36px 40px 34px; color: #fff; max-width: 760px; }
.hs-banda-escudo { width: 96px; height: auto; margin: 0 0 12px !important; filter: drop-shadow(0 4px 10px rgba(0,0,0,.4)); float: none !important; }
.hs-banda-sobre { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); margin: 0 0 8px; }
.hs-banda-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 36px; line-height: 1.12; color: #fff; margin: 0 0 12px; padding: 0; background: none; }
.hs-banda-lema { font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.92); margin: 0 0 18px; }
.hs-banda-botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 10px; }
.hs-banda-hero .hs-boton.hs-boton-claro { background: rgba(255,255,255,.14); color: #fff !important; border-color: rgba(255,255,255,.7); }
.hs-banda-hero .hs-boton.hs-boton-claro:hover { background: #fff; color: var(--hs-burdeos) !important; }
.hs-banda-datos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin: 0 0 34px; }
.hs-banda-dato { background: #f6f0e4; border-radius: 14px; padding: 16px 14px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
.hs-banda-dato strong { font-family: 'Playfair Display', Georgia, serif; font-size: 30px; line-height: 1; color: var(--hs-burdeos); }
.hs-banda-dato span { font-family: 'Open Sans', Arial, sans-serif; font-size: 12.5px; line-height: 1.4; color: #555; }
.hs-banda-h { font-family: 'Playfair Display', Georgia, serif; font-size: 26px; color: var(--hs-burdeos); margin: 0 0 18px; padding: 0 0 10px; border-bottom: 1px solid #e6e0d6; background: none; }
.hs-banda-historia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0 0 36px; }
.hs-banda-hito { background: #fff; border: 1px solid #e6e0d6; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .22s ease, box-shadow .22s ease; }
.hs-banda-hito:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(90,0,0,.14); }
.hs-banda-hito > img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; max-width: none !important; }
.hs-banda-hito > div { padding: 16px 18px 18px; }
.hs-banda-anio { display: inline-block; font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--hs-burdeos); border-radius: 12px; padding: 3px 10px; margin: 0 0 8px; }
.hs-banda-hito h4 { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; color: var(--hs-burdeos); margin: 0 0 8px; padding: 0; background: none; }
.hs-banda-hito p { font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px; line-height: 1.55; color: #555; margin: 0; }
.hs-banda-intro { font-size: 16px; line-height: 1.6; color: #444; max-width: 860px; margin: 0 0 18px; }
.hs-banda-dias { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 18px; }
.hs-banda-dia { background: #fff; border: 1.5px solid #e6e0d6; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.hs-banda-dia strong { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--hs-burdeos); }
.hs-banda-dia span { font-family: 'Playfair Display', Georgia, serif; font-size: 16px; line-height: 1.3; color: #2b2b2b; }
.hs-banda-dia-casa { background: var(--hs-burdeos); border-color: var(--hs-burdeos); }
.hs-banda-dia-casa strong, .hs-banda-dia-casa span { color: #fff; }
.hs-banda-contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 30px 0 20px; }
.hs-banda-contacto-col { background: #f5f3ef; border-radius: 16px; padding: 22px 26px; }
.hs-banda-contacto-col p { font-size: 15px; line-height: 1.7; }
.hs-banda-redes { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-banda-redes a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 17px; background: #fff; border: 1.5px solid var(--hs-burdeos); color: var(--hs-burdeos); font: 700 13px 'Open Sans', Arial, sans-serif; text-decoration: none !important; }
.hs-banda-redes a:hover { background: var(--hs-burdeos); color: #fff; }
@media (max-width: 979px) { .hs-banda-datos { grid-template-columns: repeat(3, 1fr); } .hs-banda-historia { grid-template-columns: repeat(2, 1fr); gap: 14px; } .hs-banda-dias { grid-template-columns: repeat(3, 1fr); } .hs-banda-contacto { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .hs-banda-hero { min-height: 0; } .hs-banda-hero-texto { padding: 22px 18px 20px; } .hs-banda-titulo { font-size: 26px; } .hs-banda-escudo { width: 72px; } .hs-banda-datos { grid-template-columns: repeat(2, 1fr); gap: 10px; } .hs-banda-historia, .hs-banda-dias { grid-template-columns: 1fr; } .hs-banda-botones .hs-boton { width: 100%; text-align: center; box-sizing: border-box; } }
html.hs-contraste .hs-banda-hito, html.hs-contraste .hs-banda-dato, html.hs-contraste .hs-banda-dia, html.hs-contraste .hs-banda-contacto-col { background: #000 !important; border: 2px solid #fff !important; color: #fff; }

/* ===== Revisión de botones rojos (auditoría 2026-10-22) ===== */
:root { --hs-burdeos-hover: #7a1a1a; --hs-crema-suave: #f6f0e4; }
/* A) Móvil: "Hazte hermano" dentro del menú desplegable salía burdeos sobre burdeos */
.hs-movil a.hs-hazte-hermano.hs-hazte-movil, .hs-movil a.hs-hazte-hermano.hs-hazte-movil:link, .hs-movil a.hs-hazte-hermano.hs-hazte-movil:visited { background: #fff !important; color: var(--hs-burdeos) !important; box-shadow: none; border: 0; }
.hs-movil a.hs-hazte-hermano.hs-hazte-movil:hover, .hs-movil a.hs-hazte-hermano.hs-hazte-movil:focus-visible { background: var(--hs-crema-suave) !important; color: var(--hs-burdeos) !important; transform: none; }
.hs-movil a.hs-hazte-hermano.hs-hazte-movil svg, .hs-movil a.hs-hazte-hermano.hs-hazte-movil span { color: var(--hs-burdeos) !important; background: transparent !important; }
/* B) Botones heredados de Bootstrap 2 / Joomla (degradado, bisel, text-shadow): formulario del DVD, boletín, buscador de la 404 y de resultados, agenda */
body.hs button.btn.btn-danger, body.hs .jsn-uniform button.btn.btn-danger, body.hs input.button.btn.btn-primary, body.hs .form-inline button.btn, body.hs .btn-toolbar button.btn, body.hs form[role="search"] button.btn { background: var(--hs-burdeos) !important; background-image: none !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 10px 22px !important; line-height: 1.2 !important; font: 700 14px 'Open Sans', Arial, sans-serif !important; text-shadow: none !important; box-shadow: none !important; filter: none !important; cursor: pointer; transition: background .18s ease; }
body.hs button.btn.btn-danger:hover, body.hs button.btn.btn-danger:focus, body.hs button.btn.btn-danger:active, body.hs input.button.btn.btn-primary:hover, body.hs input.button.btn.btn-primary:focus, body.hs input.button.btn.btn-primary:active, body.hs .form-inline button.btn:hover, body.hs .form-inline button.btn:focus, body.hs .btn-toolbar button.btn:hover, body.hs .btn-toolbar button.btn:focus, body.hs form[role="search"] button.btn:hover, body.hs form[role="search"] button.btn:focus { background: var(--hs-burdeos-hover) !important; background-position: 0 0 !important; color: #fff !important; outline: none; }
body.hs .btn-toolbar button.btn .icon-search { color: #fff; }
#footer.hs-pie .hs-pie-boletin input.button.subbutton { background: #fff !important; color: var(--hs-burdeos) !important; }
#footer.hs-pie .hs-pie-boletin input.button.subbutton:hover { background: #f3e9d2 !important; }
body.hs .hs-agenda-nav a.btn.btn-mini { background: #fff; background-image: none; color: var(--hs-burdeos); border: 1px solid var(--hs-burdeos); text-shadow: none; box-shadow: none; border-radius: 6px; margin-left: 4px; }
body.hs .hs-agenda-nav a.btn.btn-mini:hover, body.hs .hs-agenda-nav a.btn.btn-mini:focus { background: var(--hs-crema-suave); color: var(--hs-burdeos); background-position: 0 0; }
body.hs .hs-agenda-nav a.btn.btn-mini.active { background: var(--hs-burdeos); color: #fff; box-shadow: none; }
/* C) WooCommerce: "Añadir" y "Finalizar" salían #6d0000 y sin hover */
body.hs .woocommerce div.product form.cart .button, body.hs.woocommerce div.product form.cart .button, body.hs .woocommerce .button.alt, body.hs.woocommerce .button.alt, body.hs .single_add_to_cart_button, body.hs a.checkout-button { background: var(--hs-burdeos) !important; color: #fff !important; }
body.hs .woocommerce div.product form.cart .button:hover, body.hs.woocommerce div.product form.cart .button:hover, body.hs .woocommerce .button.alt:hover, body.hs.woocommerce .button.alt:hover, body.hs .single_add_to_cart_button:hover, body.hs a.checkout-button:hover, body.hs .woocommerce-message a.button.wc-forward:hover { background: var(--hs-burdeos-hover) !important; color: #fff !important; }
/* D) Hovers en rojo vivo (#a00) → burdeos claro */
#header #search .hs-search-btn:hover, #header #search .hs-search-btn:focus-visible { background: var(--hs-burdeos-hover); color: #fff; }
#header .hs-cabecera-iconos .hs-red:hover { background: var(--hs-burdeos-hover); }
.hs-tarjeta-titulo a:hover, .hs-tarjeta-mas:hover { color: var(--hs-burdeos-hover); }
/* E) Desplegable del menú: elemento activo #6d0000 sobre #5a0000 y sombra de texto */
#header .icemegamenu ul.icesubMenu ul li.active > a.iceMenuTitle, #header .icemegamenu ul.icesubMenu ul li.active > a.iceMenuTitle:hover { background: rgba(0,0,0,.22) !important; text-shadow: none; }
#header .icemegamenu ul.icesubMenu li a.iceMenuTitle, #header .icemegamenu ul.icesubMenu li a.iceMenuTitle span { text-shadow: none !important; }
/* F) Unificar el burdeos viejo (#6d0000) con la variable */
.hs-boton.hs-boton-claro, .hs-boton.hs-boton-claro:link, .hs-boton.hs-boton-claro:visited { color: var(--hs-burdeos) !important; border-color: var(--hs-burdeos); }
#footer.hs-pie a.hs-hazte-pie, #footer.hs-pie a.hs-hazte-pie:link, #footer.hs-pie a.hs-hazte-pie:visited { color: var(--hs-burdeos) !important; }
#footer.hs-pie a.hs-hazte-pie svg { color: var(--hs-burdeos); }
.hs-tamano button, .hs-franja .hs-tamano button { color: var(--hs-burdeos); }
.hs-tarjeta-mas, .hs-tarjeta-titulo a { color: var(--hs-burdeos); }
html.hs-contraste .hs-movil a.hs-hazte-hermano.hs-hazte-movil { background: #000 !important; color: #ffd400 !important; border: 2px solid #fff !important; }
/* G) Hover del botón primario: burdeos claro con texto blanco */
.hs-boton:hover, .hs-boton:focus-visible { background: var(--hs-burdeos-hover) !important; border-color: var(--hs-burdeos-hover); color: #fff !important; }
.hs-boton.hs-boton-claro:hover, .hs-boton.hs-boton-claro:focus-visible, .hs-hh-cierre a.hs-boton-claro:hover, .hs-tienda-acceso .hs-boton.hs-boton-claro:hover { background: var(--hs-burdeos) !important; border-color: var(--hs-burdeos); color: #fff !important; }
/* Banda: las fotos pueden venir envueltas por el zoom (a.hs-zoom) */
.hs-banda-hito > a.hs-zoom, .hs-banda-hero > a.hs-zoom { display: block; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: none; }
.hs-banda-hero > a.hs-zoom { position: absolute; inset: 0; }
.hs-banda-hito > a.hs-zoom > img, .hs-banda-hito > img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; max-width: none !important; }
.hs-banda-hero-texto > a.hs-zoom { display: inline-block; padding: 0; border: 0; background: none; }
.hs-banda-hero .hs-banda-botones .hs-boton.hs-boton-claro, .hs-banda-hero .hs-banda-botones .hs-boton.hs-boton-claro:link, .hs-banda-hero .hs-banda-botones .hs-boton.hs-boton-claro:visited { background: rgba(255,255,255,.14) !important; color: #fff !important; border-color: rgba(255,255,255,.7); }
.hs-banda-hero .hs-banda-botones .hs-boton.hs-boton-claro:hover { background: #fff !important; color: var(--hs-burdeos) !important; }
.hs-relacionadas-h { margin-top: 10px; }
body.page .item-page:has(.hs-banda-hero) .tag-category > h2 { display: none; }
.hs-banda-video { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; margin: 0 0 18px; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.hs-banda-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hs-banda-redes a { width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 50%; background: var(--hs-burdeos); color: #fff; border: 0; }
.hs-banda-redes a svg { width: 20px; height: 20px; fill: #fff; }
.hs-banda-redes a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hs-banda-redes a:hover { background: #7a1a1a; transform: translateY(-2px); }
/* Desplegables controlados por JS (retardo de apertura/cierre) */
html.hs-menu-js #header #mainmenu #icemegamenu > li > ul.icesubMenu { display: none !important; }
html.hs-menu-js #header #mainmenu #icemegamenu > li.hs-abierto > ul.icesubMenu { display: block !important; }
html.hs-menu-js #header #mainmenu #icemegamenu > li.hs-abierto > a.iceMenuTitle span.icemega_title { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 2px; }
html.hs-menu-js #header #mainmenu #icemegamenu > li.hs-abierto.parent > a.iceMenuTitle span.icemega_title:after { transform: rotate(180deg); }
.hs-indice-img img { object-position: center 12%; }

/* ===== Credencial del peregrino: Santiago Apóstol (Compostela) delante de la vieira ===== */
.hs-credencial-int { padding-top: 26px; padding-bottom: 26px; min-height: 266px; }
.hs-credencial-figura { position: relative; flex: 0 0 auto; width: 250px; height: 266px; align-self: flex-end; margin-bottom: -26px; }
.hs-credencial-figura .hs-credencial-vieira { position: absolute; left: 50%; top: 0; width: 250px; height: 250px; transform: translate(-50%, 4%); opacity: .5; filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.hs-credencial-santiago { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 250px; height: auto; max-width: none; margin: 0; filter: drop-shadow(0 8px 18px rgba(0,0,0,.5)); z-index: 1; }
@media (max-width: 979px) { .hs-credencial-figura { width: 180px; height: 190px; margin-bottom: -20px; } .hs-credencial-figura .hs-credencial-vieira { width: 190px; height: 190px; } .hs-credencial-santiago { width: 160px; } }
@media (max-width: 600px) { .hs-credencial-int { position: relative; padding-right: 20px; padding-bottom: 20px; } .hs-credencial-figura { position: absolute; right: 0; bottom: 0; width: 130px; height: 160px; margin: 0; } .hs-credencial-figura .hs-credencial-vieira { width: 130px; height: 130px; transform: translate(-50%, 10%); } .hs-credencial-santiago { width: 120px; } .hs-credencial-texto, .hs-credencial-accion { position: relative; z-index: 2; } .hs-credencial-parrafo { padding-right: 110px; } .hs-credencial-accion { padding-right: 130px; } .hs-credencial-boton { width: auto; } }
html.hs-contraste .hs-credencial-santiago { display: none; }

/* ===== Banner Exposición virtual "Castilleja de Santiago" (650 / 225) ===== */
.hs-expo { position: relative; display: block; border-radius: 14px; overflow: hidden; background: var(--hs-burdeos); color: #fff; text-decoration: none !important; min-height: 250px; box-shadow: 0 8px 24px rgba(60,0,0,.18); transition: transform .22s ease, box-shadow .22s ease; }
.hs-expo:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(60,0,0,.26); }
.hs-expo-fondo { position: absolute; inset: 0; background-size: cover; background-position: center 30%; mix-blend-mode: luminosity; opacity: .32; transition: transform .6s ease; }
.hs-expo:hover .hs-expo-fondo { transform: scale(1.05); }
.hs-expo-velo { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(90,0,0,.2) 0%, rgba(63,0,0,.75) 100%); }
.hs-expo-cont { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 22px 18px 20px; text-align: center; height: 100%; box-sizing: border-box; }
.hs-expo-logo { width: 150px; height: auto; max-width: 100%; margin: 0; filter: drop-shadow(0 4px 10px rgba(0,0,0,.4)); }
.hs-expo-textos { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.hs-expo-sobre { font-family: 'Open Sans', Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.hs-expo-tit { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; line-height: 1.1; color: #fff; }
.hs-expo-sub { font-family: 'Open Sans', Arial, sans-serif; font-size: 12.5px; color: rgba(255,255,255,.85); }
.hs-expo-boton { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; height: 36px; padding: 0 16px; border-radius: 18px; background: #fff; color: var(--hs-burdeos); font: 700 13px 'Open Sans', Arial, sans-serif; transition: background .18s ease; }
.hs-expo:hover .hs-expo-boton { background: #f6f0e4; }
.hs-bloques .hs-bloque .hs-expo img { width: 150px; }
html.hs-contraste .hs-expo { background: #000 !important; border: 2px solid #fff; } html.hs-contraste .hs-expo-fondo, html.hs-contraste .hs-expo-velo { display: none; }
/* Símbolo del Camino de Santiago (vector) en el banner de la credencial */
.hs-credencial-camino { flex: 0 0 auto; width: 110px; margin-left: 6px; filter: drop-shadow(0 6px 14px rgba(0,0,0,.4)); }
.hs-credencial-camino img { display: block; width: 100%; height: auto; margin: 0; max-width: none; }
.hs-credencial-int { gap: 24px; width: 1100px; }
.hs-credencial-titulo { white-space: nowrap; }
@media (max-width: 979px) { .hs-credencial-camino { width: 90px; } }
@media (max-width: 600px) { .hs-credencial-camino { position: absolute; right: 18px; top: 18px; width: 64px; } .hs-credencial-sobre, .hs-credencial-titulo { padding-right: 80px; } }
html.hs-contraste .hs-credencial-camino { display: none; }
/* Camino punteado: uno para escritorio y otro más curvado para móvil (sin deformar) */
.hs-credencial-ruta-movil { display: none; }
@media (max-width: 600px) { .hs-credencial-ruta { display: none; } .hs-credencial-ruta-movil { display: block; } }
/* Huellas del camino de la credencial */
.hs-credencial-ruta .hs-huella { fill: #e3b53a; opacity: 0; transform-box: fill-box; transition: opacity .9s ease; filter: drop-shadow(0 1px 1px rgba(0,0,0,.35)); }
.hs-credencial.hs-huellas-on .hs-credencial-ruta .hs-huella { opacity: .9; }
.hs-credencial-ruta path { opacity: .35; }
html.hs-contraste .hs-huella { display: none; }

/* ===== Páginas de grupos (estilo Banda) ===== */
body.page .item-page:has(.hs-grupo) { max-width: none; }
body.page .item-page:has(.hs-grupo) .tag-category > h2, body.page .item-page:has(.hs-grupo) .page-header { display: none; }
.hs-grupo-hero { min-height: 400px; }
.hs-grupo-hero .hs-banda-hero-foto { object-position: center 45%; image-rendering: auto; }
.hs-grupo-hero { align-items: flex-start; }
.hs-grupo-hero::after { background: linear-gradient(180deg, rgba(50,0,0,.9) 0%, rgba(50,0,0,.62) 38%, rgba(40,0,0,.12) 70%, rgba(40,0,0,.18) 100%); }
.hs-grupo-hero .hs-banda-hero-texto { max-width: 820px; padding: 30px 40px 120px; }
.hs-grupo-hero .hs-banda-titulo { text-shadow: 0 2px 10px rgba(0,0,0,.6); }
.hs-grupo-hero .hs-banda-lema { text-shadow: 0 1px 6px rgba(0,0,0,.7); }
.hs-grupo-cuerpo { margin: 0 0 30px; }
.hs-grupo-bloque { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 34px; align-items: center; margin: 0 0 38px; }
.hs-grupo-bloque-inv { grid-template-columns: minmax(0, 1fr) 400px; }
.hs-grupo-bloque-inv .hs-grupo-foto { order: 2; }
.hs-grupo-bloque-solo { grid-template-columns: 1fr; }
.hs-grupo-bloque .hs-grupo-foto { aspect-ratio: 3 / 2; border-radius: 18px; box-shadow: 0 12px 30px rgba(60,0,0,.14); border: 0; position: relative; }
.hs-grupo-bloque .hs-grupo-foto::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.55); border-radius: 12px; pointer-events: none; }
.hs-grupo-bloque .hs-grupo-foto img { image-rendering: auto; }
.hs-grupo-texto { font-size: 16px; line-height: 1.7; margin: 0; }
.hs-grupo-texto .hs-grupo-lede { font-family: 'Playfair Display', Georgia, serif; font-size: 20px; line-height: 1.5; color: var(--hs-burdeos); margin-bottom: 18px; }
.hs-grupo-texto h2, .hs-grupo-texto h3, .hs-grupo-texto h4, .hs-grupo-texto .hs-grupo-h { font-family: 'Playfair Display', Georgia, serif; font-size: 23px; line-height: 1.25; color: var(--hs-burdeos); margin: 26px 0 12px; padding: 0 0 8px; background: none; border: 0; position: relative; }
.hs-grupo-texto .hs-grupo-h::after, .hs-grupo-texto h3::after { content: ""; display: block; width: 46px; height: 3px; background: #c9961a; border-radius: 2px; margin-top: 8px; }
.hs-grupo-texto .hs-grupo-rotulo { font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; color: var(--hs-burdeos); font-size: 15px; letter-spacing: .02em; margin: 18px 0 8px; }
.hs-grupo-texto .hs-grupo-lista { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; }
.hs-grupo-texto .hs-grupo-lista li { position: relative; padding-left: 22px; margin: 0; }
.hs-grupo-texto .hs-grupo-lista li::before { content: ""; position: absolute; left: 0; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--hs-burdeos); box-shadow: 0 0 0 3px rgba(90,0,0,.12); }
.hs-grupo-texto .hs-grupo-cita { margin: 18px 0 22px; padding: 16px 22px; border-left: 4px solid #c9961a; background: #f9f5ec; border-radius: 0 14px 14px 0; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 18px; color: var(--hs-burdeos); }
.hs-grupo-texto .hs-grupo-cita span { display: block; }
.hs-grupo-texto p[style*="center"] { text-align: left !important; }
.hs-grupo-texto strong { color: var(--hs-burdeos); }
.hs-grupo-texto p { margin: 0 0 14px; }
.hs-grupo-texto p[style*="center"] em { color: var(--hs-burdeos); font-family: 'Playfair Display', Georgia, serif; font-size: 17px; }
.hs-grupo-texto strong { color: var(--hs-burdeos); }
.hs-grupo-galeria { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 34px; }
.hs-grupo-foto { display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: #f1ecec; border: 1px solid #e6e0d6; }
.hs-grupo-foto img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; max-width: none; transition: transform .35s ease; }
.hs-grupo-foto:hover img { transform: scale(1.05); }
.hs-grupo-audios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0 0 34px; }
.hs-grupo-audio { background: #f6f0e4; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.hs-grupo-audio-t { font-family: 'Playfair Display', Georgia, serif; font-size: 16px; color: var(--hs-burdeos); }
.hs-grupo-audio audio { width: 100%; height: 36px; }
@media (max-width: 979px) { .hs-grupo-galeria { grid-template-columns: repeat(3, 1fr); } .hs-grupo-audios { grid-template-columns: 1fr; } .hs-grupo-bloque, .hs-grupo-bloque-inv { grid-template-columns: 1fr; gap: 16px; } .hs-grupo-bloque-inv .hs-grupo-foto { order: 0; } .hs-grupo-bloque .hs-grupo-foto { max-width: 520px; } .hs-grupo-hero { min-height: 300px; } .hs-grupo-hero .hs-banda-hero-texto { padding: 22px 20px 100px; } }
@media (max-width: 600px) { .hs-grupo-hero { min-height: 0; } .hs-grupo-galeria { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* Credencial: legibilidad del texto sobre las huellas y botón sin pisar el título */
.hs-credencial-texto { position: relative; z-index: 2; padding: 14px 18px 14px 0; }
.hs-credencial-texto::before { content: ""; position: absolute; inset: 0 -10px 0 -18px; background: linear-gradient(90deg, rgba(60,0,0,.78) 0%, rgba(60,0,0,.72) 75%, rgba(60,0,0,0) 100%); border-radius: 14px; z-index: -1; filter: blur(2px); }
.hs-credencial-titulo, .hs-credencial-sobre, .hs-credencial-parrafo { text-shadow: 0 2px 8px rgba(0,0,0,.55); }
.hs-credencial-accion { position: relative; z-index: 2; margin-left: 10px; }
.hs-credencial-int { gap: 22px; }
.hs-credencial-titulo { white-space: normal; }
@media (min-width: 980px) { .hs-credencial-texto { flex: 1 1 380px; max-width: 480px; } .hs-credencial-parrafo { max-width: 440px; } }
/* H1 de la portada (solo para buscadores y lectores de pantalla; el escudo y el nombre ya están en la cabecera) */
.hs-h1-portada { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }

/* ===== Kit de bloques para páginas (editables desde el editor) =====
 * Clases genéricas para maquetar el contenido de cualquier página desde el editor clásico, con etiquetas normales
 * (div, p, h3, ul, img, a). Ninguna depende de la estructura de una página concreta. Resumen:
 *   .hs-kit                 envoltorio opcional de toda la página (tipografía y espaciados)
 *   .hs-kit-ancho           la página se ensancha hasta 1000 px (útil con galerías y rejillas)
 *   .hs-cabecera            foto grande de cabecera con texto encima (.hs-cabecera-texto, .hs-cabecera-sobre, h3, p)
 *   .hs-intro               párrafo de introducción destacado
 *   .hs-bloque              apartado con título h3 (línea dorada) y texto
 *   .hs-cita                cita destacada (p + cite)
 *   .hs-destacado           recuadro crema con borde burdeos para avisos o textos importantes
 *   .hs-datos / .hs-dato    rejilla de fichas de datos (strong = etiqueta, span = valor)
 *   .hs-ficha               ficha vertical de datos (dl > dt/dd), p. ej. dirección y horarios
 *   .hs-tarjetas-2 / -3     rejilla de cajas (.hs-caja con h4 y p)
 *   .hs-lista-check         lista con marcas burdeos
 *   .hs-descargas           lista de documentos como botones (a.hs-descarga)
 *   .hs-cta                 franja burdeos con texto y botón (.hs-boton)
 *   .hs-galeria-2 / -3 / -4 rejilla de fotos (a > img o img sueltas)
 *   .hs-foto / .hs-foto-der / .hs-foto-izq   figura con pie (figure > img + figcaption)
 *   .hs-persona             ficha de persona: foto + texto (p. ej. saludas y cartas)
 *   .hs-firma               firma al final de una carta
 *   .hs-cronologia          lista cronológica (li > strong = año + texto)
 *   .hs-dos-col             dos columnas de texto o texto + imagen
 *   .hs-sumario             índice de apartados de la página (ul de enlaces #ancla)
 */
:root { --hs-dorado: #b4913a; --hs-crema: #f6f0e4; --hs-crema-borde: #e6dccb; --hs-texto: #2b2b2b; --hs-texto-suave: #5b5450; }
.hs-kit, .hs-kit p, .hs-kit li, .hs-kit dd, .hs-kit dt, .hs-kit td { font-family: 'Open Sans', Arial, sans-serif; color: var(--hs-texto); }
.hs-kit p, .hs-kit li { font-size: 15px; line-height: 1.75; }
.hs-kit p { margin: 0 0 16px; }
.hs-kit h3, .hs-kit h4, .hs-kit h5 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; color: var(--hs-burdeos); background: none; text-shadow: none; padding: 0; }
.hs-kit h3 { font-size: 25px; line-height: 1.25; margin: 0 0 14px; }
.hs-kit h4 { font-size: 19px; line-height: 1.3; margin: 0 0 10px; }
.hs-kit h5 { font-size: 16px; line-height: 1.3; margin: 0 0 8px; font-weight: 700; font-family: 'Open Sans', Arial, sans-serif; }
.hs-kit a:not(.hs-boton):not(.hs-descarga) { color: var(--hs-burdeos); text-decoration: underline; text-decoration-color: rgba(90,0,0,.35); text-underline-offset: 2px; }
.hs-kit a:not(.hs-boton):not(.hs-descarga):hover { text-decoration-color: var(--hs-burdeos); }
.hs-kit ul:not([class]), .hs-kit ol:not([class]) { margin: 0 0 18px 22px; padding: 0; }
.hs-kit ul:not([class]) li, .hs-kit ol:not([class]) li { margin: 0 0 6px; }
.hs-kit img { max-width: 100%; height: auto; }
.hs-kit > *:last-child { margin-bottom: 0; }
body.page .item-page:has(.hs-kit-ancho) { max-width: 1000px; }
body.page .item-page:has(.hs-kit-completo) { max-width: none; }

/* Cabecera con foto grande */
.hs-cabecera { position: relative; border-radius: 18px; overflow: hidden; background: var(--hs-burdeos-osc); min-height: 340px; display: flex; align-items: flex-end; margin: 0 0 28px; }
.hs-cabecera > img, .hs-cabecera > a > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; margin: 0 !important; max-width: none !important; float: none !important; border-radius: 0; }
.hs-cabecera-alta { min-height: 460px; }
.hs-cabecera-arriba > img { object-position: center top; }
.hs-cabecera::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(40,0,0,.02) 0%, rgba(50,0,0,.45) 55%, rgba(50,0,0,.9) 100%); pointer-events: none; }
.hs-cabecera-texto { position: relative; z-index: 1; padding: 34px 38px 30px; color: #fff; max-width: 720px; }
.hs-cabecera-sobre, .hs-etiqueta { display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 8px; }
.hs-cabecera-sobre { color: rgba(255,255,255,.85); }
.hs-etiqueta { color: var(--hs-dorado); }
.hs-kit .hs-cabecera-texto h3, .hs-cabecera-texto h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 34px; line-height: 1.12; color: #fff; margin: 0 0 10px; }
.hs-kit .hs-cabecera-texto p, .hs-cabecera-texto p { font-size: 16px; line-height: 1.55; color: rgba(255,255,255,.92); margin: 0; }
.hs-cabecera-texto p + p { margin-top: 8px; }
.hs-cabecera-pie { position: absolute; right: 16px; bottom: 12px; z-index: 1; font-size: 11px; color: rgba(255,255,255,.7); font-family: 'Open Sans', Arial, sans-serif; }

/* Introducción destacada */
.hs-kit .hs-intro, .hs-intro { font-family: 'Playfair Display', Georgia, serif; font-size: 20px; line-height: 1.55; color: #3a2a2a; margin: 0 0 28px; padding: 4px 0 4px 22px; border-left: 3px solid var(--hs-dorado); }
.hs-intro strong { color: var(--hs-burdeos); font-weight: 700; }

/* Apartados */
.hs-bloque { margin: 0 0 34px; }
.hs-bloque > h3, .hs-titulo { position: relative; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 25px; line-height: 1.25; color: var(--hs-burdeos); margin: 0 0 18px; padding: 0 0 12px; background: none; text-shadow: none; }
.hs-bloque > h3::after, .hs-titulo::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 2px; background: var(--hs-dorado); }
.hs-bloque > h3 .hs-etiqueta, .hs-titulo .hs-etiqueta { margin-bottom: 4px; }
.hs-bloque > *:last-child { margin-bottom: 0; }
.hs-bloque-crema { background: var(--hs-crema); border-radius: 16px; padding: 26px 30px; }
.hs-bloque-linea { border-top: 1px solid var(--hs-crema-borde); padding-top: 28px; }

/* Título grande de sección (agrupa varios apartados) */
.hs-titulo-grande { font-size: 31px; margin: 10px 0 24px; padding-bottom: 14px; border-bottom: 1px solid var(--hs-crema-borde); }
.hs-titulo-grande::after { width: 70px; height: 3px; bottom: -2px; }

/* Cita destacada */
.hs-cita { position: relative; margin: 10px 0 30px; padding: 30px 34px 26px 60px; background: var(--hs-crema); border-radius: 16px; border: 0; }
.hs-cita::before { content: "\201C"; position: absolute; left: 22px; top: 10px; font-family: 'Playfair Display', Georgia, serif; font-size: 70px; line-height: 1; color: var(--hs-dorado); }
.hs-kit .hs-cita p, .hs-cita p { font-family: 'Playfair Display', Georgia, serif; font-size: 18px; line-height: 1.6; color: #3a2a2a; margin: 0 0 10px; }
.hs-cita p:last-of-type { margin-bottom: 0; }
.hs-cita cite { display: block; margin-top: 12px; font-family: 'Open Sans', Arial, sans-serif; font-style: normal; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--hs-burdeos); }

/* Recuadro destacado */
.hs-destacado { background: var(--hs-crema); border-left: 4px solid var(--hs-burdeos); border-radius: 0 14px 14px 0; padding: 18px 24px; margin: 0 0 24px; }
.hs-kit .hs-destacado p, .hs-destacado p { margin: 0 0 8px; }
.hs-destacado p:last-child { margin-bottom: 0; }
.hs-destacado-burdeos { background: var(--hs-burdeos); border-color: var(--hs-dorado); color: #fff; }
.hs-kit .hs-destacado-burdeos p, .hs-kit .hs-destacado-burdeos li, .hs-kit .hs-destacado-burdeos h4 { color: #fff; }
.hs-kit .hs-destacado-burdeos a { color: #fff; }

/* Fichas de datos en rejilla */
.hs-datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 0 0 28px; }
.hs-dato { background: #fff; border: 1.5px solid var(--hs-crema-borde); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.hs-dato strong { font-family: 'Open Sans', Arial, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado); }
.hs-dato span, .hs-dato a { font-family: 'Playfair Display', Georgia, serif; font-size: 17px; line-height: 1.35; color: var(--hs-texto); word-break: break-word; }
.hs-dato small { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: var(--hs-texto-suave); line-height: 1.5; }
.hs-dato-burdeos { background: var(--hs-burdeos); border-color: var(--hs-burdeos); }
.hs-dato-burdeos strong { color: rgba(255,255,255,.75); }
.hs-dato-burdeos span, .hs-dato-burdeos a, .hs-dato-burdeos small { color: #fff; }
.hs-dato-grande span { font-size: 30px; line-height: 1.1; color: var(--hs-burdeos); }

/* Ficha vertical (dl) */
.hs-ficha { margin: 0 0 24px; padding: 0; background: var(--hs-crema); border-radius: 16px; padding: 10px 26px; }
.hs-ficha dt { font-family: 'Open Sans', Arial, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado); margin: 14px 0 3px; }
.hs-ficha dd { margin: 0 0 12px; font-size: 15px; line-height: 1.6; padding-bottom: 12px; border-bottom: 1px solid rgba(90,0,0,.08); }
.hs-ficha dd:last-child { border-bottom: 0; }
.hs-ficha-blanca { background: #fff; border: 1.5px solid var(--hs-crema-borde); }

/* Rejillas de cajas */
.hs-tarjetas-2, .hs-tarjetas-3 { display: grid; gap: 18px; margin: 0 0 28px; }
.hs-tarjetas-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hs-tarjetas-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hs-caja { background: #fff; border: 1.5px solid var(--hs-crema-borde); border-radius: 16px; padding: 22px 24px; min-width: 0; }
.hs-caja > h4 { margin: 0 0 10px; }
.hs-caja > *:last-child { margin-bottom: 0; }
.hs-kit .hs-caja p, .hs-kit .hs-caja li { font-size: 14.5px; line-height: 1.65; }
.hs-caja-crema { background: var(--hs-crema); border-color: var(--hs-crema); }
.hs-caja > img:first-child, .hs-caja > a:first-child > img { display: block; width: calc(100% + 48px); margin: -22px -24px 16px; max-width: none; border-radius: 14px 14px 0 0; aspect-ratio: 3 / 2; object-fit: cover; }
.hs-caja-numero { font-family: 'Playfair Display', Georgia, serif; font-size: 34px; line-height: 1; color: var(--hs-dorado); display: block; margin: 0 0 10px; }

/* Lista con marcas */
.hs-lista-check { list-style: none; margin: 0 0 22px; padding: 0; }
.hs-lista-check li { position: relative; padding-left: 30px; margin: 0 0 9px; }
.hs-lista-check li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 14px; height: 7px; border-left: 2.5px solid var(--hs-burdeos); border-bottom: 2.5px solid var(--hs-burdeos); transform: rotate(-45deg); }
.hs-lista-puntos { list-style: none; margin: 0 0 22px; padding: 0; }
.hs-lista-puntos li { position: relative; padding-left: 22px; margin: 0 0 8px; }
.hs-lista-puntos li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--hs-dorado); }
.hs-lista-2col { columns: 2; column-gap: 32px; }
.hs-lista-2col li { break-inside: avoid; }

/* Descargas: documentos como botones */
.hs-descargas { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hs-descargas li { margin: 0; padding: 0; }
.hs-descarga, .hs-descarga:link, .hs-descarga:visited { display: flex; align-items: center; gap: 14px; background: #fff; border: 1.5px solid var(--hs-crema-borde); border-radius: 12px; padding: 12px 18px 12px 14px; color: var(--hs-burdeos) !important; text-decoration: none !important; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.35; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.hs-descarga::before { content: "PDF"; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 36px; border-radius: 8px; background: var(--hs-burdeos); color: #fff; font-size: 11px; letter-spacing: .08em; }
.hs-descarga-doc::before { content: "DOC"; }
.hs-descarga-web::before { content: "WEB"; }
.hs-descarga-img::before { content: "JPG"; }
.hs-descarga::after { content: "\2193"; margin-left: auto; font-size: 18px; color: var(--hs-dorado); }
.hs-descarga-web::after { content: "\2192"; }
.hs-descarga small { display: block; font-weight: 400; font-size: 13px; color: var(--hs-texto-suave); }
.hs-descarga:hover { border-color: var(--hs-burdeos); box-shadow: 0 8px 20px rgba(90,0,0,.1); transform: translateY(-2px); }
.hs-descargas-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Franja de llamada a la acción */
.hs-cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; background: var(--hs-burdeos); background-image: radial-gradient(ellipse at 10% 50%, rgba(255,255,255,.08) 0, rgba(255,255,255,0) 55%); color: #fff; border-radius: 16px; padding: 26px 30px; margin: 0 0 28px; }
.hs-cta > div { flex: 1 1 320px; }
.hs-cta .hs-botones { flex: 0 0 auto; margin: 0; }
.hs-kit .hs-cta p, .hs-cta p { color: #fff; margin: 0; }
.hs-kit .hs-cta h4, .hs-cta h4 { color: #fff; margin: 0 0 6px; }
.hs-kit .hs-cta a:not(.hs-boton) { color: #fff; }
.hs-cta .hs-boton, .hs-cta .hs-boton:link, .hs-cta .hs-boton:visited { background: #fff; color: var(--hs-burdeos) !important; border-color: #fff; flex: 0 0 auto; }
.hs-cta .hs-boton:hover { background: var(--hs-crema); color: var(--hs-burdeos) !important; }
.hs-cta-crema { background: var(--hs-crema); background-image: none; color: var(--hs-texto); }
.hs-kit .hs-cta-crema p, .hs-kit .hs-cta-crema h4 { color: var(--hs-texto); }
.hs-kit .hs-cta-crema h4 { color: var(--hs-burdeos); }
.hs-cta-crema .hs-boton, .hs-cta-crema .hs-boton:link, .hs-cta-crema .hs-boton:visited { background: var(--hs-burdeos); color: #fff !important; border-color: var(--hs-burdeos); }
.hs-kit .hs-boton, .hs-kit .hs-boton:link, .hs-kit .hs-boton:visited { text-decoration: none; }
.hs-botones { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.hs-kit .hs-boton-claro, .hs-kit .hs-boton-claro:link, .hs-kit .hs-boton-claro:visited { background: #fff; color: var(--hs-burdeos) !important; border: 1.5px solid var(--hs-burdeos); }

/* Galerías de fotos */
.hs-galeria-2, .hs-galeria-3, .hs-galeria-4 { display: grid; gap: 14px; margin: 0 0 28px; }
.hs-galeria-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hs-galeria-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hs-galeria-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hs-galeria-2 > *, .hs-galeria-3 > *, .hs-galeria-4 > * { margin: 0; min-width: 0; }
.hs-galeria-2 img, .hs-galeria-3 img, .hs-galeria-4 img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; margin: 0; max-width: none; transition: transform .3s ease, box-shadow .3s ease; }
.hs-galeria-alta img { aspect-ratio: 3 / 4; }
.hs-galeria-cuadrada img { aspect-ratio: 1 / 1; }
.hs-galeria-libre img { aspect-ratio: auto; object-fit: contain; background: var(--hs-crema); }
.hs-galeria-2 a:hover img, .hs-galeria-3 a:hover img, .hs-galeria-4 a:hover img { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(90,0,0,.16); }
.hs-galeria-2 figcaption, .hs-galeria-3 figcaption, .hs-galeria-4 figcaption { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; line-height: 1.45; color: var(--hs-texto-suave); margin: 8px 2px 0; }

/* Figuras con pie */
.hs-foto, .hs-foto-der, .hs-foto-izq { margin: 0 0 24px; }
.hs-foto img, .hs-foto-der img, .hs-foto-izq img { display: block; width: 100%; height: auto; border-radius: 14px; margin: 0; }
.hs-foto figcaption, .hs-foto-der figcaption, .hs-foto-izq figcaption { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; line-height: 1.45; color: var(--hs-texto-suave); margin: 8px 2px 0; }
.hs-foto-der { float: right; width: 42%; max-width: 360px; margin: 4px 0 18px 28px; }
.hs-foto-izq { float: left; width: 42%; max-width: 360px; margin: 4px 28px 18px 0; }
.hs-foto-estrecha { width: 30%; max-width: 260px; }
.hs-foto-enmarcada img { background: #fff; padding: 10px; border: 1.5px solid var(--hs-crema-borde); box-sizing: border-box; }
.hs-foto-centrada img { width: auto; max-width: 100%; margin: 0 auto; }
.hs-foto-centrada figcaption { text-align: center; }
.hs-foto-pequena img { max-width: 220px; margin: 0 auto; }
.hs-foto-pequena figcaption { text-align: center; }
.hs-limpiar { clear: both; }

/* Ficha de persona (foto + texto) */
.hs-persona { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; margin: 0 0 28px; }
.hs-persona > img, .hs-persona > figure { margin: 0; }
.hs-persona > img, .hs-persona > figure img { display: block; width: 100%; height: auto; border-radius: 16px; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; }
.hs-persona > figure figcaption { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: var(--hs-texto-suave); margin: 8px 2px 0; text-align: center; }
.hs-persona-der { grid-template-columns: minmax(0, 1fr) 280px; }
.hs-persona-der > img, .hs-persona-der > figure { order: 2; }
.hs-persona-pegajosa > img, .hs-persona-pegajosa > figure { position: sticky; top: 20px; }

/* Firma */
.hs-firma { margin: 26px 0 0; padding-top: 16px; border-top: 1px solid var(--hs-crema-borde); text-align: right; }
.hs-kit .hs-firma p, .hs-firma p { margin: 0; line-height: 1.4; }
.hs-firma strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 20px; color: var(--hs-burdeos); }
.hs-firma span { display: block; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado); margin-top: 2px; }
.hs-firma-izq { text-align: left; }

/* Cronología */
.hs-cronologia { list-style: none; margin: 0 0 28px; padding: 0 0 0 22px; border-left: 2px solid var(--hs-crema-borde); }
.hs-cronologia li { position: relative; margin: 0 0 18px; padding-left: 10px; }
.hs-cronologia li::before { content: ""; position: absolute; left: -29px; top: 7px; width: 12px; height: 12px; border-radius: 50%; background: var(--hs-dorado); border: 2px solid #fff; box-shadow: 0 0 0 2px var(--hs-dorado); }
.hs-cronologia li > strong:first-child { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; color: var(--hs-burdeos); font-weight: 400; margin: 0 0 2px; }

/* Dos columnas */
.hs-dos-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: start; margin: 0 0 28px; }
.hs-dos-col > * { min-width: 0; }
.hs-dos-col > img { width: 100%; height: auto; border-radius: 14px; margin: 0; }
.hs-dos-col-ancha { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }

/* Sumario de apartados */
.hs-sumario { background: var(--hs-crema); border-radius: 14px; padding: 18px 24px; margin: 0 0 28px; }
.hs-sumario .hs-etiqueta { margin-bottom: 8px; }
.hs-sumario ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.hs-sumario li { margin: 0; font-size: 14px; }
.hs-sumario a { font-weight: 700; }

/* Tabla sencilla y mapa */
.hs-tabla { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 14.5px; }
.hs-tabla th { text-align: left; font-family: 'Open Sans', Arial, sans-serif; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado); padding: 8px 12px; border-bottom: 2px solid var(--hs-crema-borde); }
.hs-tabla td { padding: 10px 12px; border-bottom: 1px solid var(--hs-crema-borde); vertical-align: top; }
.hs-kit iframe.hs-mapa, .hs-kit .hs-mapa iframe { display: block; width: 100%; height: 320px; border: 0; border-radius: 14px; margin: 0 0 24px; }
.hs-kit iframe[src*="youtube"], .hs-kit iframe[src*="youtu.be"], .hs-kit iframe[src*="vimeo"] { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 14px; margin: 0 0 24px; }
.hs-separador { border: 0; border-top: 1px solid var(--hs-crema-borde); margin: 30px 0; }
.hs-separador-dorado { width: 60px; border-top: 2px solid var(--hs-dorado); margin: 26px auto; }
.hs-centrado { text-align: center; }
.hs-centrado .hs-bloque > h3::after, .hs-centrado .hs-titulo::after { left: 50%; transform: translateX(-50%); }
.hs-texto-suave { color: var(--hs-texto-suave); font-size: 14px; }

/* Responsive */
@media (max-width: 979px) {
    .hs-cabecera { min-height: 300px; }
    .hs-cabecera-alta { min-height: 360px; }
    .hs-tarjetas-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-galeria-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hs-persona, .hs-persona-der { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
    .hs-persona-der { grid-template-columns: minmax(0, 1fr) 220px; }
    .hs-foto-der, .hs-foto-izq { width: 40%; }
}
@media (max-width: 600px) {
    .hs-kit p, .hs-kit li { font-size: 14.5px; line-height: 1.7; }
    .hs-kit h3, .hs-bloque > h3, .hs-titulo { font-size: 22px; }
    .hs-cabecera, .hs-cabecera-alta { min-height: 240px; border-radius: 14px; }
    .hs-cabecera-texto { padding: 22px 18px 18px; }
    .hs-kit .hs-cabecera-texto h3, .hs-cabecera-texto h3 { font-size: 24px; }
    .hs-kit .hs-cabecera-texto p, .hs-cabecera-texto p { font-size: 14px; }
    .hs-kit .hs-intro, .hs-intro { font-size: 17px; padding-left: 16px; }
    .hs-bloque-crema { padding: 20px 18px; }
    .hs-cita { padding: 24px 20px 20px 44px; }
    .hs-cita::before { left: 12px; font-size: 56px; }
    .hs-kit .hs-cita p, .hs-cita p { font-size: 16px; }
    .hs-destacado { padding: 16px 18px; }
    .hs-datos { grid-template-columns: 1fr 1fr; gap: 10px; }
    .hs-dato { padding: 14px 14px; }
    .hs-dato span, .hs-dato a { font-size: 15px; }
    .hs-ficha { padding: 6px 18px; }
    .hs-tarjetas-2, .hs-tarjetas-3 { grid-template-columns: 1fr; gap: 12px; }
    .hs-caja { padding: 18px 18px; }
    .hs-caja > img:first-child, .hs-caja > a:first-child > img { width: calc(100% + 36px); margin: -18px -18px 14px; }
    .hs-lista-2col { columns: 1; }
    .hs-descargas-2 { grid-template-columns: 1fr; }
    .hs-descarga { font-size: 14px; padding: 10px 14px 10px 12px; }
    .hs-cta { padding: 22px 20px; }
    .hs-cta .hs-boton { width: 100%; text-align: center; box-sizing: border-box; }
    .hs-cta .hs-botones { width: 100%; flex-direction: column; }
    .hs-galeria-3, .hs-galeria-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .hs-foto-der, .hs-foto-izq, .hs-foto-estrecha { float: none; width: 100%; max-width: 100%; margin: 0 0 18px; }
    .hs-foto-der.hs-foto-estrecha img, .hs-foto-izq.hs-foto-estrecha img { max-width: 260px; margin: 0 auto; }
    .hs-persona, .hs-persona-der { grid-template-columns: 1fr; gap: 18px; }
    .hs-persona > img, .hs-persona > figure { max-width: 260px; margin: 0 auto; }
    .hs-persona-der > img, .hs-persona-der > figure { order: 0; }
    .hs-persona-pegajosa > img, .hs-persona-pegajosa > figure { position: static; }
    .hs-dos-col, .hs-dos-col-ancha { grid-template-columns: 1fr; gap: 18px; }
    .hs-firma strong { font-size: 18px; }
    .hs-kit iframe.hs-mapa, .hs-kit .hs-mapa iframe { height: 240px; }
    .hs-tabla { display: block; overflow-x: auto; }
}

/* Alto contraste */
html.hs-contraste .hs-cabecera::after { display: none; }
html.hs-contraste .hs-cabecera { border: 2px solid #fff; min-height: 0; }
html.hs-contraste .hs-cabecera > img, html.hs-contraste .hs-cabecera > a > img { position: static; height: auto; aspect-ratio: 16 / 7; }
html.hs-contraste .hs-cabecera-texto { max-width: none; }
html.hs-contraste .hs-cabecera-sobre, html.hs-contraste .hs-etiqueta, html.hs-contraste .hs-dato strong, html.hs-contraste .hs-ficha dt, html.hs-contraste .hs-firma span, html.hs-contraste .hs-cita::before, html.hs-contraste .hs-caja-numero, html.hs-contraste .hs-tabla th, html.hs-contraste .hs-descarga::after { color: #ffd400 !important; }
html.hs-contraste .hs-bloque > h3::after, html.hs-contraste .hs-titulo::after, html.hs-contraste .hs-lista-puntos li::before, html.hs-contraste .hs-cronologia li::before, html.hs-contraste .hs-separador-dorado { background: #ffd400 !important; border-color: #ffd400 !important; box-shadow: none !important; }
html.hs-contraste .hs-lista-check li::before { border-color: #ffd400 !important; }
html.hs-contraste .hs-intro, html.hs-contraste .hs-destacado, html.hs-contraste .hs-cronologia { border-color: #ffd400 !important; }
html.hs-contraste .hs-cita, html.hs-contraste .hs-destacado, html.hs-contraste .hs-dato, html.hs-contraste .hs-ficha, html.hs-contraste .hs-caja, html.hs-contraste .hs-cta, html.hs-contraste .hs-bloque-crema, html.hs-contraste .hs-sumario, html.hs-contraste .hs-descarga, html.hs-contraste .hs-galeria-2 img, html.hs-contraste .hs-galeria-3 img, html.hs-contraste .hs-galeria-4 img, html.hs-contraste .hs-foto img, html.hs-contraste .hs-foto-der img, html.hs-contraste .hs-foto-izq img, html.hs-contraste .hs-persona > img, html.hs-contraste .hs-persona > figure img { border: 2px solid #fff !important; box-sizing: border-box; }
html.hs-contraste .hs-descarga::before { background: #ffd400 !important; color: #000 !important; }
html.hs-contraste .hs-cta .hs-boton, html.hs-contraste .hs-cta-crema .hs-boton { background: #000 !important; color: #ffd400 !important; border: 2px solid #fff !important; }
/* Emblemas de los accesos: siempre un círculo perfecto, pase lo que pase con el ancho de la tarjeta */
.hs-acc-emblema, .hs-acc-foto .hs-acc-emblema { aspect-ratio: 1 / 1; flex: 0 0 auto !important; min-width: 0; border-radius: 50% !important; box-sizing: border-box; }
.hs-acc-emblema img { width: 86% !important; height: 86% !important; max-width: none; aspect-ratio: 1 / 1; object-fit: contain; display: block; border-radius: 50%; }
@media (max-width: 600px) { .hs-acc-emblema { width: 46px !important; height: 46px !important; } }

/* ===== Página "Credencial del Peregrino" ===== */
body.single-post .item-page:has(.hs-cred) { max-width: none; }
.hs-cred-hero { min-height: 360px; }
.hs-cred-hero .hs-banda-hero-foto { object-position: center 30%; }
.hs-cred-hero .hs-banda-hero-texto { max-width: 640px; padding-right: 300px; }
.hs-cred-santiago { position: absolute; right: 40px; bottom: 0; width: 260px; height: auto; max-width: none; margin: 0 !important; z-index: 1; filter: drop-shadow(0 8px 18px rgba(0,0,0,.5)); float: none !important; }
.hs-cred-cols { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 40px; align-items: start; margin: 34px 0 30px; }
.hs-cred-info { position: relative; padding-left: 110px; }
.hs-cred-ruta { position: absolute; left: 0; top: 0; width: 120px; height: 100%; pointer-events: none; }
.hs-cred-ruta .hs-huella { fill: #c9961a; opacity: 0; transition: opacity .9s ease; }
.hs-cred-ruta > path { stroke: #c9961a; opacity: .45; }
.hs-cred.hs-huellas-on .hs-cred-ruta .hs-huella { opacity: .9; }
.hs-cred-paso { position: relative; background: #fff; border: 1px solid #e6e0d6; border-radius: 16px; padding: 22px 26px 22px 30px; margin: 0 0 22px; box-shadow: 0 4px 14px rgba(60,0,0,.05); }
.hs-cred-paso::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 4px; border-radius: 2px; background: var(--hs-burdeos); }
.hs-cred-num { position: absolute; left: -62px; top: 22px; width: 40px; height: 40px; border-radius: 50%; background: var(--hs-burdeos); color: #fff; font: 700 16px/40px 'Open Sans', Arial, sans-serif; text-align: center; box-shadow: 0 4px 10px rgba(90,0,0,.3); }
.hs-cred-paso h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 21px; color: var(--hs-burdeos); margin: 0 0 8px; padding: 0; background: none; }
.hs-cred-paso p { font-size: 15.5px; line-height: 1.65; color: #444; margin: 0; }
.hs-cred-figura { margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid #e6e0d6; background: #f6f0e4; }
.hs-cred-figura img { display: block; width: 100%; height: auto; margin: 0; max-width: none; }
.hs-cred-figura figcaption { font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; color: #666; padding: 10px 14px; }
.hs-cred-form { position: sticky; top: 20px; background: #f6f0e4; border-radius: 18px; padding: 26px 26px 22px; box-shadow: 0 10px 30px rgba(60,0,0,.08); }
.hs-cred-form-t { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; color: var(--hs-burdeos); margin: 0 0 4px; padding: 0; background: none; }
.hs-cred-form-s { font-size: 14px; color: #666; margin: 0 0 18px; }
/* Formulario moderno (vale para todos los [hs_formulario]) */
.hs-form .control-group { margin: 0 0 14px; }
.hs-form .control-label { display: block; font: 600 13px 'Open Sans', Arial, sans-serif; color: #444; margin: 0 0 5px; }
.hs-form .control-label .required { color: var(--hs-burdeos); margin-left: 2px; }
.hs-form input[type=text], .hs-form input[type=email], .hs-form input[type=tel], .hs-form input[type=date], .hs-form textarea { width: 100% !important; box-sizing: border-box; height: 42px; border: 1.5px solid #e6e0d6; border-radius: 10px; padding: 0 12px; font: 15px 'Open Sans', Arial, sans-serif; background: #fff; box-shadow: none; transition: border-color .15s ease; }
.hs-form textarea { height: auto; padding: 10px 12px; }
.hs-form input:focus, .hs-form textarea:focus { border-color: var(--hs-burdeos); outline: 0; }
.hs-form label.radio, .hs-form label.checkbox { display: block; position: relative; padding-left: 26px; font: 14px/1.4 'Open Sans', Arial, sans-serif; color: #444; margin: 0 0 6px; }
.hs-form label.radio input, .hs-form label.checkbox input { position: absolute; left: 0; top: 2px; margin: 0; accent-color: var(--hs-burdeos); float: none; width: 16px; height: 16px; }
.hs-form .hs-rgpd { margin-top: 14px; font-size: 13px; }
.hs-form .hs-rgpd a { color: var(--hs-burdeos); }
.hs-form .form-actions { background: none; border: 0; padding: 6px 0 0; margin: 0; }
.hs-form .btn-toolbar { margin: 0; }
.hs-form .jsn-form-submit { width: 100%; height: 48px; border-radius: 24px !important; font-size: 15px !important; }
.hs-form .hs-hp { position: absolute; left: -9999px; }
.hs-form-ok { background: #f6f0e4; border: 1.5px solid var(--hs-burdeos); border-radius: 14px; padding: 18px 20px; color: #333; }
.hs-form .alert-error { background: #fff; border: 1.5px solid #c0392b; color: #c0392b; border-radius: 10px; padding: 10px 14px; margin-bottom: 14px; }
.jsn-uniform .jsn-row-container, .jsn-uniform .jsn-form-content { background: none; border: 0; padding: 0; margin: 0; }
@media (max-width: 979px) { .hs-cred-cols { grid-template-columns: 1fr; } .hs-cred-form { position: static; } .hs-cred-hero .hs-banda-hero-texto { padding-right: 190px; } .hs-cred-santiago { width: 170px; right: 10px; } }
@media (max-width: 600px) { .hs-cred-info { padding-left: 56px; } .hs-cred-ruta { width: 60px; } .hs-cred-num { left: -48px; width: 34px; height: 34px; line-height: 34px; font-size: 14px; } .hs-cred-paso { padding: 18px 16px 18px 20px; } .hs-cred-hero .hs-banda-hero-texto { padding-right: 18px; padding-bottom: 150px; } .hs-cred-santiago { width: 140px; right: 50%; transform: translateX(50%); } .hs-cred-form { padding: 20px 16px; } }
/* Portadas de boletines y publicaciones en rejilla (a.hs-revista > img + span) */
.hs-revistas { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px 18px; margin: 0 0 32px; }
.hs-revista, .hs-revista:link, .hs-revista:visited { display: block; text-align: center; text-decoration: none !important; color: var(--hs-burdeos) !important; }
.hs-revista img { display: block; width: 100%; height: auto; aspect-ratio: 139 / 200; object-fit: cover; border-radius: 8px; border: 1px solid var(--hs-crema-borde); box-shadow: 0 4px 12px rgba(90,0,0,.1); margin: 0; transition: transform .25s ease, box-shadow .25s ease; }
.hs-revista:hover img { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(90,0,0,.18); }
.hs-revista span { display: block; margin-top: 9px; font: 700 13px/1.35 'Open Sans', Arial, sans-serif; }
.hs-revista:hover span { text-decoration: underline; }
.hs-descarga img { width: 36px; height: 36px; flex: 0 0 36px; margin: 0; }
.hs-descarga:has(img)::before { display: none; }
@media (max-width: 600px) { .hs-revistas { grid-template-columns: repeat(2, 1fr); gap: 14px 12px; } }
html.hs-contraste .hs-revista img { border: 2px solid #fff !important; box-shadow: none !important; }
.hs-grupo-texto p > a:only-child[href*=".pdf"], .hs-grupo-texto p > a:only-child[href*="youtu"], .hs-grupo-texto p > a:only-child[href*="vimeo"], .hs-grupo-texto p > a:only-child[href*="video"] { display: inline-block; background: var(--hs-burdeos); color: #fff !important; padding: 10px 20px; border-radius: 22px; font: 700 14px 'Open Sans', Arial, sans-serif; text-decoration: none; margin: 4px 0 10px; }

/* Listado de noticias relacionadas en las páginas de etiqueta (Coronación, grupos) */
.hs-relacionadas-lista table.category { border: 0; width: 100%; }
.hs-relacionadas-lista table.category tbody { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.hs-relacionadas-lista table.category tr { display: block; border: 0; border-bottom: 1px solid #ece6da; background: none !important; }
.hs-relacionadas-lista table.category td { display: block; border: 0; padding: 0; }
.hs-relacionadas-lista table.category td a { display: block; position: relative; padding: 11px 8px 11px 26px; font: 15px/1.45 'Open Sans', Arial, sans-serif; color: #333; text-decoration: none; transition: color .15s ease, background .15s ease; }
.hs-relacionadas-lista table.category td a::before { content: "›"; position: absolute; left: 8px; top: 9px; font: 700 20px/1.2 Georgia, serif; color: #c9961a; }
.hs-relacionadas-lista table.category td a:hover { color: var(--hs-burdeos); background: #faf6ee; }
.hs-indice-etiqueta .hs-indice { margin-top: 10px; }
@media (max-width: 760px) { .hs-relacionadas-lista table.category tbody { grid-template-columns: 1fr; } }

/* ===== Noticias: plantilla moderna de la entrada (inc/noticias.php) =====
 * Se aplica a cualquier noticia automáticamente, sin tocar su contenido. Clases que pone la plantilla:
 *   .hs-noticia (contenedor .item-page)   .hs-not-cabecera (rótulo + título + compartir)   .hs-not-meta / .hs-not-etiqueta
 *   .hs-not-cuerpo (el texto)             .hs-not-entradilla (primer párrafo)               .hs-not-figura(-ancha | -der | -pequena)
 *   .hs-not-galeria-2/3/4 (fotos seguidas) .hs-not-video (iframes)                          .hs-not-tabla (tablas con datos)
 *   .hs-not-relacionadas (+ -titulo)       .hs-not-enlace (último enlace suelto -> botón)     .hs-not-mas (tres últimas noticias)
 */
body.single-post .item-page.hs-noticia { max-width: 760px; }
.hs-noticia .hs-not-cabecera { margin: 6px 0 26px; padding: 0; border: 0; }
.hs-not-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 12px; font: 700 12px/1.4 'Open Sans', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--hs-burdeos); }
.hs-not-meta time { color: var(--hs-burdeos); }
.hs-not-meta .hs-not-etiqueta, .hs-not-meta .hs-not-etiqueta:link, .hs-not-meta .hs-not-etiqueta:visited { color: var(--hs-burdeos); text-decoration: none; padding: 3px 10px; border: 1px solid rgba(90,0,0,.3); border-radius: 20px; letter-spacing: .1em; font-size: 11px; transition: background .15s ease, color .15s ease; }
.hs-not-meta .hs-not-etiqueta:hover { background: var(--hs-burdeos); color: #fff; }
.hs-not-meta time + .hs-not-etiqueta::before { content: none; }
.hs-noticia .hs-not-titulo, .hs-noticia .page-header h2.hs-not-titulo { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 40px; line-height: 1.15; color: var(--hs-burdeos); margin: 0 0 18px; padding: 0; background: none; text-shadow: none; letter-spacing: -.005em; }
.hs-noticia .hs-not-cabecera .hs-share { margin: 0 0 4px; gap: 8px; }
.hs-noticia .hs-not-cabecera .hs-share-btn { height: 28px; line-height: 28px; padding: 0 12px; border-radius: 14px; font-size: 12px; }
.hs-noticia .hs-not-cabecera .hs-share-btn svg { width: 14px; height: 14px; }
.hs-noticia .hs-not-cabecera::after { content: ""; display: block; width: 56px; height: 2px; background: var(--hs-dorado, #c9961a); margin-top: 22px; }

/* Texto: medida de línea cómoda y tipografía del sitio */
.hs-not-cuerpo { font-family: 'Open Sans', Arial, sans-serif; color: var(--hs-texto, #2b2b2b); }
.hs-not-cuerpo p, .hs-not-cuerpo li, .hs-not-cuerpo td { font-size: 16px; line-height: 1.75; }
.hs-not-cuerpo p { margin: 0 0 18px; }
.hs-not-cuerpo p[style*="justify"] { text-align: left !important; }
.hs-not-cuerpo p[style*="font-size"], .hs-not-cuerpo span[style*="font-size"], .hs-not-cuerpo span[style*="font-family"], .hs-not-cuerpo p[style*="font-family"] { font-size: inherit !important; font-family: inherit !important; }
.hs-not-cuerpo span[style*="color"], .hs-not-cuerpo p[style*="color"] { color: inherit !important; }
.hs-not-cuerpo p.hs-not-entradilla { font-family: 'Playfair Display', Georgia, serif; font-size: 20.5px; line-height: 1.55; color: #3a2a2a; margin-bottom: 22px; }
.hs-not-cuerpo a:not(.hs-zoom):not(.hs-boton) { color: var(--hs-burdeos); text-decoration: underline; text-decoration-color: rgba(90,0,0,.35); text-underline-offset: 3px; transition: text-decoration-color .15s ease; }
.hs-not-cuerpo a:not(.hs-zoom):not(.hs-boton):hover { text-decoration-color: var(--hs-burdeos); }
.hs-not-cuerpo h3, .hs-not-cuerpo h4, .hs-not-cuerpo h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; color: var(--hs-burdeos); background: none; text-shadow: none; padding: 0; margin: 28px 0 12px; line-height: 1.25; }
.hs-not-cuerpo h2 { font-size: 26px; } .hs-not-cuerpo h3 { font-size: 23px; } .hs-not-cuerpo h4 { font-size: 19px; }
.hs-not-cuerpo ul:not([class]), .hs-not-cuerpo ol:not([class]) { margin: 0 0 18px 24px; padding: 0; }
.hs-not-cuerpo ul:not([class]) li, .hs-not-cuerpo ol:not([class]) li { margin: 0 0 6px; }
.hs-not-cuerpo blockquote { margin: 0 0 20px; padding: 18px 24px; background: var(--hs-crema, #f6f0e4); border-left: 3px solid var(--hs-dorado, #c9961a); border-radius: 0 12px 12px 0; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; }
.hs-not-cuerpo hr { border: 0; border-top: 1px solid var(--hs-crema-borde, #e6dccb); margin: 26px 0; }
.hs-not-cuerpo > *:last-child { margin-bottom: 0; }

/* Imágenes */
.hs-not-cuerpo img { max-width: 100%; height: auto; border-radius: 10px; }
.hs-not-figura { margin: 0; }
.hs-not-figura img { display: block; width: 100%; height: auto; margin: 0; border-radius: 14px; }
.hs-not-figura a.hs-zoom { display: block; float: none !important; margin: 0; }
.hs-not-figura-ancha { margin: 0 0 28px; padding: 8px; background: #fff; border: 1px solid var(--hs-crema-borde, #e6dccb); border-radius: 18px; box-shadow: 0 10px 28px rgba(60,0,0,.1); }
.hs-not-figura-ancha img { border-radius: 12px; }
.hs-not-figura-der { float: right; width: 42%; max-width: 340px; margin: 6px 0 16px 30px; padding: 7px; background: #fff; border: 1px solid var(--hs-crema-borde, #e6dccb); border-radius: 16px; box-shadow: 0 8px 22px rgba(60,0,0,.1); }
.hs-not-figura-der img { border-radius: 10px; }
.hs-not-figura-pequena { width: auto; max-width: 300px; }
.hs-not-figura-pequena img { width: auto; max-width: 100%; }
.hs-not-figura figcaption { font-size: 13px; color: var(--hs-texto-suave, #5b5450); padding: 8px 4px 2px; text-align: center; }
.hs-not-cuerpo p img[style*="float: right"], .hs-not-cuerpo p img[style*="float:right"], .hs-not-cuerpo p a.hs-zoom[style*="right"] { margin: 4px 0 12px 24px; }
.hs-not-cuerpo p img[style*="float: left"], .hs-not-cuerpo p img[style*="float:left"], .hs-not-cuerpo p a.hs-zoom[style*="left"] { margin: 4px 24px 12px 0; }
/* Fotos seguidas: rejilla */
.hs-not-galeria { display: grid; gap: 14px; margin: 6px 0 26px; clear: both; }
.hs-not-galeria-1 { grid-template-columns: 1fr; }
.hs-not-galeria-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hs-not-galeria-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hs-not-galeria-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hs-not-galeria > * { margin: 0 !important; min-width: 0; float: none !important; display: block; }
.hs-not-galeria img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; margin: 0; border: 1px solid var(--hs-crema-borde, #e6dccb); box-shadow: 0 6px 18px rgba(60,0,0,.08); transition: transform .3s ease, box-shadow .3s ease; }
.hs-not-galeria-alta img { aspect-ratio: 3 / 4; }
.hs-not-galeria-1 img { aspect-ratio: auto; }
.hs-not-galeria a:hover img { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(90,0,0,.16); }
/* Vídeos y tablas */
.hs-not-video { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 6px 0 26px; border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 10px 28px rgba(60,0,0,.12); clear: both; }
.hs-not-video iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.hs-not-tabla { overflow-x: auto; margin: 6px 0 26px; clear: both; }
.hs-not-tabla table { width: 100%; max-width: 100%; border-collapse: collapse; font-size: 15px; }
.hs-not-tabla th { text-align: left; font: 700 11.5px/1.4 'Open Sans', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado, #c9961a); padding: 8px 12px; border-bottom: 2px solid var(--hs-crema-borde, #e6dccb); }
.hs-not-tabla td { padding: 9px 12px; border-bottom: 1px solid var(--hs-crema-borde, #e6dccb); vertical-align: top; }
/* Enlaces relacionados y descargas */
.hs-not-relacionadas-titulo { font: 700 12px/1.4 'Open Sans', Arial, sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--hs-dorado, #c9961a); margin: 26px 0 8px !important; clear: both; }
.hs-not-relacionadas { list-style: none; margin: 10px 0 18px; padding: 0; clear: both; border-top: 1px solid var(--hs-crema-borde, #e6dccb); }
.hs-not-relacionadas li { position: relative; margin: 0; padding: 11px 6px 11px 26px; border-bottom: 1px solid var(--hs-crema-borde, #e6dccb); font-size: 15.5px; line-height: 1.5; }
.hs-not-relacionadas li::before { content: ""; position: absolute; left: 6px; top: 19px; width: 9px; height: 9px; border-radius: 50%; background: var(--hs-dorado, #c9961a); }
.hs-not-relacionadas li a { font-weight: 700; text-decoration: none !important; }
.hs-not-relacionadas li a:hover { text-decoration: underline !important; }
.hs-not-relacionadas li a[href$=".pdf"]::after, .hs-not-enlace a[href$=".pdf"]::after { content: "PDF"; display: inline-block; margin-left: 8px; padding: 1px 6px; border-radius: 4px; background: var(--hs-burdeos); color: #fff; font: 700 10px/1.5 'Open Sans', Arial, sans-serif; letter-spacing: .08em; vertical-align: 2px; }
.hs-not-cuerpo p.hs-not-enlace { clear: both; margin-top: 8px; }
.hs-not-cuerpo p.hs-not-enlace a { display: inline-block; background: var(--hs-burdeos); color: #fff !important; padding: 11px 22px; border-radius: 24px; font: 700 14px/1.4 'Open Sans', Arial, sans-serif; text-decoration: none !important; transition: background .15s ease, transform .15s ease; }
.hs-not-cuerpo p.hs-not-enlace a:hover { background: #7a1010; transform: translateY(-1px); }
.hs-not-cuerpo p.hs-not-enlace a[href$=".pdf"]::after { background: #fff; color: var(--hs-burdeos); }
.hs-not-cuerpo::after { content: ""; display: table; clear: both; }

/* Más noticias */
.hs-not-mas { max-width: 1000px; margin: 54px auto 20px; padding-top: 30px; border-top: 1px solid var(--hs-crema-borde, #e6dccb); font-family: 'Open Sans', Arial, sans-serif; }
.hs-not-mas-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 20px; }
.hs-not-mas-titulo { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 28px; color: var(--hs-burdeos); margin: 0; padding: 0; background: none; position: relative; }
.hs-not-mas-titulo::after { content: ""; display: block; width: 46px; height: 2px; background: var(--hs-dorado, #c9961a); margin-top: 8px; }
.hs-not-mas-todas, .hs-not-mas-todas:link, .hs-not-mas-todas:visited { font-weight: 700; font-size: 14px; color: var(--hs-burdeos); text-decoration: none; }
.hs-not-mas-todas:hover { text-decoration: underline; }
.hs-not-mas-rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.hs-not-mas-tarjeta, .hs-not-mas-tarjeta:link, .hs-not-mas-tarjeta:visited { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--hs-crema-borde, #e6dccb); border-radius: 14px; overflow: hidden; text-decoration: none !important; color: var(--hs-texto, #2b2b2b); box-shadow: 0 2px 8px rgba(60,0,0,.05); transition: transform .18s ease, box-shadow .18s ease; min-width: 0; }
.hs-not-mas-tarjeta:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(80,0,0,.13); }
.hs-not-mas-foto { display: block; aspect-ratio: 3 / 2; background: #f1ecec; overflow: hidden; }
.hs-not-mas-foto img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; max-width: none; border-radius: 0; transition: transform .35s ease; }
.hs-not-mas-foto-entera { background: var(--hs-crema, #f6f0e4); }
.hs-not-mas-foto-entera img { object-fit: contain; }
.hs-not-mas-tarjeta:hover .hs-not-mas-foto img { transform: scale(1.04); }
.hs-not-mas-sinfoto { display: block; width: 100%; height: 100%; background: #f1ecec url('../../../../uploads/images/imagenes/escudo-hdad-color-nuevo.png') center/70px auto no-repeat; opacity: .5; }
.hs-not-mas-fecha { display: block; margin: 14px 16px 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hs-dorado, #c9961a); }
.hs-not-mas-tit { display: block; margin: 0 16px 18px; font-family: 'Playfair Display', Georgia, serif; font-size: 17px; line-height: 1.35; color: var(--hs-burdeos); }
.hs-not-mas-tarjeta:hover .hs-not-mas-tit { text-decoration: underline; text-decoration-color: rgba(90,0,0,.4); text-underline-offset: 3px; }

/* Responsive */
@media (max-width: 979px) { .hs-not-figura-der { width: 40%; margin-left: 22px; } .hs-noticia .hs-not-titulo, .hs-noticia .page-header h2.hs-not-titulo { font-size: 34px; } }
@media (max-width: 600px) {
    .hs-noticia .hs-not-titulo, .hs-noticia .page-header h2.hs-not-titulo { font-size: 27px; line-height: 1.2; margin-bottom: 14px; }
    .hs-noticia .hs-not-cabecera { margin-bottom: 20px; }
    .hs-noticia .hs-not-cabecera::after { margin-top: 16px; }
    .hs-not-meta { font-size: 11px; letter-spacing: .1em; }
    .hs-not-cuerpo p, .hs-not-cuerpo li, .hs-not-cuerpo td { font-size: 15.5px; line-height: 1.7; }
    .hs-not-cuerpo p.hs-not-entradilla { font-size: 18.5px; }
    .hs-not-figura-der, .hs-not-figura-pequena { float: none; width: auto; max-width: 340px; margin: 0 auto 20px; }
    .hs-not-figura-pequena img { max-width: 300px; margin: 0 auto; }
    .hs-not-figura-ancha { margin-bottom: 20px; padding: 6px; border-radius: 14px; }
    .hs-not-galeria { gap: 10px; }
    .hs-not-galeria-3, .hs-not-galeria-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-not-mas { margin-top: 40px; padding-top: 24px; }
    .hs-not-mas-cab { flex-direction: column; gap: 6px; }
    .hs-not-mas-titulo { font-size: 24px; }
    .hs-not-mas-rejilla { grid-template-columns: 1fr; gap: 14px; }
    .hs-not-mas-tarjeta { flex-direction: row; align-items: stretch; }
    .hs-not-mas-foto { flex: 0 0 120px; aspect-ratio: auto; min-height: 96px; }
    .hs-not-mas-fecha { margin: 12px 14px 4px; }
    .hs-not-mas-tit { margin: 0 14px 12px; font-size: 15.5px; }
}
/* Alto contraste */
html.hs-contraste .hs-not-meta, html.hs-contraste .hs-not-meta time, html.hs-contraste .hs-not-mas-fecha, html.hs-contraste .hs-not-relacionadas-titulo { color: #ffd400 !important; }
html.hs-contraste .hs-noticia .hs-not-cabecera::after, html.hs-contraste .hs-not-mas-titulo::after, html.hs-contraste .hs-not-relacionadas li::before { background: #ffd400 !important; }
html.hs-contraste .hs-not-figura-ancha, html.hs-contraste .hs-not-figura-der, html.hs-contraste .hs-not-mas-tarjeta, html.hs-contraste .hs-not-galeria img { border: 2px solid #fff !important; box-shadow: none !important; background: #000 !important; }
/* Noticias: galería sin recorte (fotos de la misma proporción) y listas escritas con guiones */
.hs-not-galeria-libre img { aspect-ratio: auto; object-fit: contain; }
.hs-not-galeria-libre { align-items: start; }
.hs-not-cuerpo ul.hs-not-lista { list-style: none; margin: 0 0 20px; padding: 0; }
.hs-not-cuerpo ul.hs-not-lista li { position: relative; padding-left: 22px; margin: 0 0 7px; }
.hs-not-cuerpo ul.hs-not-lista li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--hs-dorado, #c9961a); }
.hs-not-tabla table, .hs-not-tabla td, .hs-not-tabla th { border-left: 0; border-right: 0; border-top: 0; }
/* Páginas rediseñadas con el kit (Hazte hermano): botón blanco en la cabecera y preguntas frecuentes */
.hs-kit .hs-cabecera .hs-boton, .hs-kit .hs-cabecera .hs-boton:link, .hs-kit .hs-cabecera .hs-boton:visited { background: #fff; color: var(--hs-burdeos) !important; border-color: #fff; }
.hs-kit .hs-cabecera .hs-boton:hover { background: var(--hs-crema); }
.hs-kit .hs-cabecera-texto .hs-botones { margin: 14px 0 0; }
.hs-kit .hs-caja .hs-hh-ico { margin-bottom: 12px; }
.hs-kit .hs-caja .hs-caja-numero + h4 { margin-top: 0; }
.hs-kit .hs-caja .hs-botones { margin: 6px 0 0; }
.hs-kit .hs-faq details { border: 1.5px solid var(--hs-crema-borde); border-radius: 12px; margin: 0 0 10px; background: #fff; }
.hs-kit .hs-faq summary { font-family: 'Open Sans', Arial, sans-serif; color: var(--hs-burdeos); }
.hs-kit .hs-faq details p { font-size: 14.5px; }
.hs-kit .hs-dos-col .hs-ficha { margin: 0; }
.hs-kit .hs-dos-col .hs-foto img { aspect-ratio: 4 / 3; object-fit: cover; }

/* ===== Cabecera en móvil: compacta (logo y botón Menú en la misma línea, sin huecos) ===== */
@media (max-width: 979px) {
    #header .container { display: flex; flex-wrap: wrap; align-items: center; }
    #header #logo { flex: 1 1 0; min-width: 0; float: none; margin: 10px 0 !important; }
    #header .hs-logo { display: flex; align-items: center; gap: 8px; }
    #header .hs-logo-escudo { width: 40px; height: auto; flex: 0 0 auto; }
    #header .hs-logo-texto { font-size: clamp(17px, 5.4vw, 23px) !important; white-space: nowrap; line-height: 1.1; }
    #header .hs-burger { float: none; flex: 0 0 auto; margin: 0 0 0 8px !important; width: 50px; height: 46px; }
    #header #hs-cabecera-redes, #header #hs-menu-movil, #header #iceslideshow, #header #mainmenu, #header .hs-utilidades { flex: 0 0 100%; max-width: 100%; }
    #header #hs-menu-movil { margin: 0 0 10px; }
    #header #iceslideshow { margin: 0 0 10px !important; }
    #header #mainmenu { display: none !important; }
    #header .hs-utilidades { flex-wrap: nowrap; align-items: center; gap: 8px; margin: 0 0 8px !important; }
    #header .hs-utilidades .hs-tamano { flex: 0 0 auto; gap: 4px; margin: 0; }
    #header .hs-utilidades .hs-tamano-txt, #header .hs-utilidades .hs-tamano-estado { display: none; }
    #header .hs-utilidades .hs-tamano button { width: 34px; height: 34px; padding: 0; }
    #header .hs-utilidades #search { flex: 1 1 auto; min-width: 0; margin: 0; }
    #header .hs-utilidades #search input { width: 100% !important; box-sizing: border-box; height: 38px; }
    #content > .container > :first-child, #content .item-page > .page-header:first-child { margin-top: 0; }
}

/* ===== Aviso de cookies y contenido externo bloqueado ===== */
.hs-cookies { position: fixed; z-index: 100000; left: 16px; right: 16px; bottom: 16px; display: flex; justify-content: center; pointer-events: none; }
.hs-cookies[hidden] { display: none; }
.hs-cookies-caja { pointer-events: auto; width: 100%; max-width: 760px; background: #fff; border-radius: 16px; box-shadow: 0 18px 50px rgba(30,0,0,.28); border-top: 4px solid var(--hs-burdeos); padding: 20px 22px 18px; font-family: 'Open Sans', Arial, sans-serif; color: #333; }
.hs-cookies-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 20px; color: var(--hs-burdeos); margin: 0 0 6px; }
.hs-cookies-texto { font-size: 14px; line-height: 1.55; margin: 0 0 14px; }
.hs-cookies-texto a { color: var(--hs-burdeos); text-decoration: underline; }
.hs-cookies-config { background: #f6f0e4; border-radius: 10px; padding: 10px 14px; margin: 0 0 14px; display: grid; gap: 8px; }
.hs-cookies-config[hidden] { display: none; }
.hs-cookies-opcion { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; margin: 0; padding: 0; cursor: pointer; }
.hs-cookies-opcion input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--hs-burdeos); flex: 0 0 auto; }
.hs-cookies-botones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hs-cookies-btn { height: 44px; border-radius: 22px; border: 2px solid var(--hs-burdeos); background: var(--hs-burdeos); color: #fff; font: 700 14px 'Open Sans', Arial, sans-serif; cursor: pointer; padding: 0 12px; }
.hs-cookies-btn:hover { background: #3d0000; border-color: #3d0000; }
.hs-cookies-btn[hidden] { display: none; }
@media (max-width: 600px) { .hs-cookies { left: 8px; right: 8px; bottom: 8px; } .hs-cookies-caja { padding: 16px 14px 14px; } .hs-cookies-texto { font-size: 13px; } .hs-cookies-botones { grid-template-columns: 1fr 1fr; } .hs-cookies-botones .hs-cookies-btn:last-child:not([hidden]), .hs-cookies-botones [data-hs-cookies="configurar"] { grid-column: 1 / -1; } }
.hs-ext { position: relative; display: block; width: 100%; }
.hs-ext:not(.hs-ext-ok) iframe { visibility: hidden; }
.hs-ext:not(.hs-ext-ok) { background: #2a0a0a; border-radius: 12px; min-height: 220px; }
.hs-ext-aviso { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; text-align: center; color: #fff; font: 14px/1.5 'Open Sans', Arial, sans-serif; }
.hs-ext-ok .hs-ext-aviso { display: none; }
.hs-ext-txt { max-width: 440px; }
.hs-ext-ver { height: 42px; padding: 0 22px; border-radius: 21px; border: 0; background: #fff; color: var(--hs-burdeos); font: 700 14px 'Open Sans', Arial, sans-serif; cursor: pointer; }
.hs-ext-todo { background: none; border: 0; color: #f1d9a8; text-decoration: underline; font: 13px 'Open Sans', Arial, sans-serif; cursor: pointer; }
.hs-rgpd-info { font-size: 12px !important; line-height: 1.5; color: #666; margin: 8px 0 0 !important; padding: 8px 10px; background: rgba(255,255,255,.6); border-radius: 8px; }
.hs-rgpd-info a { color: var(--hs-burdeos); }
.hs-pie-legal { flex-wrap: wrap; }
.hs-banda-video > .hs-ext, .hs-not-video > .hs-ext, .hs-video-player > .hs-ext { position: absolute; inset: 0; min-height: 0; border-radius: 0; }
.hs-ext:not(.hs-ext-ok) { aspect-ratio: auto; }

/* =====================================================================================
   REVISIÓN 2026-10-23 · Bloque 1: maquetación en móvil, tablet y escritorio (informe B1–B17)
   ===================================================================================== */

/* B1. Margen lateral del cuerpo en móvil (por si alguna hoja heredada vuelve a anularlo: jsn-general.css ya no se carga) */
@media (max-width: 767px) { html body.hs { padding-left: 20px; padding-right: 20px; } }

/* B2. Formularios [hs_formulario] (Credencial, DVD): todos los campos del mismo ancho y dentro de su caja, en Open Sans */
.hs-form .jsn-row-container .control-group, .hs-form .control-group { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0; margin-right: 0; }
.hs-form .controls { margin-left: 0 !important; width: 100%; }
.hs-form .jsn-input-medium-fluid, .hs-form .jsn-input-small-fluid, .hs-form .jsn-input-xlarge-fluid, .hs-form input[type=text], .hs-form input[type=email], .hs-form input[type=tel], .hs-form input[type=date], .hs-form input[type=number], .hs-form select, .hs-form textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.hs-form input[type=date] { -webkit-appearance: none; appearance: none; display: block; min-height: 42px; line-height: 40px; }
.hs-form .control-label, .hs-form .control-label label, .hs-form .control-group > label { font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 600 !important; font-size: 13.5px !important; color: #3a3a3a; }
.hs-form .hs-rgpd, .hs-form .hs-rgpd-info, .hs-form .form-actions, .hs-form .jsn-form-submit { margin-left: 0 !important; margin-right: 0 !important; max-width: 100%; box-sizing: border-box; }
.hs-cred-form { box-sizing: border-box; max-width: 100%; }
.hs-cred-cols > * { min-width: 0; }

/* B3. Botón «Subir»: botón redondo flotante en granate (no una barra en móvil ni el cuadrado gris heredado) */
#gotop { position: static; }
#gotop .scrollup, #gotop .scrollup:link, #gotop .scrollup:visited { position: fixed !important; float: none !important; clear: none; left: auto !important; right: 16px; bottom: -70px; width: 46px !important; height: 46px; margin: 0 !important; padding: 0 !important; border-radius: 50%; background: var(--hs-burdeos) !important; box-shadow: 0 6px 16px rgba(60,0,0,.28); text-indent: -9999px; overflow: hidden; z-index: 950; opacity: 0; transition: bottom .25s ease, opacity .25s ease, background .15s ease; }
#gotop .scrollup:after { content: ""; position: absolute; inset: 0; width: 46px !important; height: 46px; background: none; border: solid #fff; border-width: 2.5px 0 0 2.5px; width: 12px !important; height: 12px; inset: auto; left: 17px; top: 19px; transform: rotate(45deg); }
#gotop .scrollup:hover, #gotop .scrollup:focus-visible { background: #7a1a1a !important; }
#gotop .scrollup:hover:after { transform: rotate(45deg) translate(-1px, -1px); }
#gotop.gotop_active .scrollup { bottom: 16px; opacity: 1; }
body:has(.hs-pedido-barra) #gotop.gotop_active .scrollup { bottom: 76px; }
html.hs-cookies-abierto #gotop .scrollup { opacity: 0; pointer-events: none; }

/* B4. Contenido centrado: sin el margen negativo de Bootstrap 2 en .row (tablet y escritorio) */
#content > .container > .row { margin-left: 0; margin-right: 0; }
#content #middlecol.hs-middlecol-completo { margin-left: 0; margin-right: 0; width: 100%; float: none; box-sizing: border-box; }

/* B5/B6. Carrito: botón del cupón (por si se vuelven a activar) y «Finalizar compra» dentro de su caja, centrado */
.woocommerce-cart .coupon .button, .hs-tienda button[name="apply_coupon"] { white-space: nowrap; height: auto !important; min-height: 42px; line-height: 1.2 !important; }
.hs-tienda .wc-proceed-to-checkout a.checkout-button, .wc-proceed-to-checkout .checkout-button { box-sizing: border-box; width: 100% !important; max-width: 100%; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; text-align: center; min-height: 50px; }
.hs-tienda .cart_totals table.shop_table th { padding-right: 12px; }
.hs-tienda .cart_totals table.shop_table td { text-align: right; }
@media (max-width: 767px) {
    .hs-tienda .cart_totals table.shop_table_responsive tr td::before { margin-right: 10px; }
    .hs-tienda table.shop_table td.actions .hs-seguir, .hs-tienda table.shop_table td.actions button[name="update_cart"] { width: 100%; box-sizing: border-box; margin: 0 !important; display: flex !important; align-items: center; justify-content: center; }
}

/* B8. Tienda en móvil: número del paso dentro de la tarjeta, a la izquierda y centrado */
@media (max-width: 767px) {
    .hs-paso { padding-left: 46px; }
    .hs-paso-num { left: 12px !important; right: auto !important; top: 50% !important; transform: translateY(-50%) !important; width: 24px; height: 24px; line-height: 24px; text-align: center; padding: 0; }
}
.hs-paso-num { text-align: center; }

/* B9. Tablas de las páginas legales: en móvil cada fila es una ficha y se ven todas las columnas (la etiqueta sale de la cabecera) */
@media (max-width: 600px) {
    table.hs-tabla, table.hs-tabla tbody, table.hs-tabla tr, table.hs-tabla td { display: block; width: 100%; box-sizing: border-box; }
    table.hs-tabla { overflow: visible; border: 0; }
    table.hs-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    table.hs-tabla tr { background: #fff; border: 1px solid var(--hs-crema-borde); border-radius: 12px; padding: 6px 14px; margin: 0 0 12px; }
    table.hs-tabla td { border: 0; border-bottom: 1px solid #f0e9dc; padding: 8px 0; }
    table.hs-tabla td:last-child { border-bottom: 0; }
    table.hs-tabla td:first-child { font-weight: 700; color: var(--hs-burdeos); }
    table.hs-tabla td[data-label]::before { content: attr(data-label); display: block; font: 700 11px/1.3 'Open Sans', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #8a6510; margin: 0 0 2px; }
}

/* B10. Próximos actos: el mes completo dentro de la banda granate, a todo el ancho de la ficha */
.dp-upcoming-calendar { position: relative; display: flex; flex-direction: column; }
.dp-upcoming-calendar-background { display: none !important; }
.dp-upcoming-text-month { position: static !important; display: block; width: 100% !important; height: auto !important; min-height: 20px; line-height: 20px !important; padding: 1px 0 !important; margin: 0 !important; background: var(--hs-burdeos) !important; color: #fff !important; text-align: center; overflow: visible; box-sizing: border-box; }
.dp-upcoming-text-day { display: block; width: 100%; text-align: center; height: auto !important; line-height: 32px !important; }

/* B11. Portada en tablet: las 3 últimas noticias en 3 columnas (sin tarjeta huérfana) */
@media (min-width: 700px) and (max-width: 979px) {
    .hs-rejilla.hs-rejilla-portada { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .hs-rejilla-portada .hs-tarjeta-titulo { font-size: 17px; }
    .hs-rejilla-portada .hs-tarjeta-texto { font-size: 14px; line-height: 1.5; }
    .hs-bloques > .hs-bloque:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* B12. Hazte hermano (y demás cabeceras del kit) en móvil: rótulo superior más compacto y con aire */
@media (max-width: 600px) {
    .hs-cabecera { min-height: 340px; }
    .hs-cabecera-texto { padding-top: 70px; }
    .hs-cabecera-sobre, .hs-kit .hs-cabecera-texto p.hs-cabecera-sobre { font-size: 10.5px; letter-spacing: .08em; line-height: 1.45; margin-bottom: 10px; }
}

/* B13. Banner de la Credencial en la portada (móvil): sin caja oscura cortada y el botón sin tocar la figura de Santiago */
@media (max-width: 600px) {
    .hs-credencial-texto::before { inset: -6px -20px; border-radius: 0; filter: none; background: linear-gradient(180deg, rgba(60,0,0,.55) 0%, rgba(60,0,0,.35) 100%); }
    .hs-credencial-accion { margin-left: 0; width: 100%; padding-right: 112px; box-sizing: border-box; }
    .hs-credencial-boton, .hs-credencial-boton:link, .hs-credencial-boton:visited { width: 100%; padding: 12px 14px; gap: 8px; font-size: 14px; }
    .hs-credencial-flecha { width: 22px; height: 22px; flex: 0 0 22px; }
}

/* B14. Menú móvil: el botón de cerrar se queda a la vista al bajar por el menú desplegado, y hay otro al final */
@media (max-width: 979px) {
    /* Con el menú abierto, el botón (que pasa a ser «cerrar») queda fijo arriba a la derecha, en el mismo sitio donde está con la página arriba del todo */
    html.hs-menu-abierto #header .hs-burger { position: fixed; top: 14px; right: 20px; z-index: 1001; margin: 0 !important; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
    html.hs-menu-abierto #header #logo { margin-right: 58px !important; }
    html.hs-menu-abierto #header { overflow: visible; }
    html.hs-menu-abierto #header .hs-burger { right: max(20px, calc((100vw - 724px) / 2)); }
    .hs-movil-cerrar { display: flex; align-items: center; justify-content: center; gap: 8px; width: calc(100% - 36px); min-height: 46px; margin: 14px 18px 0; border: 1.5px solid rgba(255,255,255,.6); border-radius: 23px; background: transparent; color: #fff; font: 700 15px 'Open Sans', Arial, sans-serif; cursor: pointer; }
    .hs-movil-cerrar svg { width: 18px; height: 18px; }
    .hs-movil-cerrar:hover, .hs-movil-cerrar:focus-visible { background: rgba(255,255,255,.12); }
    .hs-movil-mas { width: 44px; height: 44px; top: 3px; }
}
.hs-movil-cerrar { display: none; }
@media (max-width: 979px) { .hs-movil .hs-movil-cerrar { display: flex; } }

/* B15. Zonas táctiles de 44 px en móvil: pie, compartir, A− A A+, lupa, paginación, contenido externo */
@media (max-width: 979px) {
    ul.hs-pie-menu li { margin: 0; }
    ul.hs-pie-menu li a { display: flex; align-items: center; min-height: 44px; padding-top: 0; padding-bottom: 0; }
    ul.hs-pie-menu li a:before { top: 50%; transform: translateY(-50%); }
    ul.hs-pie-legal { gap: 0 18px; }
    ul.hs-pie-legal li a { display: inline-flex; align-items: center; min-height: 44px; }
    .hs-pie-creditos a { display: inline-flex; align-items: center; min-height: 44px; }
    .hs-pie-iconos { gap: 10px; flex-wrap: wrap; }
    .hs-pie-iconos .hs-red { width: 44px; height: 44px; flex: 0 0 44px; }
    .hs-share { gap: 8px; }
    .hs-share-btn, .hs-noticia .hs-not-cabecera .hs-share-btn { height: 44px !important; line-height: 44px !important; padding: 0 14px !important; border-radius: 22px !important; font-size: 13px !important; }
    #header .hs-utilidades .hs-tamano button { width: 44px; height: 44px; font-size: 16px; }
    #header .hs-utilidades #search input { height: 44px; padding-right: 50px; }
    #header #search .hs-search-btn, .hs-utilidades #search .hs-search-btn { width: 40px; height: 40px; right: 2px; }
    .pagination-list li a, .pagination ul li a, a.pagenav { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; }
    .hs-ext-todo { min-height: 44px; padding: 0 10px; }
    .hs-not-mas-todas, .hs-tarjeta-mas { display: inline-flex; align-items: center; min-height: 44px; }
    .acyterms input[type=checkbox], .hs-form input[type=checkbox], .hs-tienda input[type=checkbox] { width: 20px; height: 20px; }
}

/* B16. Tarjetas de vídeo: en móvil, hasta 3 líneas de título */
@media (max-width: 600px) { .hs-video-titulo { -webkit-line-clamp: 3 !important; line-clamp: 3; max-height: none; } }

/* B17. Credencial en escritorio: «Más noticias» al mismo ancho que el resto de la página */
body.single-post .item-page:has(.hs-cred) ~ .hs-not-mas { max-width: none; }

/* =====================================================================================
   REVISIÓN 2026-10-23 · Bloque 2: títulos h1, contraste, páginas rehechas y limpieza
   ===================================================================================== */

/* SEO: el título de cada página, noticia y categoría es ahora un h1 con el MISMO aspecto que tenía el h2 (Merriweather 2em granate) */
h1.hs-h1 { font-family: 'Merriweather', serif; font-size: 2em; font-weight: 400; font-style: normal; line-height: 40px; color: #6d0000; margin: 10px 0; padding: 0; letter-spacing: normal; text-transform: none; background: none; text-shadow: none; }
@media (max-width: 600px) { h1.hs-h1 { line-height: 1.3; } }
h1.hs-not-titulo { padding: 0; background: none; text-shadow: none; text-transform: none; }
h1.hs-seccion-titulo { text-transform: none; text-shadow: none; }
/* Donde la página ya tiene su propia cabecera con el título (Banda, grupos), el h1 queda solo para buscadores y lectores de pantalla */
body.page .item-page:has(.hs-banda-hero) .tag-category > h1, body.page .item-page:has(.hs-grupo) .tag-category > h1 { display: block !important; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
html.hs-contraste h1.hs-h1 { color: #fff !important; }

/* Contraste AA: el dorado de los textos pequeños se oscurece (#8a6510: 5,3:1 sobre blanco y 4,7:1 sobre crema); las líneas y adornos dorados no cambian */
:root { --hs-dorado-texto: #8a6510; }
.hs-etiqueta, .hs-dato strong, .hs-ficha dt, .hs-firma span, .hs-tabla th, .hs-not-mas-fecha, .hs-sumario .hs-etiqueta, .hs-miembro-cargo { color: var(--hs-dorado-texto); }
.hs-share-wa { background: #0f7a5c; }
.hs-share-fb { background: #1464d2; }
.pagination .counter, .pagination-list li a, .pagination-list li a.pagenav, a.pagenav, .hs-videos-contador, .hs-video-meta, .hs-prod-contador, dd.result-created, .hs-prod-unidad, .hs-tamano-estado, dd.result-category .small { color: #666 !important; }
.hs-carrito-aviso, .hs-tienda .woocommerce-privacy-policy-text, .hs-tienda .woocommerce-privacy-policy-text p { color: #5f5f5f; }
.hs-calendario td.vacio .num { color: #8a8a8a; }
.badge.badge-info { background-color: #2d6a8a; }
.hs-cookies-btn:focus-visible, .hs-boton:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid #c9961a; outline-offset: 2px; }

/* Paginación heredada: «Inicio» y «Anterior» eran iconos de una imagen que no existe (salían vacíos) */
.pagination [class^="icon-"], .pagination [class*=" icon-"] { background-image: none !important; width: auto; height: auto; margin: 0; vertical-align: baseline; }
.pagination .icon-first::before { content: "«"; } .pagination .icon-previous::before { content: "‹"; }
.pagination .icon-first::before, .pagination .icon-previous::before { font-style: normal; font-size: 16px; line-height: 1; }

/* Restos de legacy: imágenes de fondo que no existen (ni se ven): no se piden */
[class^="icon-"], [class*=" icon-"], .dropdown-menu > li > a:hover > [class^="icon-"], p.readmore a.btn span.icon-chevron-right { background-image: none !important; }
#footer #copyright, .blog .items-leading [class*="leading"] { background-image: none !important; }
.fb_share_large .fb_sharecount_zero { background-image: none !important; }

/* Carrito: un <br> suelto dentro de «Finalizar compra» empujaba el texto hacia abajo */
.wc-proceed-to-checkout .checkout-button br { display: none; }

/* Contacto: las fichas de datos no parten palabras y en móvil van en una columna */
.hs-dato { overflow-wrap: anywhere; }
@media (max-width: 480px) { .hs-datos, .hs-kit .hs-datos { grid-template-columns: 1fr !important; } }

/* Pie: «Configurar cookies» es un botón con aspecto de enlace */
.hs-pie-boton-enlace { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #fff; cursor: pointer; text-align: left; }
.hs-pie-boton-enlace:hover, .hs-pie-boton-enlace:focus-visible { text-decoration: underline; }
@media (max-width: 979px) { ul.hs-pie-legal li .hs-pie-boton-enlace { display: inline-flex; align-items: center; min-height: 44px; } }

/* ===== Cabecera común de las páginas de servicio (Agenda, Vídeos, Boletín, Mapa web) ===== */
.hs-pag-cab { margin: 6px 0 26px; padding: 0 0 18px; border-bottom: 1px solid var(--hs-crema-borde); }
.hs-pag-sobre { font: 700 11.5px/1.3 'Open Sans', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--hs-dorado-texto); margin: 0 0 6px; }
.hs-pag-cab h1.hs-pag-titulo { margin: 0 0 10px; }
.hs-pag-intro { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; line-height: 1.55; color: #3a2a2a; margin: 0; padding: 2px 0 2px 18px; border-left: 3px solid var(--hs-dorado); max-width: 760px; }
@media (max-width: 600px) { .hs-pag-intro { font-size: 17px; } }

/* ===== Agenda ===== */
.hs-pag-agenda .hs-toggle-calendarios, .hs-pag-agenda #dpcalendar_view_list { display: none !important; }
.hs-agenda-vacia { background: var(--hs-crema); border-radius: 18px; padding: 24px 26px; margin: 18px 0 30px; }
.hs-agenda-vacia-cab { display: flex; gap: 16px; align-items: flex-start; margin: 0 0 16px; }
.hs-agenda-vacia-ico { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; background: var(--hs-burdeos); display: flex; align-items: center; justify-content: center; }
.hs-agenda-vacia-ico svg { width: 26px; height: 26px; fill: #fff; }
h2.hs-agenda-vacia-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; line-height: 1.25; color: var(--hs-burdeos); margin: 2px 0 6px; padding: 0; background: none; }
.hs-agenda-vacia-cab p { margin: 0; font-size: 15px; line-height: 1.6; color: #444; }
ul.hs-agenda-fijos { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
ul.hs-agenda-fijos li { display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 12px; padding: 12px 14px; box-shadow: 0 2px 8px rgba(60,0,0,.06); margin: 0; }
.hs-agenda-fecha { flex: 0 0 52px; width: 52px; border-radius: 8px; overflow: hidden; border: 1px solid #e3d6d6; text-align: center; background: #fff; }
.hs-agenda-fecha-mes { display: block; background: var(--hs-burdeos); color: #fff; font: 700 11px/20px 'Open Sans', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.hs-agenda-fecha-dia { display: block; color: var(--hs-burdeos); font: 700 22px/32px 'Open Sans', Arial, sans-serif; }
.hs-agenda-fijo-txt { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; line-height: 1.4; }
.hs-agenda-fijo-cuando { font-size: 12.5px; color: #666; }
.hs-agenda-fijo-txt a { color: var(--hs-burdeos); font-weight: 600; text-decoration: none; }
.hs-agenda-fijo-txt a:hover { text-decoration: underline; }
.hs-agenda-nota { font-size: 13px; color: #666; margin: 6px 0 16px; }
.hs-agenda-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.hs-agenda-acciones .hs-boton { min-height: 44px; display: inline-flex; align-items: center; box-sizing: border-box; }
.hs-agenda-pasados { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--hs-crema-borde); }
.hs-agenda-pasados h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; color: var(--hs-burdeos); background: none; margin: 0 0 8px; padding: 0; }
.hs-agenda-pasados ul { margin: 0; padding: 0 0 0 18px; }
.hs-agenda-pasados li { margin: 0 0 6px; font-size: 14.5px; }
.hs-agenda-pasados .fecha { color: #666; font-size: 13px; margin-right: 6px; }
.hs-agenda-pasados a { color: var(--hs-burdeos); }
body.hs .hs-agenda-nav { gap: 10px; margin: 16px 0 12px; }
body.hs .hs-agenda-nav .btn-group { gap: 6px; flex-wrap: wrap; }
body.hs .hs-agenda-nav a.btn.btn-mini, body.hs .hs-agenda-nav button.btn.btn-mini { min-width: 44px; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; margin: 0; border-radius: 22px; font: 600 14px 'Open Sans', Arial, sans-serif; box-sizing: border-box; background: #fff; background-image: none; color: var(--hs-burdeos); border: 1.5px solid var(--hs-burdeos); text-shadow: none; box-shadow: none; cursor: pointer; }
body.hs .hs-agenda-nav .hs-agenda-izq a.btn.btn-mini:first-child, body.hs .hs-agenda-nav .hs-agenda-izq a.btn.btn-mini:nth-child(2) { font-size: 22px; padding: 0; line-height: 1; }
body.hs .hs-agenda-nav a.btn.btn-mini.active { background: var(--hs-burdeos); color: #fff; }
body.hs .hs-agenda-nav a.btn.btn-mini:hover, body.hs .hs-agenda-nav button.btn.btn-mini:hover { background: var(--hs-crema); color: var(--hs-burdeos); }
body.hs .hs-agenda-nav a.btn.btn-mini.active:hover { background: #7a1a1a; color: #fff; }
.hs-agenda-nav h2.hs-agenda-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 26px; color: var(--hs-burdeos); }
.hs-pag-agenda .hs-calendario { border-radius: 12px; overflow: hidden; border: 1px solid var(--hs-crema-borde); border-collapse: separate; border-spacing: 0; }
.hs-pag-agenda .hs-calendario th { background: var(--hs-burdeos); color: #fff; border: 0; padding: 8px 2px; font: 700 12px 'Open Sans', Arial, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.hs-pag-agenda .hs-calendario td { border: 0; border-right: 1px solid #f0e9dc; border-bottom: 1px solid #f0e9dc; }
.hs-pag-agenda .hs-calendario td.hoy { background: var(--hs-crema); }
.hs-pag-agenda .hs-calendario td.hoy .num { color: var(--hs-burdeos); font-weight: 700; }
.hs-pag-agenda .hs-calendario .acto { background: var(--hs-burdeos); border-radius: 4px; padding: 2px 5px; }
.hs-pag-agenda .hs-agenda-lista { list-style: none; margin: 10px 0 0; padding: 0; }
.hs-pag-agenda .hs-agenda-lista li { padding: 10px 0; border-bottom: 1px solid #f0e9dc; }
@media (max-width: 767px) {
    ul.hs-agenda-fijos { grid-template-columns: 1fr; }
    .hs-agenda-vacia { padding: 18px 16px; }
    .hs-agenda-vacia-cab { flex-direction: column; gap: 10px; }
    h2.hs-agenda-vacia-titulo { font-size: 21px; }
    .hs-agenda-acciones .hs-boton { width: 100%; justify-content: center; text-align: center; }
    .hs-pag-agenda .hs-calendario td { height: 46px; padding: 2px; }
    .hs-pag-agenda .hs-calendario .acto { font-size: 0; height: 8px; padding: 0; border-radius: 4px; }
}

/* ===== Boletín de noticias ===== */
.hs-bol-pagina { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 34px; align-items: start; margin: 0 0 30px; }
.hs-bol-tarjeta { position: relative; background: var(--hs-burdeos); background-image: radial-gradient(ellipse at 10% 0%, rgba(255,255,255,.10) 0, rgba(255,255,255,0) 60%), linear-gradient(140deg, #6a0404 0%, #5a0000 55%, #3f0000 100%); color: #fff; border-radius: 20px; padding: 30px 30px 24px; box-shadow: 0 14px 34px rgba(60,0,0,.18); }
.hs-bol-icono { width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); display: flex; align-items: center; justify-content: center; margin: 0 0 12px; }
.hs-bol-icono svg { width: 26px; height: 26px; fill: #fff; }
h2.hs-bol-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 27px; line-height: 1.2; color: #fff; margin: 0 0 18px; padding: 0; background: none; }
.hs-bol-form p { margin: 0 0 14px; }
.hs-bol-campo label { display: block; font: 600 13px 'Open Sans', Arial, sans-serif; color: rgba(255,255,255,.9); margin: 0 0 6px; }
.hs-bol-campo input { display: block; width: 100%; box-sizing: border-box; height: 46px; border: 0; border-radius: 10px; padding: 0 14px; font: 15px 'Open Sans', Arial, sans-serif; color: #2b2b2b; background: #fff; box-shadow: none; margin: 0; }
.hs-bol-campo input:focus { outline: 3px solid #c9961a; outline-offset: 0; }
.hs-bol-rgpd label { display: flex; gap: 10px; align-items: flex-start; font: 13.5px/1.5 'Open Sans', Arial, sans-serif; color: rgba(255,255,255,.92); margin: 0; cursor: pointer; }
.hs-bol-rgpd input { flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #c9961a; }
.hs-bol-rgpd a { color: #fff; text-decoration: underline; }
.hs-bol-botones { margin: 4px 0 14px !important; }
.hs-bol-tarjeta .hs-boton.hs-bol-alta { width: 100%; min-height: 48px; justify-content: center; background: #fff; color: var(--hs-burdeos) !important; border: 0; font-size: 15px; cursor: pointer; }
.hs-bol-tarjeta .hs-boton.hs-bol-alta:hover { background: var(--hs-crema); }
.hs-bol-info { font-size: 12px !important; line-height: 1.5; color: rgba(255,255,255,.75); }
.hs-bol-baja { border-top: 1px solid rgba(255,255,255,.2); padding-top: 12px; }
.hs-bol-baja summary { cursor: pointer; font: 600 14px 'Open Sans', Arial, sans-serif; color: #fff; min-height: 44px; display: flex; align-items: center; }
.hs-bol-baja p { font-size: 13.5px; color: rgba(255,255,255,.85); }
.hs-bol-baja .hs-boton.hs-boton-claro { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,.7); min-height: 44px; cursor: pointer; }
.hs-bol-baja .hs-boton.hs-boton-claro:hover { background: rgba(255,255,255,.12); }
.hs-bol-tarjeta .hs-bol-msg { background: rgba(255,255,255,.95); color: #2b2b2b; border: 0; border-left: 4px solid #c9961a; border-radius: 8px; padding: 10px 14px; font-size: 14px; margin: 0 0 16px; }
.hs-bol-tarjeta .hs-hp { position: absolute; left: -9999px; }
ul.hs-bol-ventajas { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
ul.hs-bol-ventajas li { background: var(--hs-crema); border-radius: 14px; padding: 16px 18px 16px 52px; position: relative; margin: 0; }
ul.hs-bol-ventajas li::before { content: "✓"; position: absolute; left: 16px; top: 15px; width: 24px; height: 24px; border-radius: 50%; background: var(--hs-burdeos); color: #fff; font: 700 13px/24px 'Open Sans', Arial, sans-serif; text-align: center; }
ul.hs-bol-ventajas strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 18px; color: var(--hs-burdeos); margin: 0 0 2px; }
ul.hs-bol-ventajas span { font-size: 14.5px; line-height: 1.5; color: #444; }
@media (max-width: 860px) { .hs-bol-pagina { grid-template-columns: 1fr; gap: 22px; } }
@media (max-width: 600px) { .hs-bol-tarjeta { padding: 22px 18px 18px; border-radius: 16px; } h2.hs-bol-titulo { font-size: 23px; } }

/* ===== Mapa web ===== */
.hs-mapa { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0 0 30px; align-items: start; }
.hs-mapa-sec { background: #fff; border: 1px solid var(--hs-crema-borde); border-radius: 16px; padding: 18px 20px 14px; box-shadow: 0 4px 14px rgba(60,0,0,.04); }
h2.hs-mapa-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 21px; line-height: 1.25; color: var(--hs-burdeos); margin: 0 0 10px; padding: 0 0 10px; background: none; border-bottom: 2px solid var(--hs-crema); }
h2.hs-mapa-titulo a { color: var(--hs-burdeos); text-decoration: none; }
h2.hs-mapa-titulo a:hover { text-decoration: underline; }
ul.hs-mapa-lista, ul.hs-mapa-lista ul { list-style: none; margin: 0; padding: 0; }
ul.hs-mapa-lista ul { padding-left: 16px; }
ul.hs-mapa-lista li { margin: 0; font-size: 14.5px; line-height: 1.4; }
ul.hs-mapa-lista a { display: flex; align-items: center; gap: 6px; min-height: 36px; color: #333; text-decoration: none; padding: 2px 0 2px 14px; position: relative; }
ul.hs-mapa-lista a::before { content: "›"; position: absolute; left: 0; color: var(--hs-dorado); font-weight: 700; }
ul.hs-mapa-lista a:hover { color: var(--hs-burdeos); text-decoration: underline; }
.hs-mapa-tipo { font: 700 10px/1 'Open Sans', Arial, sans-serif; letter-spacing: .06em; color: var(--hs-dorado-texto); border: 1px solid currentColor; border-radius: 4px; padding: 2px 4px; }
.hs-mapa-ext { color: #888; font-size: 12px; }
@media (max-width: 979px) { .hs-mapa { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .hs-mapa { grid-template-columns: 1fr; } ul.hs-mapa-lista a { min-height: 44px; } }

/* ===== Vídeos y galerías: cabecera y títulos ===== */
.hs-pag-videos .hs-videos-contador { margin-top: 0; }

/* ===== Coronación (y Banda): «Noticias relacionadas» con las 20 primeras y «Ver más» ===== */
details.hs-relacionadas-mas { margin: 0; }
details.hs-relacionadas-mas > summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; margin: 14px auto 6px; max-width: 360px; border: 1.5px solid var(--hs-burdeos); border-radius: 23px; color: var(--hs-burdeos); font: 700 14.5px 'Open Sans', Arial, sans-serif; cursor: pointer; background: #fff; }
details.hs-relacionadas-mas > summary::-webkit-details-marker { display: none; }
details.hs-relacionadas-mas > summary::after { content: "▾"; font-size: 14px; }
details.hs-relacionadas-mas[open] > summary::after { content: "▴"; }
details.hs-relacionadas-mas > summary:hover { background: var(--hs-crema); }
details.hs-relacionadas-mas .hs-rel-cerrar, details.hs-relacionadas-mas[open] .hs-rel-abrir { display: none; }
details.hs-relacionadas-mas[open] .hs-rel-cerrar { display: inline; }
details.hs-relacionadas-mas[open] > summary { order: 2; }
details.hs-relacionadas-mas > table { margin-top: 8px; }
/* Mapa web en columnas tipo «muro» (sin huecos entre tarjetas de distinto alto) */
.hs-mapa { display: block; columns: 3 280px; column-gap: 18px; }
.hs-mapa-sec { break-inside: avoid; page-break-inside: avoid; display: inline-block; width: 100%; box-sizing: border-box; margin: 0 0 18px; }
@media (max-width: 600px) { .hs-mapa { columns: 1; } }
.hs-bol-baja summary { list-style: none; gap: 6px; }
.hs-bol-baja summary::-webkit-details-marker { display: none; }
.hs-bol-baja summary::after { content: "▾"; font-size: 12px; }
.hs-bol-baja[open] summary::after { content: "▴"; }

/* REVISIÓN 2026-10-23 · Bloque 3: ajustes tras volver a pasar la auditoría */
.hs-dato-burdeos strong { color: rgba(255,255,255,.8); }                 /* sobre granate, el rótulo sigue en blanco (no en el dorado oscuro) */
.hs-calendario td.vacio .num, .hs-pag-agenda .hs-calendario td.vacio .num { color: #767676; }
.hs-tienda .cart_totals small.hs-carrito-aviso, .hs-tienda small.hs-carrito-aviso { color: #5f5f5f !important; }
@media (max-width: 600px) { table.hs-tabla thead { display: none; } }  /* la cabecera ya va en cada celda (data-label) */
@media (max-width: 979px) {
    .hs-pie-boletin .acymailing_form input.inputbox { height: 44px; }
    .hs-pie-boletin .acymailing_form input.button, .hs-pie-boletin .acymailing_form .subbutton { min-height: 44px; }
    .hs-pie-boletin .acyterms input[type=checkbox] { width: 22px; height: 22px; }
    ul.hs-pie-datos li a { display: inline-flex; align-items: center; min-height: 44px; }
    .hs-ver-calendario a, .hs-dato a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* Patrocinadores: los teléfonos se ven todos igual (el móvil no los convierte en botón) */
.hs-patrocinador a[href^="tel"], .hs-patrocinador a[x-apple-data-detectors], .hs-patro-dato a { color: inherit !important; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; font: inherit !important; text-decoration: none !important; border-radius: 0 !important; display: inline !important; -webkit-appearance: none; appearance: none; }

/* =====================================================================================
   EXPOSICIÓN VIRTUAL «CASTILLEJA DE SANTIAGO» (/exposicion/ y sus 16 subpáginas)
   Todo el contenido (textos, fotos, orden, enlaces) se edita desde WordPress › Páginas › Exposición.
   Aquí solo está el aspecto: estantería de lomos, vitrinas con libros y piezas como libro abierto.
   ===================================================================================== */
.hs-museo { --mu-cuero1: #5a0000; --mu-cuero2: #23391f; --mu-cuero3: #1f2b48; --mu-cuero4: #5b3417; --mu-cuero5: #3d1b2c; --mu-oro: #c9a14a; --mu-oro-claro: #e8cf8d; --mu-papel: #f6efdf; --mu-papel2: #ece0c4; --mu-tinta: #2c2118; --mu-nogal: #2a1a10; }
/* El título de WordPress (h1) queda para buscadores y lectores de pantalla: la exposición lleva su propia cabecera */
body.page .item-page:has(.hs-museo) > .page-header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
.hs-kit.hs-museo a, .hs-kit.hs-museo a:hover { text-decoration: none !important; }
/* La portada de la exposición usa todo el ancho de la web (como las páginas de servicio) */
body.page .item-page:has(.hs-museo-portada), body.page .hs-controles-pagina:has(+ .item-page .hs-museo-portada) { max-width: none; }
.hs-museo p, .hs-museo li, .hs-museo dd, .hs-museo dt { color: inherit; }
.hs-museo .hs-museo-num { margin: 0 0 6px; font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #8a6510; }
.hs-museo h3.hs-museo-seccion { font-family: 'Playfair Display', Georgia, serif; font-size: 30px; line-height: 1.2; color: var(--hs-burdeos); margin: 0 0 12px; padding: 0 0 14px; position: relative; text-align: center; }
.hs-museo h3.hs-museo-seccion::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 90px; height: 2px; margin-left: -45px; background: linear-gradient(90deg, transparent, var(--mu-oro), transparent); }

/* ---------- Portada: cabecera con el grabado de Castilleja (s. XVI) ---------- */
.hs-museo-hero { position: relative; width: 100vw; margin: 18px 0 0 50%; transform: translateX(-50%); overflow: hidden; background: #2b0606; color: #fff; text-align: center; }
.hs-museo .hs-museo-hero-fondo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: .22; filter: sepia(1) contrast(1.1); mix-blend-mode: luminosity; pointer-events: none; }
.hs-museo-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, rgba(90,0,0,.15) 0, rgba(43,6,6,.85) 75%); pointer-events: none; }
.hs-museo-hero-int { position: relative; max-width: 820px; margin: 0 auto; padding: 56px 24px 60px; }
.hs-museo .hs-museo-sello { width: 168px; height: 168px; margin: 0 auto 22px; border-radius: 50%; background: var(--mu-papel); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 4px rgba(201,161,74,.9), 0 0 0 10px rgba(201,161,74,.25), 0 14px 30px rgba(0,0,0,.45); }
.hs-museo-sello img { width: 128px; height: auto; }
.hs-museo .hs-museo-kicker { margin: 0 0 8px; font-family: 'Open Sans', Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--mu-oro-claro); }
.hs-museo h2.hs-museo-titulo { margin: 0; padding: 0; background: none; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 58px; line-height: 1.05; color: #fff; text-shadow: 0 3px 14px rgba(0,0,0,.5); }
.hs-museo .hs-museo-lema { margin: 10px 0 20px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 24px; color: var(--mu-oro-claro); }
.hs-museo .hs-museo-intro { margin: 0 auto 28px; max-width: 660px; font-family: 'Open Sans', Arial, sans-serif; font-size: 16px; line-height: 1.7; color: #f3e6e0; }
.hs-museo .hs-museo-botones { margin: 0; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.hs-museo-boton, .hs-museo-boton:link, .hs-museo-boton:visited { display: inline-block; padding: 13px 26px; border-radius: 40px; background: var(--mu-oro); color: #2b0606 !important; font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; font-size: 15px; border: 2px solid var(--mu-oro); transition: transform .18s ease, background .18s ease; }
.hs-museo-boton:hover { transform: translateY(-2px); background: var(--mu-oro-claro); }
.hs-museo-boton.hs-museo-boton-claro, .hs-museo-boton.hs-museo-boton-claro:link, .hs-museo-boton.hs-museo-boton-claro:visited { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.7); }
.hs-museo-boton.hs-museo-boton-claro:hover { background: rgba(255,255,255,.12); }

/* ---------- Estantería: los volúmenes están tumbados, en 4 pilas, para que los títulos se lean de izquierda a derecha ---------- */
.hs-museo-mueble { position: relative; width: 100vw; margin: 0 0 0 50%; transform: translateX(-50%); padding: 34px 0 44px; background: linear-gradient(90deg, #1a0f08 0, #3b2414 4%, #2a1a10 6%, #24160d 94%, #3b2414 96%, #1a0f08 100%); scroll-margin-top: 20px; }
.hs-museo .hs-museo-placa { display: table; margin: 0 auto 26px; padding: 8px 22px; border-radius: 3px; background: linear-gradient(180deg, #e9cf8a, #b88a33); color: #3a2208; font-family: 'Playfair Display', Georgia, serif; font-size: 16px; letter-spacing: .04em; box-shadow: 0 2px 0 #7a5a1c, 0 6px 14px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.5); }
.hs-museo-baldas { max-width: 1060px; margin: 0 auto; padding: 0 30px 22px; box-sizing: border-box; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; column-gap: 34px; align-items: end;
  background: linear-gradient(180deg, #7a4f2b 0, #5c3a1e 55%, #3a2312 100%) left bottom / 100% 22px no-repeat; }
.hs-museo-lomo, .hs-museo-lomo:link, .hs-museo-lomo:visited { position: relative; display: flex; align-items: center; gap: 12px; box-sizing: border-box; width: 94%; min-height: 56px; margin: 0 auto; padding: 7px 18px 7px 14px; border-radius: 2px 4px 4px 2px; color: var(--mu-oro-claro) !important; background-color: var(--mu-cuero1);
  background-image: linear-gradient(180deg, rgba(255,255,255,.16) 0, rgba(255,255,255,0) 35%, rgba(0,0,0,.08) 70%, rgba(0,0,0,.42) 100%);
  box-shadow: inset 7px 0 0 -3px rgba(0,0,0,.25), inset -7px 0 0 -3px rgba(0,0,0,.25), 0 2px 2px rgba(0,0,0,.45); transition: transform .25s ease, box-shadow .25s ease; }
.hs-museo-lomo::before, .hs-museo-lomo::after { content: ""; position: absolute; top: 5px; bottom: 5px; width: 2px; background: var(--mu-oro); opacity: .8; }
.hs-museo-lomo::before { left: 50px; } .hs-museo-lomo::after { right: 9px; }
.hs-museo-lomo:hover, .hs-museo-lomo:focus-visible { transform: translateX(12px); box-shadow: inset 7px 0 0 -3px rgba(0,0,0,.25), inset -7px 0 0 -3px rgba(0,0,0,.25), -6px 6px 14px rgba(0,0,0,.55); z-index: 2; outline: none; }
.hs-museo-lomo-n { flex: 0 0 26px; text-align: center; font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 14px; line-height: 1; }
.hs-museo-lomo-t { flex: 1 1 auto; min-width: 0; padding-left: 10px; font-family: 'Playfair Display', Georgia, serif; font-size: 15.5px; line-height: 1.2; letter-spacing: .01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* Grosores, largos y pieles distintos: cada pila parece montada a mano */
.hs-museo-lomo:nth-child(4n+1) { width: 88%; margin-left: 4%; }
.hs-museo-lomo:nth-child(4n+2) { background-color: var(--mu-cuero2); width: 100%; min-height: 62px; }
.hs-museo-lomo:nth-child(4n+3) { background-color: var(--mu-cuero3); width: 92%; margin-left: 2%; min-height: 52px; }
.hs-museo-lomo:nth-child(4n+4) { background-color: var(--mu-cuero4); width: 97%; min-height: 60px; }
.hs-museo-lomo:nth-child(5n+5) { background-color: var(--mu-cuero5); }
.hs-museo-lomo:nth-child(3n) .hs-museo-lomo-t { font-style: italic; }
.hs-museo-lomo.hs-museo-lomo-anexo, .hs-museo-lomo.hs-museo-lomo-anexo:link, .hs-museo-lomo.hs-museo-lomo-anexo:visited { background-color: #d8c49a; color: #3a2208 !important; width: 84%; margin-left: 8%; min-height: 48px; }
.hs-museo-lomo.hs-museo-lomo-anexo::before, .hs-museo-lomo.hs-museo-lomo-anexo::after { background: #8a6510; }
.hs-museo-lomo.hs-museo-lomo-anexo .hs-museo-lomo-n { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Catálogo: cada pieza en su vitrina, como un libro antiguo con la lámina en la tapa ---------- */
.hs-museo-catalogo { margin: 48px 0 10px; }
.hs-museo .hs-museo-catalogo-intro { text-align: center; max-width: 620px; margin: 0 auto 30px; font-size: 15px; color: #6a5a4a; }
.hs-museo ol.hs-museo-vitrinas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 26px; }
.hs-museo ol.hs-museo-vitrinas > li { margin: 0; padding: 0; list-style: none; }
.hs-museo-vitrina, .hs-museo-vitrina:link, .hs-museo-vitrina:visited { display: flex; flex-direction: column; height: 100%; border-radius: 8px; overflow: hidden; background: #fff; border: 1px solid #e7dccb; box-shadow: 0 6px 18px rgba(60,20,10,.08); color: var(--mu-tinta) !important; transition: transform .25s ease, box-shadow .25s ease; }
.hs-museo-vitrina:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(60,20,10,.16); }
.hs-museo-libro { position: relative; display: block; margin: 0; padding: 30px 0 34px; perspective: 900px; background: radial-gradient(ellipse at 50% 20%, #6e0d0d 0, #3c0505 70%); }
.hs-museo-libro::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.16) 0, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 62%, rgba(255,255,255,.07) 70%, rgba(255,255,255,0) 78%); pointer-events: none; }
.hs-museo-libro img { display: block; width: 68%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0 auto; box-sizing: border-box; border: 10px solid var(--mu-cuero4); outline: 2px solid var(--mu-oro); outline-offset: -6px; border-radius: 2px 5px 5px 2px; transform: rotateY(-16deg) rotateX(4deg); transform-origin: 50% 50%;
  box-shadow: -7px 0 0 #3a1f0b, -9px 0 0 var(--mu-oro), 6px 6px 0 -1px #f3ead4, 8px 8px 0 -1px #d9c9a6, 18px 22px 24px rgba(0,0,0,.55); transition: transform .35s ease; }
.hs-museo-vitrina:hover .hs-museo-libro img { transform: rotateY(-4deg) rotateX(2deg) translateY(-4px); }
.hs-museo-libro-n { position: absolute; top: 9px; left: 0; right: 0; text-align: center; font-family: 'Playfair Display', Georgia, serif; font-size: 13px; letter-spacing: .3em; color: var(--mu-oro-claro); z-index: 1; }
.hs-museo-etiqueta { display: block; flex: 1 1 auto; padding: 18px 20px 20px; background: var(--mu-papel); border-top: 3px solid var(--mu-oro); }
.hs-museo-etiqueta strong { display: block; margin: 0 0 6px; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 20px; line-height: 1.25; color: var(--hs-burdeos); }
.hs-museo-etiqueta > span:last-child { display: block; font-size: 14px; line-height: 1.5; color: #5f5145; }
.hs-museo-etiqueta .hs-museo-num { display: block; }

/* ---------- Créditos ---------- */
.hs-museo-creditos { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 50px 0 10px; padding: 34px 34px 26px; background: var(--mu-papel); border: 1px solid #e7dccb; border-radius: 8px; scroll-margin-top: 20px; }
.hs-museo-creditos h3.hs-museo-seccion { text-align: left; font-size: 24px; }
.hs-museo-creditos h3.hs-museo-seccion::after { left: 0; margin-left: 0; background: linear-gradient(90deg, var(--mu-oro), transparent); }
.hs-museo-creditos p { font-size: 15px; line-height: 1.65; }
.hs-museo-creditos a { color: var(--hs-burdeos) !important; font-weight: 600; border-bottom: 1px solid rgba(90,0,0,.3); }
.hs-museo ul.hs-museo-equipo { margin: 10px 0 0; padding: 0; list-style: none; }
.hs-museo ul.hs-museo-equipo li { margin: 0; padding: 7px 0 7px 26px; border-bottom: 1px dashed #d9c9a6; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; position: relative; list-style: none; }
.hs-museo ul.hs-museo-equipo li::before { content: "✠"; position: absolute; left: 2px; top: 7px; color: #b22222; font-size: 15px; }
.hs-museo .hs-museo-nota { font-size: 13px !important; line-height: 1.55; color: #7a6a5a; }

/* ---------- Pieza: libro abierto sobre la mesa ---------- */
.hs-museo .hs-museo-miga { margin: 14px 0 0; font-size: 13px; color: #7a6a5a; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.hs-museo .hs-museo-miga a { color: var(--hs-burdeos) !important; font-weight: 600; }
.hs-museo .hs-museo-miga a::before { content: "← "; }
.hs-museo .hs-museo-miga span { font-family: 'Playfair Display', Georgia, serif; font-style: italic; }
.hs-museo-mesa { position: relative; width: 100vw; margin: 16px 0 0 50%; transform: translateX(-50%); padding: 44px 20px 54px; box-sizing: border-box; background: radial-gradient(ellipse at 50% 30%, #6b1010 0, #3a0505 60%, #250303 100%); }
.hs-museo-abierto { position: relative; max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; filter: drop-shadow(0 24px 30px rgba(0,0,0,.5)); }
.hs-museo-abierto::before { content: ""; position: absolute; left: -10px; right: -10px; top: 8px; bottom: -10px; background: var(--mu-cuero4); border-radius: 8px; z-index: -1; box-shadow: inset 0 0 0 2px rgba(201,161,74,.6); }
.hs-museo-pag { box-sizing: border-box; padding: 40px 40px 44px; min-height: 520px; color: var(--mu-tinta); }
.hs-museo-pag-izq { background: linear-gradient(90deg, #efe4c9 0, var(--mu-papel) 8%, var(--mu-papel) 80%, #e3d4b2 96%, #cdb98f 100%); border-radius: 6px 0 0 6px; display: flex; align-items: center; justify-content: center; }
.hs-museo-pag-der { background: linear-gradient(90deg, #cdb98f 0, #e3d4b2 4%, var(--mu-papel) 20%, var(--mu-papel) 92%, #efe4c9 100%); border-radius: 0 6px 6px 0; display: flex; flex-direction: column; justify-content: center; }
.hs-museo figure.hs-museo-principal { margin: 0; text-align: center; }
.hs-museo figure.hs-museo-principal img { display: block; max-width: 100%; max-height: 440px; width: auto; height: auto; margin: 0 auto; box-sizing: border-box; background: #fff; padding: 12px; border: 1px solid #d6c4a0; box-shadow: 0 0 0 5px #fff, 0 0 0 6px var(--mu-oro), 0 10px 22px rgba(60,30,10,.28); }
.hs-museo h2.hs-museo-pieza-titulo { margin: 0 0 12px; padding: 0; background: none; font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 36px; line-height: 1.15; color: var(--hs-burdeos); text-shadow: none; }
.hs-museo .hs-museo-pieza-sub { margin: 0 0 14px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 19px; line-height: 1.45; color: #5f4a38; }
.hs-museo .hs-museo-floron { margin: 0 0 14px; font-size: 26px; line-height: 1; color: var(--mu-oro); }
.hs-museo dl.hs-museo-ficha { margin: 0 0 20px; padding: 14px 0 0; border-top: 1px solid #d6c4a0; display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; font-size: 14px; }
.hs-museo dl.hs-museo-ficha dt { margin: 0; font-weight: 700; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8a6510; padding-top: 2px; }
.hs-museo dl.hs-museo-ficha dd { margin: 0; color: var(--mu-tinta); line-height: 1.45; }
.hs-museo .hs-museo-leer { margin: 0; }
.hs-museo .hs-museo-leer a { display: inline-block; padding: 10px 20px; border-radius: 30px; background: var(--hs-burdeos); color: #fff !important; font-weight: 700; font-size: 14px; }
.hs-museo .hs-museo-leer a::after { content: " ↓"; }
.hs-museo .hs-museo-leer a:hover { background: #7a0a0a; }
/* Documento anexo: un pergamino en lugar del libro abierto */
.hs-museo-pergamino { max-width: 760px; margin: 0 auto; padding: 40px 48px; text-align: center; background: linear-gradient(180deg, #efe2c2 0, var(--mu-papel) 12%, var(--mu-papel) 88%, #efe2c2 100%); border-radius: 4px; box-shadow: 0 20px 30px rgba(0,0,0,.45), inset 0 0 0 1px #d6c4a0; }

/* ---------- Texto de la cartela ---------- */
.hs-museo-texto { max-width: 780px; margin: 44px auto 0; scroll-margin-top: 20px; }
.hs-museo .hs-museo-texto::after { content: ""; display: table; clear: both; }
.hs-museo .hs-museo-texto p, .hs-museo .hs-museo-texto li, .hs-museo .hs-museo-texto blockquote { font-family: 'Merriweather', Georgia, serif; font-size: 16.5px; line-height: 1.85; color: var(--mu-tinta); }
.hs-museo .hs-museo-texto p { margin: 0 0 18px; }
.hs-museo .hs-museo-texto > p:first-of-type::first-letter { float: left; font-family: 'Playfair Display', Georgia, serif; font-size: 70px; line-height: .9; padding: 6px 10px 0 0; color: var(--hs-burdeos); }
.hs-museo .hs-museo-texto h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; color: var(--hs-burdeos); margin: 30px 0 12px; }
.hs-museo .hs-museo-texto blockquote { margin: 24px 0; padding: 18px 24px; background: var(--mu-papel); border-left: 4px solid var(--mu-oro); font-style: italic; }
.hs-museo .hs-museo-texto a { color: var(--hs-burdeos) !important; border-bottom: 1px solid rgba(90,0,0,.35); }
.hs-museo .hs-museo-texto .hs-museo-nota { clear: both; margin-top: 26px; padding-top: 12px; border-top: 1px solid #e3d6bd; font-family: 'Open Sans', Arial, sans-serif; }
.hs-museo figure.hs-museo-lamina { width: 42%; margin: 6px 0 18px; padding: 10px 10px 12px; background: #fff; border: 1px solid #e3d6bd; box-shadow: 0 8px 18px rgba(60,30,10,.14); box-sizing: border-box; }
.hs-museo figure.hs-museo-lamina-right { float: right; margin-left: 28px; transform: rotate(.6deg); }
.hs-museo figure.hs-museo-lamina-left { float: left; margin-right: 28px; transform: rotate(-.6deg); }
.hs-museo figure.hs-museo-lamina img { display: block; width: 100%; height: auto; }
.hs-museo figure.hs-museo-lamina figcaption, .hs-museo figure.hs-museo-lamina a + figcaption { margin: 10px 2px 0; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 14px; line-height: 1.4; color: #5f4a38; text-align: left; }

/* ---------- Recorrido: anterior · estantería · siguiente ---------- */
.hs-museo-pasos { clear: both; display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; max-width: 1060px; margin: 44px auto 10px; padding-top: 26px; border-top: 1px solid #e7dccb; }
.hs-museo-paso, .hs-museo-paso:link, .hs-museo-paso:visited { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 14px 20px; border-radius: 8px; background: var(--mu-papel); border: 1px solid #e3d6bd; color: var(--hs-burdeos) !important; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; line-height: 1.25; transition: background .18s ease, transform .18s ease; }
.hs-museo-paso small { font-family: 'Open Sans', Arial, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8a6510; }
.hs-museo-paso:hover { background: #fff; transform: translateY(-2px); }
.hs-museo-paso-sig { text-align: right; }
.hs-museo-paso.hs-museo-paso-volver, .hs-museo-paso.hs-museo-paso-volver:link, .hs-museo-paso.hs-museo-paso-volver:visited { text-align: center; background: var(--hs-burdeos); border-color: var(--hs-burdeos); color: #fff !important; }
.hs-museo-paso.hs-museo-paso-volver small { color: var(--mu-oro-claro); }
.hs-museo-paso.hs-museo-paso-volver:hover { background: #7a0a0a; }

/* ---------- Tablet ---------- */
@media (max-width: 979px) {
  .hs-museo-baldas { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(8, auto); }
  .hs-museo ol.hs-museo-vitrinas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hs-museo-pag { padding: 30px 26px 34px; min-height: 0; }
  .hs-museo h2.hs-museo-pieza-titulo { font-size: 30px; }
}
/* ---------- Móvil ---------- */
@media (max-width: 767px) {
  .hs-museo-hero-int { padding: 40px 20px 44px; }
  .hs-museo .hs-museo-sello { width: 130px; height: 130px; }
  .hs-museo-sello img { width: 100px; }
  .hs-museo h2.hs-museo-titulo { font-size: 40px; }
  .hs-museo .hs-museo-lema { font-size: 20px; }
  .hs-museo .hs-museo-intro { font-size: 15px; }
  .hs-museo-boton { width: 100%; box-sizing: border-box; text-align: center; }
  .hs-museo-mueble { padding: 26px 0 30px; }
  .hs-museo .hs-museo-placa { font-size: 14px; margin-bottom: 18px; }
  .hs-museo-baldas { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(8, auto); column-gap: 14px; padding: 0 12px 18px; background-size: 100% 18px; }
  .hs-museo-lomo, .hs-museo-lomo:link, .hs-museo-lomo:visited { min-height: 50px; padding: 6px 10px 6px 8px; gap: 6px; }
  .hs-museo-lomo::before { left: 34px; } .hs-museo-lomo::after { right: 6px; }
  .hs-museo-lomo-n { flex-basis: 20px; font-size: 12px; }
  .hs-museo-lomo-t { font-size: 13px; padding-left: 8px; }
  .hs-museo-lomo:hover, .hs-museo-lomo:focus-visible { transform: translateX(6px); }
  .hs-museo ol.hs-museo-vitrinas { grid-template-columns: 1fr; gap: 22px; }
  .hs-museo h3.hs-museo-seccion { font-size: 25px; }
  .hs-museo-creditos { grid-template-columns: 1fr; padding: 24px 20px 18px; gap: 18px; }
  .hs-museo-mesa { padding: 26px 14px 34px; }
  .hs-museo-abierto { grid-template-columns: 1fr; }
  .hs-museo-abierto::before { left: -6px; right: -6px; }
  .hs-museo-pag { padding: 24px 20px 26px; }
  .hs-museo-pag-izq { border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--mu-papel) 0, var(--mu-papel) 85%, #e3d4b2 97%, #cdb98f 100%); }
  .hs-museo-pag-der { border-radius: 0 0 6px 6px; background: linear-gradient(180deg, #cdb98f 0, #e3d4b2 3%, var(--mu-papel) 14%); }
  .hs-museo figure.hs-museo-principal img { max-height: 360px; padding: 8px; }
  .hs-museo h2.hs-museo-pieza-titulo { font-size: 27px; }
  .hs-museo .hs-museo-pieza-sub { font-size: 17px; }
  .hs-museo-pergamino { padding: 28px 22px; }
  .hs-museo-texto { margin-top: 30px; }
  .hs-museo .hs-museo-texto p, .hs-museo .hs-museo-texto li { font-size: 15.5px; line-height: 1.8; }
  .hs-museo .hs-museo-texto > p:first-of-type::first-letter { font-size: 56px; }
  .hs-museo figure.hs-museo-lamina, .hs-museo figure.hs-museo-lamina-right, .hs-museo figure.hs-museo-lamina-left { float: none; width: 100%; margin: 6px 0 22px; transform: none; }
  .hs-museo-pasos { grid-template-columns: 1fr; }
  .hs-museo-paso-sig { text-align: left; }
  .hs-museo-paso.hs-museo-paso-volver { order: 3; }
}
@media (prefers-reduced-motion: reduce) { .hs-museo-lomo, .hs-museo-vitrina, .hs-museo-libro img, .hs-museo-paso, .hs-museo-boton { transition: none; } }
/* La ampliación de fotos del tema envuelve cada imagen en un enlace con aspecto de miniatura: aquí sin marco extra */
.hs-museo a.hs-zoom.thumbnail { display: block; border: 0; padding: 0; margin: 0; background: none; box-shadow: none; border-radius: 0; line-height: 0; }
/* Las bandas a todo el ancho (100vw) no deben crear barra de desplazamiento horizontal en Windows */
html:has(.hs-museo), body:has(.hs-museo) { overflow-x: clip; }

/* =====================================================================================
   Denominación y símbolos: el escudo entero (sin recortar) junto al texto de Heráldica
   ===================================================================================== */
.hs-kit .hs-heraldica { align-items: center; }
.hs-kit .hs-heraldica .hs-heraldica-texto > p:last-child { margin-bottom: 0; }
.hs-kit .hs-dos-col .hs-foto.hs-foto-escudo img, .hs-kit .hs-foto-escudo img { aspect-ratio: auto; object-fit: contain; width: 100%; max-width: 300px; height: auto; margin: 0 auto; border-radius: 0; background: none; box-shadow: none; }
.hs-kit .hs-foto-escudo { margin: 0; text-align: center; }
.hs-kit .hs-foto-escudo figcaption { text-align: center; }
@media (max-width: 767px) { .hs-kit .hs-foto-escudo img { max-width: 230px; } }

/* ---------- Pieza: a cada lado del libro abierto, el lomo del volumen anterior y del siguiente (de pie, para pasar de pieza) ---------- */
.hs-museo-mesa { display: flex; align-items: center; justify-content: center; gap: 26px; }
.hs-museo-mesa > .hs-museo-abierto { flex: 0 1 1060px; min-width: 0; margin: 0; }
.hs-museo-lado, .hs-museo-lado:link, .hs-museo-lado:visited { position: relative; flex: 0 0 62px; align-self: center; display: flex; flex-direction: column; align-items: center; gap: 14px; box-sizing: border-box; height: 430px; padding: 18px 0 54px; border-radius: 3px; color: var(--mu-oro-claro) !important; background-color: var(--mu-cuero1);
  background-image: linear-gradient(90deg, rgba(0,0,0,.45) 0, rgba(255,255,255,.12) 18%, rgba(255,255,255,0) 40%, rgba(0,0,0,.1) 75%, rgba(0,0,0,.5) 100%);
  box-shadow: inset 0 22px 0 -18px var(--mu-oro), inset 0 -22px 0 -18px var(--mu-oro), 0 18px 26px rgba(0,0,0,.5); transition: transform .25s ease, box-shadow .25s ease; }
.hs-museo-lado::before, .hs-museo-lado::after { content: ""; position: absolute; left: 7px; right: 7px; height: 2px; background: var(--mu-oro); opacity: .8; }
.hs-museo-lado::before { top: 50px; } .hs-museo-lado::after { bottom: 44px; }
.hs-museo-lado-ant { transform: rotate(-3deg); } .hs-museo-lado-sig { transform: rotate(3deg); }
.hs-museo-lado-ant:hover, .hs-museo-lado-ant:focus-visible { transform: rotate(0) translateX(8px) translateY(-8px); outline: none; }
.hs-museo-lado-sig:hover, .hs-museo-lado-sig:focus-visible { transform: rotate(0) translateX(-8px) translateY(-8px); outline: none; }
.hs-museo-lado-n { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 16px; line-height: 1; padding-top: 4px; }
.hs-museo-lado-t { writing-mode: vertical-rl; transform: rotate(180deg); margin: auto 0; max-height: calc(100% - 50px); overflow: hidden; font-family: 'Playfair Display', Georgia, serif; font-size: 16px; line-height: 1.15; text-align: center; padding: 0 8px; }
.hs-museo-lado-sig .hs-museo-lado-t { transform: none; }
.hs-museo-lado-ant .hs-museo-lado-n::before { content: "‹ "; } .hs-museo-lado-sig .hs-museo-lado-n::after { content: " ›"; }
.hs-museo-lado.hs-museo-c1 { background-color: var(--mu-cuero2); } .hs-museo-lado.hs-museo-c2 { background-color: var(--mu-cuero3); }
.hs-museo-lado.hs-museo-c3 { background-color: var(--mu-cuero4); } .hs-museo-lado.hs-museo-c4 { background-color: var(--mu-cuero5); }
@media (max-width: 979px) { .hs-museo-mesa { gap: 14px; } .hs-museo-lado, .hs-museo-lado:link, .hs-museo-lado:visited { flex-basis: 48px; height: 360px; } .hs-museo-lado-t { font-size: 14px; } }
@media (max-width: 767px) {
  .hs-museo-mesa { gap: 6px; padding-left: 4px; padding-right: 4px; }
  .hs-museo-lado, .hs-museo-lado:link, .hs-museo-lado:visited { flex-basis: 30px; height: 300px; padding: 12px 0 36px; gap: 8px; }
  .hs-museo-lado::before { top: 36px; left: 4px; right: 4px; } .hs-museo-lado::after { bottom: 28px; left: 4px; right: 4px; }
  .hs-museo-lado-n { font-size: 11px; }
  .hs-museo-lado-ant .hs-museo-lado-n::before, .hs-museo-lado-sig .hs-museo-lado-n::after { content: none; }
  .hs-museo-lado-t { font-size: 11.5px; padding: 0 3px; }
}

/* =====================================================================================
   Móvil: al bajar por cualquier página, el nombre de la web y el botón del menú quedan fijos arriba
   ===================================================================================== */
.hs-barra-fija { display: none; }
@media (max-width: 979px) {
  .hs-barra-fija { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: fixed; top: 0; left: 0; right: 0; z-index: 998; padding: 6px 16px; background: rgba(255,255,255,.97); box-shadow: 0 2px 14px rgba(60,0,0,.16); transform: translateY(-115%); transition: transform .25s ease; }
  .hs-barra-fija.on { transform: none; }
  html.hs-menu-abierto .hs-barra-fija { transform: translateY(-115%); }
  .hs-barra-fija a.hs-logo, .hs-barra-fija #logo-fijo { display: flex; align-items: center; gap: 8px; min-width: 0; text-decoration: none; }
  .hs-barra-fija .hs-logo-escudo { width: 30px !important; height: auto !important; flex: 0 0 auto; }
  .hs-barra-fija .hs-logo-texto { font-size: clamp(16px, 5vw, 22px) !important; line-height: 1.1; }
  .hs-barra-fija img.logo { max-height: 42px; width: auto; }
  .hs-barra-burger { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; flex: 0 0 auto; width: 52px; height: 46px; margin: 0; padding: 0; border: 1px solid #d9cccc; border-radius: 8px; background: #fff; cursor: pointer; }
  .hs-barra-burger span:not(.hs-burger-txt) { display: block; width: 22px; height: 2px; background: #6d0000; border-radius: 2px; }
  .hs-barra-burger .hs-burger-txt { font-family: 'Open Sans', Arial, sans-serif; font-size: 10px; font-weight: 700; color: #6d0000; text-transform: uppercase; letter-spacing: .06em; margin-top: 1px; }
  html.hs-contraste .hs-barra-fija { background: #000; } html.hs-contraste .hs-barra-burger { background: #000; border-color: #fff; }
}
@media (prefers-reduced-motion: reduce) { .hs-barra-fija, .hs-museo-lado { transition: none; } }

/* =====================================================================================
   Pie: escudo, nombre y datos centrados (PC y móvil); nombre y advocaciones en renglones fijos que no se parten
   ===================================================================================== */
.hs-pie-col.hs-pie-marca { text-align: center; display: flex; flex-direction: column; align-items: center; }
.hs-pie-marca .hs-pie-escudo { margin: 0 auto 14px; }
.hs-pie-renglon { display: block; white-space: nowrap; }
#footer.hs-pie p.hs-pie-nombre { font-size: clamp(16px, 4.6vw, 19px); }
#footer.hs-pie .hs-pie-lema { font-size: clamp(10.5px, 3.1vw, 12px); }
.hs-pie-marca .hs-pie-datos { display: inline-flex; flex-direction: column; align-items: center; }
.hs-pie-marca .hs-pie-datos li { justify-content: center; text-align: center; }
.hs-pie-marca .hs-hazte-pie { align-self: center; }
@media (max-width: 600px) {
  /* Debajo del bloque central: Secciones y Síguenos en dos columnas; el boletín a todo el ancho */
  .hs-pie-columnas { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .hs-pie-col.hs-pie-marca, .hs-pie-col.hs-pie-boletin { grid-column: 1 / -1; }
  .hs-pie-iconos { flex-wrap: wrap; }
  .hs-pie-whatsapp { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 12px; }
  .hs-pie-whatsapp span { font-size: 14px; }
}
.hs-pie-marca .hs-pie-datos li > span, .hs-pie-marca .hs-pie-datos li > a { white-space: nowrap; }
@media (max-width: 600px) { .hs-pie-marca .hs-pie-datos li { font-size: clamp(12px, 3.7vw, 14px); } }

/* =====================================================================================
   Patrimonio literario (pregones): cada línea de la lista «AÑO: Nombre» se ve como una ficha.
   Para añadir un pregón basta escribir una línea nueva en la lista desde el editor (p. ej. «2027: Nombre» con el enlace al PDF o al vídeo).
   ===================================================================================== */
.hs-kit.hs-pregones p.hs-pregones-intro { font-family: 'Playfair Display', Georgia, serif; font-size: 19px; line-height: 1.5; color: #3a2a2a; margin: 6px 0 16px; }
.hs-kit.hs-pregones p.hs-pregones-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; }
.hs-kit.hs-pregones p.hs-pregones-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 22px; background: var(--hs-burdeos); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 14px; }
.hs-kit.hs-pregones p.hs-pregones-nav a:hover { background: #7a0a0a; }
.hs-kit.hs-pregones h3 { scroll-margin-top: 80px; font-size: 28px; margin: 6px 0 18px; padding-bottom: 10px; position: relative; }
.hs-kit.hs-pregones h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 2px; background: var(--hs-dorado, #b8862b); }
.hs-kit.hs-pregones .hs-bloque { margin-bottom: 34px; }
.hs-kit.hs-pregones ul.hs-pregones-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li { position: relative; display: flex; align-items: center; gap: 14px; margin: 0; padding: 12px 14px; min-height: 66px; box-sizing: border-box; background: #fff; border: 1px solid #ecdfcb; border-radius: 12px; box-shadow: 0 3px 10px rgba(60,20,10,.05); line-height: 1.35; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li::before { content: none; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li:hover { transform: translateY(-2px); border-color: #d8b86a; box-shadow: 0 10px 20px rgba(60,20,10,.10); }
.hs-preg-anio { flex: 0 0 62px; align-self: stretch; display: flex; align-items: center; justify-content: center; padding-right: 12px; border-right: 1px solid #ecdfcb; font-family: 'Playfair Display', Georgia, serif; font-size: 22px; font-weight: 700; color: var(--hs-burdeos); text-align: center; line-height: 1.05; }
.hs-preg-anio.hs-preg-anio-texto { font-family: 'Open Sans', Arial, sans-serif; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.hs-preg-cont { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hs-kit.hs-pregones .hs-preg-cont a { font-family: 'Playfair Display', Georgia, serif; font-size: 16.5px; line-height: 1.25; color: #2b2117 !important; text-decoration: none !important; }
.hs-kit.hs-pregones .hs-preg-cont a::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.hs-preg-tipo { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8a6510; }
.hs-preg-tipo::before { content: ""; width: 14px; height: 14px; flex: 0 0 14px; background: currentColor; -webkit-mask: var(--icono) center / contain no-repeat; mask: var(--icono) center / contain no-repeat; }
.hs-preg-pdf .hs-preg-tipo { --icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm7 1.5V9h5.5L13 3.5zM8 13v2h8v-2H8zm0 4v2h6v-2H8z'/%3E%3C/svg%3E"); }
.hs-preg-video .hs-preg-tipo { --icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-2 6 6 4-6 4V8z'/%3E%3C/svg%3E"); color: #b3261e; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li.hs-preg-sin { background: #faf6ef; box-shadow: none; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li.hs-preg-sin:hover { transform: none; border-color: #ecdfcb; box-shadow: none; }
.hs-preg-sin .hs-preg-cont { font-size: 13px; font-style: italic; color: #7a6a5a; }
.hs-preg-especial .hs-preg-anio { color: #8a6510; }
.hs-kit.hs-pregones ul.hs-pregones-lista > li.hs-preg-especial { border-color: #d8b86a; background: linear-gradient(135deg, #fffaf0, #fff); }
@media (max-width: 979px) { .hs-kit.hs-pregones ul.hs-pregones-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .hs-kit.hs-pregones ul.hs-pregones-lista { grid-template-columns: 1fr; gap: 10px; } .hs-kit.hs-pregones h3 { font-size: 24px; } .hs-kit.hs-pregones p.hs-pregones-intro { font-size: 17px; } }
body.page .item-page:has(.hs-pregones), body.page .hs-controles-pagina:has(+ .item-page .hs-pregones) { max-width: none; }
@media (min-width: 1100px) { .hs-kit.hs-pregones ul.hs-pregones-lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* =====================================================================================
   Patrimonio musical: fichas de cada marcha con reproductor propio.
   Para añadir una obra: en el editor, un párrafo «Título en cursiva (año). Autor» y, debajo, su audio (Añadir objeto › audio). La ficha se monta sola.
   ===================================================================================== */
body.page .item-page:has(.hs-marchas), body.page .hs-controles-pagina:has(+ .item-page .hs-marchas) { max-width: none; }
.hs-kit.hs-marchas .hs-marchas-cab { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 34px; align-items: center; margin: 4px 0 22px; padding: 26px 30px; background: #f6efdf; border-radius: 16px; border: 1px solid #ecdfcb; }
.hs-kit.hs-marchas p.hs-marchas-intro { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; line-height: 1.65; color: #3a2a2a; }
.hs-kit.hs-marchas .hs-marchas-cab figure { margin: 0; }
.hs-kit.hs-marchas .hs-marchas-cab figure img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 24px rgba(60,20,10,.18); }
.hs-kit.hs-marchas p.hs-marchas-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; }
.hs-kit.hs-marchas p.hs-marchas-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 22px; background: #fff; border: 1.5px solid var(--hs-burdeos); color: var(--hs-burdeos) !important; text-decoration: none !important; font-weight: 700; font-size: 14px; }
.hs-kit.hs-marchas p.hs-marchas-nav a:hover { background: var(--hs-burdeos); color: #fff !important; }
.hs-kit.hs-marchas .hs-marchas-grupo { margin-bottom: 36px; }
.hs-kit.hs-marchas .hs-marchas-grupo h3 { scroll-margin-top: 80px; font-size: 28px; margin: 0 0 18px; padding-bottom: 10px; position: relative; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; }
.hs-kit.hs-marchas .hs-marchas-grupo h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 2px; background: var(--hs-dorado, #b8862b); }
.hs-marchas-cuenta { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8a6510; }
.hs-kit.hs-marchas ol.hs-marchas-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.hs-kit.hs-marchas li.hs-marcha { display: flex; align-items: center; gap: 14px; margin: 0; padding: 12px 16px 12px 12px; background: #fff; border: 1px solid #ecdfcb; border-radius: 12px; box-shadow: 0 3px 10px rgba(60,20,10,.05); transition: border-color .18s, box-shadow .18s; }
.hs-kit.hs-marchas li.hs-marcha::before { content: none; }
.hs-kit.hs-marchas li.hs-marcha:hover { border-color: #d8b86a; box-shadow: 0 8px 18px rgba(60,20,10,.09); }
.hs-kit.hs-marchas li.hs-marcha.sonando { border-color: var(--hs-burdeos); box-shadow: 0 8px 22px rgba(90,0,0,.16); background: #fffaf3; }
.hs-marcha-n { flex: 0 0 24px; font-family: 'Playfair Display', Georgia, serif; font-size: 14px; color: #b39a7a; text-align: right; }
.hs-marcha-play { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: var(--hs-burdeos); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(90,0,0,.25); transition: transform .15s, background .15s; }
.hs-marcha-play:hover { transform: scale(1.06); background: #7a0a0a; }
.hs-marcha-play span { width: 0; height: 0; border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; margin-left: 3px; }
.sonando .hs-marcha-play span { width: 12px; height: 15px; border: 0; margin: 0; background: linear-gradient(90deg, #fff 0 4px, transparent 4px 8px, #fff 8px 12px); }
.hs-marcha-sin { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: #f3ece0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b39a7a' d='M12 3v10.6A4 4 0 1 0 14 17V7h4V3h-6z'/%3E%3C/svg%3E") center / 20px no-repeat; }
.hs-marcha-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hs-kit.hs-marchas .hs-marcha-txt strong { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 17px; line-height: 1.25; color: #2b2117; }
.hs-marcha-meta { font-size: 13px; line-height: 1.4; color: #6f5f50; }
.hs-marcha-barra { position: relative; display: block; height: 4px; margin-top: 6px; border-radius: 2px; background: #efe5d4; cursor: pointer; }
.hs-marcha-barra span { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 2px; background: var(--hs-burdeos); }
.hs-marcha-tiempo { flex: 0 0 auto; font-size: 12px; color: #8a7a6a; font-variant-numeric: tabular-nums; min-width: 34px; text-align: right; }
.hs-marcha-nota { flex: 0 0 auto; font-size: 11px; font-style: italic; color: #a09080; }
@media (max-width: 979px) { .hs-kit.hs-marchas ol.hs-marchas-lista { grid-template-columns: 1fr; } .hs-kit.hs-marchas .hs-marchas-cab { grid-template-columns: 1fr 220px; } }
@media (max-width: 600px) { .hs-kit.hs-marchas .hs-marchas-cab { grid-template-columns: 1fr; padding: 20px; gap: 18px; } .hs-kit.hs-marchas p.hs-marchas-intro { font-size: 16px; } .hs-kit.hs-marchas .hs-marchas-grupo h3 { font-size: 23px; } .hs-marcha-n { display: none; } .hs-marcha-tiempo { display: none; } .hs-kit.hs-marchas li.hs-marcha { padding: 10px 12px; gap: 12px; } }
@media (max-width: 600px) { .hs-kit.hs-marchas p.hs-marchas-nav { gap: 8px; } .hs-kit.hs-marchas p.hs-marchas-nav a { min-height: 36px; padding: 0 14px; font-size: 13px; } .hs-kit.hs-marchas .hs-marchas-cab figure img { max-height: 200px; object-fit: cover; } }

/* =====================================================================================
   Menú de escritorio: al pasar el ratón por una opción del submenú, fondo amarillo suave y texto granate (se ve bien resaltada)
   ===================================================================================== */
@media (min-width: 980px) {
  #header #mainmenu #icemegamenu ul.icesubMenu li > a.iceMenuTitle { transition: background .15s ease, color .15s ease; }
  #header #mainmenu #icemegamenu ul.icesubMenu li > a.iceMenuTitle:hover, #header #mainmenu #icemegamenu ul.icesubMenu li > a.iceMenuTitle:focus-visible,
  #header #mainmenu #icemegamenu ul.icesubMenu li.active > a.iceMenuTitle:hover { background: #f6e2a4 !important; color: var(--hs-burdeos) !important; outline: none; }
  #header #mainmenu #icemegamenu ul.icesubMenu li > a.iceMenuTitle:hover span, #header #mainmenu #icemegamenu ul.icesubMenu li > a.iceMenuTitle:focus-visible span { color: var(--hs-burdeos) !important; }
}
/* Barra fija del móvil: idéntica a la cabecera (mismas medidas y posiciones), aparece en cuanto se empieza a bajar y sin animación,
   así parece que la cabecera se queda pegada arriba en lugar de dar un salto */
@media (max-width: 979px) {
  .hs-barra-fija { padding: 10px 20px; height: 74px; box-sizing: border-box; transform: none !important; transition: box-shadow .2s ease; visibility: hidden; box-shadow: none; }
  .hs-barra-fija.on { visibility: visible; }
  .hs-barra-fija.sombra { box-shadow: 0 2px 14px rgba(60,0,0,.16); }
  html.hs-menu-abierto .hs-barra-fija { visibility: hidden; }
  .hs-barra-fija a.hs-logo { gap: 8px; }
  .hs-barra-fija .hs-logo-escudo { width: 40px !important; height: 54px !important; }
  .hs-barra-burger { width: 50px; height: 46px; }
}
@media (max-width: 979px) { .hs-barra-fija { background: #fff; } }

/* =====================================================================================
   Aviso de actualidad (Apariencia › Personalizar › Portada › Aviso de actualidad): solo sale si está activado
   ===================================================================================== */
.hs-actualidad { position: relative; overflow: hidden; margin: 0 0 26px; border-radius: 16px; background: #fbf3dc; background-image: linear-gradient(120deg, #fff8e6 0%, #f6e2a4 100%); border: 1px solid #e9d08a; box-shadow: 0 8px 22px rgba(120,80,0,.10); }
.hs-actualidad-fondo { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: .14; pointer-events: none; }
.hs-actualidad-int { position: relative; display: flex; align-items: center; gap: 26px; padding: 22px 28px; }
.hs-actualidad-logo { flex: 0 0 auto; width: 112px; max-height: 112px; height: auto; object-fit: contain; filter: drop-shadow(0 4px 8px rgba(0,0,0,.15)); }
.hs-actualidad-txt { flex: 1 1 auto; min-width: 0; }
.hs-actualidad p { margin: 0; }
.hs-actualidad .hs-actualidad-sobre { font-family: 'Open Sans', Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8a6510; margin-bottom: 4px; }
.hs-actualidad .hs-actualidad-titulo { font-family: 'Playfair Display', Georgia, serif; font-size: 27px; line-height: 1.15; color: var(--hs-burdeos); }
.hs-actualidad .hs-actualidad-lema { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 18px; line-height: 1.35; color: #5f4a38; margin-top: 4px; }
.hs-actualidad-texto p { font-size: 14.5px; line-height: 1.6; color: #3a2a2a; margin: 8px 0 0; }
.hs-actualidad-boton, .hs-actualidad-boton:link, .hs-actualidad-boton:visited { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 12px 22px; border-radius: 30px; background: var(--hs-burdeos); color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none !important; white-space: nowrap; }
.hs-actualidad-boton:hover { background: #7a0a0a; }
@media (max-width: 767px) {
  .hs-actualidad-int { flex-direction: column; text-align: center; gap: 14px; padding: 20px 18px; }
  .hs-actualidad-logo { width: 96px; max-height: 96px; }
  .hs-actualidad .hs-actualidad-titulo { font-size: 23px; }
}
/* Barra fija del móvil (versión fluida): está siempre fija arriba, justo encima de la cabecera original, que queda reservando su sitio.
   No hay cambio al empezar a bajar, así que no puede dar saltos (ni en iPhone ni en Android). */
@media (max-width: 979px) {
  html.hs-barra-js #header #logo, html.hs-barra-js #header .hs-burger { visibility: hidden; }
  html.hs-barra-js.hs-menu-abierto #header .hs-burger, html.hs-barra-js.hs-menu-abierto #header #logo { visibility: visible; }
  .hs-barra-fija { will-change: transform; transform: translateZ(0) !important; }
}

/* Móvil: el menú se abre justo debajo de la barra fija, en la parte de la página donde estés (no arriba del todo) */
@media (max-width: 979px) {
  html.hs-barra-js.hs-menu-abierto .hs-barra-fija { visibility: visible !important; box-shadow: 0 2px 14px rgba(60,0,0,.16); }
  html.hs-barra-js.hs-menu-abierto #header .hs-burger, html.hs-barra-js.hs-menu-abierto #header #logo { visibility: hidden !important; }
  html.hs-barra-js #header #hs-menu-movil:not([hidden]) { position: fixed; top: 74px; left: 0; right: 0; bottom: 0; z-index: 997; margin: 0 !important; max-width: none; padding: 8px 0 28px; border-radius: 0; background: #6d0000; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; box-sizing: border-box; }
  html.hs-barra-js.hs-menu-abierto, html.hs-barra-js.hs-menu-abierto body { overflow: hidden; }
  .hs-barra-burger.abierto { background: #6d0000; border-color: #6d0000; }
  .hs-barra-burger.abierto span:not(.hs-burger-txt) { background: #fff; transition: transform .2s ease, opacity .2s ease; }
  .hs-barra-burger.abierto span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .hs-barra-burger.abierto span:nth-child(2) { opacity: 0; }
  .hs-barra-burger.abierto span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .hs-barra-burger.abierto .hs-burger-txt { color: #fff; }
  html.hs-contraste #header #hs-menu-movil:not([hidden]) { background: #000; }
  html.hs-barra-js #header #hs-menu-movil:not([hidden]) > ul { max-width: 560px; margin-left: auto; margin-right: auto; }
}

/* Evita barra de desplazamiento horizontal con los bloques que van de lado a lado (100vw) */
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* Cabecera de la portada: el pase de fotos llega hasta los bordes de la pantalla (como el banner de la credencial) */
#header #iceslideshow.hs-slide-arriba { width: 100vw; max-width: none !important; flex: 0 0 auto !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
#iceslideshow #showplus_images_slider, #iceslideshow #showplus_images_slider .showplus, #iceslideshow #showplus_images_slider .showplus-images { width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 2340 / 764; max-height: 620px; }
@media (max-width: 767px) { #iceslideshow #showplus_images_slider, #iceslideshow #showplus_images_slider .showplus, #iceslideshow #showplus_images_slider .showplus-images { aspect-ratio: 1170 / 764; max-height: none; } }

/* Nombre de la web: «de» con el mismo tamaño que las otras dos palabras (solo cambia el grosor) */
.hs-logo-texto em { font-size: 1em !important; line-height: inherit; vertical-align: baseline; }

/* Móvil: la palabra MENÚ más discreta, en gris y más fina */
@media (max-width: 979px) {
  .hs-burger-txt, .hs-barra-burger .hs-burger-txt { color: #8a8580 !important; font-weight: 400 !important; letter-spacing: .08em; }
  html.hs-menu-abierto .hs-burger .hs-burger-txt, .hs-barra-burger.abierto .hs-burger-txt { color: #fff !important; }
}

/* Ordenador: el texto de las noticias algo más ancho */
@media (min-width: 980px) { body.single-post .item-page.hs-noticia { max-width: 1170px; } }

/* Portada en ordenador: el menú va encima del pase de fotos (revisión 24/10/2026) */
@media (min-width: 980px) {
  #header #iceslideshow.hs-slide-arriba { margin-top: 12px !important; margin-bottom: 0 !important; }
  .home #header .hs-utilidades { margin-top: 16px !important; }
}

/* Pie en el móvil (revisión 24/10/2026): iconos de teléfono y correo alineados con su texto; Secciones en dos columnas;
   Síguenos con todos los iconos en una línea y el recuadro de WhatsApp ordenado debajo */
@media (max-width: 767px) {
  .hs-pie-marca .hs-pie-datos li { align-items: center; gap: 10px; margin-bottom: 6px; }
  .hs-pie-marca .hs-pie-datos li svg { margin-top: 0; align-self: center; }
  .hs-pie-marca .hs-pie-datos li:first-child svg { align-self: flex-start; margin-top: 3px; }
  ul.hs-pie-datos li a { min-height: 40px; }
  .hs-pie-columnas { grid-template-columns: 1fr !important; gap: 30px !important; }
  .hs-pie-secciones ul.hs-pie-menu { columns: 2; column-gap: 18px; }
  .hs-pie-secciones ul.hs-pie-menu li { break-inside: avoid; }
  .hs-pie-iconos { flex-wrap: nowrap !important; gap: 10px; justify-content: flex-start; }
  .hs-pie-iconos .hs-red { width: 44px; height: 44px; flex: 0 0 44px; }
  .hs-pie-whatsapp { flex-direction: row !important; align-items: center !important; gap: 14px !important; padding: 14px 16px !important; max-width: 420px; }
  .hs-pie-whatsapp svg { width: 36px; height: 36px; flex: 0 0 36px; }
  .hs-pie-whatsapp span { font-size: 15px; line-height: 1.35; }
  .hs-pie-whatsapp strong { font-size: 13px; }
}
/* Pie en el móvil: todo centrado (títulos, Secciones, iconos, WhatsApp y boletín) */
@media (max-width: 767px) {
  #footer.hs-pie .hs-pie-col h4 { text-align: center; }
  .hs-pie-col h4:after { left: 50%; transform: translateX(-50%); }
  .hs-pie-secciones ul.hs-pie-menu { width: fit-content; max-width: 100%; margin: 0 auto; column-gap: 34px; }
  .hs-pie-iconos { justify-content: center !important; }
  .hs-pie-whatsapp { margin: 0 auto; width: fit-content; max-width: 100%; }
  .hs-pie-boletin > p { text-align: center; }
}

/* Botón del menú en el móvil: tres rayas y «MENÚ» centrados como un bloque dentro del recuadro (también en Safari/iPhone) */
@media (max-width: 979px) {
  #header .hs-burger, .hs-barra-burger { -webkit-appearance: none; appearance: none; display: inline-flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px !important; padding: 0 !important; box-sizing: border-box; }
  #header .hs-burger span:not(.hs-burger-txt), .hs-barra-burger span:not(.hs-burger-txt) { margin: 0 !important; flex: 0 0 auto; }
  #header .hs-burger .hs-burger-txt, .hs-barra-burger .hs-burger-txt { display: block; line-height: 1 !important; margin: 3px 0 0 !important; padding: 0; text-align: center; }
  html.hs-menu-abierto #header .hs-burger span:nth-child(1), .hs-barra-burger.abierto span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  html.hs-menu-abierto #header .hs-burger span:nth-child(3), .hs-barra-burger.abierto span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
}

/* Próximos actos: solo se oculta el párrafo vacío de relleno (style="clear: both"); antes se ocultaba cualquier párrafo
   con atributo style, y el tamaño de letra A-/A/A+ pone ese atributo a todos los textos → en el móvil solo salían los iconos */
.dp-upcoming .dpcalendar-upcoming-default > p[style] { display: block; }
.dp-upcoming .dpcalendar-upcoming-default > p[style*="clear"], .dp-upcoming .dpcalendar-upcoming-default > p:empty { display: none; }

/* Credencial en el móvil: la figura del santo por delante de la sombra del texto (no le tapa la cabeza) */
@media (max-width: 979px) { .hs-credencial-figura { z-index: 3; pointer-events: none; } }

/* Noticias: botones de compartir al final de la noticia */
.hs-not-compartir { clear: both; margin: 34px 0 6px; padding-top: 18px; border-top: 1px solid #ead9d9; }
.hs-not-compartir-t { margin: 0 0 10px !important; font-family: 'Open Sans', Arial, sans-serif; font-size: 12px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6d0000; }
.hs-not-compartir .hs-share { margin: 0 !important; }
/* Pie: el título completo en letra pequeña bajo el nombre abreviado (en el móvil puede partir línea) */
@media (max-width: 600px) { .hs-pie-lema .hs-pie-renglon { white-space: normal; } }

/* Noticias: las fotos van a un lado del texto, con un tamaño fijo y generoso (el texto ocupa el resto del ancho) */
.hs-not-cuerpo a.hs-zoom[style*="float"], .hs-not-cuerpo img[style*="float"], .hs-not-cuerpo img[align], .hs-not-cuerpo img.alignleft, .hs-not-cuerpo img.alignright {
  width: 44% !important; max-width: 520px !important; height: auto !important; }
.hs-not-cuerpo a.hs-zoom[style*="float"] > img { width: 100% !important; height: auto !important; max-width: 100% !important; margin: 0 !important; float: none !important; }
@media (max-width: 600px) {
  .hs-not-cuerpo a.hs-zoom[style*="float"], .hs-not-cuerpo img[style*="float"], .hs-not-cuerpo img[align], .hs-not-cuerpo img.alignleft, .hs-not-cuerpo img.alignright {
    float: none !important; display: block !important; width: 100% !important; max-width: 100% !important; margin: 16px 0 !important; }
}
/* Compartir al final de las páginas de grupos y etiquetas: aire antes de «Noticias relacionadas» */
.tag-category .hs-not-compartir { margin-bottom: 40px; }
/* Botón de Instagram en los botones de compartir */
.hs-share .hs-share-btn { vertical-align: middle; }
button.hs-share-btn { border: 0; margin: 0; cursor: pointer; font-family: Arial, sans-serif; font-weight: bold; -webkit-appearance: none; appearance: none; }
.hs-share-ig { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.hs-share-ig.is-ok { background: #5a0000; }

/* ===== Portada con bloques (Páginas > Inicio), 30/10/2026 ===== */
.hs-portada-bloques > .hs-bloque-portada + .hs-bloque-portada { margin-top: 0; }
.hs-portada-bloques > p, .hs-portada-bloques > h2, .hs-portada-bloques > h3, .hs-portada-bloques > ul, .hs-portada-bloques > figure, .hs-portada-bloques > .wp-block-buttons, .hs-portada-bloques > .wp-block-columns, .hs-portada-bloques > .wp-block-group { margin-top: 24px; margin-bottom: 24px; }
/* Patrocinadores de lado a lado, como antes (fuera de la columna central) */
.hs-portada-bloques .hs-bp-patrocinadores { width: 100vw; position: relative; left: 50%; margin-left: -50vw; }
