
/* Bloque Internalinks Landing */
/* ==========================================================
   TSR — INTERNAL LINKS PREMIUM
   Clase del contenedor principal:
   .tsr-pattern-internal-links

   Gutenberg controla:
   - ancho
   - ancho máximo
   - márgenes
   - padding exterior
   - radio exterior
   - alineación
   ========================================================== */


/* ==========================================================
   VARIABLES Y CONTENEDOR PRINCIPAL
   ========================================================== */

.tsr-pattern-internal-links {
	--tsr-internal-links-primary: #7e1222;
	--tsr-internal-links-primary-dark: #68101c;
	--tsr-internal-links-gold: #d6aa34;
	--tsr-internal-links-gold-light: #f4dc78;
	--tsr-internal-links-text: #262626;
	--tsr-internal-links-muted: rgba(38, 38, 38, 0.72);
	--tsr-internal-links-border: rgba(126, 18, 34, 0.12);

	position: relative;
	overflow: hidden;

	border: 1px solid var(--tsr-internal-links-border);

	background:
		radial-gradient(
			circle at top right,
			rgba(214, 170, 52, 0.15),
			transparent 34%
		),
		linear-gradient(
			135deg,
			rgba(126, 18, 34, 0.035),
			rgba(255, 255, 255, 0.98) 48%,
			rgba(214, 170, 52, 0.06)
		);

	box-shadow:
		0 28px 70px rgba(26, 17, 19, 0.08),
		0 4px 16px rgba(26, 17, 19, 0.04);
}


/* ==========================================================
   DECORACIÓN DEL CONTENEDOR
   ========================================================== */

.tsr-pattern-internal-links::before {
	content: "";
	position: absolute;
	top: -110px;
	right: -100px;
	width: 280px;
	height: 280px;

	border: 1px solid rgba(214, 170, 52, 0.18);
	border-radius: 50%;

	pointer-events: none;
}

.tsr-pattern-internal-links::after {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 5px;

	background: linear-gradient(
		90deg,
		var(--tsr-internal-links-primary),
		var(--tsr-internal-links-gold),
		var(--tsr-internal-links-gold-light)
	);

	pointer-events: none;
}

.tsr-pattern-internal-links > * {
	position: relative;
	z-index: 1;
}


/* ==========================================================
   TÍTULO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-slot-internal-links-title {
	max-width: 980px;
	margin: 0 auto clamp(34px, 4vw, 50px);
	padding: 0 !important;

	font-size: clamp(2.2rem, 4.6vw, 4rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.045em;

	text-align: center;
	color: var(--tsr-internal-links-primary);

	text-wrap: balance;
}

/* Elimina la segunda línea decorativa pequeña */
.tsr-pattern-internal-links
.tsr-slot-internal-links-title::before {
	content: none !important;
	display: none !important;
}


/* ==========================================================
   TEXTO INTRODUCTORIO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-slot-internal-links-text {
	max-width: 820px;
	margin: -18px auto clamp(32px, 4vw, 46px);
	padding: 0 !important;

	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.75;

	text-align: center;
	color: var(--tsr-internal-links-muted);

	text-wrap: pretty;
}


/* ==========================================================
   BLOQUE TSR TOPIC CLOUD
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud {
	width: 100%;
	margin: 0;

	text-align: center;
}


/* ==========================================================
   TEXTO INTERNO DEL TOPIC CLOUD
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud-intro {
	max-width: 820px;
	margin: 0 auto clamp(28px, 3vw, 40px);

	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.75;

	text-align: center;
	color: var(--tsr-internal-links-muted);

	text-wrap: pretty;
}

.tsr-pattern-internal-links
.tsr-topic-cloud-intro p {
	margin-top: 0;
}

.tsr-pattern-internal-links
.tsr-topic-cloud-intro p:last-child {
	margin-bottom: 0;
}


/* ==========================================================
   TAXONOMÍAS PADRE
   ========================================================== */

.tsr-pattern-internal-links
.tsr-taxonomy-cloud {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	gap: 12px;
	max-width: 960px;
	margin: 0 auto clamp(34px, 4vw, 50px);
}

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill {
	position: relative;
	overflow: hidden;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 8px;
	min-height: 48px;
	padding: 11px 19px;

	border: 1px solid rgba(126, 18, 34, 0.1) !important;
	border-radius: 999px;

	background: rgba(255, 255, 255, 0.94) !important;
	color: var(--tsr-internal-links-primary-dark) !important;

	box-shadow:
		0 0 0 3px rgba(255, 255, 255, 0.95),
		0 12px 28px rgba(30, 20, 22, 0.075),
		0 3px 9px rgba(30, 20, 22, 0.035) !important;

	cursor: pointer;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease,
		background 0.25s ease,
		color 0.25s ease;
}


/* ==========================================================
   TAXONOMÍA ACTIVA
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill.active {
	border-color: rgba(255, 255, 255, 0.34) !important;

	background:
		linear-gradient(
			135deg,
			#941b2e 0%,
			var(--tsr-internal-links-primary) 52%,
			var(--tsr-internal-links-primary-dark) 100%
		) !important;

	color: #ffffff !important;

	box-shadow:
		0 0 0 3px rgba(255, 255, 255, 0.98),
		0 18px 38px rgba(126, 18, 34, 0.25),
		0 5px 13px rgba(30, 20, 22, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}


/* ==========================================================
   ELEMENTOS INTERNOS DE TAXONOMÍAS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-taxonomy-pill__label {
	position: relative;
	z-index: 1;

	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.01em;
}

.tsr-pattern-internal-links
.tsr-taxonomy-pill__icon {
	position: relative;
	z-index: 1;

	font-size: 0.9rem;
	line-height: 1;
}

.tsr-pattern-internal-links
.tsr-count {
	position: relative;
	z-index: 1;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 24px;
	min-height: 24px;
	padding: 0 7px;

	border-radius: 999px;

	background: rgba(126, 18, 34, 0.075);

	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;

	color: inherit;
}

.tsr-pattern-internal-links
.tsr-taxonomy-pill.active
.tsr-count {
	background: rgba(255, 255, 255, 0.16);
}


/* ==========================================================
   PESOS VISUALES
   ========================================================== */

.tsr-pattern-internal-links
.tsr-taxonomy-pill.is-weight-1 {
	font-size: 0.92rem;
}

.tsr-pattern-internal-links
.tsr-taxonomy-pill.is-weight-2 {
	font-size: 0.96rem;
}

.tsr-pattern-internal-links
.tsr-taxonomy-pill.is-weight-3 {
	font-size: 1rem;
}

.tsr-pattern-internal-links
.tsr-taxonomy-pill.is-weight-4 {
	font-size: 1.04rem;
}


/* ==========================================================
   HOVER TAXONOMÍAS
   ========================================================== */

@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill:hover {
		transform: translateY(-4px);

		border-color: rgba(214, 170, 52, 0.56) !important;

		background:
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 1),
				rgba(255, 250, 236, 0.98)
			) !important;

		box-shadow:
			0 0 0 3px rgba(255, 255, 255, 1),
			0 20px 42px rgba(30, 20, 22, 0.12),
			0 6px 16px rgba(30, 20, 22, 0.05) !important;
	}
}


/* ==========================================================
   PANEL DE TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud {
	position: relative;

	min-height: 0;
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(24px, 3vw, 36px);

	border: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-radius: 18px;

	background:
		radial-gradient(
			circle at top center,
			rgba(214, 170, 52, 0.06),
			transparent 42%
		),
		rgba(255, 255, 255, 0.76) !important;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 1),
		0 14px 34px rgba(30, 20, 22, 0.045) !important;

	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}


/* ==========================================================
   LÍNEA DECORATIVA DEL PANEL
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud::before {
	content: "";

	position: absolute;
	top: 0;
	left: 50%;

	width: 110px;
	height: 3px;

	border-radius: 0 0 999px 999px;

	background:
		linear-gradient(
			90deg,
			var(--tsr-internal-links-primary),
			var(--tsr-internal-links-gold),
			var(--tsr-internal-links-gold-light)
		);

	transform: translateX(-50%);
}


/* ==========================================================
   GRUPOS DE TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;

	gap: 12px;
	padding: 0;
}


/* ==========================================================
   TÉRMINOS — ESTILO EDITORIAL
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill {
	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: flex-start;

	min-height: 0;
	padding: 9px 13px 9px 17px;

	border: 0 !important;
	border-left: 3px solid rgba(214, 170, 52, 0.72) !important;
	border-radius: 8px;

	background: rgba(255, 255, 255, 0.7) !important;
	color: var(--tsr-internal-links-primary) !important;

	font-size: clamp(0.95rem, 1.1vw, 1.03rem);
	font-weight: 500;
	line-height: 1.35;

	text-align: left;
	text-decoration: none !important;

	box-shadow:
		0 7px 18px rgba(30, 20, 22, 0.045),
		0 1px 4px rgba(30, 20, 22, 0.025) !important;

	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease,
		background 0.22s ease,
		color 0.22s ease;
}


/* Elimina el brillo anterior de los botones redondos */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill::before {
	content: none !important;
	display: none !important;
}


/* ==========================================================
   HOVER TÉRMINOS
   ========================================================== */

@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill:hover {
		transform: translateY(-3px);

		border-left-color: var(--tsr-internal-links-primary) !important;

		background:
			linear-gradient(
				135deg,
				rgba(126, 18, 34, 0.055),
				rgba(214, 170, 52, 0.09)
			) !important;

		color: var(--tsr-internal-links-primary-dark) !important;

		box-shadow:
			0 14px 30px rgba(30, 20, 22, 0.09),
			0 3px 9px rgba(30, 20, 22, 0.04) !important;
	}
}


/* ==========================================================
   FOCO DE TECLADO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill:focus-visible,
.tsr-pattern-internal-links
.tsr-topic-cloud
a.tsr-term-pill:focus-visible {
	outline: 3px solid rgba(214, 170, 52, 0.5);
	outline-offset: 4px;
}


/* ==========================================================
   MENSAJE VACÍO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud-empty {
	display: inline-block;
	padding: 12px 0 4px;

	font-size: 0.98rem;
	line-height: 1.6;

	color: var(--tsr-internal-links-muted);
}


/* ==========================================================
   PREVISUALIZACIÓN
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud-preview {
	padding: 20px;

	border: 1px dashed rgba(126, 18, 34, 0.2);
	border-radius: 18px;

	background: rgba(255, 255, 255, 0.76);

	color: var(--tsr-internal-links-muted);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 960px) {
	.tsr-pattern-internal-links
	.tsr-taxonomy-cloud {
		max-width: 760px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud {
		padding: 26px 22px;
	}
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 640px) {
	.tsr-pattern-internal-links::before {
		top: -150px;
		right: -150px;
	}

	.tsr-pattern-internal-links
	.tsr-slot-internal-links-title {
		margin-bottom: 28px;

		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.tsr-pattern-internal-links
	.tsr-slot-internal-links-text {
		margin-top: -10px;
		margin-bottom: 28px;

		font-size: 1rem;
	}

	.tsr-pattern-internal-links
	.tsr-taxonomy-cloud {
		gap: 10px;
		margin-bottom: 28px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill {
		min-height: 43px;
		padding: 9px 14px;

		box-shadow:
			0 0 0 2px rgba(255, 255, 255, 0.96),
			0 9px 20px rgba(30, 20, 22, 0.07) !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud {
		min-height: 0;
		padding: 22px 15px;

		border-radius: 15px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group__inner {
		gap: 9px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill {
		padding: 8px 11px 8px 14px;

		border-radius: 7px;

		font-size: 0.94rem;
	}
}


/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
	.tsr-pattern-internal-links
	.tsr-taxonomy-pill,
	.tsr-pattern-internal-links
	.tsr-term-pill {
		transition: none;
	}

	.tsr-pattern-internal-links
	.tsr-taxonomy-pill:hover,
	.tsr-pattern-internal-links
	.tsr-term-pill:hover {
		transform: none;
	}
}




/* ==========================================================
   TSR INTERNAL LINKS — FONDO Y TÉRMINOS DEFINITIVOS
   Sustituye todos los ajustes anteriores por este bloque
   ========================================================== */


/* ==========================================================
   1. CONTENEDOR REAL DE LOS TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate;

	padding: clamp(30px, 4vw, 46px) !important;

	border: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-radius: 18px !important;

	background: #ffffff !important;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 1),
		0 14px 34px rgba(30, 20, 22, 0.045) !important;
}


/* ==========================================================
   2. LOGOS TSR DE FONDO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud::after {
	content: "" !important;
	display: block !important;

	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;

	border-radius: inherit;

	pointer-events: none !important;

	background-image:
		url("https://typicalspanishrumba.com/wp-content/uploads/2025/12/logo-typical-spanish-rumba.png") !important;

	background-repeat: repeat !important;
	background-position: center !important;
	background-size: 175px auto !important;

	opacity: 0.055 !important;
}


/* ==========================================================
   3. LÍNEA SUPERIOR DEL PANEL
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud::before {
	content: "" !important;
	display: block !important;

	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	z-index: 3 !important;

	width: 110px !important;
	height: 3px !important;

	border-radius: 0 0 999px 999px !important;

	background:
		linear-gradient(
			90deg,
			var(--tsr-internal-links-primary),
			var(--tsr-internal-links-gold),
			var(--tsr-internal-links-gold-light)
		) !important;

	transform: translateX(-50%) !important;

	pointer-events: none !important;
}


/* ==========================================================
   4. GRUPO Y DISTRIBUCIÓN DE TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group {
	position: relative !important;
	z-index: 2 !important;
}


/*
 * Los 6px superiores dan espacio a la animación de entrada
 * sin aumentar el padding general del panel.
 */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group__inner {
	position: relative !important;
	z-index: 2 !important;

	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;

	gap: 12px !important;
	padding: 6px 0 0 !important;

	border: 0 !important;
	border-radius: 0 !important;

	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;

	box-shadow: none !important;
}


/* ==========================================================
   5. TÉRMINOS RECTANGULARES
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill {
	position: relative !important;
	z-index: 1 !important;
	overflow: hidden !important;

	display: inline-flex !important;
	flex: 0 0 auto !important;

	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 150px !important;
	max-width: 100% !important;

	min-height: 48px !important;
	height: auto !important;

	margin: 0 !important;
	padding: 11px 20px 11px 23px !important;

	border-top: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-right: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-bottom: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-left: 4px solid var(--tsr-internal-links-gold) !important;

	border-radius: 8px !important;

	background: rgba(255, 255, 255, 0.94) !important;

	color: var(--tsr-internal-links-primary) !important;

	font-size: clamp(0.95rem, 1.1vw, 1.03rem) !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;

	text-align: center !important;
	text-decoration: none !important;
	white-space: normal !important;

	box-shadow:
		0 8px 18px rgba(30, 20, 22, 0.055),
		0 2px 5px rgba(30, 20, 22, 0.025) !important;

	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease,
		background 0.22s ease,
		color 0.22s ease !important;
}


/* ==========================================================
   6. LÍNEA LATERAL VINO, DORADO Y DORADO CLARO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill::before {
	content: "" !important;
	display: block !important;

	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;

	width: 3px !important;

	background:
		linear-gradient(
			180deg,
			var(--tsr-internal-links-primary) 0%,
			var(--tsr-internal-links-gold) 55%,
			var(--tsr-internal-links-gold-light) 100%
		) !important;

	pointer-events: none !important;
}


/* Elimina cualquier otro adorno anterior */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill::after {
	content: none !important;
	display: none !important;
}


/* ==========================================================
   7. HOVER
   ========================================================== */

@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill:hover {
		/*
		 * Se reduce de -3px a -2px.
		 * Conserva el movimiento sin acercarse tanto al límite.
		 */
		transform: translateY(-2px) !important;

		border-color: rgba(126, 18, 34, 0.15) !important;
		border-left-color: var(--tsr-internal-links-primary) !important;

		background:
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 0.99),
				rgba(255, 249, 235, 0.98)
			) !important;

		color: var(--tsr-internal-links-primary-dark) !important;

		box-shadow:
			0 15px 30px rgba(30, 20, 22, 0.095),
			0 4px 10px rgba(30, 20, 22, 0.04) !important;
	}
}


/* ==========================================================
   8. TABLET
   ========================================================== */

@media (max-width: 960px) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud {
		padding: 28px 22px !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud::after {
		background-size: 155px auto !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill {
		min-width: 140px !important;
	}
}


/* ==========================================================
   9. MÓVIL
   ========================================================== */

@media (max-width: 640px) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud {
		padding: 22px 15px !important;
		border-radius: 15px !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud::after {
		background-size: 130px auto !important;
		opacity: 0.045 !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group__inner {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

		gap: 9px !important;
		padding-top: 5px !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill {
		width: 100% !important;
		min-width: 0 !important;
		min-height: 44px !important;

		padding: 9px 11px 9px 16px !important;

		border-left-width: 3px !important;
		border-radius: 7px !important;

		font-size: 0.94rem !important;
	}
}


@media (max-width: 380px) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group__inner {
		grid-template-columns: 1fr !important;
	}
}



/* ==========================================================
   TSR INTERNAL LINKS — TAXONOMÍAS PADRE EDITORIALES
   Pegar al final del CSS
   ========================================================== */


/* Distribución */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-cloud {
	gap: 12px !important;
}


/* Taxonomías padre */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill {
	position: relative !important;
	overflow: hidden !important;

	min-height: 48px !important;
	padding: 11px 19px 11px 22px !important;

	border-top: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-right: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-bottom: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-left: 4px solid var(--tsr-internal-links-gold) !important;

	border-radius: 9px !important;

	background: rgba(255, 255, 255, 0.94) !important;
	color: var(--tsr-internal-links-primary-dark) !important;

	box-shadow:
		0 8px 18px rgba(30, 20, 22, 0.055),
		0 2px 5px rgba(30, 20, 22, 0.025) !important;

	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease,
		background 0.22s ease,
		color 0.22s ease !important;
}


/* Línea interior vino + dorado */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill::before {
	content: "" !important;
	display: block !important;

	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;

	width: 3px !important;

	background:
		linear-gradient(
			180deg,
			var(--tsr-internal-links-primary) 0%,
			var(--tsr-internal-links-gold) 55%,
			var(--tsr-internal-links-gold-light) 100%
		) !important;

	pointer-events: none !important;
}


/* Elementos internos por encima de la línea */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill__icon,
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill__label,
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill
.tsr-count {
	position: relative !important;
	z-index: 2 !important;
}


/* Estado activo */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill.active {
	border-color: rgba(126, 18, 34, 0.25) !important;
	border-left-color: var(--tsr-internal-links-gold) !important;

	border-radius: 9px !important;

	background:
		linear-gradient(
			135deg,
			#941b2e 0%,
			var(--tsr-internal-links-primary) 52%,
			var(--tsr-internal-links-primary-dark) 100%
		) !important;

	color: #ffffff !important;

	box-shadow:
		0 14px 30px rgba(126, 18, 34, 0.22),
		0 4px 10px rgba(30, 20, 22, 0.06) !important;
}


/* Línea activa dorada */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill.active::before {
	background:
		linear-gradient(
			180deg,
			var(--tsr-internal-links-gold-light) 0%,
			var(--tsr-internal-links-gold) 55%,
			#ffffff 100%
		) !important;
}


/* Contador */
.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill
.tsr-count {
	border-radius: 6px !important;
}

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill.active
.tsr-count {
	background: rgba(255, 255, 255, 0.16) !important;
	color: #ffffff !important;
}


/* Hover */
@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill:not(.active):hover {
		transform: translateY(-2px) !important;

		border-color: rgba(126, 18, 34, 0.14) !important;
		border-left-color: var(--tsr-internal-links-primary) !important;

		background:
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 0.99),
				rgba(255, 249, 235, 0.98)
			) !important;

		box-shadow:
			0 14px 28px rgba(30, 20, 22, 0.09),
			0 4px 9px rgba(30, 20, 22, 0.035) !important;
	}
}


/* Móvil */
@media (max-width: 640px) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill {
		min-height: 44px !important;
		padding: 9px 14px 9px 17px !important;

		border-left-width: 3px !important;
		border-radius: 8px !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill.active {
		border-radius: 8px !important;
	}
}
/* LANDING PREMIUM */
.tsr-slot-hero-title {
    color: #fff;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .65);
    font-size: clamp(28px, 2.4vw + 10px, 48px);
    text-wrap: balance;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    text-wrap: balance;
}
.tsr-slot-hero-text {
	color: white!important;
	    font-weight: 200;
	text-align: justify!important;

}
/* Fichas Grupos */
/* =========================
   TSR – Repertorio (TablePress)
   PON la clase "tsr-repertorio-tablepress" en el Grupo que envuelve la tabla
   ========================= */

.tsr-repertorio-tablepress{
  padding: clamp(24px, 4vw, 56px) 0;
  background:
    radial-gradient(900px 420px at 18% 0%,
      rgba(214,178,94,.14), rgba(255,255,255,0) 60%),
    radial-gradient(900px 420px at 90% 20%,
      rgba(107,29,32,.08), rgba(255,255,255,0) 55%),
    #fff;
}

