/**
 * La Estrella – estilos del tema.
 *
 * Complementa a theme.json con lo que no puede expresarse allí:
 * cabecera con menú partido, listas con estrellas, secciones de portada
 * y ajustes responsive. Sin dependencias externas.
 */

/* ---------------------------------------------------------------
 * 1. Base
 * ------------------------------------------------------------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; max-width: 100%; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

.screen-reader-text:focus { clip: auto !important; }

/* Palabra destacada en color dentro de un título (formato «Color de texto» del editor) */
mark.has-inline-color { background: transparent; }

:focus-visible { outline: 2px solid var(--wp--preset--color--rojo); outline-offset: 2px; }

/* Estrella de seis puntas (se usa como máscara: toma el color de «background-color»,
   y en rojo como imagen para fondos decorativos). */
:root {
	--estrella-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0l3.46 6h6.93l-3.46 6 3.46 6h-6.93L12 24l-3.46-6H1.61l3.46-6-3.46-6h6.93z'/%3E%3C/svg%3E");
	--estrella-star-rojo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c32720' d='M12 0l3.46 6h6.93l-3.46 6 3.46 6h-6.93L12 24l-3.46-6H1.61l3.46-6-3.46-6h6.93z'/%3E%3C/svg%3E");
}
.estrella-star-icon {
	display: inline-block; width: .8em; height: .8em; background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}

/* ---------------------------------------------------------------
 * 2. Cabecera
 * ------------------------------------------------------------- */
.estrella-header-wrap { position: sticky; top: 0; z-index: 100; }
.admin-bar .estrella-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .estrella-header-wrap { top: 0; } }

.estrella-header { min-height: 70px; gap: 16px; transition: box-shadow .3s ease; }
.estrella-header.is-scrolled { box-shadow: 0 4px 18px rgba(0, 0, 0, .35); }

/* Rejilla simétrica: el logotipo queda siempre en el centro exacto de la pantalla,
   aunque los menús de cada lado tengan distinta longitud. */
.estrella-header { display: grid !important; grid-template-columns: 140px minmax(0, 1fr) 140px; align-items: center; }
.estrella-header__social,
.estrella-header__tools { gap: 8px; min-width: 0; }
.estrella-header__tools { justify-content: flex-end; }
.estrella-header__center { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 40px; min-width: 0; }
.estrella-header__center > .estrella-nav--left { justify-self: end; }
.estrella-header__center > .estrella-nav--right { justify-self: start; }
.estrella-header__center > .estrella-logo { grid-column: 2; }
/* Las redes se despliegan bajo la cabecera, sin empujar ni tapar el menú */
.estrella-header__social { position: relative; align-self: stretch; align-items: center; }
/* Escritorio: los cinco iconos siempre visibles (sin botón «compartir»). */
@media (min-width: 1280px) {
	.estrella-header__social .estrella-social-toggle { display: none; }
	.estrella-header__social .estrella-social-list {
		position: static; opacity: 1; visibility: visible; transform: none;
		margin: 0 !important; padding: 0; gap: 12px; background: transparent; box-shadow: none;
	}
	.estrella-header__social .estrella-social-list .wp-social-link { transition: transform .2s ease, color .2s ease; }
	.estrella-header__social .estrella-social-list .wp-social-link:hover { transform: translateY(-2px); color: var(--wp--preset--color--rojo) !important; }
	.estrella-header__social .estrella-social-list .wp-social-link a { padding: 4px 0; }
}
/* Portátiles: menú más compacto para que no salte de línea junto al logotipo centrado. */
@media (min-width: 1280px) and (max-width: 1365px) {
	.estrella-header__center { gap: 22px; }
	.estrella-header .estrella-nav .wp-block-navigation__container { gap: 18px !important; }
	.estrella-header .estrella-nav .wp-block-navigation-item__content { font-size: 11px; letter-spacing: .5px; }
	.estrella-logo img { height: 50px; }
}

.estrella-logo { display: block; line-height: 0; }
.estrella-logo img { width: auto; height: 56px; }

/* Menú de escritorio */
.estrella-nav .wp-block-navigation-item__content { padding: 22px 0; color: #fff; }
.estrella-nav .wp-block-navigation-item__content:hover,
.estrella-nav .wp-block-navigation-item__content:focus-visible,
.estrella-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--rojo); }

/* Cabecera sin subrayado ni recuadro de foco al pasar el ratón o pulsar
   (el foco con teclado se indica con el color rojo). */
.estrella-header a,
.estrella-header a:hover,
.estrella-header a:focus,
.estrella-header a:active { text-decoration: none !important; }
.estrella-header a,
.estrella-header button { outline: none !important; -webkit-tap-highlight-color: transparent; }
.estrella-header button:focus-visible { color: var(--wp--preset--color--rojo); }

.estrella-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--morado) !important;
	border: 0 !important;
	min-width: 230px !important;
	padding: 10px 0;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .3);
}
.estrella-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 22px;
	font-weight: 400;
	letter-spacing: 1px;
}
.estrella-nav .wp-block-navigation__submenu-icon { display: none; }

/* Redes sociales desplegables (icono «compartir») */
.estrella-social-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 0; background: transparent; color: #fff; cursor: pointer;
}
.estrella-social-toggle:hover { color: var(--wp--preset--color--rojo); }
.estrella-social-list {
	opacity: 0; visibility: hidden; transform: translateX(-8px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.estrella-header__social.is-open .estrella-social-list { opacity: 1; visibility: visible; transform: none; }

/* Buscador de la cabecera */
.estrella-search .wp-block-search__button {
	background: transparent; color: #fff; border: 0; padding: 10px;
}
.estrella-search .wp-block-search__button:hover { color: var(--wp--preset--color--rojo); background: transparent; }
.estrella-search .wp-block-search__input { color: var(--wp--preset--color--tinta); }
.estrella-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }

/* Menú móvil (hamburguesa): solo por debajo de 1280px */
.estrella-header .wp-block-navigation.estrella-nav--mobile { display: none; }
.estrella-nav--mobile .wp-block-navigation__responsive-container-open { color: #fff; }
.estrella-nav--mobile .wp-block-navigation__responsive-container.is-menu-open {
	padding: 60px 30px;
	font-size: 18px;
}
.estrella-nav--mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 8px 0; color: #fff; font-size: 16px;
}
.estrella-nav--mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding: 0 0 0 18px !important; background: transparent !important; box-shadow: none;
	text-transform: none; letter-spacing: .5px;
}
.estrella-nav--mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 15px; font-weight: 400; padding: 5px 0;
}

@media (max-width: 1279px) {
	.estrella-nav--left,
	.estrella-nav--right,
	.estrella-header__tools .estrella-search { display: none; }
	.estrella-header .wp-block-navigation.estrella-nav--mobile { display: flex; }
	.estrella-header { padding-left: 8px !important; padding-right: 8px !important; min-height: 60px; }
	.estrella-header { grid-template-columns: 52px minmax(0, 1fr) 52px; }
	.estrella-header__social { position: static; }
	.estrella-header__social .estrella-social-list {
		position: absolute; top: 60px; left: 0; right: 0; margin: 0 !important; border-radius: 0; box-shadow: none;
		justify-content: center;
		padding: 12px; background: var(--wp--preset--color--morado);
	}
	.estrella-logo img { height: 44px; }
}

/* ---------------------------------------------------------------
 * 3. Títulos de página y secciones
 * ------------------------------------------------------------- */
.estrella-page-title { margin-top: 0; margin-bottom: var(--wp--preset--spacing--50); }
.estrella-page-title--post { font-size: clamp(26px, 3.4vw, 38px) !important; line-height: 1.35; }