/* Ancho contenido */
.tsr-repertorio-tablepress .wp-block-group__inner-container,
.tsr-repertorio-tablepress .wp-block-group__content{
  width: min(1100px, 92vw);
  margin: 0 auto;
}

/* Título de la sección (si es un H2 del editor) */
.tsr-repertorio-tablepress h2,
.tsr-repertorio-tablepress h3{
  color:#6b1d20;
}

/* Caja “card” para todo el bloque tablepress */
.tsr-repertorio-tablepress .tablepress{
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.08) !important;
}

/* Cabecera */
.tsr-repertorio-tablepress .tablepress thead th{
  background: #6b1d20 !important;        /* burdeos */
  color: #f3e6c9 !important;             /* marfil */
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  border: none !important;
  padding: 14px 14px !important;
}

/* Celdas */
.tsr-repertorio-tablepress .tablepress td{
  padding: 14px 14px !important;
  border-top: 1px solid rgba(0,0,0,.06) !important;
  color: rgba(0,0,0,.78) !important;
  background: #fff !important;
}

/* Filas alternas */
.tsr-repertorio-tablepress .tablepress tbody tr:nth-child(even) td{
  background: rgba(243,230,201,.22) !important; /* marfil suave */
}

/* Hover */
.tsr-repertorio-tablepress .tablepress tbody tr:hover td{
  background: rgba(214,178,94,.18) !important;  /* dorado suave */
}

/* Sort arrows (si TablePress los pinta) */
.tsr-repertorio-tablepress .tablepress thead th.sorting,
.tsr-repertorio-tablepress .tablepress thead th.sorting_asc,
.tsr-repertorio-tablepress .tablepress thead th.sorting_desc{
  background-color: #6b1d20 !important;
}

/* Buscador (DataTables) */
.tsr-repertorio-tablepress .dataTables_filter{
  margin: 0 0 14px 0 !important;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
  color: rgba(0,0,0,.65);
}

.tsr-repertorio-tablepress .dataTables_filter label{
  font-weight: 700;
  color: rgba(0,0,0,.7);
}

/* Input */
.tsr-repertorio-tablepress .dataTables_filter input{
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  padding: 10px 14px !important;
  outline: none !important;
  background: #fff !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.06) !important;
}

.tsr-repertorio-tablepress .dataTables_filter input:focus{
  border-color: rgba(214,178,94,.9) !important;
  box-shadow: 0 0 0 4px rgba(214,178,94,.18) !important;
}

/* Paginación (si la usas) */
.tsr-repertorio-tablepress .dataTables_paginate{
  margin-top: 14px !important;
}

.tsr-repertorio-tablepress .dataTables_paginate .paginate_button{
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  padding: 8px 12px !important;
  margin: 0 4px !important;
  background: #fff !important;
  color: #6b1d20 !important;
  font-weight: 700;
}

.tsr-repertorio-tablepress .dataTables_paginate .paginate_button.current,
.tsr-repertorio-tablepress .dataTables_paginate .paginate_button:hover{
  background: linear-gradient(180deg,#d6b25e,#e9c878) !important;
  border-color: transparent !important;
  color: #6b1d20 !important;
}

/* Responsive: en móvil, que no “rompa” */
@media (max-width: 720px){
  .tsr-repertorio-tablepress .dataTables_filter{
    justify-content: flex-start;
  }
  .tsr-repertorio-tablepress .tablepress thead th,
  .tsr-repertorio-tablepress .tablepress td{
    padding: 12px 12px !important;
  }
}
/* ============ Ajustes finos Repertorio ============ */

/* Centrar y limpiar el título (evita el highlight azul del editor) */
.tsr-repertorio-tablepress h2,
.tsr-repertorio-tablepress h3{
  text-align: center !important;
  margin: 0 0 14px 0 !important;
  color: #6b1d20 !important;
  font-weight: 800 !important;
}

/* Si el editor te deja un "marcado" (span con background), lo anulamos */
.tsr-repertorio-tablepress h2 span,
.tsr-repertorio-tablepress h3 span{
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
}

/* Buscador: que quede alineado con la tabla y más bonito */
.tsr-repertorio-tablepress .dataTables_filter{
  width: min(1100px, 92vw) !important;
  margin: 10px auto 16px auto !important;
  justify-content: flex-end !important;
}

/* Si tu TablePress está centrando raro, forzamos el flujo correcto */
.tsr-repertorio-tablepress .dataTables_wrapper{
  width: min(1100px, 92vw) !important;
  margin: 0 auto !important;
}

/* La tabla que no se quede "pequeña" */
.tsr-repertorio-tablepress.repertorio-wrapper{
  margin: 0 auto !important;
}
.repertorio-wrapper label {
    color: black !important;
}
/* En móvil: buscador abajo del título y ancho completo */
@media (max-width: 720px){
  .tsr-repertorio-tablepress .dataTables_filter{
    justify-content: flex-start !important;
  }
  .tsr-repertorio-tablepress .dataTables_filter input{
    width: 100% !important;
    max-width: 320px;
  }
}



/* TEXTO FICHA */
.ubicacion-ficha {
    text-align: center;
    font-size: x-large;
    font-weight: 600;
    text-transform: uppercase;
}
/* =========================================
    TITLE — GRUPOS
   ========================================= */
p.gb-text {
    color: white;
}
p.tsr-ficha-title {
    color: white;
}
/* =========================================
   TSR HERO TITLE — FORZADO Y ESTABLE
   ========================================= */

/* Asegura capa por encima del overlay */
.tsr-artist-hero .wp-block-cover__inner-container,
.tsr-artist-hero .tsr-hero-content{
  position: relative;
  z-index: 5;
}

/* H1 principal del hero */
.tsr-artist-hero .tsr-hero-title,
.tsr-artist-hero h1.tsr-hero-title,
.tsr-artist-hero .wp-block-heading.tsr-hero-title{
  /* font-size: clamp(34px, 4.2vw, 58px) !important; */
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
    /* line-height: 1.05 !important; */
    color: #ffffff !important;
    text-transform: none !important;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.tsr-artist-hero .tsr-hero-title, .tsr-artist-hero h1.tsr-hero-title, .tsr-artist-hero .wp-block-heading.tsr-hero-title
Specificity: (0,2,1)

/* Si dentro del H1 hay spans o enlaces */
.tsr-artist-hero .tsr-hero-title a,
.tsr-artist-hero .tsr-hero-title span{
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

/* Subtítulo (por si lo usas) */
.tsr-artist-hero .tsr-hero-subtitle{
  font-size: clamp(16px, 1.8vw, 20px) !important;
  line-height: 1.4 !important;
  color: rgba(255,255,255,0.9) !important;
  margin: 0 0 26px !important;
}

/* Botón CTA en el hero (si quieres mantenerlo consistente) */
.tsr-artist-hero .tsr-hero-cta .wp-block-button__link{
  background: #7a1c24 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.25) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.tsr-artist-hero .tsr-hero-cta .wp-block-button__link:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35) !important;
}





* ================================
   TSR REF BADGE ULTRA (completo)
   - borde dorado + relieve
   - shimmer (luz) recortado dentro
   - microdestello (detalle final)
   ================================ */

/* Asegura que el header del hero quede por encima del overlay del cover */
.tsr-hero-content,
.tsr-hero-header{
  position: relative;
  z-index: 5;
}

/* ===== Badge principal ===== */
.tsr-hero-ref-wrap{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;

  padding: 14px 26px;
  border-radius: 999px;

  /* Fondo burdeos profundo con brillo */
  background:
    radial-gradient(120% 180% at 20% 10%,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,0) 45%),
    linear-gradient(135deg, #64151c 0%, #8a1f29 55%, #b12a36 100%);

  /* Borde dorado "metal" */
  border: 1px solid rgba(212,175,55,0.95);

  /* Relieve + glow */
  box-shadow:
    0 16px 45px rgba(0,0,0,.38),
    0 0 0 3px rgba(212,175,55,0.14),
    0 0 26px rgba(212,175,55,0.22);

  /* Por encima de TODO */
  z-index: 50;

  /* Recorte de la luz (CLAVE) */
  overflow: hidden;
  isolation: isolate;

  /* Animación entrada */
  opacity: 0;
  transform: translateY(-18px) scale(.98);
  animation: tsrRefIn .85s cubic-bezier(.2,.9,.2,1) forwards;

  backface-visibility: hidden;
  will-change: transform, opacity;
}

/* Borde interior tipo "joya" */
.tsr-hero-ref-wrap::before{
  content:"";
  position:absolute;
  inset: 2px;
  border-radius: 999px;
  border: 1px solid rgba(255,223,130,0.42);
  pointer-events:none;
  z-index: 1;
}

/* Luz que cruza (shimmer) - dorada, no gris */
.tsr-hero-ref-wrap::after{
  content:"";
  position:absolute;
  inset: -40% -60%;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 35%,
    rgba(255,239,190,.12) 45%,
    rgba(255,239,190,.42) 50%,
    rgba(255,239,190,.12) 55%,
    rgba(255,255,255,0) 65%
  );
  transform: translateX(-60%) rotate(12deg);
  opacity: .95;
  mix-blend-mode: screen;
  pointer-events:none;
  z-index: 2;
  animation: tsrRefShimmer 3.8s ease-in-out 1.2s infinite;
}

/* Texto */
.tsr-hero-ref-label,
.tsr-hero-ref-code{
  position: relative;
  z-index: 3; /* por encima de la luz */
}

.tsr-hero-ref-label{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.86);
}

.tsr-hero-ref-code{
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 2.5px;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}

/* Hover: micro-zoom + glow */
.tsr-hero-ref-wrap:hover{
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 20px 55px rgba(0,0,0,.45),
    0 0 0 3px rgba(212,175,55,0.18),
    0 0 34px rgba(212,175,55,0.30);
  transition: transform .22s ease, box-shadow .22s ease;
}

/* ===== Animaciones ===== */
@keyframes tsrRefIn{
  to{ opacity:1; transform: translateY(0) scale(1); }
}

@keyframes tsrRefShimmer{
  0%   { transform: translateX(-70%) rotate(12deg); opacity: 0; }
  10%  { opacity: .95; }
  45%  { opacity: .95; }
  60%  { opacity: 0; }
  100% { transform: translateX(70%) rotate(12deg); opacity: 0; }
}

/* ================================
   Microdetalle final: “spark” sutil
   ================================ */
.tsr-hero-ref-wrap .tsr-hero-ref-code::after{
  content:"";
  position:absolute;
  top: -6px;
  right: -10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,223,130,.9);
  box-shadow: 0 0 14px rgba(255,223,130,.65);
  opacity: 0;
  animation: tsrSpark 4.6s ease-in-out 1.8s infinite;
}

@keyframes tsrSpark{
  0%, 70%, 100% { opacity: 0; transform: scale(.8); }
  78% { opacity: .9; transform: scale(1); }
  84% { opacity: 0; transform: scale(1.2); }
}

/* Accesibilidad: reduce motion */
@media (prefers-reduced-motion: reduce){
  .tsr-hero-ref-wrap{ animation:none; opacity:1; transform:none; }
  .tsr-hero-ref-wrap::after{ animation:none; display:none; }
  .tsr-hero-ref-wrap .tsr-hero-ref-code::after{ animation:none; display:none; }
}


.tsr-artist-card{
  opacity: 0;
  transform: translateY(25px);
  animation: tsrCardIn 0.8s ease forwards;
}

@keyframes tsrCardIn{
  to{
    opacity:1;
    transform: translateY(0);
  }
}





/* ================= Intro Artista Refinado ================= */

/* Sección full width */
.tsr-artist-intro{
  width: 100%;
  margin: 0;
  position: relative;
  overflow: hidden;
  padding: 70px 0; /* padding vertical, el lateral va en el inner */
  background: linear-gradient(
    to bottom,
    rgba(122,28,36,0.08),
    rgba(255,255,255,1) 45%
  );
}

/* Mancha flamenca suave */
.tsr-artist-intro::before{
  content:"";
  position:absolute;
  top:-220px;
  right:-220px;
  width:560px;
  height:560px;
  background: radial-gradient(rgba(122,28,36,0.18), transparent 70%);
  filter: blur(90px);
  z-index:0;
}

/* Contenido centrado */
.tsr-artist-intro__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--wp--preset--spacing--20);
  position: relative;
  z-index: 2;
}

/* Separación columnas */
.tsr-artist-intro__inner .wp-block-columns{
  gap: clamp(26px, 4vw, 60px);
  align-items: center;
}
/* Video */
.tsr-artist-intro iframe,
.tsr-artist-intro video{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  display: block;
}
/* Video interacción elegante */

.tsr-artist-intro iframe,
.tsr-artist-intro video{
  transition: transform .4s ease, box-shadow .4s ease;
}

.tsr-artist-intro iframe:hover,
.tsr-artist-intro video:hover{
  transform: scale(1.03);
  box-shadow: 0 30px 70px rgba(0,0,0,0.25);
}
.tsr-artist-intro{
  position: relative;
}

.tsr-artist-intro::after{
  content:"";
  position:absolute;
  bottom:-40px;
  left:50%;
  transform:translateX(-50%);
  width:80%;
  height:60px;
  background: radial-gradient(
    rgba(0,0,0,0.15),
    transparent 70%
  );
  filter: blur(25px);
  z-index:-1;
}
.tsr-artist-intro iframe:hover{
  transform: scale(1.04);
  box-shadow: 0 35px 80px rgba(122,28,36,0.35);
}
/* Card */
.tsr-artist-card{
  background: #ffffff;
  border-radius: 28px;
  padding: clamp(28px, 3vw, 40px);
  box-shadow: 0 25px 60px rgba(0,0,0,0.08);
  transition: transform .3s ease;
}

.tsr-artist-card:hover{
  transform: translateY(-6px);
}
.tsr-artist-card{
  background: linear-gradient(
    145deg,
    #ffffff,
    #fdf7f7
  );
  border-left: 4px solid #7a1c24;
  border-radius: 28px;
  padding: clamp(28px, 3vw, 40px);
  box-shadow: 0 30px 70px rgba(122,28,36,0.12);
}
/* Animación entrada robusta */

.tsr-artist-card{
  animation: tsrCardIn .9s cubic-bezier(.2,.9,.2,1) both;
}

@keyframes tsrCardIn{
  0%{
    opacity:0;
    transform: translateY(30px);
  }
  100%{
    opacity:1;
    transform: translateY(0);
  }
}
/* H2 */
.tsr-artist-card h2{
  margin: 0 0 8px;
  font-size: clamp(24px,2.2vw,30px);
  color: #7a1c24;
}
.tsr-artist-card h2::after{
  width:70px;
  height:4px;
  background: linear-gradient(
    to right,
    #7a1c24,
    #b12a36
  );
}
/* Línea decorativa elegante */
.tsr-artist-card h2::after{
  content:"";
  display:block;
  width:50px;
  height:3px;
  background:#7a1c24;
  margin-top:10px;
  border-radius:2px;
}

/* Nombre grupo */
.tsr-artist-name{
  margin: 12px 0 20px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7a1c24;
  opacity: .7;
}

/* Texto */
.tsr-artist-card p{
  line-height: 1.8;
  font-size: 16px;
  color: #333;
}

/* Fondo */
.tsr-artist-intro{
  position: relative;
  background: linear-gradient(
    to bottom,
    rgba(122,28,36,0.08),
    rgba(255,255,255,1) 40%
  );
  overflow: hidden;
}

/* Patrón sutil radial */
.tsr-artist-intro::before{
  content:"";
  position:absolute;
  top:-200px;
  right:-200px;
  width:500px;
  height:500px;
  background: radial-gradient(
    rgba(122,28,36,0.15),
    transparent 70%
  );
  filter: blur(80px);
  z-index:0;
}

.tsr-artist-intro > *{
  position:relative;
  z-index:2;
}





/* =========================================
   TSR FICHA ARTISTA — VERSIÓN LIMPIA PRO
   ========================================= */

.tsr-artist-ficha{
  width:100%;
  padding:120px 0;
  background: linear-gradient(160deg,#7a1c24 0%,#5d141b 100%);
  color:white;
}

.tsr-artist-ficha__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

.tsr-artist-ficha .wp-block-columns{
  align-items:center;
  gap:40px;
}
.tsr-artist-ficha{
  position:relative;
  overflow:hidden;
}

.tsr-artist-ficha::after{
  content:"";
  position:absolute;
  bottom:-120px;
  left:-10%;
  width:120%;
  height:200px;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.35), transparent 70%);
  opacity:.25;
  pointer-events:none;
}


/* ===== REFERENCIA PROTAGONISTA ===== */

.tsr-ref-center{
  text-align:center;
}
.tsr-ref-center svg *{
  fill:#ffffff !important;
  stroke:#ffffff !important;
}
.tsr-ref-label{
  font-size:14px;
  letter-spacing:2px;
  text-transform:uppercase;
  opacity:.8;
}

.tsr-ref-number{
  font-size:88px;
  font-weight:900;
  margin-top:10px;
  line-height:1;
  letter-spacing:3px;
}

/* =========================================================
   TSR GOLD BUTTON — FORZADO contra theme/presets/inline
   Soporta:
   - clase en el <a> (wp-block-button__link)
   - clase en el wrapper .wp-block-button
   - clase en el contenedor Buttons
   ========================================================= */

/* 1) Clase en el enlace */
.wp-block-button__link.tsr-gold-button{
  background: linear-gradient(135deg,#d4af37 0%,#f6e27a 40%,#caa332 100%) !important;
  color: #65171e !important;

  border: 0 !important;
  border-radius: 999px !important;
  padding: 18px 48px !important;

  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;

  box-shadow: 0 20px 40px rgba(0,0,0,.35) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;

  text-decoration: none !important;
}

/* 2) Clase en el wrapper del botón */
.wp-block-button.tsr-gold-button > .wp-block-button__link{
  background: linear-gradient(135deg,#d4af37 0%,#f6e27a 40%,#caa332 100%) !important;
  color: #65171e !important;

  border: 0 !important;
  border-radius: 999px !important;
  padding: 18px 48px !important;

  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;

  box-shadow: 0 20px 40px rgba(0,0,0,.35) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;

  text-decoration: none !important;
}

/* 3) Clase en el contenedor Buttons (por si la pusiste ahí) */
.wp-block-buttons.tsr-gold-button .wp-block-button__link{
  background: linear-gradient(135deg,#d4af37 0%,#f6e27a 40%,#caa332 100%) !important;
  color: #65171e !important;

  border: 0 !important;
  border-radius: 999px !important;
  padding: 18px 48px !important;

  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;

  box-shadow: 0 20px 40px rgba(0,0,0,.35) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;

  text-decoration: none !important;
}

/* Hover (los 3 casos) */
.wp-block-button__link.tsr-gold-button:hover,
.wp-block-button.tsr-gold-button > .wp-block-button__link:hover,
.wp-block-buttons.tsr-gold-button .wp-block-button__link:hover{
  transform: translateY(-4px) !important;
  box-shadow: 0 30px 60px rgba(0,0,0,.45) !important;
  filter: saturate(1.05) !important;
}

/* Focus accesible */
.wp-block-button__link.tsr-gold-button:focus-visible,
.wp-block-button.tsr-gold-button > .wp-block-button__link:focus-visible,
.wp-block-buttons.tsr-gold-button .wp-block-button__link:focus-visible{
  outline: 3px solid rgba(246,226,122,0.55) !important;
  outline-offset: 4px !important;
}
.wp-block-button__link.tsr-gold-button{
  position: relative !important;
  overflow: hidden !important;
}
.wp-block-button__link.tsr-gold-button::after{
  content:"";
  position:absolute;
  top:0;
  left:-70%;
  width:50%;
  height:100%;
  background: linear-gradient(120deg, rgba(255,255,255,0.12), rgba(255,255,255,0.55), rgba(255,255,255,0.12));
  transform: skewX(-25deg);
  transition: left .7s ease;
  pointer-events:none;
}
.wp-block-button__link.tsr-gold-button:hover::after{
  left:140%;
}

/* ===== RESPONSIVE ===== */

@media(max-width:900px){

  .tsr-ref-number{
    font-size:54px;
  }

  .tsr-artist-ficha{
    padding:90px 0;
  }

}
/* Expandir ancho real del contenido */
.tsr-artist-ficha__columns{
  max-width:1200px !important;
  margin-left:auto;
  margin-right:auto;
  padding-left:40px;
  padding-right:40px;
  gap:80px;
}
/* =========================================
   TSR FICHA — AJUSTE FINO PREMIUM
   ========================================= */

/* Títulos laterales */
.tsr-ficha-title{
  font-size:18px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin-bottom:14px;
  opacity:.95;
}


/* Ajuste visual iconos */
.tsr-ficha-box svg{
  width:32px;
  height:32px;
  margin-bottom:18px;
  opacity:.9;
}
.tsr-ficha-box svg *{
  fill:#f3e6c9 !important;
  stroke:#f3e6c9 !important;
}
/* Separación vertical del número */
.tsr-ref-label{
  font-size:15px;
  letter-spacing:2px;
  opacity:.75;
}

.tsr-ref-number{
  font-size:92px;
  font-weight:900;
  letter-spacing:5px;
  margin-top:12px;
}

/* Mejor equilibrio general */
.tsr-artist-ficha__columns{
  gap:100px;
}

/* =========================================
   TSR BADGE ESTILO MUSICAL
   ========================================= */

.tsr-ficha-value a{
  display:inline-block;
  padding:9px 20px;
  border-radius:999px;
margin: 5px;
  font-size:13px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;

  color:#65171e !important;
  background:linear-gradient(145deg,#f5e9cc,#e6d2a5);

  box-shadow:
    0 6px 12px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.5);

  text-decoration:none;
  transition:all .25s ease;
}

.tsr-ficha-value a:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 20px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.6);
}
.tsr-ficha-value span.wp-block-post-terms__separator {
    display: none;
}
.tsr-ficha-value.origen p {
    font-weight: 400!important;
    margin-left: 20px!important;
    padding-top: 20px!important;
}





/* =========================================
   TSR BRIDGE (Puente antes de Vídeos)
   ========================================= */

/* El cover actúa como “escenario” */
.tsr-bridge-cover{
  position:relative;
  overflow:hidden;
}

/* Overlay burdeos cinematográfico */
.tsr-bridge-cover::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(243,230,201,.18), transparent 55%),
    linear-gradient(135deg, rgba(122,28,36,.80), rgba(45,8,12,.78));
  z-index:1;
  pointer-events:none;
}

/* Asegura que el contenido quede por encima del overlay */
.tsr-bridge-cover .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
}

/* Layout del contenido */
.tsr-bridge{
  max-width:1100px;
  margin:0 auto;
  padding:72px 22px;
  text-align:center;
  color:#fff;
}

/* Titular */
.tsr-bridge h2,
.tsr-bridge h3{
  margin:0 0 10px !important;
  font-weight:900 !important;
  letter-spacing:-0.5px !important;
  line-height:1.05 !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  text-shadow: 0 14px 40px rgba(0,0,0,.40);
}

/* Subtexto */
.tsr-bridge p{
  margin:0 auto 22px !important;
  max-width:760px;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height:1.55 !important;
  color: rgba(255,255,255,.90) !important;
  text-shadow: 0 10px 30px rgba(0,0,0,.35);
	text-align: center;
}

/* Caja de Influencias */
.tsr-influences{
  margin:22px auto 28px;
}

/* Label “INFLUENCIAS” */
.tsr-influences__label{
  display:inline-block;
  margin:0 0 12px !important;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:2.2px !important;
  text-transform:uppercase !important;
  color:#f3e6c9 !important;
  border:1px solid rgba(243,230,201,.45);
  background: rgba(0,0,0,.20);
  backdrop-filter: blur(4px);
}

/* Lista de influencias (si Pods devuelve UL/LI) */
.tsr-influences__list ul{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  justify-content:center;
}

/* Badges dorados */
.tsr-influences__list a,
.tsr-influences__list li,
.tsr-influences__list span,
.tsr-influences__list p{
  display:inline-block;
  margin:0 !important;
  padding:10px 18px;
  border-radius:999px;
  background: linear-gradient(145deg,#f5e9cc,#e6d2a5);
  color:#65171e !important;
  font-weight:900 !important;
  font-size:13px !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.55);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Hover badges */
.tsr-influences__list a:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.60);
  filter: brightness(1.02);
}

/* CTAs */
.tsr-bridge-cta{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:8px;
}

/* Botón ghost (vídeos) */
.wp-block-button__link.tsr-ghost-button{
  background: rgba(0,0,0,.18) !important;
  color:#f3e6c9 !important;
  border: 1px solid rgba(243,230,201,.55) !important;
  border-radius:999px !important;
  padding:16px 30px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  backdrop-filter: blur(4px);
  box-shadow: 0 10px 26px rgba(0,0,0,.25) !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-block-button__link.tsr-ghost-button:hover{
  transform: translateY(-2px) !important;
  background: rgba(243,230,201,.10) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.35) !important;
}

/* Botón dorado (repertorio) — forzado */
.wp-block-button__link.tsr-gold-button{
  background: linear-gradient(145deg,#f5e9cc,#e6d2a5) !important;
  color:#65171e !important;
  border:0 !important;
  border-radius:999px !important;
  padding:16px 34px !important;
  font-weight:900 !important;
  letter-spacing:1.2px !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.55) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.wp-block-button__link.tsr-gold-button:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.60) !important;
  filter: brightness(1.02);
}

/* Responsive */
@media (max-width: 900px){
  .tsr-bridge{ padding:56px 18px; }
}





/* =========================
   TSR YTPG – Ajuste final fino
   ========================= */

/* Forzar tipografía limpia sin herencia del theme */
.tsr-ytpg-card h3,
h3.tsr-yt-h{
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 100 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  color: #6b1d20 !important;
}
/* Limitar título a 2 líneas reales */
.tsr-ytpg-title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* Fecha más elegante */
.tsr-ytpg-meta{
  font-size:13px !important;
  color: rgba(0,0,0,.55) !important;
  margin-top:auto !important;
}

/* Botón estilo premium fijo (no solo en hover) */
.tsr-ytpg-play{
  background: linear-gradient(180deg,#d6b25e,#e9c878) !important;
  color:#6b1d20 !important;
  border:none !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}

/* Hover más sutil */
.tsr-ytpg-card:hover .tsr-ytpg-play{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 28px rgba(0,0,0,.22) !important;
}

/* Overlay más suave (ahora mismo lo tienes fuerte) */
.tsr-ytpg-thumb::after{
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.05) 55%,
    rgba(0,0,0,0) 100%
  ) !important;
}











/* =========================================
   TSR INTRO — compactar card para igualar vídeo
   ========================================= */

@media (min-width: 900px){

  .tsr-artist-card{
    padding: 22px 26px !important;
  }

  .tsr-artist-card h2{
    font-size: 26px !important;
    margin-bottom: 4px !important;
  }

  .tsr-artist-name{
    margin: 8px 0 12px !important;
    font-size: 13px !important;
  }

  .tsr-artist-card p{
    font-size: 15px !important;
    line-height: 1.6 !important;
	  text-align: justify;
  }

	
}




/* =========================================
   TSR INTRO — ambos bloques ocupan el contenedor
   ========================================= */

@media (min-width: 900px){

  /* columnas ocupan todo */
  .tsr-artist-intro .wp-block-columns{
    align-items: stretch !important;
  }

  .tsr-artist-intro .wp-block-column{
    display: flex !important;
  }

  /* ambos bloques llenan su columna */
  .tsr-artist-intro .wp-block-shortcode,
  .tsr-artist-intro .tsr-artist-card{
    width: 100% !important;
    height: 100% !important;
  }

  /* VIDEO — que crezca de verdad */
  .tsr-artist-intro .wp-block-shortcode{
    display: flex !important;
  }

  .tsr-artist-intro .wp-block-shortcode > *{
    width: 100% !important;
    height: 100% !important;
  }

  /* iframe ocupa TODO */
  .tsr-artist-intro iframe,
  .tsr-artist-intro video{
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    border-radius: 22px !important;
  }

  /* CARD se adapta al mismo alto */
  .tsr-artist-card{
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

}





/* =========================================
   TSR HERO — bajar encuadre imagen
   ========================================= */

.tsr-artist-hero .wp-block-cover__image-background{
  object-position: center 20% !important;
}


/* =========================================
   TSR COVER PLUGIN BLOQUE
   ========================================= */
.tsr-pods-gallery-bg.has-gradient.tsr-bridge-cover {
    margin: auto;
}

/* =========================================
   TEXTOS
   ========================================= */
.tsr-texto-seo p{
    text-align: justify;
  }

.tsr-artist-card p{
    text-align: justify;
  }
.tsr-dynamic-h2 {
	text-align: center;
}
/* =========================================
   MARGENES
   ========================================= */

.tsr-artist-intro {
	margin-top: -50px!important;
		margin-bottom: -50px!important;

}





/* ==========================================================
   TITULOS SECCIONES GRUPOS
========================================================== */

.titulo-seccion-grupos{
  display:inline-block !important;
  position:relative !important;

  margin:0 0 34px 40px !important;

  font-family:inherit !important;
  font-size:clamp(28px,3vw,42px) !important;
  font-weight:700 !important;
  line-height:1.05 !important;

  color:#6e1f23 !important;

  letter-spacing:-0.03em !important;
  text-transform:none !important;

  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.titulo-seccion-grupos::after{
  content:'' !important;
  display:block !important;

  width:64px !important;
  height:3px !important;

  margin-top:14px !important;

  border-radius:999px !important;

  background:linear-gradient(
    90deg,
    #d9bf69 0%,
    rgba(217,191,105,0) 100%
  ) !important;
}

/* Responsive móvil */
@media (max-width:768px){

  .titulo-seccion-grupos{
    margin-left:22px !important;
    margin-bottom:26px !important;

    font-size:34px !important;
  }

}
/* Bloque Landing Beneficios */
/* ==========================================================
   TSR — INTERLINKS PREMIUM
   AJUSTES FINALES
   Añadir al final de la hoja CSS
   ========================================================== */


/* ==========================================================
   1. CONSERVAR SOLO LA LÍNEA PREMIUM SUPERIOR
   Elimina la pequeña línea situada sobre el título
   ========================================================== */

.tsr-pattern-internal-links
.tsr-slot-internal-links-title::before {
	content: none !important;
	display: none !important;
}


/* ==========================================================
   2. AJUSTE DEL TÍTULO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-slot-internal-links-title {
	max-width: 980px;
	margin: 0 auto clamp(34px, 4vw, 50px);
	padding: 0 !important;

	font-size: clamp(2.2rem, 4.6vw, 4rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.045em;
	text-align: center;
	color: var(--tsr-internal-links-primary);

	text-wrap: balance;
}


/* ==========================================================
   3. TEXTO INTRODUCTORIO
   Se aplicará cuando vuelvas a generar el contenido
   ========================================================== */

.tsr-pattern-internal-links
.tsr-slot-internal-links-text {
	max-width: 820px;
	margin: -18px auto clamp(32px, 4vw, 46px);
	padding: 0 !important;

	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.75;
	text-align: center;
	color: var(--tsr-internal-links-muted);

	text-wrap: pretty;
}


/* ==========================================================
   4. TAXONOMÍAS PADRE
   Recuperamos el borde blanco exterior premium
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill {
	min-height: 48px;
	padding: 11px 19px;

	border: 1px solid rgba(126, 18, 34, 0.1) !important;
	border-radius: 999px;

	background: rgba(255, 255, 255, 0.94) !important;
	color: var(--tsr-internal-links-primary-dark) !important;

	box-shadow:
		0 0 0 3px rgba(255, 255, 255, 0.95),
		0 12px 28px rgba(30, 20, 22, 0.075),
		0 3px 9px rgba(30, 20, 22, 0.035) !important;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease,
		background 0.25s ease,
		color 0.25s ease;
}


/* Estado hover de las taxonomías */

@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill:hover {
		transform: translateY(-4px);

		border-color: rgba(214, 170, 52, 0.56) !important;

		background:
			linear-gradient(
				135deg,
				rgba(255, 255, 255, 1),
				rgba(255, 250, 236, 0.98)
			) !important;

		box-shadow:
			0 0 0 3px rgba(255, 255, 255, 1),
			0 20px 42px rgba(30, 20, 22, 0.12),
			0 6px 16px rgba(30, 20, 22, 0.05) !important;
	}
}


/* Taxonomía activa */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill.active {
	border-color: rgba(255, 255, 255, 0.34) !important;

	background:
		linear-gradient(
			135deg,
			#941b2e 0%,
			var(--tsr-internal-links-primary) 52%,
			var(--tsr-internal-links-primary-dark) 100%
		) !important;

	color: #ffffff !important;

	box-shadow:
		0 0 0 3px rgba(255, 255, 255, 0.98),
		0 18px 38px rgba(126, 18, 34, 0.25),
		0 5px 13px rgba(30, 20, 22, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}


/* ==========================================================
   5. PANEL DE TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud {
	position: relative;

	min-height: 110px;
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(32px, 4vw, 50px);

	border: 1px solid rgba(126, 18, 34, 0.09) !important;
	border-radius: 22px;

	background:
		radial-gradient(
			circle at top center,
			rgba(214, 170, 52, 0.07),
			transparent 38%
		),
		rgba(255, 255, 255, 0.8) !important;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 1),
		0 18px 44px rgba(30, 20, 22, 0.055) !important;

	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}


/* Línea decorativa interior del panel */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-cloud::before {
	content: "";

	position: absolute;
	top: 0;
	left: 50%;

	width: 110px;
	height: 3px;

	border-radius: 0 0 999px 999px;

	background:
		linear-gradient(
			90deg,
			var(--tsr-internal-links-primary),
			var(--tsr-internal-links-gold),
			var(--tsr-internal-links-gold-light)
		);

	transform: translateX(-50%);
}


/* ==========================================================
   6. CONTENEDOR DE TÉRMINOS
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	gap: 15px;
	padding-top: 4px;
}


/* ==========================================================
   7. TÉRMINOS INDIVIDUALES
   Forzamos un estilo claramente distinto al original
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill {
	position: relative;
	overflow: hidden;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 50px;
	padding: 12px 21px;

	border: 1px solid rgba(126, 18, 34, 0.11) !important;
	border-radius: 999px;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 252, 246, 0.96) 100%
		) !important;

	color: var(--tsr-internal-links-primary) !important;

	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	font-weight: 500;
	line-height: 1.25;

	text-align: center;
	text-decoration: none !important;

	box-shadow:
		0 0 0 2px rgba(255, 255, 255, 0.86),
		0 11px 24px rgba(30, 20, 22, 0.065),
		0 3px 8px rgba(30, 20, 22, 0.025) !important;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease,
		background 0.25s ease,
		color 0.25s ease;
}


/* Resplandor interior */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-terms-group
a.tsr-term-pill::before {
	content: "";

	position: absolute;
	inset: 0;

	border-radius: inherit;

	background:
		linear-gradient(
			130deg,
			rgba(255, 255, 255, 0.55),
			transparent 48%
		);

	pointer-events: none;
}


/* Hover premium de los términos */

@media (hover: hover) {
	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill:hover {
		transform: translateY(-5px);

		border-color: rgba(214, 170, 52, 0.58) !important;

		background:
			linear-gradient(
				135deg,
				rgba(126, 18, 34, 0.055),
				rgba(214, 170, 52, 0.12)
			) !important;

		color: var(--tsr-internal-links-primary-dark) !important;

		box-shadow:
			0 0 0 2px rgba(255, 255, 255, 1),
			0 21px 42px rgba(30, 20, 22, 0.12),
			0 6px 15px rgba(30, 20, 22, 0.05) !important;
	}
}


/* ==========================================================
   8. FOCO DE TECLADO
   ========================================================== */

.tsr-pattern-internal-links
.tsr-topic-cloud
.tsr-taxonomy-pill:focus-visible,
.tsr-pattern-internal-links
.tsr-topic-cloud
a.tsr-term-pill:focus-visible {
	outline: 3px solid rgba(214, 170, 52, 0.5);
	outline-offset: 4px;
}


/* ==========================================================
   9. MÓVIL
   ========================================================== */

@media (max-width: 640px) {
	.tsr-pattern-internal-links
	.tsr-slot-internal-links-title {
		margin-bottom: 28px;
		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.tsr-pattern-internal-links
	.tsr-slot-internal-links-text {
		margin-top: -10px;
		margin-bottom: 28px;
		font-size: 1rem;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-taxonomy-pill {
		min-height: 43px;
		padding: 9px 14px;

		box-shadow:
			0 0 0 2px rgba(255, 255, 255, 0.96),
			0 9px 20px rgba(30, 20, 22, 0.07) !important;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-cloud {
		min-height: 80px;
		padding: 27px 15px 22px;
		border-radius: 18px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group__inner {
		gap: 11px;
	}

	.tsr-pattern-internal-links
	.tsr-topic-cloud
	.tsr-terms-group
	a.tsr-term-pill {
		min-height: 43px;
		padding: 9px 14px;
		font-size: 0.95rem;
	}
}
/* Bloque Introduccion Landings */
/* ==========================================================
   TSR — INTRODUCCIÓN PREMIUM
   Contenedor principal:
   .tsr-pattern-intro
   ========================================================== */

.tsr-pattern-intro {
	--tsr-intro-primary: #17385f;
	--tsr-intro-accent: #7e1222;
	--tsr-intro-gold: #d6aa34;
	--tsr-intro-text: #242424;
	--tsr-intro-muted: rgba(36, 36, 36, 0.78);

	position: relative;
	overflow: hidden;
	padding: clamp(42px, 6vw, 82px) clamp(24px, 4.5vw, 72px);
	background:
		radial-gradient(
			circle at 94% 10%,
			rgba(214, 170, 52, 0.1),
			transparent 30%
		),
		linear-gradient(
			135deg,
			#ffffff 0%,
			#fcfaf7 100%
		);
}

/* Línea lateral decorativa */
.tsr-pattern-intro::before {
	content: "";
	position: absolute;
	top: clamp(42px, 6vw, 82px);
	left: 0;
	width: 5px;
	height: clamp(78px, 11vw, 145px);
	border-radius: 0 8px 8px 0;
	background: linear-gradient(
		180deg,
		var(--tsr-intro-accent),
		var(--tsr-intro-gold)
	);
}

/* Decoración discreta de fondo */
.tsr-pattern-intro::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -130px;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(23, 56, 95, 0.08);
	border-radius: 50%;
	pointer-events: none;
}

.tsr-pattern-intro > * {
	position: relative;
	z-index: 1;
}

/* ==========================================================
   TÍTULO
   ========================================================== */

.tsr-pattern-intro > h1,
.tsr-pattern-intro > h2,
.tsr-pattern-intro > h3,
.tsr-pattern-intro > .wp-block-heading {
	max-width: 1180px;
	margin: 0 0 clamp(22px, 3vw, 34px);
	padding-bottom: 16px;
	border-bottom: 3px solid var(--tsr-intro-primary);
	font-size: clamp(2rem, 4.2vw, 3.45rem);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: var(--tsr-intro-primary);
	text-wrap: balance;
}

/* Línea corta dorada sobre el borde */
.tsr-pattern-intro > h1::after,
.tsr-pattern-intro > h2::after,
.tsr-pattern-intro > h3::after,
.tsr-pattern-intro > .wp-block-heading::after {
	content: "";
	display: block;
	width: clamp(80px, 12vw, 150px);
	height: 3px;
	margin-top: 16px;
	margin-bottom: -19px;
	background: linear-gradient(
		90deg,
		var(--tsr-intro-gold),
		var(--tsr-intro-accent)
	);
}

/* ==========================================================
   TEXTO
   ========================================================== */

.tsr-pattern-intro > p {
	max-width: 1320px;
	margin: 0;
	font-size: clamp(1.05rem, 1.45vw, 1.28rem);
	line-height: 1.78;
	letter-spacing: 0.006em;
	color: var(--tsr-intro-text);
	text-wrap: pretty;
}

/* Justificación solo en pantallas amplias */
@media (min-width: 800px) {
	.tsr-pattern-intro > p {
		text-align: justify;
	}
}

/* Destacados */
.tsr-pattern-intro strong {
	color: var(--tsr-intro-accent);
	font-weight: 650;
}

.tsr-pattern-intro a {
	color: var(--tsr-intro-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.tsr-pattern-intro a:hover {
	color: var(--tsr-intro-primary);
}

/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 640px) {
	.tsr-pattern-intro {
		padding: 36px 22px 42px;
	}

	.tsr-pattern-intro::before {
		top: 36px;
		height: 82px;
		width: 4px;
	}

	.tsr-pattern-intro > h1,
	.tsr-pattern-intro > h2,
	.tsr-pattern-intro > h3,
	.tsr-pattern-intro > .wp-block-heading {
		padding-bottom: 14px;
	}

	.tsr-pattern-intro > p {
		font-size: 1.05rem;
		line-height: 1.7;
	}
}

/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
	.tsr-pattern-intro * {
		scroll-behavior: auto;
	}
}
/* Bloque Paso a Paso Landings */
/* ==========================================================
   TSR — CÓMO FUNCIONA
   Contenedor principal:
   .tsr-pattern-how
   ========================================================== */

.tsr-pattern-how {
	--tsr-how-primary: #7e1222;
	--tsr-how-primary-light: #a8434f;
	--tsr-how-gold: #d6aa34;
	--tsr-how-gold-light: #f2d874;
	--tsr-how-text: #262626;
	--tsr-how-muted: rgba(38, 38, 38, 0.74);
	--tsr-how-background: #faf9f7;
	--tsr-how-card: #ffffff;
	--tsr-how-border: rgba(126, 18, 34, 0.1);

	position: relative;
	overflow: hidden;
	padding: clamp(54px, 7vw, 100px) clamp(22px, 5vw, 76px);
	background:
		radial-gradient(
			circle at 5% 10%,
			rgba(214, 170, 52, 0.11),
			transparent 27%
		),
		radial-gradient(
			circle at 96% 92%,
			rgba(126, 18, 34, 0.07),
			transparent 30%
		),
		linear-gradient(
			180deg,
			#faf9f7 0%,
			#ffffff 100%
		);
}

/* Línea superior decorativa */
.tsr-pattern-how::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: min(260px, 36vw);
	height: 4px;
	transform: translateX(-50%);
	border-radius: 0 0 10px 10px;
	background: linear-gradient(
		90deg,
		var(--tsr-how-primary),
		var(--tsr-how-gold),
		var(--tsr-how-primary)
	);
}

/* Círculo decorativo de fondo */
.tsr-pattern-how::after {
	content: "";
	position: absolute;
	right: -130px;
	top: -145px;
	width: 330px;
	height: 330px;
	border: 1px solid rgba(214, 170, 52, 0.16);
	border-radius: 50%;
	pointer-events: none;
}

.tsr-pattern-how > * {
	position: relative;
	z-index: 1;
}

/* ==========================================================
   CABECERA
   ========================================================== */

.tsr-pattern-how .tsr-how-header {
	max-width: 940px;
	margin: 0 auto clamp(50px, 6vw, 78px);
	text-align: center;
}

.tsr-pattern-how .tsr-how-header .wp-block-heading {
	margin: 0 0 18px;
	font-size: clamp(2.2rem, 4.6vw, 3.8rem);
	font-weight: 450;
	line-height: 1.05;
	letter-spacing: -0.04em;
	color: var(--tsr-how-primary);
	text-wrap: balance;
}

.tsr-pattern-how .tsr-how-header > p {
	max-width: 820px;
	margin: 0 auto;
	font-size: clamp(1.05rem, 1.5vw, 1.24rem);
	line-height: 1.75;
	color: var(--tsr-how-muted);
	text-wrap: pretty;
}

/* ==========================================================
   CONTENEDOR DE PASOS
   ========================================================== */

.tsr-pattern-how .tsr-how-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 38px);
	margin: 0;
	padding-top: 36px;
	align-items: stretch;
	counter-reset: tsr-how-step;
}

/* Línea que une los pasos */
.tsr-pattern-how .tsr-how-steps::before {
	content: "";
	position: absolute;
	top: 27px;
	left: 16.5%;
	right: 16.5%;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		rgba(214, 170, 52, 0.5),
		var(--tsr-how-gold-light),
		rgba(214, 170, 52, 0.5)
	);
	box-shadow: 0 2px 10px rgba(214, 170, 52, 0.15);
}

/* ==========================================================
   TARJETAS
   ========================================================== */

.tsr-pattern-how .tsr-how-step {
	position: relative;
	display: flex;
	min-width: 0;
	margin: 0;
	counter-increment: tsr-how-step;
}

.tsr-pattern-how .tsr-how-step-inner {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	width: 100%;
	min-height: 260px;
	padding: 70px clamp(24px, 3vw, 36px) clamp(28px, 3.5vw, 40px);
	border: 1px solid var(--tsr-how-border);
	border-radius: 24px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.99),
			rgba(252, 249, 246, 0.98)
		);
	box-shadow:
		0 22px 52px rgba(34, 22, 24, 0.08),
		0 4px 12px rgba(34, 22, 24, 0.035);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