/* Cabecera de página: banda morada con el título en blanco */
.estrella-page-hero {
	position: relative; overflow: hidden; isolation: isolate;
	margin: 0 !important; padding: 62px 20px 68px !important; text-align: center;
	background-image:
		radial-gradient(ellipse 60% 120% at 50% 130%, rgba(195, 39, 32, .32), transparent 70%),
		radial-gradient(ellipse 45% 90% at 0% 0%, rgba(255, 255, 255, .06), transparent 70%),
		linear-gradient(180deg, #1f052c 0%, #2b0b3b 100%);
}
/* Escudo de fondo en marca de agua (a ambos lados) */
.estrella-page-hero::before,
.estrella-page-hero::after {
	content: ""; position: absolute; top: 50%; z-index: -1; width: 300px; height: 300px;
	background: url(../img/escudo-blanco.png) center / contain no-repeat; opacity: .045; pointer-events: none;
}
.estrella-page-hero::before { left: -70px; transform: translateY(-50%) rotate(-10deg); }
.estrella-page-hero::after { right: -70px; transform: translateY(-50%) rotate(10deg); }
/* Filo rojo inferior */
.estrella-page-hero > :last-child { margin-bottom: 0 !important; }
.estrella-page-hero { box-shadow: inset 0 -3px 0 var(--wp--preset--color--rojo); }

.estrella-page-hero__kicker {
	margin: 0 auto 14px !important; color: #c2b3cc;
	font-family: var(--wp--preset--font-family--oswald); font-size: 12px !important; line-height: 1.4;
	letter-spacing: 6px; text-indent: 6px; text-transform: uppercase;
}
.estrella-page-hero__title {
	max-width: 980px; margin: 0 auto !important; color: #fff !important;
	font-family: var(--wp--preset--font-family--oswald); font-size: clamp(32px, 4.4vw, 54px) !important; font-weight: 400;
	line-height: 1.15 !important; letter-spacing: 3px; text-transform: uppercase; text-shadow: 0 4px 24px rgba(0, 0, 0, .35);
}
/* Separador: dos líneas rojas con una estrella en medio */
.estrella-page-hero__title::after {
	content: ""; display: block; width: 150px; height: 14px; margin: 20px auto 0;
	background:
		var(--estrella-star-rojo) center / 14px 14px no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) left center / 58px 1px no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) right center / 58px 1px no-repeat;
}
.estrella-page-hero__title--post { font-size: clamp(24px, 3vw, 38px) !important; line-height: 1.3 !important; letter-spacing: 1.5px; }
.estrella-page-hero .estrella-page-hero__meta { justify-content: center; margin-top: 18px !important; color: #c2b3cc; font-size: 13px; }
.estrella-page-hero .estrella-page-hero__meta a { color: #fff; }
.estrella-page-hero .estrella-page-hero__meta a:hover { color: var(--wp--preset--color--rojo); }
.estrella-page-hero .estrella-page-hero__tags { margin: 22px auto 0 !important; }
.estrella-page-hero .estrella-page-hero__tags a { border-color: rgba(255, 255, 255, .3); color: #fff; }
.estrella-page-hero .estrella-page-hero__tags a:hover { border-color: var(--wp--preset--color--rojo); background: var(--wp--preset--color--rojo); color: #fff; }
/* Categorías de la ficha (solo informativas, sin enlace) */
.estrella-hero-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 24px auto 0; }
.estrella-hero-tags__item {
	display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px 6px 13px;
	border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: rgba(255, 255, 255, .06);
	color: #fff; font-family: var(--wp--preset--font-family--oswald); font-size: 12px; line-height: 1.4; letter-spacing: 2px; text-transform: uppercase;
	cursor: default; user-select: none;
}
.estrella-hero-tags__item::before {
	content: ""; width: 9px; height: 9px; background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-page-hero__text { max-width: 760px; margin: 16px auto 0 !important; color: #d8cfdd; }
@media (max-width: 781px) {
	.estrella-page-hero { padding: 44px 20px 50px !important; }
	.estrella-page-hero::before, .estrella-page-hero::after { width: 190px; height: 190px; }
	.estrella-page-hero::before { left: -80px; }
	.estrella-page-hero::after { right: -80px; }
	.estrella-page-hero__kicker { letter-spacing: 4px; text-indent: 4px; }
	.estrella-page-hero__title { letter-spacing: 2px; }
}


/* Listas con estrella (como en el diseño original) */
.is-style-estrellas { list-style: none; padding-left: 0; }
.is-style-estrellas li { position: relative; padding-left: 1.6em; margin-bottom: .35em; }
.is-style-estrellas li::before {
	content: ""; position: absolute; left: 0; top: calc(.8em - 6px); width: 12px; height: 12px;
	background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}

.is-style-sombra img { box-shadow: 0 15px 40px rgba(0, 0, 0, .25); }

.estrella-tags { margin-bottom: var(--wp--preset--spacing--40); }
.estrella-tags a {
	display: inline-block; margin: 0 3px 6px; padding: 2px 8px;
	border: 1px solid #ccc; color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
}
.estrella-tags a:hover { border-color: var(--wp--preset--color--rojo); color: var(--wp--preset--color--rojo); }
.estrella-tags .wp-block-post-terms__separator { display: none; }

/* Metadatos de entradas */
.estrella-meta { gap: 6px; font-size: 12px; font-style: italic; color: #777; justify-content: inherit; }
.estrella-meta > * { margin: 0 !important; }
.estrella-meta__author::before { content: "por "; }
.estrella-meta a { color: var(--wp--preset--color--rojo); }

/* ---------------------------------------------------------------
 * 4. Portada
 * ------------------------------------------------------------- */
.estrella-main--front > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }

/* Imagen superior: misma altura que el Slider Revolution original
   (1240×600 a escala, mínimo 550 px en portátil). */
.estrella-hero { margin: 0 !important; background: var(--wp--preset--color--morado); }
.estrella-hero img { display: block; width: 100%; height: max(47.45vw, min(550px, 53.7vw)) !important; object-fit: cover; }

/* Secciones de portada: sin huecos entre bloques (los espacios son separadores, como en Elementor) */
.estrella-main--front .wp-block-post-content > .wp-block-group,
.estrella-main--front .wp-block-post-content > .wp-block-cover { margin-top: 0 !important; margin-bottom: 0 !important; }
.estrella-main--front .wp-block-post-content .is-layout-constrained > *,
.estrella-main--front .wp-block-post-content .is-layout-flow > * { margin-block-start: 0; margin-block-end: 0; }
.estrella-front-video { min-height: 0 !important; }
/* Oscurecimiento del fondo para que el título se lea bien */
.estrella-front-video .wp-block-cover__background { background-color: #000 !important; opacity: .5 !important; }
.estrella-front-video .wp-block-cover__inner-container { padding: 0 !important; }
.estrella-front-agenda { padding-top: 10px !important; padding-bottom: 10px !important; }
.estrella-front-agenda .estrella-events-wrap .lc_swp_boxed { max-width: 1120px; }
.estrella-front-video .estrella-video { margin-bottom: 8px !important; }
.estrella-front-video { padding: 0 !important; }
.estrella-front-video .wp-block-cover__inner-container { width: 100%; }

/* Subtítulo bajo los títulos de sección (h4.section_subtitle de Lucille) */
.estrella-kicker {
	margin: 0 auto !important; padding: 5px 0;
	font-family: var(--wp--preset--font-family--oswald) !important;
	font-size: 13px !important; line-height: 24px; letter-spacing: 8px; text-indent: 8px; font-weight: 400;
}
.estrella-section-title { font-size: 30px !important; line-height: 40px !important; font-weight: 700; margin: 0 auto !important; }

/* Sobre La Estrella */
.estrella-sobre { gap: 20px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.estrella-sobre__grid { gap: 20px !important; padding: 0 10px; }
.estrella-sobre__item { gap: 15px; min-height: 119px; padding-left: 0; }
.estrella-sobre__item figure { margin: 0 !important; flex: 0 0 55px; }
.estrella-sobre__item img { width: 55px !important; height: auto; transition: transform .3s ease; }
.estrella-sobre__item:hover img { animation: estrella-hang 1.5s ease-in-out .3s infinite alternate; }
.estrella-sobre__title { margin: 26px 0 !important; font-family: var(--wp--preset--font-family--oswald) !important; font-size: 26px !important; font-weight: 400 !important; line-height: 46.8px !important; letter-spacing: 1px !important; }
.estrella-sobre__title a { color: #fff; }
.estrella-sobre__title a:hover { color: var(--wp--preset--color--rojo); }
.estrella-sobre__heading { text-align: left; }
.estrella-sobre__text { margin: 0 0 30px !important; color: #bababa; font-size: 15px !important; line-height: 28.5px !important; }
.estrella-hashtag { margin: 0 !important; color: #f9f9f9; font-size: 28px !important; font-weight: 500; line-height: 1 !important; letter-spacing: 1px; }
@keyframes estrella-hang { 0% { transform: translateY(8px); } 100% { transform: translateY(0); } }
@media (max-width: 781px) {
	.estrella-front-sobre .wp-block-spacer[style*="150px"] { height: 40px !important; }
	.estrella-sobre__heading, .estrella-sobre__text, .estrella-hashtag { text-align: center; }
}

/* --- Portada rediseñada (v1.2.6) --- */
.estrella-hero { position: relative; }
.estrella-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--wp--preset--color--rojo); }

/* Secciones */
.estrella-main--front .estrella-front-section { padding: 96px 20px !important; }
.estrella-main--front .estrella-front-section.estrella-front-musica { padding-top: 70px !important; }
.estrella-main--front .estrella-front-section.estrella-front-cta { padding-top: 0 !important; }
.estrella-main--front .estrella-front-section.estrella-front-noticias { padding-bottom: 64px !important; }
.estrella-front-kicker {
	margin: 0 auto 10px !important; color: var(--wp--preset--color--rojo);
	font-family: var(--wp--preset--font-family--oswald); font-size: 12px !important; line-height: 1.4 !important;
	letter-spacing: 6px; text-indent: 6px; text-transform: uppercase;
}
.estrella-front-kicker.is-left { text-indent: 0; }
.has-morado-background-color .estrella-front-kicker,
.estrella-front-video .estrella-front-kicker { color: #c2b3cc; }
.estrella-main--front .estrella-front-section .estrella-front-actions { margin-top: 44px !important; }

/* Botón */
.estrella-btn {
	display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; border: 1.5px solid var(--wp--preset--color--rojo); border-radius: 999px;
	background: var(--wp--preset--color--rojo); color: #fff !important; text-decoration: none;
	font-family: var(--wp--preset--font-family--oswald); font-size: 14px; letter-spacing: 2px; text-transform: uppercase;
	box-shadow: 0 14px 28px -14px rgba(195, 39, 32, .9); transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.estrella-btn::after { content: "\2192"; transition: transform .25s ease; }
.estrella-btn:hover { background: var(--wp--preset--color--rojo-oscuro); border-color: var(--wp--preset--color--rojo-oscuro); transform: translateY(-2px); }
.estrella-btn:hover::after { transform: translateX(4px); }
.estrella-btn.is-outline { background: transparent; border-color: rgba(255, 255, 255, .45); box-shadow: none; }
.estrella-btn.is-outline:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--morado) !important; }

/* Cifras sobre la imagen */
.estrella-main--front .estrella-front-stats { position: relative; z-index: 2; margin-top: -64px !important; padding: 0 20px !important; }
.estrella-front-stats .estrella-stats { max-width: 1140px; margin: 0 auto !important; box-shadow: 0 30px 60px -28px rgba(31, 5, 44, .85); }

/* Nuestra Música */
.estrella-front-musica .estrella-albums { max-width: 1100px; }

/* Próximas Actuaciones */
.estrella-front-agenda {
	position: relative; overflow: hidden; isolation: isolate;
	background-image: radial-gradient(ellipse 60% 90% at 50% 120%, rgba(195, 39, 32, .3), transparent 70%), linear-gradient(180deg, #1f052c 0%, #2b0b3b 100%);
}
.estrella-front-agenda::before {
	content: ""; position: absolute; left: -90px; top: 50%; z-index: -1; width: 420px; height: 420px; transform: translateY(-50%) rotate(-10deg);
	background: url(../img/escudo-blanco.png) center / contain no-repeat; opacity: .04;
}
.estrella-main--front .estrella-front-agenda__panel {
	max-width: 1000px; margin: 0 auto !important; padding: 16px 34px !important;
	border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(255, 255, 255, .04);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6);
}
.estrella-front-agenda__panel .estrella-events-wrap .lc_swp_boxed { padding: 0; }
.estrella-front-agenda__panel .estrella-events-wrap li.single_event_list { border-color: rgba(255, 255, 255, .1); }
.estrella-front-agenda__panel .estrella-events-wrap li.single_event_list.emphasize_first { padding: 34px 0; }
.estrella-front-video .estrella-section-title { text-shadow: 0 2px 20px rgba(0, 0, 0, .75); }
.estrella-front-agenda__panel .estrella-events-wrap .no_events_msg { padding: 26px 0; color: #c2b3cc; letter-spacing: .5px; }

/* Video Destacado */
.estrella-front-video .estrella-section-title.is-deco::after { margin-bottom: 40px; }
.estrella-front-video .estrella-video { overflow: hidden; border-radius: 12px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 80px -30px rgba(0, 0, 0, .9); }
.estrella-front-video .estrella-video__circle { background-color: rgba(195, 39, 32, .85); box-shadow: 0 0 0 10px rgba(255, 255, 255, .12); }
.estrella-front-video .estrella-video__link:hover .estrella-video__circle { background-color: var(--wp--preset--color--rojo); box-shadow: 0 0 0 16px rgba(255, 255, 255, .16); }

/* Sobre La Estrella */
.estrella-front-sobre { background-image: linear-gradient(135deg, #2b0b3b 0%, #1f052c 60%) !important; }
.estrella-front-sobre .estrella-sobre { gap: 60px !important; }
.estrella-front-sobre .estrella-section-title.is-deco::after { margin-bottom: 24px; }

/* Últimas Noticias */
.estrella-front-noticias .estrella-news { gap: 24px; }
.estrella-front-noticias .estrella-news .lc_blog_masonry_brick { border-radius: 12px; box-shadow: 0 24px 50px -28px rgba(31, 5, 44, .7); }

@media (max-width: 781px) {
	.estrella-main--front .estrella-front-section { padding: 64px 16px !important; }
	.estrella-main--front .estrella-front-section.estrella-front-musica { padding-top: 56px !important; }
	.estrella-main--front .estrella-front-stats { margin-top: -30px !important; padding: 0 16px !important; }
	.estrella-stats > .estrella-stat { padding: 20px 12px; }
	.estrella-stat strong { font-size: 32px; }
	.estrella-main--front .estrella-front-agenda__panel { padding: 8px 18px !important; }
	.estrella-front-sobre .estrella-sobre { gap: 36px !important; }
	.estrella-front-kicker.is-left { text-align: center; }
}
@media (max-width: 600px) {
	/* Tres cifras en una sola fila */
	.estrella-front-stats .estrella-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.estrella-front-stats .estrella-stats > .estrella-stat { padding: 16px 6px; border-left: 0; border-top: 0; font-size: 10px; letter-spacing: 1px; line-height: 1.4; }
	.estrella-front-stats .estrella-stat strong { font-size: 28px; }
	.estrella-front-stats .estrella-stats > .estrella-stat + .estrella-stat { border-left: 1px solid rgba(255, 255, 255, .08); }
}

/* ---------------------------------------------------------------
 * 5. Listado de noticias
 * ------------------------------------------------------------- */
/* Filtro por categorías */
.estrella-news-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 1140px; margin: 0 auto 44px; }
.estrella-news-filter__item {
	padding: 8px 18px; border: 1px solid #e3dde8; border-radius: 999px; background: #fff; color: var(--wp--preset--color--tinta) !important;
	font-family: var(--wp--preset--font-family--oswald); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.estrella-news-filter__item:hover { border-color: var(--wp--preset--color--rojo); color: var(--wp--preset--color--rojo) !important; }
.estrella-news-filter__item.is-active { border-color: var(--wp--preset--color--morado); background: var(--wp--preset--color--morado); color: #fff !important; }
/* Agenda: filtro de temporadas cofrades (mismo estilo que el filtro de Noticias) */
.estrella-season-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 auto 12px; scroll-margin-top: 110px; }
.estrella-season-filter__item {
	padding: 8px 18px; border: 1px solid #e3dde8; border-radius: 999px; background: #fff; color: var(--wp--preset--color--tinta) !important;
	font-family: var(--wp--preset--font-family--oswald); font-size: 13px; letter-spacing: 1.5px; text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.estrella-season-filter__item:hover { border-color: var(--wp--preset--color--rojo); color: var(--wp--preset--color--rojo) !important; }
.estrella-season-filter__item.is-current { border-color: var(--wp--preset--color--morado); background: var(--wp--preset--color--morado); color: #fff !important; }
.estrella-season-filter__range { margin: 0 0 24px !important; color: #858585; font-size: 14px; font-style: italic; text-align: center; }

/* Tarjetas de noticias */
.estrella-news-list { max-width: 1140px !important; margin-left: auto !important; margin-right: auto !important; }
.estrella-news-list .wp-block-post-template { gap: 30px !important; margin: 0 !important; padding: 0 !important; }
.estrella-news-list .wp-block-post-template > li { margin: 0 !important; }
.estrella-news-card {
	display: flex; flex-direction: column; height: 100%; overflow: hidden; margin: 0 !important;
	border: 1px solid #ece8ef; border-radius: 12px; background: #fff; box-shadow: 0 20px 44px -30px rgba(31, 5, 44, .55);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.estrella-news-card:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 30px 56px -28px rgba(31, 5, 44, .6); }
.estrella-news-card > * { margin: 0 !important; }
.estrella-news-card__image { position: relative; overflow: hidden; background: var(--wp--preset--color--morado); }
.estrella-news-card__image::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--wp--preset--color--rojo); }
.estrella-news-card__image img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.estrella-news-card:hover .estrella-news-card__image img { transform: scale(1.05); }
.estrella-news-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 22px 24px 24px !important; }
.estrella-news-card__body > * { margin: 0 !important; }
.estrella-news-card__meta { gap: 8px 12px !important; align-items: center; margin-bottom: 12px !important; font-size: 12px; }
.estrella-news-card__meta > * { margin: 0 !important; }
.estrella-news-card__date { color: #8a8a8a; font-style: normal; font-size: 12px !important; letter-spacing: .5px; }
.estrella-news-card__cat a {
	display: inline-block; padding: 2px 10px; border-radius: 999px; background: rgba(195, 39, 32, .1); color: var(--wp--preset--color--rojo) !important;
	font-family: var(--wp--preset--font-family--oswald); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; text-decoration: none;
}
.estrella-news-card__cat .wp-block-post-terms__separator { display: none; }
.estrella-news-card__title {
	font-family: var(--wp--preset--font-family--oswald) !important; font-size: 19px !important; font-weight: 400 !important; line-height: 1.4 !important;
	letter-spacing: .5px; text-transform: uppercase;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.estrella-news-card__title a { color: var(--wp--preset--color--tinta); text-decoration: none; }
.estrella-news-card__title a:hover { color: var(--wp--preset--color--rojo); }
.estrella-news-card__excerpt { display: flex; flex-direction: column; flex: 1 1 auto; margin-top: 10px !important; color: #666; font-size: 14px; line-height: 1.7; }
.estrella-news-card__excerpt .wp-block-post-excerpt__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; margin: 0; }
.estrella-news-card__excerpt .wp-block-post-excerpt__more-text { margin: auto 0 0 !important; padding-top: 16px; }
.estrella-news-card__excerpt .wp-block-post-excerpt__more-link {
	color: var(--wp--preset--color--rojo); font-family: var(--wp--preset--font-family--oswald); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; text-decoration: none;
}
.estrella-news-card__excerpt .wp-block-post-excerpt__more-link::after { content: " \2192"; display: inline-block; transition: transform .25s ease; }
.estrella-news-card:hover .wp-block-post-excerpt__more-link::after { transform: translateX(4px); }

/* Tarjetas generadas por [estrella_news] (portada y «Más noticias») */
.estrella-news.estrella-news--cards { gap: 30px !important; max-width: 1140px; margin: 0 auto; }
.estrella-news--cards .estrella-news-card__image { aspect-ratio: 16 / 10; }
.estrella-news--cards .estrella-news-card__image a { display: block; height: 100%; }
.estrella-news--cards .estrella-news-card__meta { display: flex; flex-wrap: wrap; }
.estrella-news--cards .estrella-news-card__excerpt p { margin: 0; }
.estrella-news--cards .estrella-news-card__title { margin: 0 !important; }
/* Noticia sin imagen: fondo morado con la estrella */
.estrella-news-card__image.is-empty { background: radial-gradient(ellipse at 50% 120%, rgba(195, 39, 32, .35), transparent 70%), linear-gradient(135deg, #2b0b3b, #1f052c); }
.estrella-news-card__image.is-empty a::before {
	content: ""; position: absolute; top: 50%; left: 50%; width: 54px; height: 54px; transform: translate(-50%, -50%); opacity: .5;
	background-color: #fff; -webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}

/* Primera noticia destacada (solo en la primera página del listado) */
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card { flex-direction: row; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__image { flex: 0 0 58%; aspect-ratio: 16 / 10; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__image::after { left: auto; top: 0; width: 3px; height: auto; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__body { justify-content: center; padding: 40px 44px !important; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__title { font-size: clamp(22px, 2.2vw, 30px) !important; -webkit-line-clamp: 4; line-clamp: 4; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__excerpt { flex: 0 0 auto; font-size: 15px; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .wp-block-post-excerpt__excerpt { -webkit-line-clamp: 5; line-clamp: 5; }
body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .wp-block-post-excerpt__more-text { margin-top: 18px !important; }

/* Paginación */
.estrella-pagination { gap: 8px !important; margin-top: 56px !important; font-family: var(--wp--preset--font-family--oswald); }
.estrella-pagination a,
.estrella-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 14px; box-sizing: border-box;
	border: 1px solid #e3dde8; border-radius: 999px; background: #fff; color: var(--wp--preset--color--tinta); font-size: 14px; letter-spacing: 1px; text-decoration: none;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.estrella-pagination a:hover { border-color: var(--wp--preset--color--rojo); color: var(--wp--preset--color--rojo); }
.estrella-pagination .page-numbers.current { border-color: var(--wp--preset--color--morado); background: var(--wp--preset--color--morado); color: #fff; }
.estrella-pagination .page-numbers.dots { border: 0; background: none; min-width: 0; }
.estrella-news-empty { padding: 40px 0; color: #777; }

@media (max-width: 1023px) {
	.estrella-news-list .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
	body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card { flex-direction: column; }
	body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__image { flex-basis: auto; }
	body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__image::after { left: 0; top: auto; width: auto; height: 3px; }
	body:not(.paged) .estrella-news-list .wp-block-post-template > li:first-child .estrella-news-card__body { padding: 24px !important; }
}
@media (max-width: 600px) {
	.estrella-news-list .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; }
	.estrella-news-filter { margin-bottom: 30px; }
}

/* ---------------------------------------------------------------
 * 5b. Noticia completa
 * ------------------------------------------------------------- */
.estrella-single-image { position: relative; max-width: 1000px; margin: 0 auto 54px !important; text-align: center; }
.estrella-single-image img { max-height: 640px; width: auto !important; max-width: 100%; margin: 0 auto; border-radius: 12px; box-shadow: 0 34px 70px -34px rgba(31, 5, 44, .7); }
.estrella-single__content { font-size: 16px; line-height: 1.9; color: #3f3f3f; }
.estrella-single__content > p:first-child { font-size: 18px; line-height: 1.85; color: #2a2a2a; }
.estrella-single__content p { text-align: justify; hyphens: auto; }
.estrella-single__content h2, .estrella-single__content h3, .estrella-single__content h4 { margin-top: 1.6em; font-family: var(--wp--preset--font-family--oswald); font-weight: 400; letter-spacing: .5px; color: var(--wp--preset--color--tinta); }
.estrella-single__content .wp-block-image img, .estrella-single__content img { border-radius: 10px; }
.estrella-single__content .wp-block-gallery { gap: 12px !important; margin-top: 28px !important; margin-bottom: 28px !important; }
.estrella-single__content .wp-block-gallery .wp-block-image { overflow: hidden; border-radius: 10px; box-shadow: 0 16px 34px -24px rgba(31, 5, 44, .6); }
.estrella-single__content .wp-block-gallery .wp-block-image img { border-radius: 0; transition: transform .5s ease; }
.estrella-single__content .wp-block-gallery .wp-block-image:hover img { transform: scale(1.04); }
.estrella-single__content > .wp-block-image { margin-top: 28px !important; margin-bottom: 28px !important; }
.estrella-single__content blockquote { margin: 1.8em 0; padding: 6px 0 6px 24px; border-left: 3px solid var(--wp--preset--color--rojo); font-size: 18px; font-style: italic; color: var(--wp--preset--color--morado); }
.estrella-single__content a { text-decoration: underline; text-decoration-color: rgba(195, 39, 32, .4); text-underline-offset: 3px; }

.estrella-single__footer { margin-top: 50px !important; padding-top: 30px; border-top: 1px solid #eeeaf0; }
.estrella-single__footer > * { margin-top: 0 !important; }

/* Compartir */
.estrella-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-bottom: 34px; }
.estrella-share__label { margin-right: 6px; color: var(--wp--preset--color--tinta); font-family: var(--wp--preset--font-family--oswald); font-size: 13px; letter-spacing: 3px; text-transform: uppercase; }
.estrella-share__link {
	display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
	background: var(--wp--preset--color--morado); color: #fff !important; transition: background-color .25s ease, transform .25s ease;
}
.estrella-share__link svg { width: 20px; height: 20px; fill: currentColor; }
.estrella-share__link:hover { transform: translateY(-3px); }
.estrella-share__link--facebook:hover { background: #1877f2; }
.estrella-share__link--x:hover { background: #000; }
.estrella-share__link--whatsapp:hover { background: #25d366; }
.estrella-share__link--email:hover { background: var(--wp--preset--color--rojo); }

/* Anterior / siguiente */
.estrella-post-nav { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.estrella-post-nav > * { margin: 0 !important; }
.estrella-post-nav .wp-block-post-navigation-link a {
	display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: 20px 24px;
	border: 1px solid #ece8ef; border-radius: 12px; background: #fff; color: var(--wp--preset--color--tinta); text-decoration: none;
	box-shadow: 0 18px 40px -30px rgba(31, 5, 44, .5); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.estrella-post-nav .wp-block-post-navigation-link a:hover { transform: translateY(-3px); border-color: var(--wp--preset--color--rojo); }
.estrella-post-nav .post-navigation-link__label { color: var(--wp--preset--color--rojo); font-family: var(--wp--preset--font-family--oswald); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.estrella-post-nav .post-navigation-link__title { font-family: var(--wp--preset--font-family--oswald); font-size: 16px; line-height: 1.4; letter-spacing: .3px; }
.estrella-post-nav .estrella-post-nav__prev .post-navigation-link__label::before { content: "\2190  "; }
.estrella-post-nav .estrella-post-nav__next { grid-column: 2; text-align: right; }
.estrella-post-nav .estrella-post-nav__next a { align-items: flex-end; }
.estrella-post-nav .estrella-post-nav__next .post-navigation-link__label::after { content: "  \2192"; }
/* Comentarios */
.estrella-comments { max-width: 820px; margin: 50px auto 0 !important; }
.estrella-comments .wp-block-comments-title, .estrella-comments .comment-reply-title { font-family: var(--wp--preset--font-family--oswald); font-size: 22px; font-weight: 400; letter-spacing: 1px; color: var(--wp--preset--color--tinta); }
.estrella-comments .wp-block-comment-template li { margin-bottom: 18px; padding: 18px 22px; border: 1px solid #ece8ef; border-radius: 10px; background: #fff; }
.estrella-comments .wp-block-comment-author-name { font-family: var(--wp--preset--font-family--oswald); font-size: 16px; }
.estrella-comments .wp-block-comment-date { font-size: 12px; color: #8a8a8a; }
.estrella-comments input[type="text"], .estrella-comments input[type="email"], .estrella-comments input[type="url"], .estrella-comments textarea {
	width: 100%; box-sizing: border-box; padding: 13px 16px; border: 1px solid #e3dde8; border-radius: 8px; background: #f8f6f9; font-size: 14px;
}
.estrella-comments input:focus, .estrella-comments textarea:focus { outline: none; border-color: var(--wp--preset--color--rojo); background: #fff; box-shadow: 0 0 0 3px rgba(195, 39, 32, .12); }
.estrella-comments .form-submit .wp-block-button__link, .estrella-comments input[type="submit"] {
	padding: 13px 30px; border: 0; border-radius: 999px; background: var(--wp--preset--color--rojo); color: #fff;
	font-family: var(--wp--preset--font-family--oswald); font-size: 14px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer;
}
.estrella-comments .form-submit .wp-block-button__link:hover, .estrella-comments input[type="submit"]:hover { background: var(--wp--preset--color--rojo-oscuro); }
.estrella-single__more .estrella-news { gap: 24px; }
.estrella-single__more .estrella-news .lc_blog_masonry_brick { border-radius: 12px; box-shadow: 0 24px 50px -28px rgba(31, 5, 44, .7); }
.estrella-single__more .estrella-front-actions { margin-top: 40px !important; }
@media (max-width: 600px) {
	.estrella-post-nav { grid-template-columns: minmax(0, 1fr); }
	.estrella-post-nav .estrella-post-nav__next { grid-column: 1; }
	.estrella-single__content p { text-align: left; }
}

/* ---------------------------------------------------------------
 * 6. Pie de página
 * ------------------------------------------------------------- */
.estrella-footer {
	position: relative; font-size: 14px; font-weight: 400; line-height: 1.7; color: #d4cad9;
	background-image: radial-gradient(ellipse at 15% 0%, rgba(195, 39, 32, .14), transparent 55%), linear-gradient(180deg, #24072f 0%, #1a0425 100%);
}
/* Franja roja superior */
.estrella-footer::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--rojo) 20%, var(--wp--preset--color--rojo) 80%, transparent);
}
.estrella-footer a { color: #fff; text-decoration: none; transition: color .25s ease; }
.estrella-footer a:hover, .estrella-footer a:focus-visible { color: var(--wp--preset--color--rojo); text-decoration: none; }
.estrella-footer p { margin: 0; }

/* Columnas repartidas en todo el ancho de la pantalla (mismo margen lateral que la cabecera) */
.estrella-footer > .estrella-footer__cols {
	box-sizing: border-box; width: 100%; max-width: 1640px !important;
	gap: 56px !important; margin: 0 auto !important; padding: 70px 10px 56px;
}
.estrella-footer__cols > .wp-block-column { flex-grow: 1; }
/* Textos justificados */
.estrella-footer__name,
.estrella-footer__contact span { text-align: justify; hyphens: auto; }

/* Columna de marca: escudo, nombre y lema */
/* Escudo, nombre y lema centrados entre sí (el nombre, justificado con la última línea centrada) */
.estrella-footer__brand { text-align: center; }
.estrella-footer__brand > * + * { margin-top: 18px !important; }
.estrella-footer__escudo { margin: 0 auto !important; text-align: center; }
.estrella-footer__brand .estrella-footer__name { text-align: justify; text-align-last: center; }
.estrella-footer__hashtag { text-align: center; }
.estrella-footer__escudo a { display: inline-block; transition: transform .35s ease, filter .35s ease; }
.estrella-footer__escudo a:hover { transform: translateY(-3px); filter: drop-shadow(0 8px 18px rgba(195, 39, 32, .45)); }
.estrella-footer__name { font-family: var(--wp--preset--font-family--cinzel); font-size: 15px; font-weight: 700; line-height: 1.55; letter-spacing: .5px; color: #fff; }
.estrella-footer__hashtag { font-family: var(--wp--preset--font-family--alex-brush); font-size: 30px; line-height: 1; color: #fff; opacity: .9; }

/* Títulos de columna con barra roja */
.estrella-footer__title {
	position: relative; margin: 0 0 26px !important; padding-bottom: 14px;
	font-family: var(--wp--preset--font-family--oswald) !important; font-size: 15px !important; font-weight: 400 !important;
	line-height: 1.3 !important; letter-spacing: 3px !important; text-transform: uppercase; color: #fff !important;
}
.estrella-footer__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 2px; background: var(--wp--preset--color--rojo); }
.estrella-footer__title--search { margin-top: 34px !important; }

/* Contacto con iconos */
.estrella-footer__contact { margin: 0; padding: 0; list-style: none; }
.estrella-footer__contact li { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; overflow-wrap: anywhere; }
.estrella-footer__contact svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; fill: var(--wp--preset--color--rojo); }
.estrella-footer__contact a { color: #d4cad9; }

/* Accesos rápidos */
.estrella-footer__links { margin: 0; padding: 0; list-style: none; }
.estrella-footer__links li { margin: 0 0 10px; }
.estrella-footer__links a { display: inline-block; color: #d4cad9; transition: color .25s ease, transform .25s ease; }
.estrella-footer__links a::before {
	content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 9px; vertical-align: 0;
	background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-footer__links a:hover { color: #fff; transform: translateX(4px); }

/* Redes sociales: iconos grandes en círculo */
.estrella-footer__social { gap: 12px !important; margin: 0 !important; }
.estrella-footer__social .wp-social-link { margin: 0 !important; }
.estrella-footer__social.wp-block-social-links .wp-social-link a {
	display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0 !important;
	border: 1.5px solid rgba(255, 255, 255, .28); border-radius: 50%;
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.estrella-footer__social.wp-block-social-links .wp-social-link svg { width: 22px; height: 22px; }
.estrella-footer__social.wp-block-social-links .wp-social-link a:hover,
.estrella-footer__social.wp-block-social-links .wp-social-link a:focus-visible {
	background: var(--wp--preset--color--rojo); border-color: var(--wp--preset--color--rojo); color: #fff; transform: translateY(-3px);
}

/* Buscador: campo redondeado con botón rojo integrado */
.estrella-footer__search { max-width: 320px; }
.estrella-footer__search .wp-block-search__inside-wrapper {
	padding: 4px !important; border: 1px solid rgba(255, 255, 255, .22) !important; border-radius: 999px;
	background: rgba(255, 255, 255, .07); transition: border-color .25s ease, background-color .25s ease;
}
.estrella-footer__search .wp-block-search__inside-wrapper:focus-within { border-color: var(--wp--preset--color--rojo) !important; background: rgba(255, 255, 255, .12); }
.estrella-footer__search .wp-block-search__input {
	min-width: 0; padding: 8px 14px !important; border: 0 !important; border-radius: 999px;
	background: transparent; color: #fff; font-size: 14px; outline: none;
}
.estrella-footer__search .wp-block-search__input::placeholder { color: #b3a6bb; opacity: 1; }
.estrella-footer__search .wp-block-search__button {
	display: flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 50%; background: var(--wp--preset--color--rojo) !important; color: #fff !important;
	transition: background-color .25s ease;
}
.estrella-footer__search .wp-block-search__button:hover { background: var(--wp--preset--color--rojo-oscuro) !important; }
.estrella-footer__search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }

/* Barra inferior */
.estrella-footer__bottom {
	gap: 10px 30px; margin-top: 0 !important; margin-bottom: 0 !important;
	padding: 20px max(30px, calc((100% - 1580px) / 2)) !important;
	background: rgba(0, 0, 0, .28); border-top: 1px solid rgba(255, 255, 255, .07);
	font-size: 12px; color: var(--wp--preset--color--malva);
}
.estrella-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.estrella-footer__legal a { color: var(--wp--preset--color--malva); }
.estrella-footer__legal a:hover { color: #fff; }

@media (max-width: 1024px) and (min-width: 782px) {
	.estrella-footer__cols { flex-wrap: wrap !important; gap: 40px !important; }
	.estrella-footer__cols > .wp-block-column { flex-basis: calc(50% - 20px) !important; flex-grow: 0 !important; }
}
@media (max-width: 781px) {
	.estrella-footer > .estrella-footer__cols { gap: 44px !important; padding: 56px 20px 40px; text-align: center; }
	.estrella-footer__name { max-width: 340px; text-align: center; }
	.estrella-footer__escudo, .estrella-footer__name { margin-left: auto !important; margin-right: auto !important; }
	.estrella-footer__title::after { left: 50%; transform: translateX(-50%); }
	.estrella-footer__contact { display: inline-block; max-width: 300px; text-align: left; }
	.estrella-footer__social { justify-content: center; }
	.estrella-footer__search { margin: 0 auto; }
	.estrella-footer__bottom { justify-content: center !important; text-align: center; }
	.estrella-footer__legal { justify-content: center; }
}

/* ---------------------------------------------------------------
 * 7. Contenido de páginas
 * ------------------------------------------------------------- */
.estrella-main .wp-block-separator { margin: var(--wp--preset--spacing--60) auto; max-width: 1170px; border-top-width: 1px; }
/* Las imágenes de las páginas ocupan todo el ancho de su hueco (sin espacios en blanco) */
.estrella-main .wp-block-post-content .wp-block-column > .wp-block-image,
.estrella-main .wp-block-post-content > .wp-block-image { width: 100%; }
.estrella-main .wp-block-post-content .wp-block-column > .wp-block-image img,
.estrella-main .wp-block-post-content > .wp-block-image img { display: block; width: 100% !important; height: auto; }
.estrella-main .wp-block-post-content .wp-block-image { margin-bottom: 0; }

/* Filas de fotos con la misma altura (recorte proporcional) */
.estrella-equal .wp-block-image,
.estrella-equal .wp-block-image a { height: 100%; }
.estrella-equal .wp-block-image img { aspect-ratio: 4 / 3; height: 100% !important; object-fit: cover; }
.estrella-equal { align-items: stretch !important; }

/* Mosaico: foto vertical a la izquierda y dos horizontales apiladas a la derecha */
.estrella-mosaic { display: grid !important; grid-template-columns: 1fr 1.12fr; grid-template-rows: 1fr 1fr; gap: 20px; margin-top: var(--wp--preset--spacing--50) !important; }
.estrella-mosaic > .wp-block-image { margin: 0 !important; min-height: 0; }
.estrella-mosaic > .wp-block-image:first-child { grid-row: 1 / span 2; }
.estrella-mosaic > .wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Variante de dos fotos: horizontal (3:2) y cuadrada con la misma altura (Grupo de Metales) */
.estrella-mosaic.estrella-mosaic--duo { grid-template-columns: 1.467fr 1fr; grid-template-rows: auto; }
.estrella-mosaic--duo > .wp-block-image:first-child { grid-row: auto; }
.estrella-mosaic--duo > .wp-block-image:first-child img { aspect-ratio: 2000 / 1363; }
.estrella-mosaic--duo > .wp-block-image:last-child img { aspect-ratio: 1; }
@media (max-width: 781px) {
	.estrella-mosaic.estrella-mosaic--duo { grid-template-columns: 1fr; }
	.estrella-mosaic--duo > .wp-block-image img { aspect-ratio: 4 / 3 !important; }
}
/* Variante en una fila: foto horizontal grande y dos verticales (uniforme de verano) */
.estrella-mosaic.estrella-mosaic--row { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto; }
.estrella-mosaic--row > .wp-block-image:first-child { grid-row: auto; }
.estrella-mosaic--row > .wp-block-image:first-child img { aspect-ratio: 1513 / 1066; }
.estrella-mosaic--row > .wp-block-image:not(:first-child) img { object-position: center 30%; }
@media (max-width: 781px) {
	.estrella-mosaic.estrella-mosaic--row { grid-template-columns: 1fr 1fr; }
	.estrella-mosaic--row > .wp-block-image:first-child { grid-column: 1 / -1; }
	.estrella-mosaic--row > .wp-block-image:not(:first-child) img { aspect-ratio: 2 / 3; }
}
@media (max-width: 600px) {
	.estrella-mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
	.estrella-mosaic > .wp-block-image:first-child { grid-row: auto; }
	.estrella-mosaic > .wp-block-image img { aspect-ratio: 4 / 3; height: auto !important; }
}

/* Columna de fotos apiladas junto al texto */
.estrella-stack > .wp-block-column:first-child { display: flex; flex-direction: column; gap: 20px; }
.estrella-stack > .wp-block-column:first-child img { aspect-ratio: 16 / 10; object-fit: cover; }

/* Organigrama (réplica del diseño original: foto con sombra, nombre y cargo, biografía justificada) */
.estrella-org-row { gap: 30px !important; margin-bottom: 50px !important; align-items: center !important; }
.estrella-org-card { position: relative; }
.estrella-org-card .wp-block-image { margin: 0 !important; }
.estrella-org-card .wp-block-image img { width: 100% !important; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: 5px; box-shadow: 0 0 50px -20px rgba(0, 0, 0, .65); }
.estrella-org-card__label {
	position: relative; z-index: 1; margin: -30px 12px 0 !important; padding: 10px 14px !important;
	background: #fff; border-radius: 4px; box-shadow: 0 8px 22px -10px rgba(0, 0, 0, .35); border-left: 3px solid #b80000;
}
.estrella-org-card__name { margin: 0 !important; font-family: var(--wp--preset--font-family--oswald) !important; font-size: 18px !important; font-weight: 400 !important; line-height: 1.3 !important; letter-spacing: .5px; color: #081a24; }
.estrella-org-card__role { margin: 2px 0 0 !important; font-size: 13px !important; line-height: 1.4; font-style: italic; color: #b80000; }
.estrella-org-bio { margin: 0 !important; text-align: justify; hyphens: auto; }
.wp-block-separator.estrella-divider-rojo { border: 0 !important; border-top: 1px solid #b80000 !important; opacity: 1; max-width: 1170px !important; margin: 20px auto 60px !important; }
@media (max-width: 781px) {
	.estrella-org-row { gap: 20px !important; }
	.estrella-org-row > .wp-block-column:nth-child(odd) { max-width: 320px; margin: 0 auto; width: 100%; }
}

.estrella-person .wp-block-column:first-child img { width: 100%; max-width: 260px; }
.estrella-person h5 { margin: 0; font-family: var(--wp--preset--font-family--oswald); font-weight: 400; font-size: 20px; letter-spacing: 1px; }
.estrella-person .estrella-person__role { margin: 0 0 10px; color: var(--wp--preset--color--rojo); font-style: italic; }

@media (max-width: 781px) {
	.estrella-person .wp-block-column:first-child { text-align: center; }
	.estrella-person .wp-block-column:first-child img { margin: 0 auto; }
}

/* ---------------------------------------------------------------
 * 8. Componentes de las páginas interiores
 * ------------------------------------------------------------- */
.estrella-block { margin-top: 70px !important; }
.estrella-block--tight { margin-top: 40px !important; }

/* Título de sección con separador de estrella */
.estrella-section-title.is-deco::after {
	content: ""; display: block; width: 120px; height: 12px; margin: 16px auto 34px;
	background:
		var(--estrella-star-rojo) center / 12px 12px no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) left center / 46px 1px no-repeat,
		linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) right center / 46px 1px no-repeat;
}
.estrella-section-title.is-deco.is-left { text-align: left; }
.estrella-section-title.is-deco.is-left::after { margin-left: 0; width: 60px; background: var(--estrella-star-rojo) left center / 12px 12px no-repeat, linear-gradient(var(--wp--preset--color--rojo), var(--wp--preset--color--rojo)) 20px center / 40px 1px no-repeat; }

/* Entradilla */
.estrella-lead { font-size: 17px !important; line-height: 1.85 !important; color: #3f3f3f; }
.estrella-lead.has-text-align-center { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.estrella-text-block p { font-size: 15px; line-height: 1.85; text-align: justify; hyphens: auto; }
.estrella-text-block p.estrella-lead { font-size: 17px !important; }
.estrella-text-block p + p { margin-top: 14px !important; }

/* Bloque imagen + texto con marco rojo desplazado */
.wp-block-columns.estrella-feature { gap: 60px !important; align-items: center !important; }
.estrella-frame { position: relative; isolation: isolate; margin: 0 18px 18px 0 !important; }
.estrella-main .wp-block-post-content .wp-block-column > .wp-block-image.estrella-frame { width: calc(100% - 18px); }
.estrella-frame::before {
	content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1;
	border: 2px solid var(--wp--preset--color--rojo); border-radius: 12px;
}
.estrella-frame img { border-radius: 12px; box-shadow: 0 26px 50px -24px rgba(31, 5, 44, .6); }
.estrella-frame + .estrella-frame { margin-top: 36px !important; }

/* Galería: fotos con esquinas redondeadas */
.wp-block-columns.estrella-gallery { gap: 20px !important; }
.estrella-gallery .wp-block-image { overflow: hidden; border-radius: 10px; box-shadow: 0 18px 40px -26px rgba(31, 5, 44, .6); }
.estrella-gallery .wp-block-image img { transition: transform .6s ease; }
.estrella-gallery .wp-block-image:hover img { transform: scale(1.05); }
.estrella-block > .wp-block-image,
.estrella-block > .wp-block-image img { width: 100% !important; }
.estrella-cards.estrella-cards--days { display: flex !important; flex-wrap: wrap; justify-content: center; }
.estrella-cards--days > .estrella-card { flex: 0 1 calc(25% - 18px); min-width: 220px; }
@media (max-width: 600px) { .estrella-cards--days > .estrella-card { flex-basis: 100%; } }
.estrella-rounded img { border-radius: 12px; box-shadow: 0 26px 50px -26px rgba(31, 5, 44, .6); }
.estrella-mosaic > .wp-block-image { overflow: hidden; border-radius: 10px; box-shadow: 0 18px 40px -26px rgba(31, 5, 44, .6); }

/* Línea de tiempo */
.estrella-timeline { position: relative; max-width: 940px; margin: 0 auto !important; padding: 0 !important; list-style: none; }
.estrella-timeline::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 119px; width: 2px; background: linear-gradient(180deg, rgba(195, 39, 32, .15), var(--wp--preset--color--rojo) 12%, var(--wp--preset--color--rojo) 88%, rgba(195, 39, 32, .15)); }
.estrella-timeline li { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 48px; align-items: start; margin: 0 !important; padding: 12px 0; }
.estrella-timeline li::after {
	content: ""; position: absolute; left: 112px; top: 19px; width: 16px; height: 16px;
	background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-timeline__year {
	justify-self: end; padding: 4px 12px; border-radius: 999px; background: var(--wp--preset--color--morado); color: #fff;
	font-family: var(--wp--preset--font-family--oswald); font-size: 13px; line-height: 1.6; letter-spacing: 1px; text-align: center; white-space: nowrap;
}
.estrella-timeline__text { padding: 3px 0 14px; border-bottom: 1px solid #eeeaf0; line-height: 1.7; }
.estrella-timeline li:last-child .estrella-timeline__text { border-bottom: 0; }
@media (max-width: 600px) {
	.estrella-timeline::before { left: 7px; }
	.estrella-timeline li { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 10px 0 10px 32px; }
	.estrella-timeline li::after { left: 0; top: 16px; }
	.estrella-timeline__year { justify-self: start; }
}

/* Tarjetas */
.estrella-cards { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.estrella-cards.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.estrella-cards.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.estrella-cards.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .estrella-cards.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .estrella-cards.is-4 { grid-template-columns: minmax(0, 1fr); } }
.estrella-cards > * { margin: 0 !important; }
.estrella-card {
	position: relative; box-sizing: border-box; padding: 28px 26px 26px !important;
	background: #fff; border: 1px solid #ece8ef; border-radius: 10px; box-shadow: 0 18px 40px -28px rgba(31, 5, 44, .5);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.estrella-card::after { content: ""; position: absolute; left: 26px; right: 26px; bottom: -1px; height: 3px; border-radius: 3px; background: var(--wp--preset--color--rojo); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.estrella-card:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 26px 50px -26px rgba(31, 5, 44, .55); }
.estrella-card:hover::after { transform: scaleX(1); }
.estrella-card > * { margin: 0 !important; }
.estrella-card > * + * { margin-top: 10px !important; }
.estrella-card__kicker { color: var(--wp--preset--color--rojo); font-family: var(--wp--preset--font-family--oswald); font-size: 12px !important; letter-spacing: 3px; text-transform: uppercase; }
.estrella-card__title { color: var(--wp--preset--color--tinta); font-family: var(--wp--preset--font-family--oswald) !important; font-size: 20px !important; font-weight: 400 !important; line-height: 1.35 !important; letter-spacing: .5px; }
.estrella-card p:not(.estrella-card__kicker) { line-height: 1.7; }
/* Tarjeta con icono de estrella */
.estrella-card.has-icon { padding-top: 30px !important; }
.estrella-card.has-icon::before {
	content: ""; display: block; width: 58px; height: 58px; margin-bottom: 18px; border-radius: 50%;
	box-shadow: 0 10px 22px -10px rgba(31, 5, 44, .8);
}
.estrella-card.has-icon { --icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 0l3.46 6h6.93l-3.46 6 3.46 6h-6.93L12 24l-3.46-6H1.61l3.46-6-3.46-6h6.93z'/%3E%3C/svg%3E"); }
.estrella-card.has-icon::before { background: var(--icon-star) center / 24px 24px no-repeat, linear-gradient(145deg, #2b0b3b, #1f052c); transition: background .3s ease, transform .3s ease; }
.estrella-card.has-icon:hover::before { background: var(--icon-star) center / 24px 24px no-repeat, var(--wp--preset--color--rojo); transform: rotate(-12deg); }
/* Tarjeta numerada */
.estrella-card.is-numbered .estrella-card__kicker { font-size: 34px !important; line-height: 1; letter-spacing: 1px; color: rgba(195, 39, 32, .9); }

/* Cifras destacadas */
.estrella-stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg, #2b0b3b, #1f052c); box-shadow: 0 24px 50px -30px rgba(31, 5, 44, .7); }
.estrella-stats > .estrella-stat { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 !important; padding: 28px 16px; text-align: center; color: #c2b3cc; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.estrella-stats > .estrella-stat + .estrella-stat { border-left: 1px solid rgba(255, 255, 255, .08); }
.estrella-stat strong { display: block; margin-bottom: 4px; color: #fff; font-family: var(--wp--preset--font-family--oswald); font-size: 40px; font-weight: 400; line-height: 1.1; letter-spacing: 1px; }
@media (max-width: 600px) { .estrella-stats > .estrella-stat + .estrella-stat { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .08); } }

/* Banda morada destacada */
.estrella-band {
	position: relative; overflow: hidden; isolation: isolate; box-sizing: border-box; padding: 54px 50px !important; border-radius: 12px; text-align: center;
	background-image: radial-gradient(ellipse 70% 140% at 50% 140%, rgba(195, 39, 32, .35), transparent 70%), linear-gradient(135deg, #2b0b3b, #1f052c) !important;
}
.estrella-band::before {
	content: ""; position: absolute; right: -50px; top: 50%; z-index: -1; width: 240px; height: 240px; transform: translateY(-50%) rotate(12deg);
	background: url(../img/escudo-blanco.png) center / contain no-repeat; opacity: .05;
}
.estrella-band > * { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.estrella-band p { color: #e3dae8; font-size: 16px; line-height: 1.85; }
.estrella-band strong { color: #fff; }
.estrella-band a:not(.wp-social-link a) { color: #fff; text-decoration: underline; text-decoration-color: var(--wp--preset--color--rojo); text-underline-offset: 3px; }
.estrella-band__kicker { margin-bottom: 10px !important; color: #c2b3cc !important; font-family: var(--wp--preset--font-family--oswald); font-size: 12px !important; letter-spacing: 6px; text-transform: uppercase; }
.estrella-band__title { color: #fff !important; font-family: var(--wp--preset--font-family--oswald) !important; font-size: clamp(22px, 2.6vw, 30px) !important; font-weight: 400 !important; line-height: 1.35 !important; letter-spacing: 1px; }
.estrella-band .wp-block-social-links { justify-content: center; gap: 12px !important; margin-top: 20px !important; }
.estrella-band .wp-block-social-links .wp-social-link { margin: 0; background: rgba(255, 255, 255, .1) !important; transition: background-color .25s ease, transform .25s ease; }
.estrella-band .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--rojo) !important; transform: translateY(-3px); }
.estrella-band .wp-block-social-links .wp-social-link a { padding: 12px; }
@media (max-width: 781px) { .estrella-band { padding: 40px 22px !important; } }

/* Galardonados */
.estrella-honors { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.estrella-honors > .estrella-honor {
	position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 !important; padding: 26px 16px 22px;
	border-radius: 10px; background: #fff; border: 1px solid #ece8ef; text-align: center; box-shadow: 0 18px 40px -28px rgba(31, 5, 44, .5);
	transition: transform .3s ease, box-shadow .3s ease;
}
.estrella-honors > .estrella-honor::before {
	content: ""; width: 22px; height: 22px; margin-bottom: 12px; background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-honors > .estrella-honor:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(31, 5, 44, .55); }
.estrella-honor__year { color: var(--wp--preset--color--morado); font-family: var(--wp--preset--font-family--oswald); font-size: 30px; line-height: 1.1; letter-spacing: 1px; }
.estrella-honor__name { margin-top: 8px; color: #4e4e4e; font-size: 14px; font-weight: 600; line-height: 1.5; }
.estrella-honors > .estrella-honor:last-child { background: linear-gradient(135deg, #2b0b3b, #1f052c); border-color: transparent; }
.estrella-honors > .estrella-honor:last-child .estrella-honor__year { color: #fff; }
.estrella-honors > .estrella-honor:last-child .estrella-honor__name { color: #e3dae8; }
@media (max-width: 900px) { .estrella-honors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Píldoras (instrumentos, otras obras) */
.estrella-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.estrella-chips li { margin: 0 !important; padding: 8px 16px; border: 1px solid #e3dde8; border-radius: 999px; background: #f8f6f9; color: var(--wp--preset--color--tinta); font-size: 14px; line-height: 1.4; }
.estrella-chips li strong { color: var(--wp--preset--color--rojo); }
.has-text-align-center + .estrella-chips, .estrella-chips.is-center { justify-content: center; }

/* Listado del repertorio */
.estrella-rep-list { columns: 3 260px; column-gap: 40px; margin: 0 !important; padding: 0 !important; list-style: none; }
.estrella-rep-list li { position: relative; break-inside: avoid; margin: 0 !important; padding: 10px 0 10px 24px; border-bottom: 1px solid #eeeaf0; }
.estrella-rep-list li::before {
	content: ""; position: absolute; left: 0; top: 16px; width: 11px; height: 11px; background-color: var(--wp--preset--color--rojo);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-rep-list strong { display: block; color: var(--wp--preset--color--tinta); font-family: var(--wp--preset--font-family--oswald); font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: .5px; }
.estrella-rep-author { display: block; margin-top: 2px; color: #858585; font-size: 13px; font-style: italic; line-height: 1.5; }
.estrella-rep-list.is-2 { columns: 2 260px; }
/* Escuchar en Spotify (composiciones propias) */
.estrella-rep-list li:has(.estrella-rep-spotify) { padding-right: 46px; }
.estrella-rep-spotify {
	position: absolute; top: 50%; right: 4px; display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; color: #1db954; transform: translateY(-50%);
	transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.estrella-rep-spotify svg { width: 26px; height: 26px; fill: currentColor; }
.estrella-rep-spotify:hover,
.estrella-rep-spotify:focus-visible { background: #1db954; color: #fff; transform: translateY(-50%) scale(1.08); }

/* Organigrama: tarjetas de persona */
.estrella-people { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.estrella-people > * { margin: 0 !important; }
.estrella-person-card {
	position: relative; display: grid !important; grid-template-columns: 42% minmax(0, 1fr); overflow: hidden;
	border: 1px solid #ece8ef; border-radius: 12px; background: #fff; box-shadow: 0 20px 44px -30px rgba(31, 5, 44, .55);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.estrella-person-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--wp--preset--color--rojo); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.estrella-person-card:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 30px 56px -28px rgba(31, 5, 44, .6); }
.estrella-person-card:hover::after { transform: scaleX(1); }
.estrella-person-card > * { margin: 0 !important; }
.estrella-person-card .estrella-person-card__photo { position: relative; height: 100%; min-height: 260px; overflow: hidden; background: var(--wp--preset--color--morado); }
.estrella-person-card .estrella-person-card__photo::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 3px; background: var(--wp--preset--color--rojo); }
.estrella-person-card .estrella-person-card__photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center top; transition: transform .6s ease; }
.estrella-person-card:hover .estrella-person-card__photo img { transform: scale(1.04); }
/* Foto entera (sin recortar) sobre fondo negro: la del director con los brazos extendidos */
.estrella-person-card .estrella-person-card__photo.is-contain { background: #010101; }
.estrella-person-card .estrella-person-card__photo.is-contain img { object-fit: contain; object-position: center; }
.estrella-person-card__body { display: flex; flex-direction: column; justify-content: center; padding: 26px 28px !important; }
.estrella-person-card__body > * { margin: 0 !important; }
.estrella-person-card__name { margin-top: 6px !important; color: var(--wp--preset--color--tinta); font-family: var(--wp--preset--font-family--oswald) !important; font-size: 21px !important; font-weight: 400 !important; line-height: 1.3 !important; letter-spacing: .5px; }
.estrella-person-card__name::after { content: ""; display: block; width: 34px; height: 2px; margin-top: 12px; background: var(--wp--preset--color--rojo); }
.estrella-person-card__bio { margin-top: 14px !important; color: #5a5a5a; font-size: 14px; line-height: 1.75; text-align: left; hyphens: auto; }
@media (max-width: 1023px) { .estrella-people { grid-template-columns: minmax(0, 1fr); max-width: 720px; margin-left: auto !important; margin-right: auto !important; } }
@media (max-width: 600px) {
	.estrella-person-card { grid-template-columns: minmax(0, 1fr); }
	/* Retrato completo (sin recortar cabezas), centrado sobre fondo morado */
	.estrella-person-card .estrella-person-card__photo {
		height: auto; min-height: 0; aspect-ratio: auto; padding: 22px 0 !important; text-align: center;
		background: radial-gradient(ellipse at 50% 40%, #3a1250, var(--wp--preset--color--morado) 70%);
	}
	.estrella-person-card .estrella-person-card__photo img {
		position: static; display: inline-block; width: auto !important; max-width: 100%; height: 300px !important;
		object-fit: contain; border-radius: 8px; box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .6);
	}
	.estrella-person-card:hover .estrella-person-card__photo img { transform: none; }
	.estrella-person-card .estrella-person-card__photo.is-contain { background: radial-gradient(ellipse at 50% 40%, #3a1250, var(--wp--preset--color--morado) 70%); }
	.estrella-person-card .estrella-person-card__photo::after { top: auto; left: 0; width: auto; height: 3px; }
	.estrella-person-card__body { padding: 22px 20px !important; }
}

/* Organigrama: paneles de responsables y colaboradores */
.estrella-cards--panels { align-items: start; }
.estrella-panel__intro { margin: 0 0 8px !important; color: #6b6b6b; font-size: 14px; line-height: 1.6; }
.estrella-rep-list.is-1 { columns: 1; }

/* Panel de repertorio (cabecera morada + listado) */
.estrella-panel { overflow: hidden; padding: 0 !important; border: 1px solid #ece8ef; border-radius: 12px; background: #fff; box-shadow: 0 24px 50px -30px rgba(31, 5, 44, .5); }
.estrella-panel > * { margin: 0 !important; }
.estrella-panel__head {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 22px 30px !important;
	background: linear-gradient(135deg, #2b0b3b, #1f052c); color: #fff;
}
.estrella-panel__head > * { margin: 0 !important; }
.estrella-panel__title { color: #fff !important; font-family: var(--wp--preset--font-family--oswald) !important; font-size: 22px !important; font-weight: 400 !important; letter-spacing: 2px; text-transform: uppercase; }
.estrella-panel__count { padding: 4px 14px; border-radius: 999px; background: var(--wp--preset--color--rojo); color: #fff; font-family: var(--wp--preset--font-family--oswald); font-size: 13px !important; letter-spacing: 1px; }
.estrella-panel__body { padding: 20px 30px 26px !important; }
.estrella-panel.is-featured { border: 0; box-shadow: 0 30px 60px -30px rgba(195, 39, 32, .45); }
.estrella-panel.is-featured .estrella-panel__head { background: linear-gradient(135deg, #c32720, #8f1b16); }
.estrella-panel.is-featured .estrella-panel__count { background: #1f052c; }
@media (max-width: 600px) { .estrella-panel__head, .estrella-panel__body { padding-left: 20px !important; padding-right: 20px !important; } }

@media (max-width: 900px) {
	.estrella-cards.is-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.estrella-cards.is-3, .estrella-cards.is-2 { grid-template-columns: minmax(0, 1fr); }
	.estrella-block { margin-top: 50px !important; }
	.estrella-frame { margin-right: 14px !important; }
}

/* Foto final de Nuestra historia: tamaño contenido, centrada y con pie */
.estrella-closing-photo { max-width: 960px; margin-left: auto !important; margin-right: auto !important; }
.estrella-closing-photo > .wp-block-image { margin: 0 !important; overflow: hidden; border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(31, 5, 44, .7); }
.estrella-closing-photo > .wp-block-image img { display: block; width: 100%; height: auto; }
.estrella-photo-caption { margin-top: 14px !important; color: #858585; font-size: 14px; font-style: italic; }

/* Agenda: Vísperas y Semana Santa */
.estrella-semana-santa > * { margin-left: auto; margin-right: auto; }
.estrella-semana-santa .estrella-lead { margin-bottom: 10px; }
.estrella-semana-santa__title {
	display: flex; align-items: center; justify-content: center; gap: 14px; margin: 34px 0 20px !important;
	color: var(--wp--preset--color--morado); font-family: var(--wp--preset--font-family--oswald) !important;
	font-size: 18px !important; font-weight: 400 !important; letter-spacing: 3px; text-transform: uppercase;
}
.estrella-semana-santa__title::before,
.estrella-semana-santa__title::after { content: ""; width: 40px; height: 1px; background: var(--wp--preset--color--rojo); }
.estrella-semana-santa__empty { color: #858585; font-style: italic; }
/* La sección ocupa más ancho que el texto de la página (como las secciones de la portada) */
.estrella-semana-santa { position: relative; width: min(1140px, calc(100vw - 32px)); max-width: none !important; margin-left: calc(50% - min(570px, 50vw - 16px)) !important; margin-right: 0 !important; }
/* Tarjetas con cartel (Vísperas y Semana Santa) */
.estrella-ss-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; }
.estrella-ss-card {
	position: relative; display: flex; flex-direction: column; box-sizing: border-box; flex: 0 1 calc((100% - 56px) / 3); min-width: 260px; overflow: hidden;
	border: 1px solid #ece8ef; border-radius: 14px; background: #fff; box-shadow: 0 24px 50px -30px rgba(31, 5, 44, .55);
	transition: transform .3s ease, box-shadow .3s ease;
}
.estrella-ss-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--wp--preset--color--rojo); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.estrella-ss-card:hover { transform: translateY(-4px); box-shadow: 0 30px 56px -28px rgba(31, 5, 44, .65); }
.estrella-ss-card:hover::after { transform: scaleX(1); }
.estrella-ss-card__image { position: relative; margin: 0 !important; aspect-ratio: 900 / 539; overflow: hidden; background: linear-gradient(135deg, #2b0b3b, #1f052c); }
.estrella-ss-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.estrella-ss-card:hover .estrella-ss-card__image img { transform: scale(1.04); }
.estrella-ss-card__image.is-empty::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; background: rgba(255, 255, 255, .18);
	-webkit-mask: var(--estrella-star) center / contain no-repeat; mask: var(--estrella-star) center / contain no-repeat;
}
.estrella-ss-card__day {
	position: absolute; left: 14px; bottom: 14px; padding: 6px 14px; border-radius: 999px;
	background: var(--wp--preset--color--rojo); color: #fff; box-shadow: 0 8px 18px -8px rgba(0, 0, 0, .6);
	font-family: var(--wp--preset--font-family--oswald); font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
}
.estrella-ss-card__body { padding: 18px 22px 22px; text-align: center; }
.estrella-ss-card__title { margin: 0 !important; color: var(--wp--preset--color--tinta); font-family: var(--wp--preset--font-family--oswald) !important; font-size: 20px !important; font-weight: 400 !important; line-height: 1.3; letter-spacing: .5px; }
.estrella-ss-card__place { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0 !important; color: #858585; font-size: 14px; font-style: italic; }
.estrella-ss-card__place svg { flex: none; width: 14px; height: 14px; fill: var(--wp--preset--color--rojo); }
@media (max-width: 900px) { .estrella-ss-card { flex-basis: calc((100% - 28px) / 2); } }
@media (max-width: 600px) { .estrella-ss-card { flex-basis: 100%; min-width: 0; } }

/* Páginas legales (Información general, Aviso legal, Política de privacidad) */
.estrella-legal { margin-top: 0 !important; }
.estrella-legal p { text-align: justify; hyphens: auto; line-height: 1.75; }
.estrella-legal-heading {
	position: relative; margin-top: 2.2em !important; padding-left: 18px;
	color: var(--wp--preset--color--morado); font-family: var(--wp--preset--font-family--oswald);
	font-size: clamp(19px, 2vw, 23px) !important; font-weight: 400; letter-spacing: 1px; text-transform: uppercase;
}
.estrella-legal-heading::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 4px; border-radius: 2px; background: var(--wp--preset--color--rojo); }
.estrella-legal-table { margin-top: 30px !important; }
.estrella-legal-table table { overflow: hidden; border-collapse: separate; border-spacing: 0; border: 1px solid #ece8ef; border-radius: 12px; box-shadow: 0 24px 50px -30px rgba(31, 5, 44, .5); }
.estrella-legal-table th,
.estrella-legal-table td { padding: 14px 22px; border: 0; border-top: 1px solid #ece8ef; text-align: left; vertical-align: top; }
.estrella-legal-table tr:first-child th,
.estrella-legal-table tr:first-child td { border-top: 0; }
.estrella-legal-table th { width: 38%; background: #f7f3f9; color: var(--wp--preset--color--morado); font-weight: 600; }
.estrella-legal-table a { color: var(--wp--preset--color--rojo); text-decoration: none; word-break: break-word; }
@media (max-width: 600px) {
	.estrella-legal-table th, .estrella-legal-table td { display: block; width: auto; }
	.estrella-legal-table td { border-top: 0; padding-top: 4px; }
}

/* Reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