/* Número circular */
.tsr-pattern-how .tsr-how-step-inner::before {
	content: counter(tsr-how-step);
	position: absolute;
	top: -34px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	transform: translateX(-50%);
	border: 5px solid #ffffff;
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			var(--tsr-how-primary-light),
			var(--tsr-how-primary)
		);
	box-shadow:
		0 10px 25px rgba(126, 18, 34, 0.23),
		inset 0 1px 0 rgba(255, 255, 255, 0.3);
	font-size: 1.45rem;
	font-weight: 750;
	line-height: 1;
	color: #ffffff;
}

/* Detalle dorado interior */
.tsr-pattern-how .tsr-how-step-inner::after {
	content: "";
	position: absolute;
	top: 47px;
	left: 50%;
	width: 42px;
	height: 3px;
	transform: translateX(-50%);
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--tsr-how-gold),
		var(--tsr-how-gold-light)
	);
}

/* Hover */
@media (hover: hover) {
	.tsr-pattern-how .tsr-how-step-inner:hover {
		transform: translateY(-8px);
		border-color: rgba(214, 170, 52, 0.48);
		box-shadow:
			0 32px 66px rgba(34, 22, 24, 0.13),
			0 7px 18px rgba(34, 22, 24, 0.05);
	}
}

/* ==========================================================
   TÍTULOS DE PASO
   ========================================================== */

.tsr-pattern-how .tsr-how-step .wp-block-heading {
	margin: 0 0 17px;
	font-size: clamp(1.35rem, 2vw, 1.72rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.025em;
	text-align: center;
	color: var(--tsr-how-primary);
	text-wrap: balance;
}

/* ==========================================================
   TEXTOS DE PASO
   ========================================================== */

.tsr-pattern-how .tsr-how-step p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.72;
	text-align: center;
	color: var(--tsr-how-muted);
	text-wrap: pretty;
}

/* ==========================================================
   CUATRO PASOS
   Si duplicas una columna, se ajustará automáticamente.
   ========================================================== */

.tsr-pattern-how .tsr-how-steps:has(> .tsr-how-step:nth-child(4)) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tsr-pattern-how
	.tsr-how-steps:has(> .tsr-how-step:nth-child(4))::before {
	left: 12.5%;
	right: 12.5%;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {
	.tsr-pattern-how .tsr-how-steps,
	.tsr-pattern-how
		.tsr-how-steps:has(> .tsr-how-step:nth-child(4)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 58px 24px;
	}

	.tsr-pattern-how .tsr-how-steps::before {
		display: none;
	}

	.tsr-pattern-how .tsr-how-step-inner {
		min-height: 240px;
	}
}

/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 640px) {
	.tsr-pattern-how {
		padding: 48px 20px 58px;
	}

	.tsr-pattern-how .tsr-how-header {
		margin-bottom: 46px;
	}

	.tsr-pattern-how .tsr-how-steps,
	.tsr-pattern-how
		.tsr-how-steps:has(> .tsr-how-step:nth-child(4)) {
		grid-template-columns: 1fr;
		gap: 50px;
		padding-top: 28px;
	}

	.tsr-pattern-how .tsr-how-step-inner {
		min-height: auto;
		padding: 64px 24px 30px;
		border-radius: 20px;
	}

	.tsr-pattern-how .tsr-how-step-inner::before {
		width: 58px;
		height: 58px;
		top: -31px;
		font-size: 1.3rem;
	}

	.tsr-pattern-how .tsr-how-step-inner::after {
		top: 43px;
	}
}

/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
	.tsr-pattern-how .tsr-how-step-inner {
		transition: none;
	}

	.tsr-pattern-how .tsr-how-step-inner:hover {
		transform: none;
	}
}
/* Bloques Varios */
/* ==========================================================
BLOQUE PREMIUM ARTICULOS - SOLO TEXTOS INTRODUCCION
========================================================== */
/* ==========================================================
   ARTÍCULOS - Título
========================================================== */

.tsr-slot-articles-title{
    max-width: 920px;
    margin: 0 auto 18px;
    text-align: center;
}

.tsr-slot-articles-title h2,
h2.tsr-slot-articles-title{
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.9rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #1f2937;
    text-wrap: balance;
}

.tsr-slot-articles-title::after{
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    margin: 22px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg,#f59e0b,#ea580c);
}


/* ==========================================================
   ARTÍCULOS - Texto introductorio
========================================================== */

.tsr-slot-articles-text{
    max-width: 760px;
    margin: 0 auto 56px;
    text-align: center;
    font-size: 1.12rem;
    line-height: 1.9;
    color: #6b7280;
}

.tsr-slot-articles-text p:first-child{
    margin-top: 0;
}

.tsr-slot-articles-text p:last-child{
    margin-bottom: 0;
}

/* =========================================================
   TSR · BLOQUE SERVICIOS (GenerateBlocks)
   ========================================================= */

.tsr-services-gb{
  margin: 42px 0;
}

.tsr-services-gb__intro{
  margin: 0 0 22px;
  /*max-width: 820px;*/
  line-height: 1.45;
}

/* Contenedor general del loop */
.tsr-services-gb .gb-query-loop-items{
  gap: 24px;
}

/* Card */
.tsr-service-card{
  height: 100%;
}

.tsr-service-card > .gb-container{
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
  padding: 14px;
  background: #f7f5f3;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 20px;
  box-shadow: 0 8px 22px rgba(0,0,0,.04);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
}

.tsr-service-card:hover > .gb-container{
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.08);
  background: #fbf9f7;
}

/* Imagen */
.tsr-service-card .gb-image,
.tsr-service-card figure,
.tsr-service-card .gb-media-wrapper{
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
}

.tsr-service-card img{
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  transition: transform .45s ease, filter .35s ease;
}

.tsr-service-card:hover img{
  transform: scale(1.04);
  filter: brightness(.97);
}

/* Título */
.tsr-service-card .gb-headline,
.tsr-service-card .gb-headline-text{
  margin: 0;
  font-size: clamp(22px, 2vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.01em;
}

.tsr-service-card .gb-headline a,
.tsr-service-card .gb-headline-text a{
  color: var(--tsr-wine);
  text-decoration: none;
  transition: color .25s ease, opacity .25s ease;
}

.tsr-service-card .gb-headline a:hover,
.tsr-service-card .gb-headline-text a:hover{
  opacity: .88;
}

/* Si tienes texto adicional debajo */
.tsr-service-card .gb-text,
.tsr-service-card p{
  margin: 0;
  line-height: 1.45;
}

/* Responsive */
@media (max-width: 1024px){
  .tsr-services-gb .gb-query-loop-items{
    gap: 20px;
  }

  .tsr-service-card > .gb-container{
    padding: 12px;
    border-radius: 18px;
  }

  .tsr-service-card .gb-headline,
  .tsr-service-card .gb-headline-text{
    font-size: clamp(20px, 2.6vw, 28px);
  }
}

@media (max-width: 767px){
  .tsr-services-gb{
    margin: 34px 0;
  }

  .tsr-services-gb__intro{
    margin-bottom: 18px;
  }

  .tsr-services-gb .gb-query-loop-items{
    gap: 16px;
  }

  .tsr-service-card > .gb-container{
    gap: 12px;
    padding: 10px;
    border-radius: 16px;
  }

  .tsr-service-card .gb-headline,
  .tsr-service-card .gb-headline-text{
    font-size: clamp(19px, 5.8vw, 26px);
    line-height: 1.1;
  }
}



/* ==========================================================
TSR /grupos — CSS POR BLOQUES
1) Así funciona  (.tsr-archive-howto / .tsr-steps / .tsr-step)
2) Explora por... (.tsr-archive-links / .tsr-links)
Scope: .tsr-archive-grupos
No toca: botones, títulos, párrafos, filtros, query/looper
========================================================== */


/* ==========================================================
1) ASÍ FUNCIONA
========================================================== */

/* Contenedor sección (sin tocar tipografías) */
.tsr-archive-grupos .tsr-archive-howto{
  padding-left: 18px;
  padding-right: 18px;
}

/* Grid/espaciado de columnas */
.tsr-archive-grupos .tsr-archive-howto .tsr-steps{
  gap: 16px;
  margin-top: 18px;
  margin-bottom: 10px;
}

/* Tarjeta de cada paso */
.tsr-archive-grupos .tsr-archive-howto .tsr-step{
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

/* Número del paso (solo “badge”, no tocamos fuente del texto) */
.tsr-archive-grupos .tsr-archive-howto .tsr-step-num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.10);
  margin: 0 0 10px 0;
}

/* Ajustes móviles */
@media (max-width: 782px){
  .tsr-archive-grupos .tsr-archive-howto{
    padding-left: 18px;
    padding-right: 18px;
  }
  .tsr-archive-grupos .tsr-archive-howto .tsr-steps{
    gap: 14px;
  }
  .tsr-archive-grupos .tsr-archive-howto .tsr-step{
    border-radius: 16px;
    padding: 16px;
  }
}



/* ==========================================================
2) EXPLORA POR PROVINCIA / EVENTO / FORMACIÓN
========================================================== */

/* Contenedor sección */
.tsr-archive-grupos .tsr-archive-links{
  padding-left: 18px;
  padding-right: 18px;
}

/* Separación superior del bloque de columnas */
.tsr-archive-grupos .tsr-archive-links .tsr-archive-links-grid{
  gap: 18px;
  margin-top: 18px;
}

/* “Tarjeta” para cada columna */
.tsr-archive-grupos .tsr-archive-links .tsr-archive-links-grid > .wp-block-column{
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

/* Lista limpia */
.tsr-archive-grupos .tsr-archive-links .tsr-links{
  list-style: none;
  padding-left: 0;
  margin: 12px 0 0;
  display: grid;
  gap: 10px;
}

/* Link estilo “item clicable” */
.tsr-archive-grupos .tsr-archive-links .tsr-links a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 10px 12px;
  text-decoration: none;
  background: rgba(0,0,0,.02);
}

/* Hover */
.tsr-archive-grupos .tsr-archive-links .tsr-links a:hover{
  background: rgba(0,0,0,.05);
}

/* Flecha sutil (no afecta al texto) */
.tsr-archive-grupos .tsr-archive-links .tsr-links a::after{
  content: "›";
  opacity: .7;
  margin-left: 10px;
}

/* Responsive */
@media (max-width: 900px){
  .tsr-archive-grupos .tsr-archive-links .tsr-archive-links-grid{
    gap: 14px;
  }
  .tsr-archive-grupos .tsr-archive-links .tsr-archive-links-grid > .wp-block-column{
    padding: 16px;
    border-radius: 16px;
  }
}





/* ==========================================================
   TSR RELATED POSTS
   ========================================================== */

/* ==========================================================
   TSR RELATED POSTS
   ========================================================== */

.tsr-related{
  max-width: 1120px;
  margin: 0 auto;
}

/* ---------------------------
   GRID
--------------------------- */
.tsr-related .gb-looper,
.tsr-related .gb-loop-items,
.tsr-related .wp-block-generateblocks-looper{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

@media (max-width: 900px){
  .tsr-related .gb-looper,
  .tsr-related .gb-loop-items,
  .tsr-related .wp-block-generateblocks-looper{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .tsr-related .gb-looper,
  .tsr-related .gb-loop-items,
  .tsr-related .wp-block-generateblocks-looper{
    grid-template-columns: 1fr;
  }
}



/* ---------------------------
   IMAGE
--------------------------- */
.tsr-related .tsr-related-card__img,
.tsr-related .tsr-related-card__img figure{
  margin: 0 !important;
  overflow: hidden;
}

.tsr-related .tsr-related-card__img img,
.tsr-related .tsr-related-card img{
  width: 100% !important;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.tsr-related .tsr-related-card:hover .tsr-related-card__img img,
.tsr-related .tsr-related-card:hover img{
  transform: scale(1.03);
}

/* ---------------------------
   CONTENT WRAPPER
--------------------------- */
.tsr-related .tsr-related-card > .wp-block-group,
.tsr-related .tsr-related-card > .gb-container,
.tsr-related .tsr-related-card > .wp-block-generateblocks-container{
  padding: 18px 20px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box;
  flex: 1 1 auto;
}

/* ---------------------------
   TITLE
--------------------------- */
.tsr-related .tsr-related-card__title,
.tsr-related .tsr-related-card__title a{
  margin: 0 0 10px 0 !important;
  font-size: 20px;
  line-height: 1.18;
  font-weight: 400;
  color: #8b1f24;
  text-decoration: none;
  text-align: justify !important;
}

.tsr-related .tsr-related-card__title a:hover{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .12em;
}

/* ---------------------------
   DATE
--------------------------- */
.tsr-related .tsr-related-card__date{
  margin: 0 0 12px 0 !important;
  font-size: 14px;
  line-height: 1.4;
  color: #6a6a6a;
  text-align: center !important;
}

/* ---------------------------
   EXCERPT
--------------------------- */
.tsr-related .tsr-related-card__excerpt{
  margin: 0 !important;
  font-size: 15px;
  /*line-height: 1.55;*/
  color: #232323;
  text-align: left !important;

 /* display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;*/
}

/* ---------------------------
   OPTIONAL: make title area breathe a bit more
--------------------------- */
.tsr-related .tsr-related-card__title + .tsr-related-card__date{
  margin-top: 2px !important;
}

/* ---------------------------
   REDUCED MOTION
--------------------------- */
@media (prefers-reduced-motion: reduce){
  .tsr-related .tsr-related-card,
  .tsr-related .tsr-related-card::after,
  .tsr-related .tsr-related-card img{
    transition: none !important;
    animation: none !important;
  }

  .tsr-related .tsr-related-card:hover{
    transform: none;
  }

  .tsr-related .tsr-related-card:hover .tsr-related-card__img img,
  .tsr-related .tsr-related-card:hover img{
    transform: none;
  }
}









/* Bloque Youtube Landing */
/* ==========================================================
   BLOQUE VÍDEO
========================================================== */

.tsr-pattern-video{
    max-width: 1200px;
    margin: 0 auto;
    padding: 5rem 1.5rem;
}

/* ==========================================================
   TÍTULO
========================================================== */

.tsr-slot-video-title{
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 0 !important;
}

.tsr-slot-video-title{
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #1f2937;
    text-wrap: balance;
}

.tsr-slot-video-title::after{
    content: "";
    display: block;
    width: 90px;
    height: 4px;
    margin: 22px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg,#991b1b,#f59e0b);
}

/* ==========================================================
   INTRODUCCIÓN
========================================================== */

.tsr-slot-video-text{
    max-width: 760px;
    margin: 1.75rem auto 3rem;
    text-align: center;
    font-size: 1.15rem;
    line-height: 1.9;
    color: #6b7280;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.tsr-slot-video-text p:last-child{
    margin-bottom:0;
}

/* ==========================================================
   CONTENEDOR DEL SHORTCODE
========================================================== */
.tsr-video-wrapper{
    max-width:960px;
    margin:0 auto;
}

.tsr-pattern-video .wp-block-shortcode{
    max-width: 960px;
    margin: 0 auto;
}

.tsr-pattern-video iframe{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border:0;
    border-radius:24px;
    overflow:hidden;
    box-shadow:
        0 30px 80px rgba(15,23,42,.18),
        0 8px 20px rgba(15,23,42,.08);
}

/* Si el shortcode devuelve un div */

.tsr-pattern-video .tsr-youtube-player,
.tsr-pattern-video .tsr-youtube{
    border-radius:24px;
    overflow:hidden;
    box-shadow:
        0 30px 80px rgba(15,23,42,.18),
        0 8px 20px rgba(15,23,42,.08);
}

/* ==========================================================
   PIE
========================================================== */

.tsr-slot-video-footer{
    max-width: 760px;
    margin: 2.5rem auto 0;
    text-align: center;
    font-size: .98rem;
    line-height: 1.8;
    color: #9ca3af;
    padding-top: 0 !important;
}

.tsr-slot-video-footer p:last-child{
    margin-bottom:0;
}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 768px){

    .tsr-pattern-video{
        padding: 4rem 1.25rem;
    }

    .tsr-slot-video-title{
        font-size: 2rem;
    }

    .tsr-pattern-video iframe,
    .tsr-pattern-video .tsr-youtube-player,
    .tsr-pattern-video .tsr-youtube{
        border-radius:18px;
    }

}
/* TSR Contratos */
/*
 * Diseño público de TSR Contratos
 * Puede pegarse directamente en TSR Custom Code.
 */

/* Fondo general */
body.tsrc-public-page {
    background:
        radial-gradient(
            circle at top left,
            rgba(117, 30, 30, 0.08),
            transparent 34rem
        ),
        #f5f3f0;
    color: #24201f;
}

/* Contenedor principal */
.tsrc-shell {
    width: min(100% - 32px, 980px);
    margin: 48px auto;
}

/* Cabecera exterior */
.tsrc-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 30px 34px;
    margin-bottom: 28px;
    background: #ffffff;
    border: 1px solid rgba(40, 30, 25, 0.12);
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(35, 25, 20, 0.08);
}

/* Logo superior */
.tsrc-public-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 190px;
    max-height: 78px;
    object-fit: contain;
}

/* Texto pequeño superior */
.tsrc-kicker {
    display: block;
    margin-bottom: 8px;
    color: #852525;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

/* Título exterior */
.tsrc-header h1 {
    margin: 0;
    color: #25201e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.035em;
}

/* Estado pendiente */
.tsrc-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    background: #f4e6c5;
    color: #33291b;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

/* Documento */
.tsrc-contract {
    padding: clamp(28px, 6vw, 66px);
    background: #ffffff;
    border: 1px solid rgba(40, 30, 25, 0.12);
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(35, 25, 20, 0.08);
    font-size: 17px;
    line-height: 1.72;
}

/* Logo dentro del contrato */
.tsrc-contract-logo-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 36px;
    padding-bottom: 22px;
    border-bottom: 1px solid #ddd6d0;
}

.tsrc-contract-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 250px;
    max-height: 94px;
    object-fit: contain;
}

/* Título principal interno */
.tsrc-contract-section h1 {
    max-width: 760px;
    margin: 0 auto 22px;
    padding: 0;
    border: 0;
    color: #7d2222;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 5vw, 54px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
    text-align: center;
}

/* Cada parte principal del contrato */
.tsrc-contract-part {
    margin-top: 54px;
}

/* H2: nombre de la parte */
.tsrc-contract-part > h2 {
    position: relative;
    margin: 0 0 28px;
    padding: 0 0 14px 24px;
    border: 0;
    border-bottom: 1px solid #d9d0ca;
    color: #282220;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.tsrc-contract-part > h2::before {
    content: "";
    position: absolute;
    top: 0.12em;
    bottom: 0.22em;
    left: 0;
    width: 5px;
    background: #852525;
    border-radius: 999px;
}

/* H3: nombre de cada bloque */
.tsrc-contract-section > h3 {
    margin: 30px 0 15px;
    padding: 0;
    border: 0;
    color: #852525;
    font-family: inherit;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
}

/* Párrafos */
.tsrc-contract-section p {
    margin: 0 0 17px;
}

/* Contratante, contratado y datos destacados */
.tsrc-contract strong {
    color: #171313;
    font-weight: 800;
}

/* Evita espacio en variables opcionales vacías */
.tsrc-optional-text:empty {
    display: none;
}

/* Tablas contractuales */
.tsrc-contract table {
    width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
}

.tsrc-contract td,
.tsrc-contract th {
    padding: 13px 15px;
    border: 1px solid #ddd6d0;
    vertical-align: top;
}

/* Panel de firma */
.tsrc-sign-panel {
    margin-top: 28px;
    padding: clamp(25px, 5vw, 42px);
    background: #ffffff;
    border: 1px solid rgba(40, 30, 25, 0.12);
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(35, 25, 20, 0.08);
}

.tsrc-sign-panel h2 {
    margin: 0 0 24px;
    color: #282220;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 500;
}

/* Campos */
.tsrc-sign-panel input[type="text"],
.tsrc-sign-panel input[type="email"],
.tsrc-sign-panel input[type="number"] {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 15px;
    border: 1px solid #bfb5ae;
    border-radius: 10px;
    background: #ffffff;
    color: #231e1c;
    font: inherit;
}

.tsrc-sign-panel input:focus {
    border-color: #852525;
    outline: 3px solid rgba(133, 37, 37, 0.12);
}

/* Lienzo de firma */
.tsrc-signature-canvas,
#tsrc-signature-pad {
    width: 100%;
    min-height: 210px;
    background: #ffffff;
    border: 2px dashed #bcaea5;
    border-radius: 14px;
}

/* Botones */
.tsrc-button,
.tsrc-sign-panel button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 0;
    border-radius: 999px;
    background: #852525;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease;
}

.tsrc-button:hover,
.tsrc-sign-panel button:hover {
    background: #681b1b;
    box-shadow: 0 10px 25px rgba(104, 27, 27, 0.22);
    transform: translateY(-1px);
}

/* Avisos */
.tsrc-email-required {
    padding: 17px 18px;
    margin-bottom: 18px;
    background: #fff1f1;
    border: 2px solid #c93535;
    border-radius: 14px;
    color: #781c1c;
}

/* Móvil */
@media (max-width: 700px) {
    .tsrc-shell {
        width: min(100% - 20px, 980px);
        margin: 18px auto;
    }

    .tsrc-header {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 24px;
    }

    .tsrc-public-logo {
        max-width: 170px;
        max-height: 68px;
    }

    .tsrc-status {
        justify-self: start;
    }

    .tsrc-contract {
        padding: 28px 23px;
        font-size: 16px;
        line-height: 1.65;
    }

    .tsrc-contract-logo-wrap {
        justify-content: center;
    }

    .tsrc-contract-logo {
        max-width: 190px;
        max-height: 75px;
    }

    .tsrc-contract-part {
        margin-top: 42px;
    }

    .tsrc-contract-part > h2 {
        padding-left: 18px;
        font-size: 27px;
    }

    .tsrc-contract-section > h3 {
        font-size: 18px;
    }
}



/* Justificar Textos */
.tsrc-contract,
.tsrc-contract p,
.tsrc-contract li,
.tsrc-contract td {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

@media (max-width: 700px) {
    .tsrc-contract,
    .tsrc-contract p,
    .tsrc-contract li,
    .tsrc-contract td {
        text-align: left;
        hyphens: none;
        -webkit-hyphens: none;
    }
}
/* Bloque Cards Valor &#8211; Landing Premium */
/* =========================================================
   TSR LANDING PREMIUM — CARDS DE VALOR
   Mantiene la clase interna: .tsr-pattern-benefits
   ========================================================= */

.tsr-pattern-benefits {
	--tsr-value-accent: var(--wp--preset--color--custom-principal, #c8272f);
	--tsr-value-accent-dark: #961a20;
	--tsr-value-text: #242424;
	--tsr-value-muted: #606060;
	--tsr-value-card: #ffffff;
	--tsr-value-border: rgba(25, 25, 25, 0.08);
	--tsr-value-shadow: 0 14px 38px rgba(25, 25, 25, 0.08);
	--tsr-value-shadow-hover: 0 22px 55px rgba(25, 25, 25, 0.14);

	position: relative;
	overflow: hidden;
	border-radius: 28px;
	isolation: isolate;
}

/* Decoración ambiental de fondo */
.tsr-pattern-benefits::before {
	content: "";
	position: absolute;
	width: 320px;
	height: 320px;
	top: -190px;
	right: -140px;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		color-mix(in srgb, var(--tsr-value-accent) 15%, transparent),
		transparent 70%
	);
	pointer-events: none;
	z-index: -1;
}

.tsr-pattern-benefits::after {
	content: "";
	position: absolute;
	width: 230px;
	height: 230px;
	bottom: -150px;
	left: -100px;
	border-radius: 50%;
	background: radial-gradient(
		circle,
		color-mix(in srgb, var(--tsr-value-accent) 10%, transparent),
		transparent 72%
	);
	pointer-events: none;
	z-index: -1;
}


/* =========================================================
   CABECERA
   ========================================================= */

.tsr-pattern-benefits .tsr-slot-benefits-title {
	position: relative;
	max-width: none;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0 !important;
	padding-bottom: 18px !important;
	color: var(--tsr-value-text);
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

/* Línea decorativa bajo el título */
.tsr-pattern-benefits .tsr-slot-benefits-title::after {
	content: "";
	display: block;
	width: 72px;
	height: 4px;
	margin-top: 20px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--tsr-value-accent),
		color-mix(in srgb, var(--tsr-value-accent) 45%, white)
	);
}

.tsr-pattern-benefits .tsr-slot-benefits-text {
	max-width: 880px;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 24px;
	margin-left: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: var(--tsr-value-muted);
	font-size: clamp(1.04rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}


/* =========================================================
   CUADRÍCULA DE CARDS
   ========================================================= */

.tsr-pattern-benefits > .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 30px);
	margin-top: 12px;
	margin-bottom: 18px;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

/* Evita que Gutenberg fuerce anchos de columna */
.tsr-pattern-benefits > .wp-block-columns > .wp-block-column {
	width: auto;
	min-width: 0;
	margin: 0;
}

/* Cada grupo interior se convierte en tarjeta */
.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column
	> .wp-block-group {
	position: relative;
	box-sizing: border-box;
	height: 100%;
	min-height: 260px;
	padding: 78px 28px 30px !important;
	overflow: hidden;
	border: 1px solid var(--tsr-value-border);
	border-radius: 22px;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.98),
			rgba(255, 255, 255, 0.9)
		);
	box-shadow: var(--tsr-value-shadow);
	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease,
		border-color 0.28s ease;
}

/* Borde superior de color */
.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column
	> .wp-block-group::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: linear-gradient(
		90deg,
		var(--tsr-value-accent),
		color-mix(in srgb, var(--tsr-value-accent) 35%, white)
	);
	opacity: 0.88;
}

/* Hover premium y discreto */
@media (hover: hover) {
	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column
		> .wp-block-group:hover {
		transform: translateY(-8px);
		border-color: color-mix(
			in srgb,
			var(--tsr-value-accent) 22%,
			transparent
		);
		box-shadow: var(--tsr-value-shadow-hover);
	}
}


/* =========================================================
   ICONOS VISUALES SIN MODIFICAR GUTENBERG
   ========================================================= */

/*
 * Los iconos se crean con pseudoelementos.
 * No forman parte del contenido ni afectan a la IA.
 */

.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column
	> .wp-block-group::before {
	position: absolute;
	top: 24px;
	left: 28px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 13px;
	background: linear-gradient(
		145deg,
		var(--tsr-value-accent),
		var(--tsr-value-accent-dark)
	);
	color: #ffffff;
	font-size: 1.15rem;
	line-height: 1;
	box-shadow: 0 8px 20px
		color-mix(in srgb, var(--tsr-value-accent) 25%, transparent);
}

/* Iconos de las tres tarjetas actuales */
.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column:nth-child(1)
	> .wp-block-group::before {
	content: "♪";
}

.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column:nth-child(2)
	> .wp-block-group::before {
	content: "★";
}

.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column:nth-child(3)
	> .wp-block-group::before {
	content: "✓";
}


/* =========================================================
   CONTENIDO DE LAS CARDS
   ========================================================= */

.tsr-pattern-benefits [class*="tsr-slot-benefit-"][class$="-title"] {
	margin-top: 0;
	margin-bottom: 12px;
	color: var(--tsr-value-text);
	font-size: clamp(1.2rem, 1.7vw, 1.48rem);
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.tsr-pattern-benefits [class*="tsr-slot-benefit-"][class$="-text"] {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--tsr-value-muted);
	font-size: 1rem;
	line-height: 1.7;
}

/* Elimina márgenes inesperados del último elemento */
.tsr-pattern-benefits
	> .wp-block-columns
	> .wp-block-column
	> .wp-block-group
	> :last-child {
	margin-bottom: 0;
}


/* =========================================================
   TEXTO FINAL
   ========================================================= */

.tsr-slot-benefits-footer{

    background:transparent;
    border:none;
    box-shadow:none;

    max-width:850px;

    margin:60px auto 0;

    padding:0;

    text-align:center;

    color:#444;

}

.tsr-slot-benefits-footer::before{

    content:"";

    display:block;

    width:140px;
    height:4px;

    margin:0 auto 34px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        #f2d24b 0%,
        #d13b3b 50%,
        #8b1f2d 100%
    );

}
/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {
	.tsr-pattern-benefits {
		border-radius: 22px;
	}

	.tsr-pattern-benefits > .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column:last-child {
		grid-column: 1 / -1;
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column:last-child
		> .wp-block-group {
		min-height: auto;
	}
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 600px) {
	.tsr-pattern-benefits {
		padding-right: 20px !important;
		padding-left: 20px !important;
		border-radius: 18px;
	}

	.tsr-pattern-benefits .tsr-slot-benefits-title {
		font-size: clamp(1.8rem, 9vw, 2.4rem);
	}

	.tsr-pattern-benefits .tsr-slot-benefits-text {
		font-size: 1rem;
		line-height: 1.65;
	}

	.tsr-pattern-benefits > .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column:last-child {
		grid-column: auto;
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column
		> .wp-block-group {
		min-height: auto;
		padding: 72px 22px 25px !important;
		border-radius: 18px;
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column
		> .wp-block-group::before {
		top: 20px;
		left: 22px;
	}

	.tsr-pattern-benefits .tsr-slot-benefits-footer {
		padding: 18px 20px !important;
		text-align: left;
	}
}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column
		> .wp-block-group {
		transition: none;
	}

	.tsr-pattern-benefits
		> .wp-block-columns
		> .wp-block-column
		> .wp-block-group:hover {
		transform: none;
	}
}
/* Bloque Cierre Final &#8211; Landing premimium */
.tsr-pattern-closing {
    margin-top: clamp(50px, 7vw, 90px) !important;
    margin-bottom: clamp(50px, 7vw, 90px) !important;
    margin-left: clamp(50px, 7vw, 90px) !important;
    margin-right: clamp(50px, 7vw, 90px) !important;
}

/* =========================================================
   TSR LANDINGS PREMIUM — CIERRE FINAL
   Bloque: .tsr-pattern-closing
   ========================================================= */

.tsr-pattern-closing {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 28px;
	background:
		radial-gradient(
			circle at top right,
			rgba(255, 255, 255, 0.12),
			transparent 34%
		),
		linear-gradient(
			135deg,
			#8f1118 0%,
			#bd1821 48%,
			#7c0c12 100%
		);
	box-shadow:
		0 24px 70px rgba(73, 4, 8, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
	color: #fff;
	isolation: isolate;
}

.tsr-pattern-closing::before {
	content: "";
	position: absolute;
	top: -90px;
	right: -70px;
	width: 260px;
	height: 260px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	z-index: -1;
}

.tsr-pattern-closing::after {
	content: "";
	position: absolute;
	bottom: -130px;
	left: -80px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	filter: blur(2px);
	z-index: -1;
}

.tsr-pattern-closing > * {
	position: relative;
	z-index: 1;
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.tsr-pattern-closing .tsr-slot-closing-title {
	margin: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.65rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.tsr-pattern-closing .tsr-slot-closing-title::after {
	content: "";
	display: block;
	width: 72px;
	height: 4px;
	margin: 24px auto 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.88);
}

.tsr-pattern-closing .tsr-slot-closing-text {
	max-width: 760px;
	margin: 26px auto 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	line-height: 1.75;
	text-wrap: pretty;
}

.tsr-pattern-closing .tsr-slot-closing-text strong {
	color: #fff;
	font-weight: 750;
}

.tsr-pattern-closing .tsr-slot-closing-text a {
	color: #fff;
	font-weight: 700;
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.tsr-pattern-closing .tsr-slot-closing-text a:hover,
.tsr-pattern-closing .tsr-slot-closing-text a:focus-visible {
	color: #ffe6e7;
}

/* Botones Gutenberg añadidos dentro del cierre */

.tsr-pattern-closing .wp-block-buttons {
	justify-content: center;
	margin-top: 34px;
}

.tsr-pattern-closing .wp-block-button__link {
	min-height: 52px;
	padding: 14px 28px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #fff;
	color: #9d1118;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.2;
	box-shadow: 0 12px 30px rgba(49, 0, 3, 0.18);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease,
		color 0.2s ease;
}

.tsr-pattern-closing .wp-block-button__link:hover,
.tsr-pattern-closing .wp-block-button__link:focus-visible {
	transform: translateY(-2px);
	background: transparent;
	color: #fff;
	box-shadow: 0 16px 36px rgba(49, 0, 3, 0.24);
}

.tsr-pattern-closing
	.wp-block-button.is-style-outline
	.wp-block-button__link {
	background: transparent;
	color: #fff;
}

.tsr-pattern-closing
	.wp-block-button.is-style-outline
	.wp-block-button__link:hover,
.tsr-pattern-closing
	.wp-block-button.is-style-outline
	.wp-block-button__link:focus-visible {
	background: #fff;
	color: #9d1118;
}

/* Responsive */

@media (max-width: 782px) {
	.tsr-pattern-closing {
		margin-top: 40px;
		margin-bottom: 34px;
		padding-top: 40px;
		padding-bottom: 40px;
		border-radius: 22px;
	}

	.tsr-pattern-closing .tsr-slot-closing-title {
		font-size: clamp(1.8rem, 9vw, 2.65rem);
	}

	.tsr-pattern-closing .tsr-slot-closing-title::after {
		width: 58px;
		margin-top: 18px;
	}

	.tsr-pattern-closing .tsr-slot-closing-text {
		margin-top: 22px;
		font-size: 1.05rem;
		line-height: 1.65;
	}

	.tsr-pattern-closing .wp-block-buttons {
		margin-top: 28px;
	}

	.tsr-pattern-closing .wp-block-button,
	.tsr-pattern-closing .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tsr-pattern-closing .wp-block-button__link {
		transition: none;
	}
}



/* CTA Final Premium &#8211; Landing Premium */
/* =========================================================
   TSR LANDINGS PREMIUM — CTA FINAL
   Bloque: .tsr-pattern-cta
   ========================================================= */

.tsr-pattern-cta {
	position: relative;
	overflow: hidden;
	margin-top: clamp(50px, 7vw, 90px) !important;
	margin-bottom: clamp(50px, 7vw, 90px) !important;
	margin-left: clamp(50px, 7vw, 90px) !important;
	margin-right: clamp(50px, 7vw, 90px) !important;
	padding:
		clamp(42px, 6vw, 72px)
		clamp(24px, 6vw, 72px) !important;

	border: 1px solid rgba(113, 14, 25, 0.12);
	border-radius: 28px !important;

	background:
		radial-gradient(
			circle at top right,
			rgba(172, 22, 38, 0.09),
			transparent 38%
		),
		linear-gradient(
			135deg,
			#fffafa 0%,
			#f8eeee 100%
		) !important;

	box-shadow:
		0 22px 60px rgba(78, 8, 17, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);

	text-align: center;
	isolation: isolate;
}

.tsr-pattern-cta::before {
	content: "";
	position: absolute;
	top: -90px;
	right: -80px;
	width: 230px;
	height: 230px;
	border: 1px solid rgba(126, 14, 27, 0.1);
	border-radius: 50%;
	z-index: -1;
}

.tsr-pattern-cta::after {
	content: "";
	position: absolute;
	bottom: -130px;
	left: -90px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: rgba(157, 17, 31, 0.05);
	z-index: -1;
}

/* Título */

.tsr-pattern-cta .tsr-slot-cta-title {
	max-width: 850px;
	margin: 0 auto;
	color: #74101b;
	font-size: clamp(2rem, 4vw, 3.35rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.tsr-pattern-cta .tsr-slot-cta-title::after {
	content: "";
	display: block;
	width: 66px;
	height: 4px;
	margin: 22px auto 0;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		#ef3939,
		#9d111f
	);
}

/* Texto */

.tsr-pattern-cta .tsr-slot-cta-text {
	max-width: 720px;
	margin: 24px auto 0;
	color: #59464a;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.7;
	text-align: center;
	text-wrap: pretty;
}

/* Ocultar el párrafo cuando esté vacío */

.tsr-pattern-cta .tsr-slot-cta-text:empty {
	display: none;
}

/* Botonera */

.tsr-pattern-cta .tsr-slot-cta-button {
	justify-content: center;
	margin-top: 32px;
}

/* Botón principal */

.tsr-pattern-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 15px 32px;

	border: 2px solid #8d101d;
	border-radius: 999px;

	background:
		linear-gradient(
			135deg,
			#b81727 0%,
			#7c0d17 100%
		) !important;

	color: #fff !important;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;

	box-shadow:
		0 12px 30px rgba(112, 10, 23, 0.25);

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

.tsr-pattern-cta .wp-block-button__link:hover,
.tsr-pattern-cta .wp-block-button__link:focus-visible {
	transform: translateY(-3px);

	background:
		linear-gradient(
			135deg,
			#cf2132 0%,
			#92101d 100%
		) !important;

	box-shadow:
		0 17px 38px rgba(112, 10, 23, 0.32);
}

/* Flecha visual en el botón */

.tsr-pattern-cta .wp-block-button__link::after {
	content: "→";
	margin-left: 10px;
	font-size: 1.25em;
	line-height: 1;
	transition: transform 0.2s ease;
}

.tsr-pattern-cta .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

/* Responsive */

@media (max-width: 782px) {

	.tsr-pattern-cta {
		margin-top: 45px !important;
		margin-bottom: 45px !important;
		padding: 38px 22px !important;
		border-radius: 22px !important;
	}

	.tsr-pattern-cta .tsr-slot-cta-title {
		font-size: clamp(1.8rem, 9vw, 2.55rem);
	}

	.tsr-pattern-cta .tsr-slot-cta-title::after {
		width: 54px;
		margin-top: 18px;
	}

	.tsr-pattern-cta .tsr-slot-cta-text {
		margin-top: 20px;
		font-size: 1.05rem;
		line-height: 1.6;
	}

	.tsr-pattern-cta .tsr-slot-cta-button {
		margin-top: 26px;
	}

	.tsr-pattern-cta .wp-block-button,
	.tsr-pattern-cta .wp-block-button__link {
		width: 100%;
	}

	.tsr-pattern-cta .wp-block-button__link {
		padding-right: 22px;
		padding-left: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.tsr-pattern-cta .wp-block-button__link,
	.tsr-pattern-cta .wp-block-button__link::after {
		transition: none;
	}
}
/* Formatos */
/* ==========================================================
TSR - Explora formaciones
========================================================== */

.tsr-explora-formaciones {
	margin: 70px 0;
}

.tsr-explora-formaciones h2 {
	margin-bottom: 14px;
	text-align: center;
}

.tsr-explora-formaciones .tsr-explora-intro {
	max-width: 900px;
	margin: 0 auto 34px;
	text-align: center;
	color: #666;
}

/* Convertimos las columns en grid real */
.tsr-explora-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 0;
}

.tsr-explora-grid > .wp-block-column {
	margin: 0 !important;
	min-width: 0 !important;
	flex-basis: auto !important;
}

/* Card */
.tsr-explora-card {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	padding: 0;
	min-height: 320px;
	background: #ddd;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
	transition: transform .3s ease, box-shadow .3s ease;
	isolation: isolate;
}

/* Overlay */
.tsr-explora-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.04) 100%);
	z-index: 1;
	pointer-events: none;
}

/* Imagen */
.tsr-explora-img {
	margin: 0;
	height: 100%;
}

.tsr-explora-img img {
	display: block;
	width: 100%;
	height: 320px;
	object-fit: cover;
	transition: transform .45s ease;
}

/* Ocultar captions por si Gutenberg los mete */
.tsr-explora-img figcaption,
.tsr-explora-card .wp-element-caption {
	display: none;
}

/* Título */
.tsr-explora-title {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 18px;
	z-index: 2;
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.25;
	font-weight: 600;
}

.tsr-explora-title a {
	color: #fff;
	text-decoration: none;
}

.tsr-explora-title a:hover {
	color: #fff;
	text-decoration: none;
}

/* Hover */
.tsr-explora-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 38px rgba(0,0,0,.14);
}

.tsr-explora-card:hover .tsr-explora-img img {
	transform: scale(1.05);
}

/* Tablet */
@media (max-width: 1024px) {
	.tsr-explora-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsr-explora-card,
	.tsr-explora-img img {
		min-height: 280px;
		height: 280px;
	}
}

/* Móvil */
@media (max-width: 781px) {
	.tsr-explora-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.tsr-explora-card,
	.tsr-explora-img img {
		min-height: 240px;
		height: 240px;
	}

	.tsr-explora-title {
		left: 16px;
		right: 16px;
		bottom: 14px;
		font-size: 1rem;
	}
}
/* Bloque Formatos &#8211; Landing Premium ok */
/* =========================================================
   TSR LANDINGS PREMIUM — FORMATOS / FORMACIONES
   Versión limpia y consolidada
   ========================================================= */

/* ---------------------------------------------------------
   1. CONTENEDOR GENERAL
   --------------------------------------------------------- */

.tsr-pattern-custom-2 {
	position: relative;
	margin-block: clamp(60px, 8vw, 105px);
}

.tsr-pattern-custom-2 > .wp-block-group {
	width: 100%;
}

/* Título de la sección Formatos */

.tsr-pattern-custom-2 .tsr-slot-custom-title-2 {
	position: relative !important;
	display: block !important;

	width: min(100%, 1050px) !important;
	max-width: 1050px !important;

	margin: 0 auto 62px !important;
	padding: 0 0 30px !important;

	color: #74101b !important;
	font-size: clamp(2.4rem, 4.8vw, 4.2rem) !important;
	font-weight: 800 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.04em;

	text-align: center !important;
	text-wrap: balance;
}

/* Subrayado centrado de forma absoluta */

.tsr-pattern-custom-2 .tsr-slot-custom-title-2::after {
	content: "" !important;

	position: absolute !important;
	right: auto !important;
	bottom: 0 !important;
	left: 50% !important;

	display: block !important;

	width: 110px !important;
	height: 7px !important;
	margin: 0 !important;

	border-radius: 999px;

	background:
		linear-gradient(
			90deg,
			#ef3b3b 0%,
			#bd172b 50%,
			#7d0e1a 100%
		) !important;

	box-shadow:
		0 0 0 6px rgba(181, 23, 42, 0.07),
		0 9px 22px rgba(181, 23, 42, 0.25);

	transform: translateX(-50%) !important;
}
/* ---------------------------------------------------------
   3. REJILLA
   --------------------------------------------------------- */

.tsr-explora-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);

	width: 100%;
	margin: 0 !important;
}

.tsr-explora-grid > .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}


.tsr-pattern-custom-2 .tsr-slot-custom-text-2 {
	width: min(100%, 900px) !important;
	max-width: 900px !important;

	margin: 0 auto 54px !important;
	padding: 0 !important;

	color: #4f4245 !important;
	font-size: clamp(1.08rem, 1.45vw, 1.24rem) !important;
	line-height: 1.72 !important;
	text-align: center !important;
}

/* ---------------------------------------------------------
   4. TARJETA
   --------------------------------------------------------- */

.tsr-explora-card {
	position: relative !important;
	display: block !important;

	width: 100%;
	height: 380px !important;
	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden !important;

	border: 1px solid rgba(112, 15, 27, 0.14);
	border-radius: 22px;
	background: #fff;

	box-shadow:
		0 14px 34px rgba(73, 9, 17, 0.09),
		0 2px 8px rgba(73, 9, 17, 0.04);

	isolation: isolate;

	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease,
		border-color 0.3s ease;
}

.tsr-explora-card:hover,
.tsr-explora-card:focus-within {
	transform: translateY(-8px) scale(1.012);

	border-color: rgba(140, 16, 31, 0.3);

	box-shadow:
		0 25px 55px rgba(73, 9, 17, 0.17),
		0 6px 16px rgba(73, 9, 17, 0.08);
}

/* ---------------------------------------------------------
   5. IMAGEN
   --------------------------------------------------------- */

.tsr-explora-card > .tsr-explora-img {
	position: absolute !important;
	inset: 0 !important;

	width: 100% !important;
	max-width: none !important;
	height: 100% !important;

	margin: 0 !important;
	overflow: hidden !important;

	background: #eee;
}

.tsr-explora-card > .tsr-explora-img a {
	display: block !important;

	width: 100% !important;
	height: 100% !important;
}

.tsr-explora-card > .tsr-explora-img img {
	display: block !important;

	width: 100% !important;
	max-width: none !important;
	height: 100% !important;

	object-fit: cover !important;
	object-position: center;

	transition:
		transform 0.5s ease,
		filter 0.35s ease;
}

.tsr-explora-card:hover .tsr-explora-img img,
.tsr-explora-card:focus-within .tsr-explora-img img {
	transform: scale(1.055);
	filter: brightness(0.78);
}

/* Ocultar captions antiguos */

.tsr-explora-img figcaption {
	display: none !important;
}

/* ---------------------------------------------------------
   6. CAPA DE CONTRASTE
   --------------------------------------------------------- */

.tsr-explora-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;

	pointer-events: none;

	background:
		linear-gradient(
			to top,
			rgba(31, 0, 6, 0.44) 0%,
			rgba(31, 0, 6, 0.06) 48%,
			rgba(31, 0, 6, 0.08) 100%
		);

	transition: opacity 0.3s ease;
}

.tsr-explora-card:hover::after,
.tsr-explora-card:focus-within::after {
	opacity: 0.42;
}

/* ---------------------------------------------------------
   7. TÍTULO DENTRO DE LA IMAGEN
   --------------------------------------------------------- */

.tsr-explora-card > .tsr-explora-title {
	position: absolute !important;
	z-index: 4;

	right: 16px !important;
	bottom: 16px !important;
	left: 16px !important;

	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 64px !important;
	margin: 0 !important;
	padding: 14px 18px !important;

	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 16px !important;

	background:
		linear-gradient(
			135deg,
			rgba(78, 5, 17, 0.78),
			rgba(111, 10, 25, 0.62)
		) !important;

	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);

	box-shadow:
		0 12px 28px rgba(42, 0, 7, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);

	color: #fff !important;
	font-size: clamp(1.18rem, 1.7vw, 1.5rem) !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em;

	text-align: center !important;
	text-wrap: balance;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);

	opacity: 1;

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.tsr-explora-card > .tsr-explora-title a {
	display: block;

	color: #fff !important;
	text-decoration: none !important;
}

.tsr-explora-card:hover > .tsr-explora-title,
.tsr-explora-card:focus-within > .tsr-explora-title {
	opacity: 0;
	transform: translateY(8px);
}

/* ---------------------------------------------------------
   8. DESCRIPCIÓN AL PASAR EL RATÓN
   --------------------------------------------------------- */

.tsr-explora-card > .tsr-explora-description {
	position: absolute !important;
	inset: 0 !important;
	z-index: 5;

	display: flex;
	align-items: center;

	width: 100% !important;
	height: 100% !important;
	box-sizing: border-box;

	margin: 0 !important;
	padding: clamp(24px, 3vw, 34px) !important;

	overflow: hidden !important;

	border: 0 !important;
	border-radius: 0 !important;

	background:
		linear-gradient(
			135deg,
			rgba(63, 4, 14, 0.66),
			rgba(109, 8, 24, 0.52)
		) !important;

	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);

	color: #fff !important;
	font-size: clamp(0.96rem, 1.1vw, 1.07rem) !important;
	font-weight: 450;
	line-height: 1.62 !important;

	text-align: justify !important;
	text-align-last: left;
	text-wrap: pretty;
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.32);

	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);

	transition:
		opacity 0.28s ease,
		transform 0.28s ease,
		visibility 0.28s ease;
}

.tsr-explora-card:hover > .tsr-explora-description,
.tsr-explora-card:focus-within > .tsr-explora-description {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* ---------------------------------------------------------
   9. TABLET
   --------------------------------------------------------- */

@media (max-width: 1200px) {
	.tsr-explora-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tsr-explora-card {
		height: 400px !important;
	}
}

@media (max-width: 850px) {
	.tsr-explora-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tsr-explora-card {
		height: 420px !important;
	}
}

/* ---------------------------------------------------------
   10. MÓVIL
   --------------------------------------------------------- */

@media (max-width: 640px) {
	.tsr-pattern-custom-2 {
		margin-block: 48px;
	}

	.tsr-pattern-custom-2 .tsr-slot-custom-title-2,
	.tsr-explora-formaciones .tsr-title-anim {
		max-width: 100%;

		font-size: clamp(2rem, 10vw, 2.8rem) !important;
		line-height: 1.1 !important;
	}

	.tsr-pattern-custom-2 .tsr-slot-custom-text-2,
	.tsr-explora-formaciones .justify {
		margin: 20px auto 36px !important;

		font-size: 1.05rem !important;
		line-height: 1.65 !important;
	}

	.tsr-explora-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.tsr-explora-card {
		height: 420px !important;
		border-radius: 20px;
	}

	.tsr-explora-card > .tsr-explora-title {
		right: 14px !important;
		bottom: 14px !important;
		left: 14px !important;

		font-size: 1.3rem !important;
	}

	.tsr-explora-card > .tsr-explora-description {
		padding: 26px !important;

		font-size: 1rem !important;
		line-height: 1.6 !important;
		text-align: left !important;
	}
}

/* ---------------------------------------------------------
   11. DISPOSITIVOS SIN HOVER
   --------------------------------------------------------- */

@media (hover: none) {
	.tsr-explora-card > .tsr-explora-description {
		align-items: flex-end;

		padding: 24px !important;

		background:
			linear-gradient(
				to top,
				rgba(63, 4, 14, 0.88),
				rgba(63, 4, 14, 0.12) 70%
			) !important;

		opacity: 1;
		visibility: visible;
		transform: none;

		font-size: 0.95rem !important;
		text-align: left !important;
	}

	.tsr-explora-card > .tsr-explora-title {
		display: none;
	}
}

/* ---------------------------------------------------------
   12. ACCESIBILIDAD
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.tsr-explora-card,
	.tsr-explora-img img,
	.tsr-explora-title,
	.tsr-explora-description {
		transition: none !important;
	}
}
/* TSR Playlist Youtube */
/* =========================================================
   TSR YOUTUBE — SECCIÓN VÍDEOS EN FICHAS DE GRUPO
   Título + descripción + playlist como una sola sección
   Grupo padre Gutenberg:
   tsr-videos-section tsr-videos-light
   ========================================================= */


/* =========================================================
   CONTENEDOR GENERAL DE LA SECCIÓN
   ========================================================= */

.tsr-videos-section {
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin-inline: auto !important;
    padding: 64px clamp(32px, 5vw, 80px) 64px !important;
    box-sizing: border-box;
}

.tsr-videos-section *,
.tsr-videos-section *::before,
.tsr-videos-section *::after {
    box-sizing: border-box;
}


/* Todos los hijos principales comparten ancho */
.tsr-videos-section > * {
    width: 100%;
    max-width: none !important;
    box-sizing: border-box;
}


/* =========================================================
   CABECERA: TÍTULO + DESCRIPCIÓN
   ========================================================= */

/* Grupo Gutenberg que contiene título y descripción */
.tsr-videos-section > .wp-block-group {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
}


/* Títulos */
.tsr-videos-section h1,
.tsr-videos-section h2,
.tsr-videos-section h3 {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 18px !important;

    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
}


/* Descripción */
.tsr-videos-section p {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}


/* =========================================================
   SLOT / BLOQUE YOUTUBE
   ========================================================= */

.tsr-videos-section .tsr-slot-playlist-youtube,
.tsr-videos-section .tsr-slot-playlist_youtube {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Wrapper del módulo */
.tsr-videos-section .tsr-yt-wrap {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 24px !important;

    font-family: inherit;
    box-sizing: border-box;

    border-radius: 22px;
    overflow: hidden;
}


/* Tema claro */
.tsr-videos-light .tsr-yt-wrap,
.tsr-videos-section .tsr-yt-wrap[data-theme="light"] {
    background:
        radial-gradient(
            1200px 500px at 20% 20%,
            rgba(110, 31, 35, 0.055),
            transparent 62%
        ),
        rgba(250, 248, 246, 0.72);
}


/* Tema escenario */
.tsr-videos-section .tsr-yt-wrap[data-theme="stage"] {
    background:
        radial-gradient(
            1200px 520px at 25% 20%,
            rgba(110, 31, 35, 0.20),
            transparent 60%
        ),
        radial-gradient(
            900px 420px at 80% 60%,
            rgba(110, 31, 35, 0.16),
            transparent 55%
        );
}


/* =========================================================
   GRID
   ========================================================= */

.tsr-videos-section .tsr-yt-grid {
    display: grid;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 20px;
}

.tsr-videos-section .tsr-yt-grid[data-cols="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tsr-videos-section .tsr-yt-grid[data-cols="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tsr-videos-section .tsr-yt-grid[data-cols="1"] {
    grid-template-columns: 1fr;
}


/* =========================================================
   TARJETAS
   ========================================================= */

.tsr-videos-section .tsr-yt-card {
    position: relative;
    min-width: 0;
    overflow: hidden;

    margin: 0 !important;

    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;

    background: rgba(255, 255, 255, 0.92);

    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.08);

    transform: translateZ(0);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.tsr-videos-section .tsr-yt-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 22px 50px rgba(0, 0, 0, 0.13);
}

.tsr-videos-section .tsr-yt-card a {
    color: inherit;
    text-decoration: none;
}


/* =========================================================
   MINIATURA
   ========================================================= */

.tsr-videos-section .tsr-yt-thumb {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #111;
}

.tsr-videos-section .tsr-yt-thumb img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.tsr-videos-section .tsr-yt-thumb::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.04),
            rgba(0, 0, 0, 0.16)
        );

    pointer-events: none;
}


/* =========================================================
   BOTÓN VER + PLAY
   ========================================================= */

.tsr-videos-section .tsr-yt-play {
    position: absolute;
    z-index: 3;

    left: 16px;
    bottom: 16px;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 48px;

    padding: 10px 18px !important;

    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);

    color: #6e1f23 !important;

    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.02em;

    text-decoration: none !important;

    box-shadow:
        0 7px 20px rgba(0, 0, 0, 0.12);

    transition:
        transform 0.18s ease,
        background 0.18s ease;
}


/* Símbolo play cuando el bloque no trae icono */
.tsr-videos-section .tsr-yt-play::before {
    content: "▶";

    display: inline-block;

    font-size: 11px;
    line-height: 1;

    color: currentColor;
}


/* Si ya existe SVG, evitamos duplicarlo */
.tsr-videos-section .tsr-yt-play:has(svg)::before {
    display: none;
}

.tsr-videos-section .tsr-yt-play svg {
    display: block;

    width: 15px;
    height: 15px;

    flex: 0 0 auto;
}

.tsr-videos-section .tsr-yt-card:hover .tsr-yt-play {
    transform: translateY(-2px);
    background: #d9bf69;
}


/* =========================================================
   TEXTO DE LAS TARJETAS
   ========================================================= */

.tsr-videos-section .tsr-yt-meta {
    display: flex;
    flex-direction: column;

    gap: 8px;

    min-height: 100px;

    padding: 15px 16px 17px;
}

.tsr-videos-section .tsr-yt-h {
    display: -webkit-box;
    overflow: hidden;

    width: 100%;

    margin: 0 !important;

    color: #7a292c !important;

    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.tsr-videos-section .tsr-yt-sub {
    margin: auto 0 0 !important;

    color: rgba(0, 0, 0, 0.56) !important;

    font-size: 13px !important;
}


/* =========================================================
   MODAL
   ========================================================= */

.tsr-yt-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 20px;

    background: rgba(0, 0, 0, 0.75);
}

.tsr-yt-modal.is-open {
    display: flex;
}

.tsr-yt-modal-inner {
    position: relative;
    overflow: hidden;

    width: min(980px, 100%);

    border-radius: 18px;

    background: #000;
}

.tsr-yt-modal-iframe {
    width: 100%;
    aspect-ratio: 16 / 9;

    background: #000;
}

.tsr-yt-modal-iframe iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}

.tsr-yt-close {
    position: absolute;
    z-index: 2;

    top: 10px;
    right: 10px;

    width: 42px;
    height: 42px;

    border: 0;
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);

    cursor: pointer;

    font-weight: 900;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .tsr-videos-section {
        max-width: none;

        padding:
            52px
            32px
            52px !important;
    }

    .tsr-videos-section > .wp-block-group {
        margin-bottom: 28px !important;
    }

    .tsr-videos-section .tsr-yt-wrap {
        padding: 20px !important;

        border-radius: 18px;
    }

    .tsr-videos-section .tsr-yt-grid[data-cols="3"] {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .tsr-videos-section {
        padding:
            40px
            18px
            40px !important;
    }

    .tsr-videos-section > .wp-block-group {
        margin-bottom: 22px !important;
    }

    .tsr-videos-section h1,
    .tsr-videos-section h2,
    .tsr-videos-section h3 {
        margin-bottom: 16px !important;
    }

    .tsr-videos-section .tsr-yt-wrap {
        padding: 14px !important;

        border-radius: 16px;
    }

    .tsr-videos-section .tsr-yt-grid {
        grid-template-columns: 1fr !important;

        gap: 16px;
    }

    .tsr-videos-section .tsr-yt-card {
        border-radius: 15px;
    }

    .tsr-videos-section .tsr-yt-meta {
        min-height: auto;
    }
}
/* TSR Repertorio &#8211; Bloque Fichas de Grupos */
/* =========================================================
   TSR REPERTORIO — FICHAS DE GRUPO PREMIUM
   Título + descripción + repertorio como una sola sección
   Grupo padre Gutenberg:
   tsr-repertorio-section tsr-repertorio-light
   ========================================================= */


/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.tsr-repertorio-section {
    position: relative;

    width: 100%;
    max-width: 1440px;

    margin-inline: auto !important;

    padding:
        64px
        clamp(32px, 5vw, 80px)
        64px !important;

    box-sizing: border-box;

    background:
        radial-gradient(
            900px 420px at 18% 0%,
            rgba(214, 178, 94, 0.14),
            rgba(255, 255, 255, 0) 60%
        ),
        radial-gradient(
            900px 420px at 90% 20%,
            rgba(107, 29, 32, 0.08),
            rgba(255, 255, 255, 0) 55%
        ),
        #fff;
}


.tsr-repertorio-section *,
.tsr-repertorio-section *::before,
.tsr-repertorio-section *::after {
    box-sizing: border-box;
}


/* Todos los hijos principales comparten ancho */
.tsr-repertorio-section > * {
    width: 100%;
    max-width: none !important;
}


/* =========================================================
   CABECERA: TÍTULO + DESCRIPCIÓN
   ========================================================= */

.tsr-repertorio-section > .wp-block-group {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 32px !important;
    padding: 0 !important;
}


/* Título */
.tsr-repertorio-section h1,
.tsr-repertorio-section h2,
.tsr-repertorio-section h3 {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 18px !important;

    color: #6b1d20 !important;

    font-weight: 800 !important;

    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
}


/* Línea decorativa bajo el título */
.tsr-repertorio-section h1::after,
.tsr-repertorio-section h2::after,
.tsr-repertorio-section h3::after {
    content: "";

    display: block;

    width: 64px;
    height: 3px;

    margin-top: 14px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #d6b25e,
            rgba(214, 178, 94, 0)
        );
}


/* Descripción */
.tsr-repertorio-section p {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    color: rgba(0, 0, 0, 0.78);

    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}


/* =========================================================
   CONTENEDOR DEL REPERTORIO
   ========================================================= */

/*
 * Compatible tanto con el repertorio TSR actual
 * como con antiguos wrappers de TablePress.
 */

.tsr-repertorio-section .repertorio-wrapper,
.tsr-repertorio-section .tsr-repertorio-tablepress,
.tsr-repertorio-section .dataTables_wrapper {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


/* =========================================================
   BARRA SUPERIOR / BOTONES
   ========================================================= */

.tsr-repertorio-section .repertorio-toolbar,
.tsr-repertorio-section .repertorio-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    width: 100%;

    margin: 0 0 16px;
}


/* Botón PDF */
.tsr-repertorio-section .repertorio-pdf,
.tsr-repertorio-section .btn-pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 10px 20px;

    border: 1px solid rgba(107, 29, 32, 0.10);
    border-radius: 999px;

    background:
        linear-gradient(
            180deg,
            #d6b25e,
            #e9c878
        );

    color: #6b1d20;

    font-weight: 800;

    text-decoration: none;

    cursor: pointer;
}


/* =========================================================
   TEXTO DE AYUDA / INTRO DEL REPERTORIO
   ========================================================= */

.tsr-repertorio-section .repertorio-intro,
.tsr-repertorio-section .repertorio-info {
    width: 100%;

    margin: 0 0 16px;

    padding: 14px 16px;

    border: 1px solid rgba(214, 178, 94, 0.32);
    border-radius: 16px;

    background: rgba(243, 230, 201, 0.25);

    color: rgba(107, 29, 32, 0.80);
}


/* =========================================================
   TABLA
   ========================================================= */

.tsr-repertorio-section table,
.tsr-repertorio-section .tablepress {
    width: 100% !important;

    margin: 0 !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    overflow: hidden;

    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 22px !important;

    background: #fff !important;

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.08) !important;
}


/* Cabecera */
.tsr-repertorio-section table thead th,
.tsr-repertorio-section .tablepress thead th {
    padding: 14px 14px !important;

    border: none !important;

    background: #6b1d20 !important;

    color: #f3e6c9 !important;

    font-weight: 800 !important;

    text-transform: uppercase;
    letter-spacing: 0.6px;
}


/* Celdas */
.tsr-repertorio-section table td,
.tsr-repertorio-section .tablepress td {
    padding: 14px 14px !important;

    border-top:
        1px solid rgba(0, 0, 0, 0.06) !important;

    background: #fff !important;

    color: rgba(0, 0, 0, 0.78) !important;
}


/* Filas alternas */
.tsr-repertorio-section table tbody tr:nth-child(even) td,
.tsr-repertorio-section .tablepress tbody tr:nth-child(even) td {
    background:
        rgba(243, 230, 201, 0.22) !important;
}


/* Hover */
.tsr-repertorio-section table tbody tr:hover td,
.tsr-repertorio-section .tablepress tbody tr:hover td {
    background:
        rgba(214, 178, 94, 0.18) !important;
}


/* =========================================================
   DATATABLES / BUSCADOR
   ========================================================= */

.tsr-repertorio-section .dataTables_filter {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 10px;

    width: 100% !important;

    margin: 0 0 16px !important;

    color: rgba(0, 0, 0, 0.65);
}


.tsr-repertorio-section .dataTables_filter label {
    font-weight: 700;

    color: rgba(0, 0, 0, 0.70);
}


.tsr-repertorio-section .dataTables_filter input {
    padding: 10px 14px !important;

    outline: none !important;

    border:
        1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 999px !important;

    background: #fff !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.06) !important;
}


.tsr-repertorio-section .dataTables_filter input:focus {
    border-color:
        rgba(214, 178, 94, 0.90) !important;

    box-shadow:
        0 0 0 4px
        rgba(214, 178, 94, 0.18) !important;
}


/* =========================================================
   PAGINACIÓN
   ========================================================= */

.tsr-repertorio-section .dataTables_paginate {
    margin-top: 14px !important;
}


.tsr-repertorio-section
.dataTables_paginate
.paginate_button {
    margin: 0 4px !important;

    padding: 8px 12px !important;

    border:
        1px solid rgba(0, 0, 0, 0.10) !important;
    border-radius: 999px !important;

    background: #fff !important;

    color: #6b1d20 !important;

    font-weight: 700;
}


.tsr-repertorio-section
.dataTables_paginate
.paginate_button.current,
.tsr-repertorio-section
.dataTables_paginate
.paginate_button:hover {
    border-color: transparent !important;

    background:
        linear-gradient(
            180deg,
            #d6b25e,
            #e9c878
        ) !important;

    color: #6b1d20 !important;
}


/* =========================================================
   ICONOS / ESCUCHAR
   ========================================================= */

.tsr-repertorio-section .repertorio-listen,
.tsr-repertorio-section .repertorio-icons {
    display: flex;
    align-items: center;

    gap: 10px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .tsr-repertorio-section {
        padding:
            52px
            32px
            52px !important;
    }


    .tsr-repertorio-section > .wp-block-group {
        margin-bottom: 28px !important;
    }


    .tsr-repertorio-section table thead th,
    .tsr-repertorio-section table td,
    .tsr-repertorio-section .tablepress thead th,
    .tsr-repertorio-section .tablepress td {
        padding: 12px !important;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .tsr-repertorio-section {
        padding:
            40px
            18px
            40px !important;
    }


    .tsr-repertorio-section > .wp-block-group {
        margin-bottom: 22px !important;
    }


    .tsr-repertorio-section h1,
    .tsr-repertorio-section h2,
    .tsr-repertorio-section h3 {
        margin-bottom: 16px !important;
    }


    .tsr-repertorio-section .dataTables_filter {
        justify-content: flex-start !important;
    }


    .tsr-repertorio-section .dataTables_filter label {
        width: 100%;
    }


    .tsr-repertorio-section .dataTables_filter input {
        width: 100% !important;
        max-width: none;
    }


    /*
     * Si la tabla excede el ancho,
     * permitimos desplazamiento horizontal
     * sin romper la plantilla.
     */
    .tsr-repertorio-section .dataTables_wrapper,
    .tsr-repertorio-section .repertorio-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


/* =========================================================
   COMPATIBILIDAD FICHAS ANTIGUAS
   ========================================================= */

.ubicacion-ficha {
    text-align: center;

    font-size: x-large;
    font-weight: 600;

    text-transform: uppercase;
}
/* TSR Galeria &#8211; Bloque Fichas de Grupos */
/* =========================================================
   TSR GALERÍA — FICHAS DE GRUPO PREMIUM
   Título + descripción + galería como una sola sección

   Grupo padre Gutenberg:
   tsr-galeria-section tsr-galeria-light
   ========================================================= */


/* =========================================================
   CONTENEDOR GENERAL
   ========================================================= */

.tsr-galeria-section {
    position: relative;

    width: 100%;
    max-width: 1440px;

    margin-inline: auto !important;

    padding:
        64px
        clamp(32px, 5vw, 80px)
        64px !important;

    box-sizing: border-box;

    background: #fff;
}

.tsr-galeria-section *,
.tsr-galeria-section *::before,
.tsr-galeria-section *::after {
    box-sizing: border-box;
}


/* Todos los hijos principales comparten ancho */
.tsr-galeria-section > * {
    width: 100%;
    max-width: none !important;
}


/* =========================================================
   CABECERA: TÍTULO + DESCRIPCIÓN
   ========================================================= */

.tsr-galeria-section > .wp-block-group {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 32px !important;
    padding: 0 !important;
}


/* Título */
.tsr-galeria-section h1,
.tsr-galeria-section h2,
.tsr-galeria-section h3 {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 18px !important;

    color: #6b1d20 !important;

    font-weight: 800 !important;

    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
}


/* Línea dorada */
.tsr-galeria-section h1::after,
.tsr-galeria-section h2::after,
.tsr-galeria-section h3::after {
    content: "";

    display: block;

    width: 64px;
    height: 3px;

    margin-top: 14px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #d6b25e,
            rgba(214, 178, 94, 0)
        );
}


/* Descripción */
.tsr-galeria-section p {
    width: 100%;
    max-width: none !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    color: rgba(0, 0, 0, 0.78);

    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
}


/* =========================================================
   BLOQUE DINÁMICO DE GALERÍA
   ========================================================= */

.tsr-galeria-section .tsr-slot-galeria,
.tsr-galeria-section .tsr-slot-galeria-imagenes,
.tsr-galeria-section .tsr-slot-galeria_imagenes {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Wrappers habituales del bloque TSR Gallery */
.tsr-galeria-section .tsr-pods-gallery,
.tsr-galeria-section .tsr-gallery,
.tsr-galeria-section .gallery,
.tsr-galeria-section .wp-block-gallery {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   GRID DE IMÁGENES
   ========================================================= */

.tsr-galeria-section .tsr-pods-gallery,
.tsr-galeria-section .tsr-gallery {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;
}


/* Si el bloque utiliza figure */
.tsr-galeria-section figure {
    position: relative;

    overflow: hidden;

    width: 100%;
    margin: 0 !important;

    border-radius: 18px;

    background: #f6f4f2;
}


/* =========================================================
   IMÁGENES
   ========================================================= */

.tsr-galeria-section figure img,
.tsr-galeria-section .tsr-gallery img,
.tsr-galeria-section .tsr-pods-gallery img {
    display: block;

    width: 100%;
    height: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;

    border-radius: 18px;

    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}


/* Hover */
.tsr-galeria-section figure:hover img,
.tsr-galeria-section .tsr-gallery img:hover,
.tsr-galeria-section .tsr-pods-gallery img:hover {
    transform: scale(1.025);

    filter: brightness(0.96);
}


/* =========================================================
   SI LAS IMÁGENES SON HIJOS DIRECTOS Y NO HAY GRID PROPIO
   ========================================================= */

.tsr-galeria-section .tsr-pods-gallery > a,
.tsr-galeria-section .tsr-gallery > a {
    display: block;

    min-width: 0;

    overflow: hidden;

    border-radius: 18px;

    text-decoration: none;
}


/* =========================================================
   ESTADO VACÍO / AVISO DEL EDITOR
   ========================================================= */

.tsr-galeria-section .components-placeholder,
.tsr-galeria-section .tsr-gallery-empty,
.tsr-galeria-section .tsr-pods-gallery-empty {
    width: 100%;

    margin: 0;

    padding: 18px 20px;

    border:
        1px solid rgba(214, 178, 94, 0.35);
    border-radius: 14px;

    background:
        rgba(243, 230, 201, 0.30);

    color: #6b1d20;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .tsr-galeria-section {
        padding:
            52px
            32px
            52px !important;
    }

    .tsr-galeria-section > .wp-block-group {
        margin-bottom: 28px !important;
    }

    .tsr-galeria-section .tsr-pods-gallery,
    .tsr-galeria-section .tsr-gallery {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 14px;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .tsr-galeria-section {
        padding:
            40px
            18px
            40px !important;
    }

    .tsr-galeria-section > .wp-block-group {
        margin-bottom: 22px !important;
    }

    .tsr-galeria-section h1,
    .tsr-galeria-section h2,
    .tsr-galeria-section h3 {
        margin-bottom: 16px !important;
    }

    .tsr-galeria-section .tsr-pods-gallery,
    .tsr-galeria-section .tsr-gallery {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .tsr-galeria-section figure,
    .tsr-galeria-section figure img,
    .tsr-galeria-section .tsr-gallery img,
    .tsr-galeria-section .tsr-pods-gallery img {
        border-radius: 14px;
    }
}


/* =========================================================
   MÓVILES MUY ESTRECHOS
   ========================================================= */

@media (max-width: 420px) {

    .tsr-galeria-section .tsr-pods-gallery,
    .tsr-galeria-section .tsr-gallery {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}
/* TSR — Páginas de vídeo */
/* TSR — Páginas de vídeo. Solo la plantilla tsr-video. */
main.tsr-watch-page{
 --watch-wine:#751624;--watch-ink:#262022;--watch-paper:#faf7f2;--watch-gold:#b79256;
 margin:0!important;padding:0 0 88px;background:var(--watch-paper);color:var(--watch-ink);isolation:isolate;
}
.tsr-watch-page .tsr-watch-hero{
 margin:0!important;padding:38px 24px 34px!important;text-align:center;
 background:linear-gradient(180deg,#f3ede3 0%,var(--watch-paper) 100%);
}
.tsr-watch-page .tsr-watch-eyebrow{
 display:flex;align-items:center;justify-content:center;gap:12px;max-width:none!important;width:auto!important;
 margin:0 0 14px!important;color:var(--watch-wine);font-family:Manrope,sans-serif;
 font-weight:750;font-size:11px;letter-spacing:.19em;line-height:1.5;text-align:center;
}
.tsr-watch-page .tsr-watch-eyebrow::before,.tsr-watch-page .tsr-watch-eyebrow::after{
 content:"";display:block;width:30px;height:1px;background:var(--watch-gold);
}
.tsr-watch-page h1.tsr-watch-title{
 max-width:28ch!important;margin:0 auto!important;color:var(--watch-ink)!important;
 font-family:Manrope,sans-serif;font-size:clamp(29px,3.1vw,46px)!important;
 font-weight:750;line-height:1.16!important;letter-spacing:-.035em;text-wrap:balance;
}
.tsr-watch-page .tsr-watch-content{margin:0!important;padding:0 24px!important;}
.tsr-watch-page .tsryt-watch{
 max-width:1120px!important;width:100%;margin:0 auto!important;padding:0!important;
}
.tsr-watch-page .tsr-watch-screen{
 position:relative;max-width:1000px;margin:0 auto!important;padding:10px;
 border:1px solid rgba(117,22,36,.12);border-radius:24px;background:#231d1e;
 box-shadow:0 22px 55px -28px rgba(49,24,26,.48);
}
.tsr-watch-page .tsr-watch-screen .wp-block-shortcode{margin:0!important;}
.tsr-watch-page .tsr-youtube-wrapper{
 position:relative!important;width:100%!important;max-width:none!important;height:auto!important;
 padding:0!important;margin:0!important;aspect-ratio:16/9;border-radius:15px;overflow:hidden;background:#171415;
}
.tsr-watch-page .tsr-youtube-wrapper iframe{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 border:0!important;border-radius:0!important;
}
.tsr-watch-page .tsr-watch-caption{
 max-width:1000px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;
 margin:15px auto 38px!important;padding:0 5px!important;
 font-family:Manrope,sans-serif;font-size:12px;color:#73676b;
}
.tsr-watch-page .tsr-watch-caption p{margin:0!important;font-size:12px!important;line-height:1.5!important;}
.tsr-watch-page .tsr-watch-caption a{color:var(--watch-wine);text-underline-offset:4px;}
.tsr-watch-page .tsr-watch-details{
 max-width:1000px!important;margin:0 auto!important;gap:42px!important;align-items:flex-start!important;
}
.tsr-watch-page .tsr-watch-story{flex-basis:62%!important;min-width:0;}
.tsr-watch-page .tsr-watch-story h2{
 margin:0 0 20px!important;color:var(--watch-ink);font-family:ui-serif,Georgia,serif;
 font-weight:500;font-size:clamp(28px,2.5vw,36px);line-height:1.17;letter-spacing:-.02em;
}
.tsr-watch-page .tsr-watch-story p{
 color:#51484b;font-size:17px;line-height:1.85;margin:0 0 18px!important;text-align:justify;hyphens:auto;
}
.tsr-watch-page .tsr-watch-group-column{flex-basis:38%!important;min-width:0;}
.tsr-watch-page .tsr-watch-group-card{
 padding:0!important;background:#fff;border:1px solid #e8dfd8;border-radius:18px;overflow:hidden;
 box-shadow:0 12px 32px -24px rgba(60,29,36,.35);
}
.tsr-watch-page .tsr-watch-group-card figure{margin:0!important;}
.tsr-watch-page .tsr-watch-group-card figure img{
 display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 35%;
}
.tsr-watch-page .tsr-watch-card-body{padding:24px!important;}
.tsr-watch-page .tsr-watch-card-kicker{
 margin:0 0 8px!important;color:var(--watch-wine);font-family:Manrope,sans-serif;
 font-size:10px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.tsr-watch-page .tsr-watch-card-body h3{
 margin:0 0 12px!important;font-size:23px;line-height:1.25;font-family:Manrope,sans-serif;
 color:var(--watch-ink);letter-spacing:-.025em;
}
.tsr-watch-page .tsr-watch-card-body>p:not(.tsr-watch-card-kicker){
 margin:0 0 20px!important;color:#6a5d62;font-size:14px;line-height:1.7;
}
.tsr-watch-page .tsr-watch-group-card .wp-block-buttons{margin:0!important;display:block;}
.tsr-watch-page .tsr-watch-group-card .wp-block-button{display:block;width:100%;margin:0!important;}
.tsr-watch-page .tsr-watch-group-card .wp-block-button__link{
 display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;
 padding:15px 16px!important;border-radius:9px!important;border:1px solid var(--watch-wine)!important;
 background:var(--watch-wine)!important;color:#fff!important;font-family:Manrope,sans-serif;
 font-size:13px!important;font-weight:700;line-height:1.4;text-decoration:none!important;
 box-shadow:0 5px 12px -8px rgba(88,17,31,.65)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.tsr-watch-page .tsr-watch-group-card .wp-block-button__link:hover{
 background:#57101c!important;transform:translateY(-2px);box-shadow:0 9px 19px -12px rgba(88,17,31,.75)!important;
}
.tsr-watch-page a:focus-visible{outline:3px solid #b79256;outline-offset:4px;}
@media(max-width:781px){
 .tsr-watch-page .tsr-watch-hero{padding:28px 20px 25px!important;}
 .tsr-watch-page .tsr-watch-content{padding:0 18px!important;}
 .tsr-watch-page .tsr-watch-details{gap:25px!important;}
 .tsr-watch-page .tsr-watch-caption{margin-bottom:28px!important;}
 .tsr-watch-page .tsr-watch-group-card figure img{aspect-ratio:2.3/1;}
 .tsr-watch-page .tsr-watch-card-body{padding:22px!important;}
 main.tsr-watch-page{padding-bottom:55px;}
}
@media(max-width:480px){
 .tsr-watch-page h1.tsr-watch-title{font-size:28px!important;line-height:1.18!important;}
 .tsr-watch-page .tsr-watch-eyebrow{font-size:9px;letter-spacing:.13em;gap:8px;}
 .tsr-watch-page .tsr-watch-screen{padding:5px;border-radius:15px;}
 .tsr-watch-page .tsr-youtube-wrapper{border-radius:10px;}
 .tsr-watch-page .tsr-watch-caption{gap:8px;padding:0!important;}
 .tsr-watch-page .tsr-watch-caption p{font-size:10px!important;}
 .tsr-watch-page .tsr-watch-story p{font-size:16px;line-height:1.8;}
 .tsr-watch-page .tsr-watch-story h2{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){
 .tsr-watch-page .tsr-watch-group-card .wp-block-button__link{transition:none!important;transform:none!important;}
}

/* Catálogo de grupos — Cabecera, destacado y filtros */
/* Catálogo TSR: únicamente introducción, destacado y franja de filtros. */
body.post-type-archive-grupos .tsr-catalogue-intro + .tsr-artistas-page{margin-block-start:0!important;padding-block-start:0!important}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-buttons{gap:12px;align-items:stretch;margin-top:26px}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button{margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;border-radius:12px!important}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button__link{display:inline-flex!important;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 23px!important;border:1px solid #681c2b!important;border-radius:12px!important;background:#681c2b!important;color:#fff!important;font-size:16px!important;font-weight:600!important;line-height:1.3;text-decoration:none!important;box-shadow:0 4px 12px #681c2b14!important;transform:none;transition:background .2s,box-shadow .2s,transform .2s}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button__link::after{content:'↗';font-size:19px}
body.post-type-archive-grupos .tsr-catalogue-intro .is-style-outline .wp-block-button__link{background:transparent!important;color:#681c2b!important;box-shadow:none!important}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button__link:hover{background:#4a1520!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 7px 18px #681c2b24!important}
body.post-type-archive-grupos .tsr-catalogue-intro a:focus-visible{outline:3px solid #b68120!important;outline-offset:4px}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-template{padding:0!important;margin:0!important;list-style:none}
body.post-type-archive-grupos .cas-featured-group .wp-block-post{padding:0!important;margin:0!important}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-featured-image{margin:0!important;overflow:hidden;border-radius:18px}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-title{margin:18px 0 12px!important;font-size:28px!important;line-height:1.15;font-weight:600}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-title a{color:#4a1520!important;text-decoration:none!important;border:0!important}
body.post-type-archive-grupos .cas-featured-group .wp-block-read-more{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:13px 18px;border:1px solid #681c2b45;border-radius:12px;background:#ffffffb3;color:#681c2b!important;font-weight:600;font-size:15px;text-decoration:none!important;box-shadow:0 2px 7px #30242608;transition:background .2s,border-color .2s}
body.post-type-archive-grupos .cas-featured-group .wp-block-read-more:hover{background:#fff;border-color:#681c2b}
body.post-type-archive-grupos .tsr-artistas-filter-wrap{margin-top:0!important;margin-bottom:0!important;border-top:1px solid #d9cdbb;border-bottom:1px solid #e7ded0;background:#f8f5ef!important}
@media(max-width:600px){body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-buttons{display:grid;grid-template-columns:1fr}body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button__link{width:100%;box-sizing:border-box}body.post-type-archive-grupos .cas-featured-group .wp-block-post-title{font-size:25px!important}}
@media(prefers-reduced-motion:reduce){body.post-type-archive-grupos .tsr-catalogue-intro a{transition:none!important;transform:none!important}}

/* Premium v3: composición editorial y filtros continuos, sin tocar las cards. */
body.post-type-archive-grupos .tsr-catalogue-intro{background:linear-gradient(115deg,#f7f2e9,#eee6d9)!important;padding-top:34px!important;padding-bottom:38px!important}
body.post-type-archive-grupos .tsr-catalogue-intro>.wp-block-columns{gap:clamp(36px,6vw,88px);margin-bottom:0!important}
body.post-type-archive-grupos .tsr-catalogue-intro h1{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(36px,4.25vw,64px)!important;letter-spacing:-.045em;line-height:1.05!important;margin-top:20px!important;margin-bottom:26px!important;font-weight:400}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-column:first-child>p:not(:first-child){font-size:17px;line-height:1.75;color:#51484a;max-width:61ch;margin-top:18px}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-column:first-child>p:first-child{font-size:11px!important;letter-spacing:1.8px!important;color:#7a5547;border-left:2px solid #b78d49;padding-left:12px}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-column:last-child>p{display:inline-block;border:1px solid #b78d4960;border-radius:4px;padding:6px 10px;font-size:10px!important;letter-spacing:1.7px!important;margin:0 0 12px!important;background:#fff7}
body.post-type-archive-grupos .cas-featured-group{background:#fff9;padding:12px;border:1px solid #fff;border-radius:12px;box-shadow:0 14px 32px #39241e0c}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-featured-image{border-radius:6px}
body.post-type-archive-grupos .cas-featured-group .wp-block-post-title{font-family:Georgia,'Times New Roman',serif;font-size:29px!important;font-weight:400;margin:17px 8px 10px!important}
body.post-type-archive-grupos .cas-featured-group .wp-block-read-more{display:flex!important;box-sizing:border-box;width:calc(100% - 16px);min-height:44px;margin:0 8px 6px;padding:11px 0!important;border:0;border-top:1px solid #d9c8b5;border-radius:0;background:transparent;box-shadow:none;font-size:14px;line-height:1.4}
body.post-type-archive-grupos .cas-featured-group .wp-block-read-more:hover{background:transparent;color:#a46f21!important}
body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-button__link{border-radius:7px!important;min-height:49px;padding:13px 20px!important;font-size:14px!important;box-shadow:none!important}
body.post-type-archive-grupos .tsr-catalogue-intro + .tsr-artistas-page{padding-left:0!important;padding-right:0!important;max-width:none!important;width:100%!important}
body.post-type-archive-grupos .tsr-artistas-filter-wrap{box-sizing:border-box;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding:24px max(24px,calc((100% - 1200px)/2))!important;background:#fff!important;border-top:1px solid #d4bea1;border-bottom:1px solid #ebe5dc}
body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;max-width:1200px!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters__label{font-size:11px;letter-spacing:.6px;font-weight:600;color:#68544c;margin-bottom:8px}
body.post-type-archive-grupos .tsr-artistas-filter-wrap select{min-height:46px;border:1px solid #d8cec2!important;border-radius:6px!important;background-color:#fff!important;font-size:14px;color:#302426;box-shadow:none!important}
body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters__actions{margin:0!important;padding:0!important;align-self:end}
body.post-type-archive-grupos .tsr-artistas-filter-wrap button{min-height:46px!important;border-radius:6px!important;padding:10px 22px!important;background:#681c2b!important;color:#fff!important;border:1px solid #681c2b!important;box-shadow:none!important}
@media(max-width:900px){body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.post-type-archive-grupos .tsr-catalogue-intro{padding-top:24px!important;padding-bottom:28px!important}body.post-type-archive-grupos .tsr-catalogue-intro h1{font-size:40px!important}body.post-type-archive-grupos .tsr-catalogue-intro .wp-block-column:first-child>p:not(:first-child){font-size:16px}body.post-type-archive-grupos .tsr-artistas-filter-wrap{padding:20px!important}body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters{grid-template-columns:1fr}body.post-type-archive-grupos .tsr-artistas-filter-wrap .tsr-filters__actions{justify-self:stretch}body.post-type-archive-grupos .tsr-artistas-filter-wrap button{width:100%}}
/* Mantener el ancho y los márgenes originales del catálogo bajo la franja. */
body.post-type-archive-grupos .tsr-catalogue-intro + .tsr-artistas-page{--cas-gutter:clamp(20px,4.6vw,70px);box-sizing:border-box;padding-left:var(--cas-gutter)!important;padding-right:var(--cas-gutter)!important}
body.post-type-archive-grupos .tsr-catalogue-intro + .tsr-artistas-page>.tsr-artistas-filter-wrap{width:calc(100% + 2 * var(--cas-gutter))!important;max-width:none!important;margin-left:calc(-1 * var(--cas-gutter))!important;margin-right:calc(-1 * var(--cas-gutter))!important}

/* Estilos globales */
/* ==========================================
   TSR TITLES — Burdeos a Azul animado
   Usar clase: tsr-title-anim
   ========================================== */

:root{
  --tsr-wine:#751624;
  --tsr-blue:#1E3A5F;
}

/* ---------- BASE ---------- */

.tsr-title-anim{
  position:relative;
  display:inline-block;
text-align: center;
  color:var(--tsr-wine);

  transition:color .35s ease;
}

/* ---------- SUBRAYADO ---------- */

.tsr-title-anim::after{
  content:"";

  position:absolute;
  left:0;
  bottom:-8px;

  width:100%;
  height:3px;

  background:var(--tsr-wine);

  border-radius:2px;

  transform:scaleX(.35);
  transform-origin:left;

  transition:
  transform .45s cubic-bezier(.4,0,.2,1),
  background .3s ease;
}

/* ---------- HOVER ---------- */

.tsr-title-anim:hover{
  color:var(--tsr-blue);
}

.tsr-title-anim:hover::after{
  transform:scaleX(1);
  background:var(--tsr-blue);
}

/* ---------- ANIMACIÓN SUAVE AL APARECER ---------- */

.tsr-title-anim{
  animation:tsrTitleFade .6s ease;
}

@keyframes tsrTitleFade{

  from{
    opacity:0;
    transform:translateY(6px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}

/* ---------- ACCESIBILIDAD ---------- */

@media (prefers-reduced-motion: reduce){

.tsr-title-anim,
.tsr-title-anim::after{
animation:none;
transition:none;
}

}

/* ---------------------------
   BOTTON (BURDEOS SIN ANIM)
--------------------------- */
/* Burgundy (para CTAs principales de la home) */
/* BASE */
.tsr-btn{
  position: relative;
  display: inline-block;
  border-radius: 999px;
  overflow: hidden;
  transition: all .35s ease;
}

/* BURDEOS SIN SOMBRA EN NORMAL */
.tsr-btn--burgundy .wp-element-button{
  position: relative;
  color: #fff;
  background: linear-gradient(180deg, var(--tsr-burgundy), var(--tsr-burgundy-dark));
  box-shadow: none;
  transition: all .35s ease;
  z-index: 1;
}

/* BARRIDO DE LUZ (oculto en normal) */
.tsr-btn--burgundy .wp-element-button::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-40%;
  width:50%;
  height:200%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: rotate(18deg) translateX(-200%);
  opacity: 0;
  transition: transform .7s ease, opacity .3s ease;
  pointer-events:none;
}

/* GLOW EXTERIOR */
.tsr-btn--burgundy .wp-element-button::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:999px;
  box-shadow: 0 0 0 0 rgba(122,15,30,0);
  transition: box-shadow .35s ease;
  pointer-events:none;
}

/* HOVER */
.tsr-btn--burgundy .wp-element-button:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}

/* ACTIVAR LUZ EN HOVER */
.tsr-btn--burgundy .wp-element-button:hover::before{
  transform: rotate(18deg) translateX(350%);
  opacity: 1;
}

/* ACTIVAR GLOW EN HOVER */
.tsr-btn--burgundy .wp-element-button:hover::after{
  box-shadow: 0 0 0 8px rgba(122,15,30,.25);
}


/* Gold (para cards de grupos / CTA secundarios) */
.tsr-btn--gold .wp-element-button{
  color: #2a1a00;
  background: linear-gradient(180deg, var(--tsr-gold-1), var(--tsr-gold-2) 55%, var(--tsr-gold-3));
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
  position: relative;
  overflow: hidden;
}
.tsr-btn--gold .wp-element-button::after{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform: rotate(12deg) translateX(-60%);
  transition: transform .6s ease;
}
.tsr-btn--gold .wp-element-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}
.tsr-btn--gold .wp-element-button:hover::after{
  transform: rotate(12deg) translateX(60%);
}
/* ---------------------------
   BOTTON (FANTASMA)
--------------------------- */
/* Ghost (secundario, sin “otro color fuerte”) */
.tsr-btn--ghost .wp-element-button{
  background: transparent;
  color: var(--tsr-burgundy);
  border: 1px solid rgba(122,15,30,.28);
  box-shadow: none;
}
.tsr-btn--ghost .wp-element-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(122,15,30,.10);
}
/* ---------------------------
   SUPER BUTTON (dorado + brillo)
--------------------------- */
/* Base necesaria */
.wp-element-button{
  font-family: 'Inter', sans-serif !important;
}
.tsr-btn{
  position: relative;
  display: inline-block;
  border-radius: 999px;
  overflow: hidden;
  transition: all .25s ease;
	  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: .3px;
  padding: 14px 22px;
	  font-family: 'Inter', sans-serif !important;

}

/* GOLD – colores nuevos */
.tsr-btn--gold{
  color: #1a1a1a;
  background: linear-gradient(135deg, #d6b15e, #f2d48a, #c89b3c);
  box-shadow: 0 14px 30px rgba(200,155,60,.25);
  /*font-size: small;*/
	text-align: center;
}

/* Brillo animado */
.tsr-btn--gold::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-30%;
  width:40%;
  height:180%;
  transform: rotate(18deg);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0) 100%
  );
  opacity:.85;
  animation: tsrShineGold 3.6s ease-in-out infinite;
  pointer-events:none;
}

/* Glow */
.tsr-btn--gold::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  box-shadow:0 0 0 0 rgba(200,155,60,0);
  transition: box-shadow .25s ease;
  pointer-events:none;
}

.tsr-btn--gold:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(200,155,60,.35);
}

.tsr-btn--gold:hover::after{
  box-shadow: 0 0 0 6px rgba(200,155,60,.18);
}

@keyframes tsrShineGold{
  0%   { transform: translateX(-140%) rotate(18deg); opacity: 0; }
  12%  { opacity: .9; }
  28%  { transform: translateX(420%) rotate(18deg); opacity: 0; }
  100% { transform: translateX(420%) rotate(18deg); opacity: 0; }
}

/* ================================
   BOTON GOLD 1
================================ */
.tsr-btn-gold {
  background: linear-gradient(135deg, #d6b15e, #f2d48a, #c89b3c);
  color: #1a1a1a;
  box-shadow: 0 14px 30px rgba(200,155,60,.25);
	/*font-size: small;*/
		text-align: center;

}

.tsr-btn-gold::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-30%;
  width: 45%;
  height: 200%;
  transform: rotate(18deg);
  background: rgba(255,255,255,.35);
  filter: blur(1px);
  opacity: 0;
  transition: opacity .2s ease;
}

.tsr-btn-gold:hover::after{
  opacity: 1;
  animation: tsrShine 1.15s ease forwards;
}

/* ================================
   BOTON BURDEOS 1
================================ */
/* BURDEOS animado */
.tsr-btn--burgundy-anim{
  color:#ffffff;
  background: linear-gradient(135deg, #8f1627, #7a0f1e, #5f0c17);
  box-shadow: 0 14px 30px rgba(122,15,30,.28);
		text-align: center;

}

/* Brillo */
.tsr-btn--burgundy-anim::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-30%;
  width:40%;
  height:180%;
  transform: rotate(18deg);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.45) 50%,
    rgba(255,255,255,0) 100%
  );
  opacity:.75;
  animation: tsrShineBurgundy 4.2s ease-in-out infinite;
  pointer-events:none;
}

.tsr-btn--burgundy-anim::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  box-shadow:0 0 0 0 rgba(122,15,30,0);
  transition: box-shadow .25s ease;
  pointer-events:none;
}

.tsr-btn--burgundy-anim:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(122,15,30,.38);
}

.tsr-btn--burgundy-anim:hover::after{
  box-shadow: 0 0 0 6px rgba(122,15,30,.22);
}

@keyframes tsrShineBurgundy{
  0%   { transform: translateX(-140%) rotate(18deg); opacity: 0; }
  14%  { opacity: .85; }
  30%  { transform: translateX(420%) rotate(18deg); opacity: 0; }
  100% { transform: translateX(420%) rotate(18deg); opacity: 0; }
}
/* ================================
   COLORES ROJO BURDEOS PRINCIPALES
================================ */
:root{

  /* BURDEOS PRINCIPAL */
  --tsr-wine: #751624;

  /* BURDEOS HOVER / ACTIVO */
  --tsr-wine-dark: #5E101B;

  /* BURDEOS CLARO (solo para fondos suaves o detalles) */
  --tsr-wine-soft: #8E1C2D;

  /* FONDO CTA SUAVE */
  --tsr-cream: #F3F0EC;

}

/* ================================
   COBERTURA - WRAP
================================ */
.tsr-coverage-wrap{
  max-width: 1200px;
  margin: 80px auto;
  padding: 70px 40px;
  border-radius: 32px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  box-shadow: 0 14px 40px rgba(0,0,0,.06);
}

/* Título con aire */
.tsr-coverage-wrap h2,
.tsr-coverage-wrap h3{
  margin-bottom: 18px;
}

/* ================================
   2 COLUMNAS - ALINEACIÓN PRO
================================ */
.tsr-coverage-columns{
  align-items: center;
  gap: 40px;
}

/* Columna derecha: aspecto “tarjeta dentro de tarjeta” */
.tsr-coverage-columns .wp-block-column:last-child{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  padding: 26px 26px 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

/* Texto derecha más cómodo */
.tsr-coverage-columns .wp-block-column:last-child p{
  line-height: 1.6;
  opacity: .92;
}

/* ================================
   LISTA CON CHECKS
================================ */
.tsr-coverage-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.tsr-coverage-list li{
  position: relative;
  padding-left: 34px;
  margin: 12px 0;
  line-height: 1.6;
  opacity: .92;
}

.tsr-coverage-list li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(214, 40, 40, .12);
  color: #D62828;
  font-weight: 800;
}

/* ================================
   CTA
================================ */
.tsr-coverage-cta{
  margin-top: 18px;
}

.tsr-coverage-cta .wp-block-button__link{
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

/* ================================
   RESPONSIVE
================================ */
@media (max-width: 900px){
  .tsr-coverage-wrap{
    margin: 50px 20px;
    padding: 50px 22px;
    border-radius: 24px;
  }

  .tsr-coverage-columns{
    gap: 18px;
  }

  .tsr-coverage-columns .wp-block-column:last-child{
    padding: 20px;
    border-radius: 20px;
  }
}


/* TESTIMONIOS ESTILO CITA */ 
/* ================================
   TESTIMONIOS - WRAP GENERAL
================================ */

.tsr-testimonials-wrap{
  margin: 80px auto;
  max-width: 1200px;
  border-radius: 32px;
  background: linear-gradient(180deg, #f7f7f7 0%, #f2f2f2 100%);
}

/* Separación título */
.tsr-testimonials-wrap h2,
.tsr-testimonials-wrap h3{
  margin-bottom: 32px;
}

/* ================================
   COLUMNAS
================================ */

.tsr-testimonials{
  gap: 24px;
  margin-top: 10px;
}

.tsr-testimonials .wp-block-column{
  display: flex;
}

/* ================================
   TARJETAS
================================ */

.tsr-testimonials .wp-block-quote{
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  padding: 26px 28px 22px;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  width: 100%;
  margin: 0;
  position: relative;

  transition: transform .25s ease, box-shadow .25s ease;
  animation: tsrFadeUp .55s ease both;
}

/* Quitar barra editorial del tema */
.tsr-testimonials .wp-block-quote{
  border-left: 0 !important;
}

/* ================================
   ESTRELLAS
================================ */

.tsr-testimonials .wp-block-quote::before{
  content: "★★★★★";
  color: #D62828;
  font-size: 18px;
  letter-spacing: 3px;
  display: block;
  margin-bottom: 14px;
  opacity: .95;
}

/* ================================
   COMILLAS DECORATIVAS
================================ */

.tsr-testimonials .wp-block-quote::after{
  content: "“";
  font-size: 76px;
  line-height: 1;
  opacity: .12;
  position: absolute;
  top: 10px;
  right: 18px;
}

/* ================================
   TEXTO Y FIRMA
================================ */

.tsr-testimonials .wp-block-quote p{
  margin: 0 0 14px 0;
  line-height: 1.6;
  opacity: .92;
}

.tsr-testimonials .wp-block-quote cite{
  display: block;
  margin-top: 10px;
  opacity: .7;
  font-style: normal;
}

/* ================================
   HOVER
================================ */

.tsr-testimonials .wp-block-quote:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

/* ================================
   ANIMACIÓN SUAVE
================================ */

@keyframes tsrFadeUp{
  from{ opacity: 0; transform: translateY(12px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 900px){

  .tsr-testimonials-wrap{
    margin: 50px 20px;
    border-radius: 24px;
  }

  .tsr-testimonials .wp-block-quote{
    border-radius: 20px;
    padding: 22px;
  }

}

.tsr-testimonials .wp-block-quote{
  border-left: 0 !important;
}

/* Estrellas (arriba) */
.tsr-testimonials .wp-block-quote::before{
  content: "★★★★★";
  color: #D62828;
  font-size: 18px;
  letter-spacing: 3px;
  display: block;
  margin-bottom: 14px;
  opacity: .95;
}

/* Comillas suaves decorativas */
.tsr-testimonials .wp-block-quote::after{
  content: "“";
  font-size: 76px;
  line-height: 1;
  opacity: .12;
  position: absolute;
  top: 10px;
  right: 18px;
}

/* Texto */
.tsr-testimonials .wp-block-quote p{
  margin: 0 0 14px 0;
  line-height: 1.6;
  opacity: .92;
}

/* Firma */
.tsr-testimonials .wp-block-quote cite{
  display: block;
  margin-top: 10px;
  opacity: .7;
  font-style: normal;
}

/* Hover elegante */
.tsr-testimonials .wp-block-quote:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
}

/* ===== ANIMACIÓN SUAVE ===== */
@keyframes tsrFadeUp{
  from{ opacity: 0; transform: translateY(12px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* ===== RESPONSIVE (móvil/tablet) ===== */
@media (max-width: 900px){
  .tsr-testimonials-wrap{
    padding: 50px 0;
    border-radius: 24px;
  }
  .tsr-testimonials .wp-block-quote{
    border-radius: 20px;
    padding: 22px 22px 18px;
  }
}
/* Más aire arriba y lateral del título + contenido dentro del wrap */
.tsr-testimonials-wrap{
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Separación entre el título y las tarjetas */
.tsr-testimonials-wrap h2,
.tsr-testimonials-wrap h3{
  margin-bottom: 28px;
}

/* Centrar mejor y mantener consistencia */
.tsr-testimonials-wrap{
  max-width: 1200px;
}

/* Alinear tarjetas un poco más arriba */
.tsr-testimonials{
  margin-top: 10px;
}
@media (max-width: 900px){
  .tsr-testimonials-wrap{
    padding-top: 56px;
    padding-bottom: 56px;
  }
}
.tsr-testimonials-wrap{
  background: linear-gradient(180deg, #f7f7f7 0%, #f2f2f2 100%);
}




/* ESTILO TIPO CARD */
/* NUEVA MEJORAS */
.tsr-cards .tsr-card h3{
  margin-bottom: 10px;
}

.tsr-cards .tsr-card p{
  opacity: .85;
  line-height: 1.6;
}
.tsr-cards .tsr-card:hover{
  transform: translateY(-6px);
  box-shadow: 
    0 12px 30px rgba(0,0,0,.08),
    0 30px 60px rgba(0,0,0,.12);
}
.tsr-cards{
  margin-top: 40px;
}
.tsr-section-alt{
  background: #f6f6f6;
  padding: 80px 0;
  border-radius: 32px;
}

/* 0) Asegura que el bloque Columnas estira sus hijos */
.tsr-cards.wp-block-columns{
  align-items: stretch !important;
}

/* 1) Cada columna debe permitir estirar el contenido */
.tsr-cards .wp-block-column{
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

/* 2) La tarjeta (grupo con borde/fondo) debe ocupar TODO el alto disponible */
.tsr-cards .wp-block-column > .tsr-card{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  align-self: stretch !important;
}

/* 3) Empujar botones al fondo */
.tsr-cards .tsr-card .wp-block-buttons{
  margin-top: auto !important;
}

/* 4) Evitar que el propio grupo se “auto-centre” por estilos del theme */
.tsr-cards .tsr-card.wp-block-group{
  justify-content: flex-start !important;
}
.tsr-cards .wp-block-column .tsr-card{
  flex: 1 1 auto !important;
  height: 100% !important;
}


/* ARTICULOS */

.imagen-destacada {
  image-rendering: auto;
  filter: contrast(1.03) saturate(1.05);
	border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
	background: #f4f1ee; /* tono cálido, no blanco puro */
  padding: 12px;
	padding-bottom: 15px!important;
	padding-top: 15px!important;
}
.imagen-destacada::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/></filter><rect width='100%' height='100%' filter='url(#n)' opacity='0.04'/></svg>");
  pointer-events: none;
}


/* Oculta la clase 'ocultar-en-movil' en pantallas pequeñas */
@media (max-width: 767px) { /* Ajusta 767px según tus necesidades */
    .ocultar-en-movil {
        display: none !important;
    }
}

/* Margen Negativo en BOTTOM */

    .mb-m20 {
        margin-bottom: -20px;
    }
.mb-m40 {
        margin-bottom: -40px;
    }
/* VIDEOS */
/*
.video-youtube iframe {
    width: 100% !important;
  
}*/
/* TEXTOS */

.h1-etiquetas {
    text-transform: capitalize;
}
.tsr-intro-text {
    text-align: center;
}

.tsr-intro-text__lead {
    font-weight: 600; /* o bold */
}

.tsr-intro-text p {
    margin-bottom: 2px;
	margin-top: 2px;
}
.cuerpo-articulo p {
	text-align: justify;
}
p {
color: black;
}
p.justify  {
	text-align: justify!important;
}
.justify p  {
	text-align: justify!important;
}
p.cursive {
	font-style: italic!important;
}
.minuscula {
	text-transform: lowercase!important;
}

