/*
Theme Name: Aftershow Club
Theme URI: https://aftershow.club/
Author: Aftershow Club
Description: Tema editorial de Aftershow Club con estética de cartel, flyer y concierto.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: aftershow-club
*/

:root {
	--asc-ink: #090604;
	--asc-charcoal: #17110e;
	--asc-brick: #2b1d17;
	--asc-paper: #f1eadf;
	--asc-paper-dark: #d8cdbd;
	--asc-white: #fffdf8;
	--asc-red: #c94040;
	--asc-electric: #00d9ff;
	--asc-yellow: #f4c430;
	--asc-orange: #ef7b32;
	--asc-purple: #8b5cf6;
	--asc-muted: #99918a;
	--asc-shadow: rgba(0, 0, 0, 0.55);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--asc-white);
	background-color: var(--asc-brick);

	/*
	 * Patrón de ladrillos generado con SVG.
	 * No necesita una imagen externa.
	 */
	background-image:
		linear-gradient(rgba(8, 5, 3, 0.22), rgba(8, 5, 3, 0.35)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80' viewBox='0 0 160 80'%3E%3Crect width='160' height='80' fill='%232b1d17'/%3E%3Cpath d='M0 40H160M80 0V40M40 40V80M120 40V80' stroke='%23140d0a' stroke-width='4'/%3E%3Cpath d='M0 2H160M2 0V40M82 0V40M42 40V80M122 40V80' stroke='%23ffffff' stroke-opacity='.035' stroke-width='2'/%3E%3C/svg%3E");

	background-repeat: repeat;
	background-size: auto, 160px 80px;
	background-attachment: fixed;
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(circle at 20% 10%, rgba(255,255,255,0.035), transparent 26%),
		radial-gradient(circle at 80% 70%, rgba(0,0,0,0.18), transparent 35%);
}

.wp-site-blocks {
	min-height: 100vh;
}

a {
	transition:
		color 160ms ease,
		background-color 160ms ease,
		border-color 160ms ease,
		transform 160ms ease;
}

/* Header */

.asc-site-header::before {
	content: "";
	display: block;
	height: 3px;
	background: var(--asc-red);
}

.asc-site-header .wp-block-site-title {
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-site-header .wp-block-site-title a {
	text-decoration: none;
}

.asc-site-header .wp-block-navigation-item__content {
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.asc-site-header .wp-block-navigation-item__content:hover {
	color: var(--asc-electric);
}

/* =========================================================
   HEADER STICKY — COMPENSACIÓN DE LA ADMIN BAR
   ========================================================= */

/* Tablet y móvil con barra de administración fija */
@media screen and (max-width: 782px) {
	body.admin-bar .asc-site-header {
		top: 46px;
	}
}

/*
 * En móviles pequeños WordPress deja de fijar la admin bar.
 * El header debe volver al borde superior al hacer scroll.
 */
@media screen and (max-width: 600px) {
	body.admin-bar .asc-site-header {
		top: 0;
	}
}


/* Estructura principal */

.asc-main {
	padding: clamp(2rem, 5vw, 5rem) 1rem;
}

.asc-stage {
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

/* Flyer genérico */

.asc-flyer {
	--flyer-rotation: -0.25deg;

	position: relative;
	isolation: isolate;
	color: var(--asc-ink);
	background-color: var(--asc-paper);
	background-image:
		linear-gradient(rgba(255,255,255,0.32), rgba(255,255,255,0)),
		radial-gradient(circle at 25% 20%, rgba(90,70,45,0.055), transparent 25%);
	border: 1px solid rgba(40, 27, 19, 0.5);
	box-shadow:
		8px 10px 0 var(--asc-shadow),
		0 20px 45px rgba(0, 0, 0, 0.26);
	transform: rotate(var(--flyer-rotation));
}

.asc-flyer::before {
	content: "";
	position: absolute;
	top: -13px;
	left: 50%;
	z-index: 2;
	width: 92px;
	height: 27px;
	background: rgba(220, 205, 174, 0.76);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
	transform: translateX(-50%) rotate(-1.5deg);
}

/* Hero */

.asc-hero {
	overflow: hidden;
	padding: clamp(2.5rem, 7vw, 7rem) clamp(1.5rem, 6vw, 5rem);
	border-left: 7px solid var(--asc-red);
}

.asc-hero::after {
	content: "AFTERSHOW CLUB · MX · PRINT 001";
	position: absolute;
	right: 1.5rem;
	bottom: 1rem;
	font-family: "Inter", sans-serif;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	opacity: 0.45;
}

.asc-kicker {
	display: inline-block;
	margin-bottom: 1.6rem;
	padding: 0.45rem 0.9rem;
	color: var(--asc-white);
	background: var(--asc-red);
	box-shadow: 3px 4px 0 rgba(0, 0, 0, 0.36);
	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transform: rotate(-1deg);
}

.asc-hero h1 {
	max-width: 970px;
	margin-top: 0;
	margin-bottom: 1.25rem;
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3.1rem, 8.5vw, 7rem);
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.9;
	text-transform: uppercase;
	text-wrap: balance;
}

.asc-hero-copy {
	max-width: 700px;
	font-size: clamp(1rem, 2vw, 1.25rem);
	line-height: 1.65;
}

/* Botones tipo ticket */

.asc-ticket .wp-block-button__link {
	--ticket-color: var(--asc-red);
	--ticket-text: var(--asc-white);
	--ticket-hole: var(--asc-paper);

	position: relative;
	overflow: visible;
	padding: 0.85rem 1.4rem;
	color: var(--ticket-text);
	background: var(--ticket-color);
	border: 2px solid var(--ticket-color);
	border-radius: 0;
	box-shadow: 3px 4px 0 rgba(0, 0, 0, 0.28);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asc-ticket .wp-block-button__link::before,
.asc-ticket .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 13px;
	height: 13px;
	border: 1px solid rgba(0, 0, 0, 0.22);
	border-radius: 50%;
	background: var(--ticket-hole);
	transform: translateY(-50%);
}

.asc-ticket .wp-block-button__link::before {
	left: -8px;
}

.asc-ticket .wp-block-button__link::after {
	right: -8px;
}

.asc-ticket .wp-block-button__link:hover {
	color: var(--asc-white);
	background: var(--asc-ink);
	border-color: var(--asc-ink);
	transform: translate(-2px, -2px);
}

.asc-ticket--ghost .wp-block-button__link {
	--ticket-color: transparent;
	--ticket-text: var(--asc-ink);

	border: 2px dashed var(--asc-ink);
	box-shadow: none;
}

.asc-ticket--electric .wp-block-button__link {
	--ticket-color: var(--asc-electric);
	--ticket-text: var(--asc-ink);
}

/* Páginas interiores */

.asc-page-poster {
	padding: clamp(2rem, 5vw, 4.5rem);
}

.asc-page-poster > h1,
.asc-page-poster .wp-block-post-title {
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(2.8rem, 7vw, 5.5rem);
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
}

.asc-page-poster .wp-block-post-content {
	font-family: "Inter", sans-serif;
	font-size: 1.05rem;
	line-height: 1.75;
}

/* =========================================================
   FOOTER EDITORIAL
   ========================================================= */

.asc-site-footer {
	position: relative;
	width: 100%;
	max-width: none !important;

	margin-top: 5rem;
	padding: 0 !important;

	color: var(--asc-white);
	background:
		linear-gradient(
			rgba(255, 255, 255, 0.025),
			rgba(255, 255, 255, 0)
		),
		var(--asc-ink);

	border-top: 7px solid var(--asc-red);

	box-shadow:
		0 -8px 28px rgba(0, 0, 0, 0.38);
}

.asc-site-footer::before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: var(--asc-electric);
}

.asc-footer-shell {
	width: min(1280px, calc(100% - 3rem));
	margin: 0 auto;
	padding: 3.5rem 0 1.5rem;
}

.asc-footer-grid {
	display: grid;
	grid-template-columns:
		minmax(0, 1.5fr)
		minmax(180px, 0.75fr)
		minmax(220px, 0.9fr);

	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: start;
}

.asc-footer-brand,
.asc-footer-nav {
	min-width: 0;
}

.asc-footer-logo {
	display: inline-block;

	margin: 0 0 1rem;

	color: var(--asc-white) !important;

	font-family:
		"Bebas Neue",
		"Antonio",
		sans-serif;

	font-size: clamp(3.4rem, 6vw, 5.8rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 0.82;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-footer-logo:hover,
.asc-footer-logo:focus-visible {
	color: var(--asc-electric) !important;
}

.asc-footer-tagline {
	max-width: 620px;
	margin: 0 0 0.85rem;

	color: var(--asc-white);

	font-family:
		"Antonio",
		"Arial Narrow",
		sans-serif;

	font-size: clamp(1.15rem, 2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1.25;
	text-transform: uppercase;
}

.asc-footer-description {
	max-width: 560px;
	margin: 0 0 1.4rem;

	color: rgba(255, 253, 248, 0.7);

	font-size: 0.95rem;
	line-height: 1.65;
}

.asc-footer-stamp {
	display: inline-flex;
	align-items: center;

	width: fit-content;
	max-width: 100%;

	padding: 0.5rem 0.75rem;

	color: var(--asc-ink);
	background: var(--asc-yellow);

	border-right: 5px solid var(--asc-red);
	box-shadow: 3px 4px 0 rgba(255, 255, 255, 0.12);

	font-family:
		"Antonio",
		"Arial Narrow",
		sans-serif;

	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.asc-footer-nav h2 {
	margin: 0 0 1rem;
	padding-bottom: 0.65rem;

	color: var(--asc-white);

	border-bottom: 2px solid var(--asc-red);

	font-family:
		"Bebas Neue",
		"Antonio",
		sans-serif;

	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-footer-nav ul {
	display: grid;
	gap: 0;

	margin: 0;
	padding: 0;

	list-style: none;
}

.asc-footer-nav li {
	margin: 0;
	padding: 0;

	border-bottom: 1px dashed rgba(255, 255, 255, 0.16);
}

.asc-footer-nav a {
	display: block;

	padding: 0.8rem 0;

	color: rgba(255, 253, 248, 0.82) !important;

	font-family:
		"Antonio",
		"Arial Narrow",
		sans-serif;

	font-size: 0.87rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.25;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-footer-nav a::before {
	content: "→";
	display: inline-block;
	margin-right: 0.55rem;

	color: var(--asc-electric);

	transition: transform 160ms ease;
}

.asc-footer-nav a:hover,
.asc-footer-nav a:focus-visible {
	color: var(--asc-electric) !important;
	padding-left: 0.35rem;
}

.asc-footer-nav a:hover::before,
.asc-footer-nav a:focus-visible::before {
	transform: translateX(3px);
}

.asc-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;

	margin-top: 3rem;
	padding-top: 1.25rem;

	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.asc-footer-bottom p {
	margin: 0;

	color: rgba(255, 253, 248, 0.58);

	font-size: 0.75rem;
	letter-spacing: 0.04em;
	line-height: 1.5;
}

.asc-footer-back-to-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	min-height: 42px;
	padding: 0.65rem 0.9rem;

	color: var(--asc-ink) !important;
	background: var(--asc-electric);

	border: 2px solid var(--asc-white);
	box-shadow: 3px 4px 0 var(--asc-red);

	font-family:
		"Antonio",
		"Arial Narrow",
		sans-serif;

	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-footer-back-to-top:hover,
.asc-footer-back-to-top:focus-visible {
	color: var(--asc-white) !important;
	background: var(--asc-red);
	box-shadow: 3px 4px 0 var(--asc-electric);
	transform: translate(-2px, -2px);
}

/* Navegación móvil */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 2rem;
	color: var(--asc-white);
	background: var(--asc-ink);
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content {
	font-size: 1.4rem;
}

/* Accesibilidad */

:focus-visible {
	outline: 3px solid var(--asc-electric);
	outline-offset: 4px;
}

@media (max-width: 782px) {
	body {
		background-attachment: scroll;
		background-size: auto, 120px 60px;
	}

	.asc-main {
		padding-inline: 0.6rem;
	}

	.asc-stage {
		width: calc(100% - 1rem);
	}

	.asc-flyer {
		--flyer-rotation: 0deg;
		box-shadow:
			5px 7px 0 var(--asc-shadow),
			0 14px 30px rgba(0, 0, 0, 0.25);
	}

	.asc-hero {
		padding-bottom: 4.5rem;
	}

	.asc-hero::after {
		left: 1.5rem;
		right: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
/* =========================================================
   PARED DE LADRILLO — ROJO CON JUNTAS CLARAS
   ========================================================= */

body {
	background-color: #70271f;

	background-image:
		linear-gradient(
			rgba(22, 7, 4, 0.16),
			rgba(22, 7, 4, 0.34)
		),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80' viewBox='0 0 160 80'%3E%3Crect width='160' height='80' fill='%2370271f'/%3E%3Cpath d='M0 40H160M80 0V40M40 40V80M120 40V80' stroke='%23f4efe7' stroke-opacity='.72' stroke-width='4'/%3E%3Cpath d='M0 2H160M2 0V40M82 0V40M42 40V80M122 40V80' stroke='%23ffffff' stroke-opacity='.12' stroke-width='2'/%3E%3C/svg%3E");

	background-repeat: repeat;
	background-size: auto, 160px 80px;
	background-attachment: fixed;
}
/* =========================================================
   MENÚ MÓVIL — OVERLAY COMPLETO
   ========================================================= */

@media (max-width: 781px) {

	html.has-modal-open,
	body.has-modal-open {
		overflow: hidden !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		z-index: 99999 !important;

		display: block !important;

		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;

		color: var(--asc-white) !important;
		background:
			linear-gradient(
				rgba(9, 6, 4, 0.97),
				rgba(9, 6, 4, 0.99)
			),
			repeating-linear-gradient(
				-2deg,
				transparent 0,
				transparent 18px,
				rgba(255, 255, 255, 0.025) 19px
			) !important;

		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-dialog {
		position: relative;
		width: 100%;
		min-height: 100dvh;
		margin: 0;
		padding: 5.5rem 1.5rem 2.5rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;

		width: 100%;
		padding: 0 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;

		width: 100%;
		gap: 0 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
		display: block !important;
		width: 100%;
		border-bottom: 1px dashed rgba(255, 255, 255, 0.24);
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 1.1rem 0.5rem;

		color: var(--asc-white) !important;

		font-family: "Bebas Neue", "Antonio", sans-serif;
		font-size: clamp(2rem, 10vw, 3.5rem) !important;
		font-weight: 400;
		letter-spacing: 0.04em;
		line-height: 1;
		text-decoration: none;
		text-transform: uppercase;
	}

	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content:hover,
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content:focus {
		color: var(--asc-electric) !important;
		padding-left: 1rem;
	}

	.wp-block-navigation__responsive-container-close {
		position: fixed !important;
		top: 1rem !important;
		right: 1rem !important;
		z-index: 100001 !important;

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

		width: 48px;
		height: 48px;
		padding: 10px !important;

		color: var(--asc-white) !important;
		background: var(--asc-red) !important;
		border: 2px solid var(--asc-white) !important;
		border-radius: 0 !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.55);
	}

	.wp-block-navigation__responsive-container-close svg {
		width: 26px;
		height: 26px;
	}

	/* Compensa la barra de administración cuando estás conectado */
	body.admin-bar
	.wp-block-navigation__responsive-container.is-menu-open {
		top: 46px !important;
		height: calc(100dvh - 46px) !important;
		min-height: calc(100dvh - 46px) !important;
	}

	body.admin-bar
	.wp-block-navigation__responsive-container-close {
		top: 58px !important;
	}
}
/* =========================================================
   EVENTOS
   ========================================================= */

.asc-event-poster {
	border-left: 7px solid var(--asc-electric);
}

.asc-event-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 2rem 0;
	border: 2px solid var(--asc-ink);
	background: var(--asc-ink);
}

.asc-event-details__item {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 0;
	padding: 1rem 1.1rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
}

.asc-event-details__label {
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.65;
}

.asc-event-details__date {
	grid-column: 1 / -1;
	color: var(--asc-white);
	background: var(--asc-red);
}

.asc-event-details__action {
	grid-column: 1 / -1;
	padding: 1rem;
	color: var(--asc-white);
	background: var(--asc-ink);
}

.asc-event-ticket-link {
	position: relative;
	display: inline-block;
	padding: 0.8rem 1.35rem;
	color: var(--asc-ink) !important;
	background: var(--asc-electric);
	border: 2px solid var(--asc-electric);
	box-shadow: 3px 4px 0 rgba(255, 255, 255, 0.18);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-event-ticket-link::before,
.asc-event-ticket-link::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--asc-ink);
	transform: translateY(-50%);
}

.asc-event-ticket-link::before {
	left: -7px;
}

.asc-event-ticket-link::after {
	right: -7px;
}

.asc-event-ticket-link:hover {
	color: var(--asc-white) !important;
	background: var(--asc-red);
	border-color: var(--asc-red);
	transform: translate(-2px, -2px);
}

.asc-event-card {
	--flyer-rotation: -0.35deg;

	height: 100%;
	padding: 2rem;
}

.asc-event-card:nth-child(even) {
	--flyer-rotation: 0.35deg;
}

.asc-event-card .wp-block-post-title {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.asc-event-card .wp-block-post-title a {
	color: var(--asc-ink);
	text-decoration: none;
}

.asc-event-card .wp-block-post-title a:hover {
	color: var(--asc-red);
}

.asc-event-card .asc-event-details {
	grid-template-columns: 1fr;
}

.asc-event-card .asc-event-details__date,
.asc-event-card .asc-event-details__action {
	grid-column: auto;
}

@media (max-width: 782px) {
	.asc-event-details {
		grid-template-columns: 1fr;
	}

	.asc-event-details__date,
	.asc-event-details__action {
		grid-column: auto;
	}

	.asc-event-card {
		padding: 1.4rem;
	}
}
/* =========================================================
   THE FEED
   ========================================================= */

.asc-feed-intro,
.asc-category-intro {
	padding: clamp(2.5rem, 6vw, 5rem);
	border-left: 7px solid var(--asc-yellow);
}

.asc-feed-intro h1,
.asc-category-intro .wp-block-query-title {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: clamp(3.5rem, 9vw, 7rem);
	line-height: 0.9;
}

.asc-feed-query .wp-block-post-template {
	gap: clamp(2rem, 4vw, 3.5rem);
}

.asc-article-card {
	--flyer-rotation: -0.3deg;

	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.15rem;
}

.asc-article-card:nth-child(even) {
	--flyer-rotation: 0.35deg;
}

.asc-article-card::before {
	display: none;
}

.asc-article-card .wp-block-post-featured-image {
	margin: 0 0 1rem;
	overflow: hidden;
	border: 2px solid var(--asc-ink);
}

.asc-article-card .wp-block-post-featured-image img {
	width: 100%;
	transition: transform 250ms ease;
}

.asc-article-card:hover
.wp-block-post-featured-image img {
	transform: scale(1.035);
}

.asc-article-card .wp-block-post-title {
	margin-top: 0.85rem;
	margin-bottom: 0.7rem;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 0.95;
}

.asc-article-card .wp-block-post-title a {
	color: var(--asc-ink);
	text-decoration: none;
}

.asc-article-card .wp-block-post-title a:hover {
	color: var(--asc-red);
}

.asc-article-card .wp-block-post-excerpt {
	margin-bottom: 1rem;
}

.asc-article-card
.wp-block-post-excerpt__more-link {
	color: var(--asc-red);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.asc-category-badge {
	display: inline-block;
	width: fit-content;
	padding: 0.45rem 0.75rem;
	color: var(--asc-badge-text) !important;
	background: var(--asc-badge-color);
	box-shadow: 2px 3px 0 rgba(0, 0, 0, 0.25);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transform: rotate(-0.7deg);
}

.asc-category-badge:hover {
	color: var(--asc-white) !important;
	background: var(--asc-ink);
	transform: rotate(0deg) translateY(-2px);
}

.asc-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px dashed rgba(9, 6, 4, 0.35);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.035em;
	opacity: 0.72;
}

.asc-empty-poster {
	padding: 3rem;
}

/* Artículo individual */

.asc-article-poster {
	padding: clamp(2rem, 6vw, 5.5rem);
}

.asc-article-poster > .wp-block-post-title {
	max-width: 1050px;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: clamp(3.2rem, 8vw, 7rem);
	line-height: 0.9;
	text-wrap: balance;
}

.asc-article-poster > .asc-article-meta {
	justify-content: flex-start;
	margin-bottom: 2rem;
	padding-top: 0;
	border-top: 0;
	font-size: 0.8rem;
}

.asc-article-poster
> .wp-block-post-featured-image {
	margin-top: 2rem;
	margin-bottom: 3rem;
	border: 3px solid var(--asc-ink);
	box-shadow: 6px 7px 0 rgba(9, 6, 4, 0.28);
}

.asc-article-content {
	max-width: 760px;
}

.asc-article-content
.wp-block-post-content {
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.8;
}

.asc-article-content
.wp-block-post-content h2 {
	margin-top: 2.4em;
	font-size: clamp(2.2rem, 5vw, 3.8rem);
}

.asc-article-content
.wp-block-post-content h3 {
	margin-top: 2em;
	font-size: clamp(1.7rem, 4vw, 2.6rem);
}

.asc-article-content
.wp-block-post-content a {
	color: var(--asc-red);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.asc-article-navigation {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 2px dashed var(--asc-ink);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.asc-article-navigation a {
	color: var(--asc-red);
}
@media (max-width: 600px) {
	.asc-feed-masthead {
		align-items: flex-start;
		flex-direction: column;
	}

	.asc-feed-masthead__title {
		font-size: clamp(2.6rem, 10vw, 4rem);
	}

	.asc-feed-masthead__edition {
		margin-top: -0.15rem;
	}

	.asc-article-meta--compact {
		gap: 0.45rem !important;
	}
}
/* Paginación */

.asc-feed-query
.wp-block-query-pagination {
	margin-top: 4rem;
	padding: 1rem;
	color: var(--asc-white);
	background: rgba(9, 6, 4, 0.94);
	border: 2px solid var(--asc-white);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	text-transform: uppercase;
}

.asc-feed-query
.wp-block-query-pagination a {
	color: var(--asc-electric);
}

@media (max-width: 782px) {
	.asc-feed-query
	.wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.asc-article-card {
		--flyer-rotation: 0deg;
	}

	.asc-article-poster {
		padding: 2rem 1.35rem;
	}

	.asc-article-meta {
		align-items: flex-start;
	}
}

/* =========================================================
   MASTHEAD DE THE FEED EN ARTÍCULOS
   Opción C — estilo periódico / poster editorial
   ========================================================= */

.asc-feed-masthead {
	position: relative;
	display: grid;
	gap: 0.5rem;
	margin-bottom: 2rem;
	padding: 1.1rem 1.25rem 1rem;
	color: var(--asc-ink);
	background:
		linear-gradient(
			rgba(255, 255, 255, 0.18),
			rgba(255, 255, 255, 0)
		),
		var(--asc-paper);
	border-top: 6px solid var(--asc-ink);
	border-bottom: 2px solid var(--asc-ink);
	box-shadow: 0 2px 0 rgba(9, 6, 4, 0.16);
	transform: rotate(-0.2deg);
}

.asc-feed-masthead::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 10px;
	border-top: 1px solid rgba(9, 6, 4, 0.18);
}

.asc-feed-masthead::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	border-bottom: 1px solid rgba(9, 6, 4, 0.12);
}

.asc-feed-masthead__title {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: fit-content;
	margin: 0;
	color: var(--asc-ink) !important;
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(4rem, 9vw, 7.2rem);
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 0.82;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-feed-masthead__title:hover {
	color: var(--asc-red) !important;
}

.asc-feed-masthead__edition {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	padding: 0.35rem 0.7rem 0.32rem;
	color: var(--asc-white);
	background: var(--asc-red);
	box-shadow: 3px 3px 0 rgba(9, 6, 4, 0.22);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-feed-masthead__edition::before {
	content: "✦";
	font-size: 0.72rem;
	line-height: 1;
}

.asc-article-poster > .asc-category-badge,
.asc-article-poster > .wp-block-shortcode .asc-category-badge {
	margin-top: 0.35rem;
	margin-bottom: 1rem;
}

.asc-article-poster
.wp-block-shortcode
.asc-article-meta--compact {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin-top: 0.8rem;
	margin-bottom: 2rem;
	padding-top: 0;
	border-top: 0;
	font-size: 0.82rem;
	opacity: 0.78;
}

.asc-article-meta--compact > * {
	display: inline-flex !important;
	width: auto !important;
	margin: 0 !important;
}

.asc-article-meta__separator {
	color: var(--asc-red);
	font-size: 0.68rem;
}

@media (max-width: 600px) {
	.asc-feed-masthead {
		gap: 0.45rem;
		padding: 0.95rem 1rem 0.9rem;
	}

	.asc-feed-masthead__title {
		font-size: clamp(3rem, 13vw, 5rem);
		line-height: 0.86;
	}

	.asc-feed-masthead__edition {
		font-size: 0.66rem;
		letter-spacing: 0.13em;
	}

	.asc-article-meta--compact {
		gap: 0.45rem !important;
	}
}

/* =========================================================
   THE FEED — MASTHEAD EDITORIAL REFORZADO
   ========================================================= */

.asc-article-poster .asc-feed-masthead {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end !important;
	gap: 1rem !important;
	width: 100% !important;
	margin: 0 0 2.25rem !important;
	padding: 1.4rem 1.5rem 1.25rem !important;
	color: var(--asc-white) !important;
	background: var(--asc-ink) !important;
	border-top: 7px solid var(--asc-red) !important;
	border-bottom: 3px double rgba(255, 255, 255, 0.72) !important;
	box-shadow:
		6px 7px 0 rgba(9, 6, 4, 0.3),
		inset 0 -1px 0 rgba(255, 255, 255, 0.16) !important;
	transform: rotate(-0.18deg);
}

.asc-article-poster .asc-feed-masthead::before {
	content: "AFTERSHOW CLUB · EDITORIAL";
	position: absolute;
	top: 0.45rem;
	right: 1rem;
	color: rgba(255, 255, 255, 0.45);
	font-family: "Inter", sans-serif;
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-article-poster .asc-feed-masthead__title {
	display: block !important;
	width: fit-content !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--asc-white) !important;
	background: transparent !important;
	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(4.4rem, 9vw, 7.5rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.035em !important;
	line-height: 0.78 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

.asc-article-poster .asc-feed-masthead__title:hover {
	color: var(--asc-electric) !important;
}

.asc-article-poster .asc-feed-masthead__edition {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	width: fit-content !important;
	margin: 0 0 0.1rem !important;
	padding: 0.55rem 0.8rem !important;
	color: var(--asc-ink) !important;
	background: var(--asc-paper) !important;
	border: 1px solid rgba(255, 255, 255, 0.6) !important;
	box-shadow: 3px 3px 0 var(--asc-red) !important;
	font-family: "Antonio", "Arial Narrow", sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.15em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

.asc-article-poster .asc-feed-masthead__edition::before {
	content: "✦";
	color: var(--asc-red);
}

/* Separa visualmente la categoría del masthead */

.asc-article-poster
.asc-feed-masthead
+ .wp-block-shortcode {
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
}

@media (max-width: 700px) {
	.asc-article-poster .asc-feed-masthead {
		grid-template-columns: 1fr;
		align-items: start !important;
		gap: 0.75rem !important;
		padding: 1.25rem 1rem 1rem !important;
	}

	.asc-article-poster .asc-feed-masthead::before {
		position: static;
		grid-row: 1;
		margin-bottom: 0.15rem;
	}

	.asc-article-poster .asc-feed-masthead__title {
		grid-row: 2;
		font-size: clamp(3.8rem, 18vw, 5.6rem) !important;
	}

	.asc-article-poster .asc-feed-masthead__edition {
		grid-row: 3;
	}
}

/* =========================================================
   APLICACIÓN DEL ACENTO EN ARTÍCULOS
   ========================================================= */

/* Masthead de The Feed */
.asc-article-poster .asc-feed-masthead {
	border-top-color: var(--asc-section-accent) !important;
}

/* Placa "Archivo editorial" */
.asc-article-poster .asc-feed-masthead__edition {
	box-shadow: 3px 3px 0 var(--asc-section-accent) !important;
}

.asc-article-poster .asc-feed-masthead__edition::before {
	color: var(--asc-section-accent) !important;
}

/* Hover del título THE FEED */
.asc-article-poster .asc-feed-masthead__title:hover {
	color: var(--asc-section-accent) !important;
}

/* Separador de metadata */
.asc-article-meta__separator {
	color: var(--asc-section-accent) !important;
}

/* Links dentro del contenido */
.asc-article-content .wp-block-post-content a {
	color: var(--asc-section-accent) !important;
}

/* Navegación entre artículos */
.asc-article-navigation a {
	color: var(--asc-section-accent) !important;
}

/* Botón de enlace relacionado al hacer hover */
.asc-article-external__button:hover {
	background: var(--asc-section-accent) !important;
	border-color: var(--asc-section-accent) !important;
}

/* Línea del separador */
.asc-article-content .wp-block-separator {
	border-color: var(--asc-section-accent) !important;
	opacity: 0.5;
}
/* =========================================================
   APLICACIÓN DEL ACENTO EN ARCHIVOS DE CATEGORÍA
   ========================================================= */

.asc-category-intro {
	border-left-color: var(--asc-section-accent) !important;
}

.asc-category-intro .wp-block-query-title {
	color: var(--asc-ink);
}

.asc-category-intro .asc-kicker {
	background: var(--asc-section-accent);
	color: var(--asc-ink);
}

/* Si el color es oscuro, el kicker necesita texto claro */
body.category-on-repeat .asc-category-intro .asc-kicker,
body.category-offstage .asc-category-intro .asc-kicker,
body.category-ad-breakdown .asc-category-intro .asc-kicker {
	color: var(--asc-white);
}

/* =========================================================
   SISTEMA DE COLOR POR SECCIÓN EDITORIAL
   ========================================================= */

body {
	--asc-section-accent: #c94040;
	--asc-section-contrast: #fffdf8;
}

/* On Repeat */
body.asc-section-on-repeat {
	--asc-section-accent: #c94040;
	--asc-section-contrast: #fffdf8;
}

/* Roadie Guide */
body.asc-section-roadie-guide {
	--asc-section-accent: #f4c430;
	--asc-section-contrast: #090604;
}

/* Ad Breakdown */
body.asc-section-ad-breakdown {
	--asc-section-accent: #ef7b32;
	--asc-section-contrast: #090604;
}

/* Tech & Tools */
body.asc-section-tech-tools {
	--asc-section-accent: #00d9ff;
	--asc-section-contrast: #090604;
}

/* Offstage */
body.asc-section-offstage {
	--asc-section-accent: #8b5cf6;
	--asc-section-contrast: #fffdf8;
}

/* Encore Mode */
body.asc-section-encore-mode {
	--asc-section-accent: #62b96f;
	--asc-section-contrast: #090604;
}

/* Franja superior del masthead */

.asc-article-poster .asc-feed-masthead {
	border-top-color: var(--asc-section-accent) !important;
}

/* Placa Archivo editorial */

.asc-article-poster .asc-feed-masthead__edition {
	color: var(--asc-section-contrast) !important;
	background: var(--asc-section-accent) !important;
	border-color: var(--asc-section-accent) !important;
	box-shadow: 4px 4px 0 var(--asc-ink) !important;
}

.asc-article-poster
.asc-feed-masthead__edition::before {
	color: var(--asc-section-contrast) !important;
}

/* Hover de The Feed */

.asc-article-poster
.asc-feed-masthead__title:hover {
	color: var(--asc-section-accent) !important;
}

/* Metadata */

.asc-article-meta__separator {
	color: var(--asc-section-accent) !important;
}

/* Enlaces del artículo */

.asc-article-content
.wp-block-post-content a {
	color: var(--asc-section-accent) !important;
}

/* Navegación entre artículos */

.asc-article-navigation a {
	color: var(--asc-section-accent) !important;
}

/* Separadores */

.asc-article-content .wp-block-separator {
	border-color: var(--asc-section-accent) !important;
	opacity: 0.55;
}

/* =========================================================
   PLACA GRANDE DE CATEGORÍA
   ========================================================= */

.asc-article-poster .asc-category-badge {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: fit-content !important;
	margin: 0.75rem 0 1.5rem !important;
	padding: 0.7rem 1.15rem 0.62rem !important;

	color: var(--asc-section-contrast) !important;
	background: var(--asc-section-accent) !important;
	border: 2px solid var(--asc-ink) !important;
	box-shadow: 5px 5px 0 rgba(9, 6, 4, 0.32) !important;

	font-family: "Antonio", "Arial Narrow", sans-serif !important;
	font-size: clamp(0.95rem, 1.7vw, 1.15rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.11em !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;

	transform: rotate(-0.8deg);
}

.asc-article-poster .asc-category-badge::before {
	content: "✦";
	margin-right: 0.55rem;
	font-size: 0.75em;
}

.asc-article-poster .asc-category-badge:hover {
	color: var(--asc-white) !important;
	background: var(--asc-ink) !important;
	border-color: var(--asc-section-accent) !important;
	transform: rotate(0deg) translate(-2px, -2px);
}

@media (max-width: 600px) {
	.asc-article-poster .asc-category-badge {
		margin-bottom: 1.25rem !important;
		padding: 0.62rem 0.9rem 0.56rem !important;
		font-size: 0.88rem !important;
	}
}

/* =========================================================
   ARCHIVO DE EVENTOS
   ========================================================= */

.asc-events-hero {
	padding: clamp(2.5rem, 6vw, 5rem);
	border-left: 8px solid var(--asc-electric);
}

.asc-events-hero h1 {
	margin: 0 0 1rem;
	font-size: clamp(4rem, 10vw, 8rem);
	line-height: 0.85;
}

.asc-events-hero p:last-child {
	max-width: 760px;
}

.asc-events-list {
	display: grid;
	gap: 5rem;
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

.asc-events-list__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 0.75rem;
	color: var(--asc-white);
	border-bottom: 3px solid var(--asc-electric);
}

.asc-events-list__heading span {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: var(--asc-ink);
	background: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-weight: 700;
}

.asc-events-list__heading h2 {
	margin: 0;
	font-size: clamp(2.8rem, 6vw, 5rem);
	line-height: 0.9;
}

.asc-events-grid {
	display: grid;
	gap: 2.5rem;
}

.asc-event-ticket-card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	box-shadow: 8px 9px 0 rgba(0, 0, 0, 0.48);
	transform: rotate(-0.15deg);
}

.asc-event-ticket-card:nth-child(even) {
	transform: rotate(0.18deg);
}

.asc-event-ticket-card__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 1rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-right: 3px dashed var(--asc-ink);
	text-align: center;
}

.asc-event-ticket-card__day {
	font-family: "Bebas Neue", sans-serif;
	font-size: 5rem;
	line-height: 0.85;
}

.asc-event-ticket-card__month {
	font-family: "Antonio", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.asc-event-ticket-card__content {
	display: grid;
	grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
}

.asc-event-ticket-card__image {
	min-height: 100%;
	overflow: hidden;
	border-right: 2px solid var(--asc-ink);
}

.asc-event-ticket-card__image img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
}

.asc-event-ticket-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.3rem, 4vw, 2.5rem);
}

.asc-event-ticket-card__status {
	display: inline-block;
	margin-bottom: 0.85rem;
	padding: 0.35rem 0.65rem;
	color: var(--asc-white);
	background: var(--asc-red);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.asc-event-ticket-card__title {
	margin: 0 0 1rem;
	font-size: clamp(2.2rem, 5vw, 4.2rem);
	line-height: 0.9;
}

.asc-event-ticket-card__title a {
	color: var(--asc-ink);
	text-decoration: none;
}

.asc-event-ticket-card__title a:hover {
	color: var(--asc-red);
}

.asc-event-ticket-card__datetime,
.asc-event-ticket-card__venue,
.asc-event-ticket-card__price {
	margin: 0.25rem 0;
}

.asc-event-ticket-card__datetime {
	font-weight: 700;
}

.asc-event-ticket-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: auto;
	padding-top: 1.5rem;
}

.asc-event-ticket-card__details,
.asc-event-ticket-card__external {
	display: inline-flex;
	padding: 0.75rem 1rem;
	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-event-ticket-card__details {
	color: var(--asc-white);
	background: var(--asc-ink);
}

.asc-event-ticket-card__external {
	color: var(--asc-ink);
	background: var(--asc-electric);
	border: 2px solid var(--asc-ink);
}

.asc-event-ticket-card__details:hover,
.asc-event-ticket-card__external:hover {
	color: var(--asc-white);
	background: var(--asc-red);
	transform: translate(-2px, -2px);
}

.asc-event-ticket-card--past {
	opacity: 0.72;
	filter: saturate(0.65);
}

.asc-event-ticket-card--past
.asc-event-ticket-card__date {
	background: var(--asc-paper-dark);
}

.asc-event-ticket-card--past
.asc-event-ticket-card__status {
	background: var(--asc-muted);
}

.asc-events-empty {
	padding: 2.5rem;
}

@media (max-width: 900px) {
	.asc-event-ticket-card {
		grid-template-columns: 105px minmax(0, 1fr);
	}

	.asc-event-ticket-card__content {
		grid-template-columns: 1fr;
	}

	.asc-event-ticket-card__image {
		border-right: 0;
		border-bottom: 2px solid var(--asc-ink);
	}

	.asc-event-ticket-card__image img {
		min-height: 220px;
		max-height: 320px;
	}
}

@media (max-width: 600px) {
	.asc-events-list {
		width: calc(100% - 1rem);
	}

	.asc-event-ticket-card {
		grid-template-columns: 1fr;
		transform: none;
	}

	.asc-event-ticket-card:nth-child(even) {
		transform: none;
	}

	.asc-event-ticket-card__date {
		flex-direction: row;
		gap: 0.75rem;
		min-height: auto;
		border-right: 0;
		border-bottom: 3px dashed var(--asc-ink);
	}

	.asc-event-ticket-card__day {
		font-size: 3.5rem;
	}

	.asc-event-ticket-card__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.asc-event-ticket-card__details,
	.asc-event-ticket-card__external {
		justify-content: center;
	}
}

/* =========================================================
   WOOCOMMERCE — PRODUCTO INDIVIDUAL
   ESTILO BACKSTAGE PASS / MEMBER ACCESS
   ========================================================= */

body.single-product .woocommerce {
	width: min(1280px, calc(100% - 2rem));
	margin: clamp(2rem, 5vw, 5rem) auto;
}

/* =========================================================
   MIGAS DE NAVEGACIÓN
   ========================================================= */

body.single-product .woocommerce-breadcrumb {
	display: inline-block;
	margin: 0 0 1.5rem;
	padding: 0.5rem 0.8rem;
	color: rgba(255, 253, 248, 0.82);
	background: rgba(9, 6, 4, 0.92);
	border-left: 4px solid var(--asc-red);
	font-size: 0.78rem;
}

body.single-product .woocommerce-breadcrumb a {
	color: var(--asc-electric);
	text-decoration: none;
}

/* =========================================================
   CONTENEDOR PRINCIPAL — CREDENCIAL
   ========================================================= */

body.single-product .woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr);
	gap: clamp(1.5rem, 4vw, 3rem);

	padding: clamp(1.25rem, 4vw, 2.5rem);
	color: var(--asc-white);
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.04),
			rgba(255, 255, 255, 0)
		),
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.03) 0%,
			rgba(255, 255, 255, 0) 30%
		),
		#0d0908;

	border: 2px solid rgba(255, 255, 255, 0.12);
	border-top: 8px solid var(--asc-red);
	box-shadow:
		10px 12px 0 rgba(0, 0, 0, 0.48),
		0 20px 50px rgba(0, 0, 0, 0.28);

	overflow: hidden;
}

/* Simula la perforación / cintillo del pase */
body.single-product .woocommerce div.product::before {
	content: "";
	position: absolute;
	top: -34px;
	left: 50%;
	z-index: 10;

	width: 126px;
	height: 68px;

	background:
		radial-gradient(circle at center, transparent 0 13px, rgba(255,255,255,0.14) 14px 15px, transparent 16px),
		linear-gradient(180deg, rgba(255,255,255,0.26), rgba(255,255,255,0.08));
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-bottom: 0;
	border-radius: 0 0 20px 20px;
	transform: translateX(-50%);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
}

/* Etiqueta superior tipo acceso */
body.single-product .woocommerce div.product::after {
	content: "AFTERSHOW CLUB • MEMBER ACCESS";
	position: absolute;
	top: 14px;
	right: 16px;
	z-index: 8;

	padding: 0.45rem 0.65rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);

	font-family: "Antonio", sans-serif;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

/* Limpia floats clásicos */
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

/* =========================================================
   GALERÍA / FOTO DEL PRODUCTO
   ========================================================= */

body.single-product
.woocommerce
div.product
.woocommerce-product-gallery {
	align-self: start;
	padding: 1rem;
	background: rgba(255, 255, 255, 0.04);
	border: 2px solid rgba(255, 255, 255, 0.12);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

body.single-product
.woocommerce
div.product
.woocommerce-product-gallery__wrapper {
	background: #ffffff;
	padding: 0.35rem;
}

body.single-product
.woocommerce
div.product
.woocommerce-product-gallery
img {
	background: #ffffff;
}

body.single-product
.woocommerce
div.product
.woocommerce-product-gallery__trigger {
	color: var(--asc-white);
	background: rgba(9, 6, 4, 0.86);
	border: 2px solid var(--asc-white);
	border-radius: 999px;
}

/* =========================================================
   COLUMNA DERECHA / RESUMEN
   ========================================================= */

body.single-product .woocommerce div.product .summary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding-top: 1.1rem;
}

/* Etiqueta secundaria antes del título */
body.single-product .woocommerce div.product .summary::before {
	content: "BACKSTAGE PASS";
	display: inline-block;
	margin-bottom: 1rem;
	padding: 0.42rem 0.68rem;
	color: var(--asc-white);
	background: var(--asc-red);
	box-shadow: 3px 3px 0 rgba(255,255,255,0.14);

	font-family: "Antonio", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

body.single-product
.woocommerce
div.product
.product_title {
	margin: 0 0 1rem;
	color: var(--asc-white);
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3rem, 5.8vw, 5.4rem);
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.88;
	text-transform: uppercase;
	text-wrap: balance;
}

body.single-product
.woocommerce
div.product
p.price,
body.single-product
.woocommerce
div.product
span.price {
	margin: 0 0 1.3rem;
	color: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: clamp(2.1rem, 4vw, 3.4rem);
	font-weight: 700;
	line-height: 1;
}

body.single-product
.woocommerce-product-details__short-description {
	width: 100%;
	margin-bottom: 1.25rem;
	color: rgba(255, 253, 248, 0.88);
	font-size: 1rem;
	line-height: 1.65;
}

body.single-product
.woocommerce-product-details__short-description p {
	color: inherit;
}

/* =========================================================
   VARIACIONES
   ========================================================= */

body.single-product
.woocommerce
div.product
form.cart {
	width: 100%;
	margin: 0;
	padding: 1rem;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255,255,255,0.12);
}

body.single-product
.woocommerce
div.product
form.cart
table.variations {
	width: 100%;
	margin: 0 0 1rem;
	border-collapse: separate;
	border-spacing: 0 0.85rem;
}

body.single-product
.woocommerce
div.product
form.cart
table.variations tr {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	align-items: center;
	gap: 0.8rem;
}

body.single-product
.woocommerce
div.product
form.cart
table.variations th,
body.single-product
.woocommerce
div.product
form.cart
table.variations td {
	display: block;
	width: auto;
	padding: 0;
	color: var(--asc-white);
	background: transparent;
	text-align: left;
}

body.single-product
.woocommerce
div.product
form.cart
table.variations label {
	color: var(--asc-white);
	font-family: "Antonio", sans-serif;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Selectores */
body.single-product
.woocommerce
div.product
form.cart
table.variations select {
	width: 100%;
	min-height: 50px;
	padding: 0.7rem 2.7rem 0.7rem 0.9rem;

	color: var(--asc-ink);
	background-color: var(--asc-white);
	border: 2px solid var(--asc-white);
	border-radius: 0;

	font-weight: 700;
}

body.single-product
.woocommerce
div.product
form.cart
table.variations select:focus {
	border-color: var(--asc-electric);
	outline: 3px solid rgba(0, 217, 255, 0.24);
	outline-offset: 2px;
}

body.single-product
.woocommerce
div.product
form.cart
table.variations select option {
	color: var(--asc-ink);
	background: var(--asc-white);
}

body.single-product .woocommerce .reset_variations {
	display: inline-block;
	margin-top: 0.45rem;
	color: var(--asc-electric);
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================================================
   PRECIO DE VARIACIÓN / DISPONIBILIDAD
   ========================================================= */

body.single-product .woocommerce .single_variation_wrap {
	width: 100%;
}

body.single-product .woocommerce .woocommerce-variation-description,
body.single-product .woocommerce .woocommerce-variation-availability {
	color: rgba(255, 253, 248, 0.86);
}

body.single-product .woocommerce .woocommerce-variation-price {
	margin-bottom: 1rem;
}

/* =========================================================
   CANTIDAD + BOTÓN
   ========================================================= */

body.single-product .woocommerce .quantity .qty {
	width: 76px;
	min-height: 52px;
	padding: 0.65rem;

	color: var(--asc-ink);
	background: var(--asc-white);
	border: 2px solid var(--asc-white);
	border-radius: 0;

	font-weight: 700;
	text-align: center;
}

/* Botón principal */
body.single-product
.woocommerce
div.product
form.cart
.single_add_to_cart_button {
	position: relative;
	min-height: 52px;
	padding: 0.85rem 1.45rem;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-red);
	border-radius: 0;

	box-shadow: 4px 5px 0 rgba(255,255,255,0.15);

	font-family: "Antonio", sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.single-product
.woocommerce
div.product
form.cart
.single_add_to_cart_button::before {
	content: "✦";
	margin-right: 0.5rem;
}

body.single-product
.woocommerce
div.product
form.cart
.single_add_to_cart_button:hover {
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-color: var(--asc-electric);
	box-shadow: 4px 5px 0 rgba(255,255,255,0.08);
	transform: translate(-2px, -2px);
}

body.single-product
.woocommerce
div.product
form.cart
.single_add_to_cart_button.disabled {
	color: rgba(255,255,255,0.6);
	background: #4b4543;
	border-color: #4b4543;
	box-shadow: none;
	cursor: not-allowed;
}

body.single-product
.woocommerce
div.product
form.cart
.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.8rem;
}

/* =========================================================
   META DEL PRODUCTO
   ========================================================= */

body.single-product
.woocommerce
div.product
.product_meta {
	width: 100%;
	margin-top: 1.5rem;
	padding-top: 1rem;

	color: rgba(255, 253, 248, 0.66);
	border-top: 1px dashed rgba(255,255,255,0.22);

	font-size: 0.8rem;
}

body.single-product
.woocommerce
div.product
.product_meta a {
	color: var(--asc-electric);
	font-weight: 700;
	text-decoration: none;
}

/* =========================================================
   TABS / CONTENIDO INFERIOR
   ========================================================= */

body.single-product
.woocommerce
div.product
.woocommerce-tabs {
	grid-column: 1 / -1;
	width: 100%;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255,255,255,0.12);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;

	margin: 0;
	padding: 0 0 1rem;

	border-bottom: 2px solid rgba(255,255,255,0.16);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs::before,
body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs li::before,
body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs li::after {
	display: none;
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs li a {
	display: block;
	padding: 0.72rem 1rem;

	color: var(--asc-white);
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.16);

	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
ul.tabs li.active a {
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-color: var(--asc-electric);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
.panel {
	margin: 0;
	padding: 1.35rem 0 0;
	color: rgba(255, 253, 248, 0.9);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
.panel h2 {
	color: var(--asc-white);
	font-size: clamp(2rem, 4vw, 3rem);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
.panel p,
body.single-product
.woocommerce
div.product
.woocommerce-tabs
.panel li,
body.single-product
.woocommerce
div.product
.woocommerce-tabs
.shop_attributes {
	color: rgba(255, 253, 248, 0.9);
}

body.single-product
.woocommerce
div.product
.woocommerce-tabs
.shop_attributes th,
body.single-product
.woocommerce
div.product
.woocommerce-tabs
.shop_attributes td {
	color: rgba(255, 253, 248, 0.9);
	border-color: rgba(255,255,255,0.12);
}

/* =========================================================
   RELACIONADOS / UPSELLS
   ========================================================= */

body.single-product
.woocommerce
div.product
.related,
body.single-product
.woocommerce
div.product
.upsells {
	grid-column: 1 / -1;
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255,255,255,0.12);
}

body.single-product
.woocommerce
div.product
.related > h2,
body.single-product
.woocommerce
div.product
.upsells > h2 {
	color: var(--asc-white);
	font-size: clamp(2.2rem, 4.5vw, 3.8rem);
}

/* =========================================================
   MENSAJES DE WOOCOMMERCE
   ========================================================= */

body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error {
	color: var(--asc-ink);
	background: var(--asc-paper);
	border-top-color: var(--asc-electric);
	box-shadow: 5px 6px 0 rgba(0, 0, 0, 0.35);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {
	body.single-product .woocommerce div.product {
		grid-template-columns: 1fr;
	}

	body.single-product .woocommerce div.product::after {
		right: auto;
		left: 16px;
		top: 16px;
	}

	body.single-product
	.woocommerce
	div.product
	.woocommerce-tabs,
	body.single-product
	.woocommerce
	div.product
	.related,
	body.single-product
	.woocommerce
	div.product
	.upsells {
		grid-column: 1;
	}
}

@media (max-width: 600px) {
	body.single-product .woocommerce {
		width: calc(100% - 1rem);
		margin-block: 1.5rem;
	}

	body.single-product .woocommerce div.product {
		gap: 1.4rem;
		padding: 1rem;
		box-shadow: 6px 8px 0 rgba(0, 0, 0, 0.42);
	}

	body.single-product .woocommerce div.product::before {
		width: 94px;
		height: 58px;
		top: -28px;
	}

	body.single-product .woocommerce div.product::after {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		margin-bottom: 0.5rem;
	}

	body.single-product
	.woocommerce
	div.product
	.product_title {
		font-size: clamp(2.6rem, 12vw, 4.2rem);
	}

	body.single-product
	.woocommerce
	div.product
	form.cart
	table.variations tr {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	body.single-product
	.woocommerce
	div.product
	form.cart
	.woocommerce-variation-add-to-cart {
		flex-direction: column;
	}

	body.single-product
	.woocommerce
	.quantity,
	body.single-product
	.woocommerce
	.quantity .qty,
	body.single-product
	.woocommerce
	div.product
	form.cart
	.single_add_to_cart_button {
		width: 100%;
	}

	body.single-product
	.woocommerce
	div.product
	.woocommerce-tabs
	ul.tabs {
		flex-direction: column;
	}

	body.single-product
	.woocommerce
	div.product
	.woocommerce-tabs
	ul.tabs li,
	body.single-product
	.woocommerce
	div.product
	.woocommerce-tabs
	ul.tabs li a {
		width: 100%;
	}
}

/* =========================================================
   AFTERSHOW MERCH — MEMBER / BACKSTAGE PASS
   Plantilla WooCommerce basada en bloques
   ========================================================= */

body.single-product {
	--asc-pass-bg: #0d0908;
	--asc-pass-panel: #17110f;
	--asc-pass-paper: #f1eadf;
	--asc-pass-red: #c94040;
	--asc-pass-electric: #00d9ff;
}

/* Contenedor completo de la credencial */

body.single-product .asc-member-pass {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
	gap: 0 !important;
	width: min(1280px, calc(100% - 2rem)) !important;
	margin: clamp(3rem, 7vw, 6rem) auto 3rem !important;
	padding: 0 !important;
	color: var(--asc-white) !important;
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.045),
			transparent 42%
		),
		var(--asc-pass-bg) !important;
	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	border-top: 10px solid var(--asc-pass-red) !important;
	box-shadow:
		12px 14px 0 rgba(0, 0, 0, 0.52),
		0 30px 60px rgba(0, 0, 0, 0.28) !important;
	overflow: visible;
}

/* Ranura superior de la credencial */

body.single-product .asc-member-pass::before {
	content: "";
	position: absolute;
	top: -42px;
	left: 50%;
	z-index: 10;
	width: 126px;
	height: 50px;
	border: 3px solid rgba(255, 255, 255, 0.2);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	background:
		radial-gradient(
			ellipse at center,
			transparent 0 26px,
			rgba(255, 255, 255, 0.15) 27px 29px,
			transparent 30px
		),
		var(--asc-pass-bg);
	transform: translateX(-50%);
}

/* Microtexto lateral */

body.single-product .asc-member-pass::after {
	content: "VALID FOR AFTERSHOW CLUB · MX · 2026";
	position: absolute;
	right: -1px;
	bottom: 8px;
	padding: 0.35rem 0.55rem;
	color: rgba(255, 255, 255, 0.45);
	font-family: "Inter", sans-serif;
	font-size: 0.48rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* =========================================================
   GALERÍA
   ========================================================= */

body.single-product .asc-member-pass__media {
	position: relative;
	align-self: stretch;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(1rem, 3vw, 2rem) !important;
	color: var(--asc-ink);
	background:
		linear-gradient(
			rgba(255, 255, 255, 0.32),
			rgba(255, 255, 255, 0)
		),
		var(--asc-pass-paper) !important;
	border-right: 3px dashed rgba(255, 255, 255, 0.3);
}

/* Número grande del acceso */

body.single-product .asc-member-pass__media::before {
	content: "ACCESS";
	position: absolute;
	left: 1.25rem;
	bottom: 0.65rem;
	z-index: 1;
	color: rgba(9, 6, 4, 0.12);
	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(4rem, 9vw, 8rem);
	line-height: 0.75;
	letter-spacing: 0.04em;
	pointer-events: none;
}

body.single-product
.asc-member-pass__media
.wp-block-woocommerce-product-image-gallery,
body.single-product
.asc-member-pass__media
.woocommerce-product-gallery,
body.single-product
.asc-member-pass__media
.wp-block-woocommerce-product-gallery {
	position: relative;
	z-index: 2;
	width: 100% !important;
	margin: 0 !important;
	padding: 0.6rem;
	background: #ffffff;
	border: 3px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(9, 6, 4, 0.28);
}

body.single-product .asc-member-pass__media img {
	width: 100%;
	background: #ffffff;
}

/* =========================================================
   INFORMACIÓN
   ========================================================= */

body.single-product .asc-member-pass__info {
	align-self: stretch;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(1.4rem, 4vw, 3rem) !important;
	color: var(--asc-white) !important;
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 28px,
			rgba(255, 255, 255, 0.018) 29px
		),
		var(--asc-pass-panel) !important;
}

/* Credencial con código */

body.single-product .asc-pass-id {
	position: relative;
	display: grid;
	gap: 0.75rem;
	width: 100%;
	margin: 0 0 1.75rem;
	padding: 1rem;
	color: var(--asc-white);
	background: var(--asc-pass-bg);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-left: 6px solid var(--asc-pass-electric);
}

body.single-product .asc-pass-id__eyebrow {
	color: var(--asc-pass-electric);
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

body.single-product .asc-pass-id__identity {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem;
}

body.single-product .asc-pass-id__issue,
body.single-product .asc-pass-id__code {
	display: inline-flex;
	padding: 0.45rem 0.65rem;
	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

body.single-product .asc-pass-id__issue {
	color: var(--asc-white);
	background: var(--asc-pass-red);
}

body.single-product .asc-pass-id__code {
	color: var(--asc-ink);
	background: var(--asc-pass-paper);
}

body.single-product .asc-pass-id__barcode {
	width: 100%;
	height: 32px;
	background:
		repeating-linear-gradient(
			90deg,
			var(--asc-white) 0 2px,
			transparent 2px 5px,
			var(--asc-white) 5px 6px,
			transparent 6px 10px,
			var(--asc-white) 10px 14px,
			transparent 14px 17px
		);
	opacity: 0.72;
}

body.single-product .asc-pass-id__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
	color: rgba(255, 255, 255, 0.5);
	font-family: "Inter", sans-serif;
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

/* Título */

body.single-product
.asc-member-pass__info
.wp-block-post-title,
body.single-product
.asc-member-pass__info
.product_title,
body.single-product
.asc-member-pass__info
.wp-block-woocommerce-product-title {
	margin: 0 0 1rem !important;
	color: var(--asc-white) !important;
	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3rem, 5.8vw, 5.5rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.02em !important;
	line-height: 0.86 !important;
	text-transform: uppercase;
	text-wrap: balance;
}

/* Precio */

body.single-product
.asc-member-pass__info
.wp-block-woocommerce-product-price,
body.single-product
.asc-member-pass__info
.price {
	margin-bottom: 1.3rem !important;
	color: var(--asc-pass-electric) !important;
	font-family: "Antonio", sans-serif !important;
	font-size: clamp(2rem, 4vw, 3.4rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* Descripción corta */

body.single-product
.asc-member-pass__info
.wp-block-woocommerce-product-summary,
body.single-product
.asc-member-pass__info
.woocommerce-product-details__short-description {
	color: rgba(255, 253, 248, 0.87) !important;
	font-size: 1rem;
	line-height: 1.65;
}

/* =========================================================
   SELECTORES Y COMPRA
   ========================================================= */

body.single-product .asc-member-pass select {
	width: 100%;
	min-height: 50px;
	padding: 0.7rem 2.6rem 0.7rem 0.85rem;
	color: var(--asc-ink) !important;
	background-color: var(--asc-white) !important;
	border: 2px solid var(--asc-white) !important;
	border-radius: 0 !important;
	font-weight: 700;
}

body.single-product .asc-member-pass select option {
	color: var(--asc-ink);
	background: var(--asc-white);
}

body.single-product .asc-member-pass label,
body.single-product .asc-member-pass th,
body.single-product .asc-member-pass td {
	color: var(--asc-white);
}

body.single-product .asc-member-pass input[type="number"] {
	min-height: 52px;
	padding: 0.65rem;
	color: var(--asc-ink);
	background: var(--asc-white);
	border: 2px solid var(--asc-white);
	border-radius: 0;
	font-weight: 700;
	text-align: center;
}

body.single-product .asc-member-pass button,
body.single-product .asc-member-pass .button,
body.single-product .asc-member-pass .single_add_to_cart_button {
	min-height: 52px;
	padding: 0.85rem 1.4rem !important;
	color: var(--asc-white) !important;
	background: var(--asc-pass-red) !important;
	border: 2px solid var(--asc-pass-red) !important;
	border-radius: 0 !important;
	box-shadow: 4px 5px 0 rgba(255, 255, 255, 0.14) !important;
	font-family: "Antonio", sans-serif !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.09em !important;
	text-transform: uppercase;
}

body.single-product .asc-member-pass button:hover,
body.single-product .asc-member-pass .button:hover,
body.single-product .asc-member-pass .single_add_to_cart_button:hover {
	color: var(--asc-ink) !important;
	background: var(--asc-pass-electric) !important;
	border-color: var(--asc-pass-electric) !important;
	transform: translate(-2px, -2px);
}

body.single-product
.asc-member-pass
.single_add_to_cart_button::before {
	content: "✦";
	margin-right: 0.5rem;
}

body.single-product .asc-member-pass .reset_variations {
	color: var(--asc-pass-electric) !important;
	font-weight: 700;
}

/* Producto/meta */

body.single-product .asc-member-pass .product_meta,
body.single-product .asc-member-pass .wc-block-components-product-meta {
	color: rgba(255, 255, 255, 0.62) !important;
	border-top: 1px dashed rgba(255, 255, 255, 0.2);
	padding-top: 1rem;
}

body.single-product .asc-member-pass .product_meta a,
body.single-product .asc-member-pass .wc-block-components-product-meta a {
	color: var(--asc-pass-electric) !important;
}

/* =========================================================
   DETALLES DEL PRODUCTO
   ========================================================= */

body.single-product .asc-member-pass__details {
	width: min(1280px, calc(100% - 2rem)) !important;
	margin: 3rem auto !important;
	padding: clamp(1.4rem, 4vw, 3rem) !important;
	color: var(--asc-ink) !important;
	background: var(--asc-pass-paper) !important;
	border: 2px solid var(--asc-ink) !important;
	border-left: 8px solid var(--asc-pass-electric) !important;
	box-shadow: 9px 10px 0 rgba(0, 0, 0, 0.46) !important;
}

body.single-product .asc-member-pass__details h2,
body.single-product .asc-member-pass__details h3,
body.single-product .asc-member-pass__details p,
body.single-product .asc-member-pass__details li,
body.single-product .asc-member-pass__details th,
body.single-product .asc-member-pass__details td {
	color: var(--asc-ink) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {
	body.single-product .asc-member-pass {
		grid-template-columns: 1fr;
	}

	body.single-product .asc-member-pass__media {
		border-right: 0;
		border-bottom: 3px dashed rgba(255, 255, 255, 0.3);
	}
}

@media (max-width: 600px) {
	body.single-product .asc-member-pass,
	body.single-product .asc-member-pass__details {
		width: calc(100% - 1rem) !important;
	}

	body.single-product .asc-member-pass {
		margin-top: 3.5rem !important;
		box-shadow: 6px 8px 0 rgba(0, 0, 0, 0.46) !important;
	}

	body.single-product .asc-member-pass__media,
	body.single-product .asc-member-pass__info {
		padding: 1rem !important;
	}

	body.single-product
	.asc-member-pass__info
	.wp-block-post-title,
	body.single-product
	.asc-member-pass__info
	.product_title {
		font-size: clamp(2.7rem, 13vw, 4.4rem) !important;
	}

	body.single-product .asc-pass-id__identity,
	body.single-product .asc-pass-id__footer {
		flex-direction: column;
	}

	body.single-product .asc-member-pass button,
	body.single-product .asc-member-pass .button,
	body.single-product .asc-member-pass input[type="number"] {
		width: 100%;
	}
}
/* =========================================================
   CORRECCIONES DE ESTRUCTURA — MEMBER PASS
   ========================================================= */

body.single-product .asc-member-pass {
	align-items: stretch !important;
}

body.single-product .asc-member-pass__media,
body.single-product .asc-member-pass__info {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex-basis: auto !important;
}

body.single-product .asc-member-pass__info {
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.single-product .asc-pass-id,
body.single-product .asc-pass-id * {
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.single-product .asc-member-pass__details {
	display: block !important;
	clear: both;
}

@media (min-width: 901px) {
	body.single-product .asc-member-pass {
		grid-template-columns:
			minmax(0, 1.05fr)
			minmax(360px, 0.95fr) !important;
	}
}
/* =========================================================
   AFTERSHOW MERCH — PÁGINA PRINCIPAL
   ========================================================= */

.asc-merch-hero {
	padding: clamp(2.5rem, 6vw, 5rem);
	border-left: 8px solid var(--asc-red);
}

.asc-merch-hero h1 {
	margin: 0 0 1rem;
	font-size: clamp(4rem, 10vw, 8rem);
	line-height: 0.84;
}

.asc-merch-hero p:last-child {
	max-width: 780px;
}

.asc-merch-drop {
	display: grid;
	gap: clamp(4rem, 8vw, 7rem);
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

/* Credencial del Drop */

.asc-drop-pass {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	color: var(--asc-white);
	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.045),
			transparent 45%
		),
		#0d0908;
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-top: 9px solid var(--asc-electric);
	box-shadow:
		11px 13px 0 rgba(0, 0, 0, 0.5),
		0 25px 55px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.asc-drop-pass::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 50%;
	z-index: 4;
	width: 110px;
	height: 42px;
	background: #090604;
	border: 2px solid rgba(255,255,255,0.18);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	transform: translateX(-50%);
}

.asc-drop-pass__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(2rem, 6vw, 5rem);
}

.asc-drop-pass__eyebrow {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-bottom: 1.5rem;
}

.asc-drop-pass__eyebrow span {
	padding: 0.45rem 0.7rem;
	font-family: "Antonio", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.asc-drop-pass__eyebrow span:first-child {
	color: var(--asc-white);
	background: var(--asc-red);
}

.asc-drop-pass__eyebrow span:last-child {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

.asc-drop-pass__title {
	max-width: 760px;
	margin: 0 0 1.2rem;
	color: var(--asc-white);
	font-size: clamp(3.5rem, 8vw, 7rem);
	line-height: 0.84;
}

.asc-drop-pass__description {
	max-width: 650px;
	color: rgba(255, 253, 248, 0.82);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.7;
}

.asc-drop-pass__dates {
	margin-top: 1.2rem;
	padding: 0.65rem 0.85rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	font-family: "Antonio", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.asc-drop-pass__barcode {
	width: min(430px, 100%);
	height: 42px;
	margin-top: 2rem;
	background:
		repeating-linear-gradient(
			90deg,
			var(--asc-white) 0 2px,
			transparent 2px 5px,
			var(--asc-white) 5px 6px,
			transparent 6px 11px,
			var(--asc-white) 11px 15px,
			transparent 15px 18px
		);
	opacity: 0.65;
}

.asc-drop-pass__footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	margin-top: 0.65rem;
	color: rgba(255,255,255,0.45);
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.asc-drop-pass__image {
	min-height: 100%;
	border-left: 3px dashed rgba(255,255,255,0.22);
}

.asc-drop-pass__image img {
	width: 100%;
	height: 100%;
	min-height: 430px;
	object-fit: cover;
	filter: contrast(1.04) saturate(0.88);
}

/* Productos */

.asc-merch-products__heading {
	margin-bottom: 2.5rem;
	color: var(--asc-white);
	border-bottom: 3px solid var(--asc-red);
}

.asc-merch-products__heading span {
	display: inline-block;
	margin-bottom: 0.75rem;
	padding: 0.4rem 0.65rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.asc-merch-products__heading h2 {
	margin: 0 0 0.8rem;
	font-size: clamp(3rem, 7vw, 5.5rem);
	line-height: 0.85;
}

.asc-merch-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 3rem);
}

.asc-merch-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-red);
	box-shadow: 7px 9px 0 rgba(0,0,0,0.46);
	transform: rotate(-0.25deg);
}

.asc-merch-product-card:nth-child(even) {
	transform: rotate(0.3deg);
}

.asc-merch-product-card__image {
	display: block;
	overflow: hidden;
	background: #ffffff;
	border-bottom: 2px solid var(--asc-ink);
}

.asc-merch-product-card__image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 220ms ease;
}

.asc-merch-product-card:hover
.asc-merch-product-card__image img {
	transform: scale(1.035);
}

.asc-merch-product-card__placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	font-family: "Bebas Neue", sans-serif;
	font-size: 3rem;
	text-transform: uppercase;
}

.asc-merch-product-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.25rem;
}

.asc-merch-product-card__eyebrow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.6rem;
	width: 100%;
	margin-bottom: 1rem;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.66;
}

.asc-merch-product-card__title {
	margin: 0 0 0.8rem;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 0.9;
}

.asc-merch-product-card__title a {
	color: var(--asc-ink);
	text-decoration: none;
}

.asc-merch-product-card__title a:hover {
	color: var(--asc-red);
}

.asc-merch-product-card__price {
	margin-bottom: 1rem;
	color: var(--asc-red);
	font-family: "Antonio", sans-serif;
	font-size: 1.45rem;
	font-weight: 700;
}

.asc-merch-product-card__description {
	margin: 0 0 1.5rem;
	line-height: 1.55;
}

.asc-merch-product-card__button {
	margin-top: auto;
	padding: 0.75rem 1rem;
	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-ink);
	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-merch-product-card__button:hover {
	color: var(--asc-ink);
	background: var(--asc-electric);
	transform: translate(-2px, -2px);
}

.asc-merch-products__empty,
.asc-merch-empty {
	padding: 2.5rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(0,0,0,0.45);
}

@media (max-width: 960px) {
	.asc-drop-pass {
		grid-template-columns: 1fr;
	}

	.asc-drop-pass__image {
		border-left: 0;
		border-top: 3px dashed rgba(255,255,255,0.22);
	}

	.asc-drop-pass__image img {
		min-height: 300px;
		max-height: 480px;
	}

	.asc-merch-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.asc-merch-drop {
		width: calc(100% - 1rem);
	}

	.asc-drop-pass__content {
		padding: 2rem 1.2rem;
	}

	.asc-merch-products__grid {
		grid-template-columns: 1fr;
	}

	.asc-merch-product-card,
	.asc-merch-product-card:nth-child(even) {
		transform: none;
	}
}
/* =========================================================
   HOME DINÁMICO
   ========================================================= */

.asc-home {
	display: grid;
	gap: clamp(4rem, 8vw, 7rem);
}

.asc-home-hero {
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

.asc-home-section {
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

.asc-home-section__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2.25rem;
	padding-bottom: 0.85rem;
	color: var(--asc-white);
	border-bottom: 3px solid var(--asc-red);
}

.asc-home-section__heading h2 {
	margin: 0;
	color: var(--asc-white);
	font-size: clamp(3rem, 7vw, 5.5rem);
	line-height: 0.85;
}

.asc-home-section__code {
	display: block;
	margin-bottom: 0.7rem;
	color: var(--asc-electric);
	font-family: "Inter", sans-serif;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.asc-home-section__link {
	flex-shrink: 0;
	color: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-home-section__link:hover {
	color: var(--asc-white);
}

/* The Feed */

.asc-home-feed__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.8rem, 4vw, 3rem);
}

.asc-home-article {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-card-accent);
	box-shadow: 7px 9px 0 rgba(0, 0, 0, 0.46);
	transform: rotate(-0.2deg);
}

.asc-home-article:nth-child(even) {
	transform: rotate(0.25deg);
}

.asc-home-article__image {
	display: block;
	overflow: hidden;
	background: #fff;
	border-bottom: 2px solid var(--asc-ink);
}

.asc-home-article__image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 220ms ease;
}

.asc-home-article:hover .asc-home-article__image img {
	transform: scale(1.035);
}

.asc-home-article__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.2rem;
}

.asc-home-article__category {
	display: inline-flex;
	margin-bottom: 1rem;
	padding: 0.42rem 0.7rem;
	color: var(--asc-card-contrast);
	background: var(--asc-card-accent);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-home-article h3 {
	margin: 0 0 0.8rem;
	font-size: clamp(2rem, 4vw, 3.1rem);
	line-height: 0.9;
}

.asc-home-article h3 a {
	color: var(--asc-ink);
	text-decoration: none;
}

.asc-home-article h3 a:hover {
	color: var(--asc-card-accent);
}

.asc-home-article__excerpt {
	margin-bottom: 1.2rem;
	line-height: 1.55;
}

.asc-home-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px dashed rgba(9, 6, 4, 0.32);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	opacity: 0.68;
}

/* Categorías */

.asc-home-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.4rem);
}

.asc-home-category {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 280px;
	padding: 1.5rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	border-left: 10px solid var(--asc-category-accent);
	box-shadow: 6px 8px 0 rgba(0, 0, 0, 0.44);
	text-decoration: none;
	transform: rotate(-0.2deg);
}

.asc-home-category:nth-child(even) {
	transform: rotate(0.3deg);
}

.asc-home-category:hover {
	color: var(--asc-category-contrast);
	background: var(--asc-category-accent);
	transform: rotate(0deg) translate(-3px, -3px);
}

.asc-home-category__number {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-family: "Bebas Neue", sans-serif;
	font-size: 2.4rem;
	line-height: 1;
	opacity: 0.18;
}

.asc-home-category h3 {
	margin: 1.8rem 0 0.8rem;
	font-size: clamp(2.3rem, 4vw, 3.6rem);
	line-height: 0.88;
}

.asc-home-category p {
	margin: 0 0 1.4rem;
	line-height: 1.55;
}

.asc-home-category__count {
	margin-top: auto;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.62;
}

.asc-home-category__action {
	margin-top: 0.7rem;
	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Hook Lab */

.asc-home-hook-lab__poster {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding: clamp(2rem, 6vw, 5rem);
	color: var(--asc-white);
	background:
		linear-gradient(
			135deg,
			rgba(0, 217, 255, 0.13),
			transparent 42%
		),
		#090604;
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-top: 9px solid var(--asc-electric);
	box-shadow: 10px 12px 0 rgba(0, 0, 0, 0.5);
}

.asc-home-hook-lab__code {
	grid-column: 1 / -1;
	color: var(--asc-electric);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.asc-home-hook-lab__label {
	display: inline-block;
	margin-bottom: 1rem;
	padding: 0.42rem 0.7rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asc-home-hook-lab h2 {
	margin: 0 0 1rem;
	color: var(--asc-white);
	font-size: clamp(4rem, 10vw, 8rem);
	line-height: 0.8;
}

.asc-home-hook-lab__content p {
	max-width: 650px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.05rem;
	line-height: 1.7;
}

.asc-home-hook-lab__content a {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.85rem 1.1rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-home-hook-lab__sample {
	display: grid;
	align-content: center;
	gap: 0.7rem;
	padding: 1.4rem;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.035);
}

.asc-home-hook-lab__sample span {
	color: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.asc-home-hook-lab__sample strong {
	margin-bottom: 0.6rem;
	font-size: 1rem;
	line-height: 1.45;
}

/* Merch dentro del Home */

.asc-home-merch-intro {
	width: 100%;
}

.asc-home-merch-intro > .asc-merch-drop {
	width: 100%;
}

/* Comunidad */

.asc-home-club__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.asc-home-club-card {
	display: flex;
	flex-direction: column;
	min-height: 300px;
	padding: 1.5rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.46);
}

.asc-home-club-card--lineup {
	border-top: 8px solid var(--asc-yellow);
}

.asc-home-club-card--backstage {
	border-top: 8px solid var(--asc-red);
}

.asc-home-club-card--soundcheck {
	border-top: 8px solid var(--asc-electric);
}

.asc-home-club-card > span {
	width: fit-content;
	padding: 0.4rem 0.65rem;
	color: var(--asc-white);
	background: var(--asc-ink);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asc-home-club-card h3 {
	margin: 1.2rem 0 0.8rem;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	line-height: 0.9;
}

.asc-home-club-card p {
	line-height: 1.55;
}

.asc-home-club-card a {
	margin-top: auto;
	padding-top: 1.2rem;
	color: var(--asc-red);
	font-family: "Antonio", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-home-empty {
	padding: 2.5rem;
	color: var(--asc-ink);
}

@media (max-width: 960px) {
	.asc-home-feed__grid,
	.asc-home-categories__grid,
	.asc-home-club__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.asc-home-hook-lab__poster {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.asc-home {
		gap: 4rem;
	}

	.asc-home-section,
	.asc-home-hero {
		width: calc(100% - 1rem);
	}

	.asc-home-section__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.asc-home-feed__grid,
	.asc-home-categories__grid,
	.asc-home-club__grid {
		grid-template-columns: 1fr;
	}

	.asc-home-article,
	.asc-home-article:nth-child(even),
	.asc-home-category,
	.asc-home-category:nth-child(even) {
		transform: none;
	}
}
/* =========================================================
   HOME — THE FEED COMO CARRUSEL
   ========================================================= */

/* Encabezado convertido en franja de cartel */

.asc-home-feed .asc-home-section__heading {
	position: relative;
	align-items: center;
	margin-bottom: 1.35rem;
	padding: 1rem 1.2rem;
	color: var(--asc-white);
	background: rgba(9, 6, 4, 0.96);
	border: 2px solid rgba(255, 255, 255, 0.78);
	border-left: 9px solid var(--asc-red);
	box-shadow: 6px 7px 0 rgba(0, 0, 0, 0.46);
}

.asc-home-feed .asc-home-section__heading h2 {
	color: var(--asc-white);
	font-size: clamp(3.5rem, 8vw, 6.4rem);
	line-height: 0.78;
}

.asc-home-feed .asc-home-section__code {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 0.65rem;
	padding: 0.4rem 0.65rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	font-size: 0.7rem;
	letter-spacing: 0.13em;
	box-shadow: 3px 3px 0 var(--asc-red);
}

.asc-home-feed .asc-home-section__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 0.72rem 1rem;
	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);
	box-shadow: 3px 4px 0 var(--asc-electric);
	font-size: 0.82rem;
}

.asc-home-feed .asc-home-section__link:hover {
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-color: var(--asc-electric);
	box-shadow: 3px 4px 0 var(--asc-red);
	transform: translate(-2px, -2px);
}

/* Controles */

.asc-home-carousel {
	position: relative;
	min-width: 0;
}

.asc-home-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.55rem;
	margin-bottom: 0.85rem;
}

.asc-home-carousel__button,
.asc-home-carousel__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);
	border-radius: 0;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.42);
	font-family: "Antonio", sans-serif;
	font-weight: 700;
}

.asc-home-carousel__button {
	width: 48px;
	padding: 0;
	font-size: 1.25rem;
	cursor: pointer;
}

.asc-home-carousel__button:hover:not(:disabled) {
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-color: var(--asc-electric);
	transform: translate(-2px, -2px);
}

.asc-home-carousel__button:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.asc-home-carousel__counter {
	min-width: 62px;
	padding-inline: 0.75rem;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
}

/* Pista horizontal */

.asc-home-feed__grid {
	display: flex !important;
	grid-template-columns: none !important;
	gap: clamp(1.3rem, 3vw, 2rem);
	width: 100%;
	padding: 0.5rem 0.5rem 1.3rem;
	overflow-x: auto;
	overflow-y: visible;
	scroll-behavior: smooth;
	scroll-padding-inline: 0.5rem;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
	scrollbar-color: var(--asc-electric) rgba(9, 6, 4, 0.55);
	scrollbar-width: thin;
}

.asc-home-feed__grid::-webkit-scrollbar {
	height: 8px;
}

.asc-home-feed__grid::-webkit-scrollbar-track {
	background: rgba(9, 6, 4, 0.55);
}

.asc-home-feed__grid::-webkit-scrollbar-thumb {
	background: var(--asc-electric);
	border: 2px solid rgba(9, 6, 4, 0.55);
}

/* Tarjeta más ancha y sin cortes */

.asc-home-feed__grid .asc-home-article {
	flex: 0 0 clamp(320px, 36vw, 430px);
	width: clamp(320px, 36vw, 430px);
	max-width: calc(100vw - 2rem);
	min-height: 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	transform: none !important;
}

.asc-home-feed__grid .asc-home-article:hover {
	transform: translateY(-3px) !important;
}

.asc-home-article__content {
	min-width: 0;
	overflow: hidden;
}

.asc-home-article h3 {
	width: 100%;
	max-width: 100%;
	font-size: clamp(2rem, 3.6vw, 3rem);
	line-height: 0.92;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}

.asc-home-article h3 a {
	display: block;
	max-width: 100%;
}

.asc-home-article__excerpt {
	display: -webkit-box;
	min-height: calc(1.55em * 3);
	max-height: calc(1.55em * 4);
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

/* Desvanece ligeramente el extremo para indicar continuidad */

.asc-home-carousel::after {
	content: "";
	position: absolute;
	top: 58px;
	right: 0;
	bottom: 12px;
	z-index: 2;
	width: 36px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(65, 20, 15, 0.5)
	);
}

@media (max-width: 620px) {
	.asc-home-feed .asc-home-section__heading {
		align-items: stretch;
		padding: 0.9rem;
	}

	.asc-home-feed .asc-home-section__heading h2 {
		font-size: clamp(3.4rem, 18vw, 5rem);
	}

	.asc-home-feed .asc-home-section__link {
		width: 100%;
		margin-top: 0.25rem;
	}

	.asc-home-carousel__controls {
		justify-content: space-between;
	}

	.asc-home-feed__grid {
		padding-inline: 0.15rem;
		scroll-padding-inline: 0.15rem;
	}

	.asc-home-feed__grid .asc-home-article {
		flex-basis: min(84vw, 350px);
		width: min(84vw, 350px);
		max-width: min(84vw, 350px);
	}

	.asc-home-article h3 {
		font-size: clamp(2.15rem, 10vw, 3rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.asc-home-feed__grid {
		scroll-behavior: auto;
	}
}
/* =========================================================
   HOME — TÍTULOS RESPONSIVE DE CATEGORÍAS
   ========================================================= */

.asc-home-category {
	container-type: inline-size;
	min-width: 0;
	overflow: hidden;
}

.asc-home-category h3 {
	width: 100%;
	max-width: 100%;
	margin: 1.8rem 0 0.8rem;

	font-size: clamp(2rem, 14cqi, 3.25rem);
	line-height: 0.9;
	letter-spacing: 0;

	text-wrap: balance;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

/* Nombres particularmente largos */

.asc-home-category--ad-breakdown h3,
.asc-home-category--tech-tools h3 {
	font-size: clamp(1.85rem, 12cqi, 2.75rem);
	letter-spacing: -0.01em;
}

/* Mantiene las descripciones dentro de la tarjeta */

.asc-home-category p {
	width: 100%;
	max-width: 100%;
	overflow-wrap: break-word;
}

/* Más espacio vertical para títulos de dos o tres líneas */

@media (min-width: 783px) {
	.asc-home-category {
		min-height: 330px;
	}

	.asc-home-category h3 {
		min-height: 1.8em;
	}
}
/* =========================================================
   HOME — ENCABEZADO DE CATEGORÍAS
   ========================================================= */

.asc-home-categories .asc-home-section__heading {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;

	margin-bottom: 2.4rem;
	padding: 1.25rem 1.5rem 1.45rem;

	color: var(--asc-white);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.035),
			transparent 45%
		),
		var(--asc-ink);

	border: 2px solid rgba(255, 255, 255, 0.78);
	border-left: 9px solid var(--asc-yellow);
	border-bottom: 0;

	box-shadow:
		6px 7px 0 rgba(0, 0, 0, 0.46);

	overflow: hidden;
}

/* Línea con los colores de las seis secciones */

.asc-home-categories .asc-home-section__heading::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 7px;

	background: linear-gradient(
		90deg,
		#c94040 0 16.66%,
		#f4c430 16.66% 33.32%,
		#ef7b32 33.32% 49.98%,
		#00d9ff 49.98% 66.64%,
		#8b5cf6 66.64% 83.3%,
		#62b96f 83.3% 100%
	);
}

/* Etiqueta 02 · Secciones */

.asc-home-categories .asc-home-section__code {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 0.75rem;
	padding: 0.4rem 0.7rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-yellow);

	font-size: 0.7rem;
	letter-spacing: 0.14em;
}

/* Título principal */

.asc-home-categories .asc-home-section__heading h2 {
	max-width: 100%;
	margin: 0;

	color: var(--asc-white);
	font-size: clamp(3.6rem, 7.5vw, 6.6rem);
	line-height: 0.82;
	letter-spacing: 0.015em;

	text-wrap: balance;
	overflow-wrap: normal;
	word-break: normal;
}

/* Código decorativo del cartel */

.asc-home-categories .asc-home-section__heading::before {
	content: "SELECT YOUR ACCESS · 06 SECTIONS";
	position: absolute;
	top: 1rem;
	right: 1.25rem;

	color: rgba(255, 255, 255, 0.34);

	font-family: "Inter", sans-serif;
	font-size: 0.48rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Tablet */

@media (max-width: 900px) {
	.asc-home-categories .asc-home-section__heading h2 {
		font-size: clamp(3.3rem, 10vw, 5.3rem);
	}

	.asc-home-categories .asc-home-section__heading::before {
		display: none;
	}
}

/* Móvil */

@media (max-width: 620px) {
	.asc-home-categories .asc-home-section__heading {
		align-items: flex-start;
		flex-direction: column;
		padding: 1rem 1rem 1.3rem;
	}

	.asc-home-categories .asc-home-section__heading h2 {
		font-size: clamp(3.2rem, 16vw, 4.7rem);
		line-height: 0.84;
	}
}
/* =========================================================
   EVENTOS — ESTADOS OPERATIVOS
   ========================================================= */

.asc-event-ticket-card,
.asc-event-details {
	--asc-event-status-bg: var(--asc-red);
	--asc-event-status-text: var(--asc-white);
}

/* Programado */

.asc-event-ticket-card--status-scheduled,
.asc-event-details--status-scheduled {
	--asc-event-status-bg: var(--asc-red);
	--asc-event-status-text: var(--asc-white);
}

/* Pospuesto */

.asc-event-ticket-card--status-postponed,
.asc-event-details--status-postponed {
	--asc-event-status-bg: var(--asc-yellow);
	--asc-event-status-text: var(--asc-ink);
}

/* Agotado */

.asc-event-ticket-card--status-sold_out,
.asc-event-details--status-sold_out {
	--asc-event-status-bg: var(--asc-orange);
	--asc-event-status-text: var(--asc-ink);
}

/* Cancelado */

.asc-event-ticket-card--status-canceled,
.asc-event-details--status-canceled {
	--asc-event-status-bg: #6f6965;
	--asc-event-status-text: var(--asc-white);
}

/* Badge de la tarjeta */

.asc-event-ticket-card
.asc-event-ticket-card__status {
	color: var(--asc-event-status-text);
	background: var(--asc-event-status-bg);
}

/* Estado dentro de la ficha individual */

.asc-event-details__status {
	color: var(--asc-event-status-text);
	background: var(--asc-event-status-bg);
}

/* Organizador */

.asc-event-ticket-card__organizer {
	margin: 0.35rem 0;
	font-size: 0.86rem;
}

.asc-event-ticket-card__organizer strong {
	color: var(--asc-red);
}

/* Tratamiento especial de cancelados */

.asc-event-ticket-card--status-canceled {
	opacity: 0.76;
	filter: saturate(0.55);
}

.asc-event-ticket-card--status-canceled
.asc-event-ticket-card__title {
	text-decoration: line-through;
	text-decoration-thickness: 2px;
}

.asc-event-details--status-canceled
.asc-event-details__date {
	background: #6f6965;
}

/* Los eventos pasados programados conservan tono neutro */

.asc-event-ticket-card--past
.asc-event-ticket-card__status {
	color: var(--asc-ink);
	background: var(--asc-paper-dark);
}

.asc-event-ticket-card--past.asc-event-ticket-card--status-postponed
.asc-event-ticket-card__status,
.asc-event-ticket-card--past.asc-event-ticket-card--status-sold_out
.asc-event-ticket-card__status,
.asc-event-ticket-card--past.asc-event-ticket-card--status-canceled
.asc-event-ticket-card__status {
	color: var(--asc-event-status-text);
	background: var(--asc-event-status-bg);
}
/* =========================================================
   EVENTO INDIVIDUAL — FICHA COMPACTA CORREGIDA
   ========================================================= */

/*
 * Reinicio de la composición anterior.
 * Elimina la columna vacía reservada para una imagen
 * y cualquier posicionamiento heredado.
 */

body.single-asc_event .asc-event-details {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	aspect-ratio: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 5px 6px 0 rgba(0, 0, 0, 0.42);

	overflow: visible !important;
}

/*
 * Elimina decoraciones antiguas que pudieran ocupar
 * la primera columna.
 */

body.single-asc_event .asc-event-details::before,
body.single-asc_event .asc-event-details::after,
body.single-asc_event .asc-event-details__grid::before,
body.single-asc_event .asc-event-details__grid::after {
	content: none !important;
	display: none !important;
}

/* Cuadrícula compacta */

body.single-asc_event .asc-event-details__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-template-rows: none !important;
	grid-auto-flow: row !important;
	grid-auto-rows: max-content !important;
	align-items: start !important;
	align-content: start !important;
	justify-content: stretch !important;

	gap: 2px !important;

	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	aspect-ratio: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--asc-ink);
}

/*
 * Reinicia todas las posiciones antiguas:
 * grid-column, grid-row y posibles alturas forzadas.
 */

body.single-asc_event .asc-event-details__item,
body.single-asc_event .asc-event-details__date,
body.single-asc_event .asc-event-details__status {
	display: flex !important;
	position: relative !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;

	grid-column: auto !important;
	grid-row: auto !important;
	grid-area: auto !important;
	align-self: start !important;

	gap: 0.3rem !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	aspect-ratio: auto !important;

	inset: auto !important;

	margin: 0 !important;
	padding: 1rem 1.1rem !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 0 !important;
	transform: none !important;
}

/* Elimina márgenes heredados dentro de cada celda */

body.single-asc_event .asc-event-details__item > *,
body.single-asc_event .asc-event-details__date > *,
body.single-asc_event .asc-event-details__status > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Etiquetas pequeñas */

body.single-asc_event .asc-event-details__label {
	display: block !important;

	margin: 0 0 0.15rem !important;
	padding: 0 !important;

	color: rgba(15, 12, 10, 0.58);

	font-size: 0.62rem !important;
	font-weight: 800;
	line-height: 1 !important;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

/* Valores principales */

body.single-asc_event .asc-event-details__item strong {
	display: block !important;

	margin: 0 !important;
	padding: 0 !important;

	font-size: clamp(0.95rem, 1.5vw, 1.1rem) !important;
	font-weight: 800;
	line-height: 1.2 !important;

	overflow-wrap: anywhere;
}

/* Valores secundarios */

body.single-asc_event
.asc-event-details__item
span:not(.asc-event-details__label) {
	display: block;

	margin: 0 !important;
	padding: 0 !important;

	font-size: 0.88rem !important;
	line-height: 1.3 !important;
}

/* Fecha */

body.single-asc_event .asc-event-details__date {
	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;
}

body.single-asc_event
.asc-event-details__date
.asc-event-details__label {
	color: rgba(15, 12, 10, 0.62) !important;
}

body.single-asc_event .asc-event-details__time {
	margin-top: 0.2rem !important;
	font-weight: 700;
}

/* Estado */

body.single-asc_event .asc-event-details__status {
	color: var(--asc-event-status-text) !important;
	background: var(--asc-event-status-bg) !important;
}

body.single-asc_event
.asc-event-details__status
.asc-event-details__label {
	color: currentColor !important;
	opacity: 0.7;
}

/* Dirección */

body.single-asc_event .asc-event-details__address {
	display: block !important;
	margin-top: 0.2rem !important;
	opacity: 0.7;
}

/* Botón inferior */

body.single-asc_event .asc-event-details__actions {
	display: flex !important;
	align-items: center !important;

	width: 100% !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 1rem 1.1rem !important;

	background: var(--asc-ink);
	border: 0 !important;
}

body.single-asc_event .asc-event-details__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;

	width: fit-content;
	min-height: 42px;
	padding: 0.72rem 1rem;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);

	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-electric);
}

body.single-asc_event .asc-event-details__button:hover,
body.single-asc_event .asc-event-details__button:focus-visible {
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Contenido descriptivo */

body.single-asc_event .wp-block-post-content {
	font-size: 1rem;
	line-height: 1.55;
}

body.single-asc_event .wp-block-post-content > p {
	margin-top: 0.7rem;
	margin-bottom: 0.7rem;
}

/* Móvil */

@media (max-width: 700px) {
	body.single-asc_event .asc-event-details__grid {
		grid-template-columns: 1fr !important;
	}

	body.single-asc_event .asc-event-details__item,
	body.single-asc_event .asc-event-details__date,
	body.single-asc_event .asc-event-details__status {
		padding: 0.9rem !important;
	}

	body.single-asc_event .asc-event-details__actions {
		padding: 0.9rem !important;
	}

	body.single-asc_event .asc-event-details__button {
		width: 100%;
	}
}
/* =========================================================
   EVENTO INDIVIDUAL — RÓTULOS GRANDES
   ========================================================= */

/*
 * Selector amplio para alcanzar Fecha, Estado, Lugar,
 * Presenta, Tipo de evento y Acceso.
 */

body.single-asc_event
.asc-event-details__grid
.asc-event-details__label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;

	width: auto !important;
	min-width: 9.5rem !important;
	min-height: 2.45rem !important;

	margin: 0 0 1.15rem !important;
	padding: 0.62rem 0.9rem !important;

	color: var(--asc-white) !important;
	background: var(--asc-ink) !important;

	border: 0 !important;
	border-left: 7px solid var(--asc-electric) !important;

	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;

	box-shadow:
		4px 4px 0 rgba(0, 0, 0, 0.22) !important;
}

/* Fecha */

body.single-asc_event
.asc-event-details__date
.asc-event-details__label {
	border-left-color: var(--asc-yellow) !important;
}

/* Estado */

body.single-asc_event
.asc-event-details__status
.asc-event-details__label {
	color: var(--asc-ink) !important;
	background: var(--asc-white) !important;
	border-left-color: var(--asc-electric) !important;
}

/* Lugar */

body.single-asc_event
.asc-event-details__grid
.asc-event-details__item:nth-of-type(3)
.asc-event-details__label {
	border-left-color: var(--asc-electric) !important;
}

/* Presenta */

body.single-asc_event
.asc-event-details__grid
.asc-event-details__item:nth-of-type(4)
.asc-event-details__label {
	border-left-color: var(--asc-red) !important;
}

/* Tipo de evento */

body.single-asc_event
.asc-event-details__grid
.asc-event-details__item:nth-of-type(5)
.asc-event-details__label {
	border-left-color: var(--asc-yellow) !important;
}

/* Acceso */

body.single-asc_event
.asc-event-details__grid
.asc-event-details__item:nth-of-type(6)
.asc-event-details__label {
	border-left-color: var(--asc-orange) !important;
}

/* Da mayor presencia a los valores */

body.single-asc_event
.asc-event-details__item
> strong {
	font-size: clamp(1.05rem, 1.7vw, 1.3rem) !important;
	line-height: 1.15 !important;
}

/* Móvil */

@media (max-width: 700px) {
	body.single-asc_event
	.asc-event-details__grid
	.asc-event-details__label {
		width: 100% !important;
		min-width: 0 !important;
		min-height: 2.35rem !important;

		margin-bottom: 0.9rem !important;
		padding: 0.58rem 0.75rem !important;

		font-size: 0.72rem !important;
	}
}
/* =========================================================
   HOME — PRÓXIMO EVENTO CORREGIDO
   ========================================================= */

/*
 * Reinicia la tarjeta solamente dentro del Home.
 */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	aspect-ratio: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);

	overflow: hidden !important;
	transform: none !important;
}

/* Elimina decoraciones o columnas heredadas */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card::before,
:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card::after,
:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__content::before,
:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__content::after {
	content: none !important;
	display: none !important;
}

/* Imagen opcional */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__image {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	height: auto !important;
	max-height: 420px !important;

	margin: 0 !important;

	background: var(--asc-ink);
	overflow: hidden;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__image img {
	display: block;

	width: 100%;
	height: 100%;
	max-height: 420px;

	object-fit: cover;
}

/* Nueva composición interna */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__content {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-template-rows: none !important;

	grid-template-areas:
		"topline topline"
		"date date"
		"title title"
		"organizer price"
		"location location"
		"actions actions" !important;

	gap: 0 !important;

	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--asc-paper);
}

/* Reinicio general de los elementos */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__content > * {
	position: static !important;

	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;

	min-height: 0 !important;
	height: auto !important;

	margin: 0 !important;

	inset: auto !important;
	transform: none !important;

	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

/* Línea superior */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__topline {
	grid-area: topline;

	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.7rem;

	padding: 0.8rem 1rem !important;

	background: var(--asc-ink);
}

/* Estado */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__status {
	display: inline-flex !important;
	align-items: center;

	width: fit-content !important;
	padding: 0.55rem 0.75rem !important;

	color: var(--asc-event-status-text);
	background: var(--asc-event-status-bg);

	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Tipo de evento */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__type {
	display: inline-flex !important;
	width: fit-content !important;

	color: var(--asc-white);

	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Fecha horizontal */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__date {
	grid-area: date;

	display: block !important;

	width: 100% !important;
	padding: 1rem 1.2rem !important;

	color: var(--asc-ink);
	background: var(--asc-electric);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(1rem, 2vw, 1.35rem);
	font-weight: 900;
	line-height: 1.25;

	white-space: normal !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Título */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__title {
	grid-area: title;

	padding: 1.5rem 1.2rem 1.25rem !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(2.8rem, 7vw, 6rem) !important;
	font-weight: 900;
	line-height: 0.88 !important;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__title a {
	color: inherit;
	text-decoration: none;
}

/* Organizador */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__organizer {
	grid-area: organizer;

	display: flex !important;
	flex-direction: column;
	gap: 0.35rem;

	padding: 1rem 1.2rem !important;

	background: var(--asc-paper);
	border-right: 2px solid var(--asc-ink);
	border-bottom: 2px solid var(--asc-ink);

	font-size: 0.85rem;
	line-height: 1.3;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__organizer span {
	color: rgba(15, 12, 10, 0.6);

	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__organizer strong {
	color: var(--asc-red);

	font-size: 1.05rem;
	line-height: 1.2;
}

/* Acceso */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__price {
	grid-area: price;

	display: flex !important;
	flex-direction: column;
	gap: 0.35rem;

	padding: 1rem 1.2rem !important;

	background: var(--asc-paper);
	border-bottom: 2px solid var(--asc-ink);

	font-size: 0.85rem;
	line-height: 1.3;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__price span {
	color: rgba(15, 12, 10, 0.6);

	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__price strong {
	font-size: 1.05rem;
	line-height: 1.2;
}

/* Lugar */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__location {
	grid-area: location;

	display: block !important;

	padding: 1.1rem 1.2rem !important;

	background: var(--asc-paper);
	border-bottom: 2px solid var(--asc-ink);

	font-size: 1rem;
	line-height: 1.5;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__location strong {
	font-size: 1.15rem;
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__address {
	display: block !important;

	margin-top: 0.45rem !important;

	color: rgba(15, 12, 10, 0.66);
	font-size: 0.9rem;
}

/* Botones */

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__actions {
	grid-area: actions;

	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.8rem;

	padding: 1rem 1.2rem !important;

	background: var(--asc-ink);
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;

	width: auto !important;
	min-height: 44px;
	padding: 0.75rem 1rem !important;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);

	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-electric);
}

:where(
	.asc-home-next-event,
	.wp-block-aftershow-home-next-event,
	body.front-page
) .asc-event-ticket-card__button--external {
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Móvil */

@media (max-width: 700px) {
	:where(
		.asc-home-next-event,
		.wp-block-aftershow-home-next-event,
		body.front-page
	) .asc-event-ticket-card__content {
		grid-template-columns: 1fr !important;

		grid-template-areas:
			"topline"
			"date"
			"title"
			"organizer"
			"location"
			"price"
			"actions" !important;
	}

	:where(
		.asc-home-next-event,
		.wp-block-aftershow-home-next-event,
		body.front-page
	) .asc-event-ticket-card__title {
		padding: 1.2rem 1rem !important;

		font-size: clamp(2.7rem, 15vw, 4.5rem) !important;
	}

	:where(
		.asc-home-next-event,
		.wp-block-aftershow-home-next-event,
		body.front-page
	) .asc-event-ticket-card__organizer {
		border-right: 0;
	}

	:where(
		.asc-home-next-event,
		.wp-block-aftershow-home-next-event,
		body.front-page
	) .asc-event-ticket-card__actions {
		flex-direction: column;
		align-items: stretch;
	}

	:where(
		.asc-home-next-event,
		.wp-block-aftershow-home-next-event,
		body.front-page
	) .asc-event-ticket-card__button {
		width: 100% !important;
	}
}
/* =========================================================
   LANDING DE EVENTOS — TARJETAS CORREGIDAS
   Solo afecta la agenda / archivo de eventos.
   ========================================================= */

/* Distribución general de la agenda */

.asc-events-list .asc-events-list__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: stretch;
	gap: 2rem !important;

	width: 100%;
}

/* Reinicio completo de cada tarjeta */

.asc-events-list .asc-event-ticket-card {
	display: flex !important;
	position: relative !important;
	flex-direction: column !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	aspect-ratio: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 6px 7px 0 rgba(0, 0, 0, 0.42);

	overflow: hidden !important;
	transform: none !important;
}

/* Elimina decoraciones o columnas heredadas */

.asc-events-list .asc-event-ticket-card::before,
.asc-events-list .asc-event-ticket-card::after,
.asc-events-list .asc-event-ticket-card__content::before,
.asc-events-list .asc-event-ticket-card__content::after {
	content: none !important;
	display: none !important;
}

/* Imagen opcional */

.asc-events-list .asc-event-ticket-card__image {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	height: 240px !important;
	max-height: 240px !important;

	margin: 0 !important;

	background: var(--asc-ink);
	overflow: hidden;
}

.asc-events-list .asc-event-ticket-card__image img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover;
}

/* Contenido interno */

.asc-events-list .asc-event-ticket-card__content {
	display: flex !important;
	position: relative !important;
	flex: 1 1 auto;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--asc-paper);
}

/* Reinicio de posiciones heredadas */

.asc-events-list .asc-event-ticket-card__content > * {
	position: static !important;

	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;

	inset: auto !important;
	margin: 0 !important;
	transform: none !important;

	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

/* Línea superior */

.asc-events-list .asc-event-ticket-card__topline {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.7rem;

	padding: 0.8rem 1rem !important;

	background: var(--asc-ink);
}

/* Estado */

.asc-events-list .asc-event-ticket-card__status {
	display: inline-flex !important;
	align-items: center;

	width: fit-content !important;
	padding: 0.5rem 0.7rem !important;

	color: var(--asc-event-status-text);
	background: var(--asc-event-status-bg);

	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Tipo */

.asc-events-list .asc-event-ticket-card__type {
	display: inline-flex !important;
	width: fit-content !important;

	color: var(--asc-white);

	font-size: 0.66rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Fecha horizontal */

.asc-events-list .asc-event-ticket-card__date {
	display: block !important;

	width: 100% !important;
	padding: 0.9rem 1rem !important;

	color: var(--asc-ink);
	background: var(--asc-electric);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(0.95rem, 1.5vw, 1.15rem);
	font-weight: 900;
	line-height: 1.25;

	white-space: normal !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Título */

.asc-events-list .asc-event-ticket-card__title {
	padding: 1.15rem 1rem 1rem !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(2rem, 4vw, 3.6rem) !important;
	font-weight: 900;
	line-height: 0.92 !important;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

.asc-events-list .asc-event-ticket-card__title a {
	color: inherit;
	text-decoration: none;
}

.asc-events-list .asc-event-ticket-card__title a:hover,
.asc-events-list .asc-event-ticket-card__title a:focus-visible {
	color: var(--asc-red);
}

/* Organizador */

.asc-events-list .asc-event-ticket-card__organizer {
	display: flex !important;
	flex-direction: column;
	gap: 0.3rem;

	padding: 0.9rem 1rem !important;

	background: var(--asc-paper);
	border-bottom: 1px solid rgba(15, 12, 10, 0.24);

	font-size: 0.85rem;
	line-height: 1.3;
}

.asc-events-list .asc-event-ticket-card__organizer span {
	color: rgba(15, 12, 10, 0.58);

	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asc-events-list .asc-event-ticket-card__organizer strong {
	color: var(--asc-red);

	font-size: 1rem;
	line-height: 1.2;
}

/* Lugar */

.asc-events-list .asc-event-ticket-card__location {
	display: block !important;

	padding: 0.95rem 1rem !important;

	background: var(--asc-paper);
	border-bottom: 1px solid rgba(15, 12, 10, 0.24);

	font-size: 0.94rem;
	line-height: 1.45;
}

.asc-events-list .asc-event-ticket-card__location strong {
	font-size: 1.05rem;
}

.asc-events-list .asc-event-ticket-card__address {
	display: block !important;

	margin-top: 0.4rem !important;

	color: rgba(15, 12, 10, 0.65);
	font-size: 0.84rem;
	line-height: 1.4;
}

/* Acceso */

.asc-events-list .asc-event-ticket-card__price {
	display: flex !important;
	flex-direction: column;
	gap: 0.3rem;

	padding: 0.9rem 1rem !important;

	background: var(--asc-paper);
	border-bottom: 2px solid var(--asc-ink);

	font-size: 0.84rem;
	line-height: 1.3;
}

.asc-events-list .asc-event-ticket-card__price span {
	color: rgba(15, 12, 10, 0.58);

	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asc-events-list .asc-event-ticket-card__price strong {
	font-size: 1.05rem;
	line-height: 1.2;
}

/* Acciones siempre al final */

.asc-events-list .asc-event-ticket-card__actions {
	display: flex !important;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.75rem;

	margin-top: auto !important;
	padding: 1rem !important;

	background: var(--asc-ink);
}

/* Botones */

.asc-events-list .asc-event-ticket-card__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;

	flex: 1 1 150px;
	width: auto !important;
	min-height: 44px;

	padding: 0.75rem 0.9rem !important;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);

	font-size: 0.7rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-electric);
}

.asc-events-list
.asc-event-ticket-card__button--external {
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Tarjetas canceladas */

.asc-events-list
.asc-event-ticket-card--status-canceled
.asc-event-ticket-card__title {
	text-decoration: line-through;
	text-decoration-thickness: 2px;
}

/* Tablet */

@media (max-width: 1000px) {
	.asc-events-list .asc-events-list__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Móvil */

@media (max-width: 620px) {
	.asc-events-list .asc-event-ticket-card__image {
		height: 200px !important;
	}

	.asc-events-list .asc-event-ticket-card__title {
		font-size: clamp(2.2rem, 12vw, 3.5rem) !important;
	}

	.asc-events-list .asc-event-ticket-card__actions {
		flex-direction: column;
	}

	.asc-events-list .asc-event-ticket-card__button {
		flex: 0 0 auto;
		width: 100% !important;
	}
}
/* =========================================================
   LANDING DE EVENTOS — ENCABEZADOS DE AGENDA
   ========================================================= */

.asc-events-list .asc-events-list__heading {
	display: flex !important;
	position: relative !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0.7rem !important;

	width: 100% !important;
	margin: 0 0 2rem !important;
	padding: 0 0 1rem !important;

	border-bottom: 4px solid var(--asc-electric) !important;
}

/* Elimina posiciones heredadas */

.asc-events-list .asc-events-list__heading::before,
.asc-events-list .asc-events-list__heading::after {
	content: none !important;
	display: none !important;
}

/* Etiqueta 01 · Agenda / Archivo */

.asc-events-list .asc-events-list__code {
	display: inline-flex !important;
	position: static !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0.48rem 0.8rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;

	font-size: 0.72rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;

	white-space: nowrap !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;

	border: 0 !important;
	box-shadow: 4px 4px 0 var(--asc-red);

	inset: auto !important;
	transform: none !important;
}

/* Título principal */

.asc-events-list .asc-events-list__heading h2 {
	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-white);
	font-size: clamp(3.5rem, 7vw, 6.5rem) !important;
	line-height: 0.86 !important;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

/* Móvil */

@media (max-width: 620px) {
	.asc-events-list .asc-events-list__heading {
		gap: 0.6rem !important;
		margin-bottom: 1.5rem !important;
	}

	.asc-events-list .asc-events-list__heading h2 {
		font-size: clamp(3rem, 15vw, 4.5rem) !important;
		line-height: 0.88 !important;
	}

	.asc-events-list .asc-events-list__code {
		font-size: 0.66rem !important;
	}
}
/* =========================================================
   HOME — AGENDA Y CARRUSEL DE EVENTOS
   ========================================================= */

/* Encabezado tipo póster */

body.front-page
.asc-home-next-event
.asc-home-section__heading {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1.5rem;

	width: 100%;
	margin: 0 0 1.5rem !important;
	padding: 1.2rem 1.4rem 1.35rem !important;

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid rgba(255, 255, 255, 0.85);
	border-left: 9px solid var(--asc-electric);
	border-bottom: 7px solid var(--asc-red);

	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.44);

	overflow: hidden;
}

/* Etiqueta 04 · Agenda */

body.front-page
.asc-home-next-event
.asc-home-section__code {
	display: inline-flex !important;
	position: static !important;
	align-items: center;

	width: fit-content !important;
	height: auto !important;

	margin: 0 0 0.75rem !important;
	padding: 0.45rem 0.75rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;

	font-size: 0.7rem !important;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-yellow);

	transform: none !important;
	writing-mode: horizontal-tb !important;
}

/* Título */

body.front-page
.asc-home-next-event
.asc-home-section__heading h2 {
	max-width: 100%;
	margin: 0 !important;

	color: var(--asc-white);

	font-size: clamp(3.7rem, 7.5vw, 6.7rem) !important;
	line-height: 0.84 !important;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

/* Ver agenda */

body.front-page
.asc-home-next-event
.asc-home-section__heading a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;
	padding: 0.75rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	border: 2px solid var(--asc-white);

	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Contenedor del carrusel */

.asc-home-events-carousel {
	position: relative;
	width: 100%;
	min-width: 0;
}

/* Controles */

.asc-home-events-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;

	margin: 0 0 1rem;
}

.asc-home-events-carousel__button,
.asc-home-events-carousel__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 52px;
	height: 48px;

	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	box-shadow: 3px 3px 0 var(--asc-red);
}

.asc-home-events-carousel__button {
	cursor: pointer;
}

.asc-home-events-carousel__button:hover,
.asc-home-events-carousel__button:focus-visible {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

.asc-home-events-carousel__button:disabled {
	cursor: default;
	opacity: 0.35;
}

/* Pista horizontal */

.asc-home-events-carousel__track {
	display: flex;
	gap: 1.5rem;

	width: 100%;
	padding: 0.25rem 0.4rem 1.2rem;

	overflow-x: auto;
	overflow-y: hidden;

	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color:
		var(--asc-red)
		rgba(0, 0, 0, 0.22);
}

.asc-home-events-carousel__track::-webkit-scrollbar {
	height: 10px;
}

.asc-home-events-carousel__track::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.22);
}

.asc-home-events-carousel__track::-webkit-scrollbar-thumb {
	background: var(--asc-red);
}

/* Tarjeta */

.asc-home-event-card {
	--asc-home-event-status-bg: var(--asc-red);
	--asc-home-event-status-text: var(--asc-white);

	display: flex;
	flex: 0 0 clamp(340px, 39vw, 460px);
	flex-direction: column;

	min-width: 0;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.44);

	scroll-snap-align: start;
	overflow: hidden;
}

/* Estados */

.asc-home-event-card--status-postponed {
	--asc-home-event-status-bg: var(--asc-yellow);
	--asc-home-event-status-text: var(--asc-ink);
}

.asc-home-event-card--status-sold_out {
	--asc-home-event-status-bg: var(--asc-orange);
	--asc-home-event-status-text: var(--asc-ink);
}

/* Imagen opcional */

.asc-home-event-card__image {
	display: block;
	width: 100%;
	height: 190px;

	background: var(--asc-ink);
	overflow: hidden;
}

.asc-home-event-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contenido */

.asc-home-event-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

/* Estado y tipo */

.asc-home-event-card__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.7rem;

	padding: 0.8rem 1rem;

	background: var(--asc-ink);
}

.asc-home-event-card__status {
	display: inline-flex;
	align-items: center;

	padding: 0.5rem 0.7rem;

	color: var(--asc-home-event-status-text);
	background: var(--asc-home-event-status-bg);

	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asc-home-event-card__type {
	color: var(--asc-white);

	font-size: 0.66rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Fecha */

.asc-home-event-card__date {
	margin: 0;
	padding: 0.9rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-electric);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(0.95rem, 1.6vw, 1.15rem);
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
}

/* Título */

.asc-home-event-card__title {
	margin: 0;
	padding: 1.1rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(2.2rem, 4vw, 3.7rem);
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

.asc-home-event-card__title a {
	color: inherit;
	text-decoration: none;
}

.asc-home-event-card__title a:hover,
.asc-home-event-card__title a:focus-visible {
	color: var(--asc-red);
}

/* Datos */

.asc-home-event-card__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	background: rgba(15, 12, 10, 0.24);
	gap: 1px;
}

.asc-home-event-card__details p {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;

	min-width: 0;
	margin: 0;
	padding: 0.9rem 1rem;

	background: var(--asc-paper);
}

.asc-home-event-card__details p:nth-child(3) {
	grid-column: 1 / -1;
}

.asc-home-event-card__details span {
	color: rgba(15, 12, 10, 0.58);

	font-size: 0.63rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.asc-home-event-card__details strong {
	font-size: 0.98rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* Acciones */

.asc-home-event-card__actions {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.7rem;

	margin-top: auto;
	padding: 1rem;

	background: var(--asc-ink);
}

.asc-home-event-card__button {
	display: inline-flex;
	flex: 1 1 140px;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;

	min-height: 44px;
	padding: 0.72rem 0.85rem;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);

	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-electric);
}

.asc-home-event-card__button--external {
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Estado vacío */

.asc-home-events-empty {
	padding: 1.5rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
}

/* Móvil */

@media (max-width: 700px) {
	body.front-page
	.asc-home-next-event
	.asc-home-section__heading {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		padding: 1rem 1rem 1.25rem !important;
	}

	body.front-page
	.asc-home-next-event
	.asc-home-section__heading h2 {
		font-size: clamp(3.1rem, 15vw, 4.6rem) !important;
	}

	body.front-page
	.asc-home-next-event
	.asc-home-section__heading a {
		width: 100%;
	}

	.asc-home-events-carousel__controls {
		justify-content: flex-end;
	}

	.asc-home-event-card {
		flex-basis: min(86vw, 370px);
	}

	.asc-home-event-card__details {
		grid-template-columns: 1fr;
	}

	.asc-home-event-card__details p:nth-child(3) {
		grid-column: auto;
	}

	.asc-home-event-card__actions {
		flex-direction: column;
	}

	.asc-home-event-card__button {
		flex: 0 0 auto;
		width: 100%;
	}
}
/* =========================================================
   HOME — CARRUSEL EXPLÍCITO DE EVENTOS
   ========================================================= */

/*
 * El selector :has() identifica automáticamente la sección
 * que contiene el carrusel, sin depender del nombre de clase
 * del contenedor actual del Home.
 */

body.front-page
section:has(.asc-home-events-carousel)
.asc-home-section__heading,
body.front-page
.wp-block-group:has(.asc-home-events-carousel)
> .asc-home-section__heading {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1.5rem;

	width: 100%;
	margin: 0 0 1.5rem !important;
	padding: 1.2rem 1.4rem 1.35rem !important;

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid rgba(255, 255, 255, 0.82);
	border-left: 9px solid var(--asc-electric);
	border-bottom: 7px solid var(--asc-red);

	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.44);
}

/* 04 · Agenda */

body.front-page
section:has(.asc-home-events-carousel)
.asc-home-section__code,
body.front-page
.wp-block-group:has(.asc-home-events-carousel)
.asc-home-section__code {
	display: inline-flex !important;
	position: static !important;

	width: fit-content !important;
	height: auto !important;

	margin: 0 0 0.7rem !important;
	padding: 0.45rem 0.75rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;

	font-size: 0.7rem !important;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-yellow);

	transform: none !important;
	writing-mode: horizontal-tb !important;
}

/* Título */

body.front-page
section:has(.asc-home-events-carousel)
.asc-home-section__heading h2,
body.front-page
.wp-block-group:has(.asc-home-events-carousel)
.asc-home-section__heading h2 {
	margin: 0 !important;

	color: var(--asc-white);

	font-size: clamp(3.7rem, 7.4vw, 6.6rem) !important;
	line-height: 0.84 !important;
	letter-spacing: 0.01em;

	text-wrap: balance;
}

/* Enlace Ver agenda */

body.front-page
section:has(.asc-home-events-carousel)
.asc-home-section__heading a,
body.front-page
.wp-block-group:has(.asc-home-events-carousel)
.asc-home-section__heading a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;
	padding: 0.75rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	border: 2px solid var(--asc-white);

	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Carrusel */

.asc-home-events-carousel,
.asc-home-events-carousel__body {
	width: 100%;
	min-width: 0;
}

.asc-home-events-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;

	margin: 0 0 1rem;
}

.asc-home-events-carousel__button,
.asc-home-events-carousel__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 52px;
	height: 48px;

	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	box-shadow: 3px 3px 0 var(--asc-red);
}

.asc-home-events-carousel__button {
	cursor: pointer;
}

.asc-home-events-carousel__button:hover,
.asc-home-events-carousel__button:focus-visible {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

.asc-home-events-carousel__button:disabled {
	cursor: default;
	opacity: 0.35;
}

/* Pista */

.asc-home-events-carousel__track {
	display: flex !important;
	align-items: stretch;
	gap: 1.5rem;

	width: 100%;
	min-width: 0;
	padding: 0.25rem 0.4rem 1.25rem;

	overflow-x: auto;
	overflow-y: hidden;

	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;

	scrollbar-width: thin;
	scrollbar-color:
		var(--asc-red)
		rgba(0, 0, 0, 0.22);
}

/* Fuerza el ancho de las tarjetas dentro del carrusel */

body.front-page
.asc-home-events-carousel__track
> .asc-event-ticket-card {
	flex: 0 0 clamp(350px, 40vw, 470px) !important;

	width: clamp(350px, 40vw, 470px) !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;

	scroll-snap-align: start;
}

/* Impide que el título crezca demasiado */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__title {
	font-size: clamp(2.2rem, 4vw, 3.7rem) !important;
}

/* Estado vacío */

.asc-home-events-carousel__empty {
	padding: 1.5rem;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 6px 7px 0 rgba(0, 0, 0, 0.4);
}

.asc-home-events-carousel__empty h3 {
	margin: 0.4rem 0;

	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 0.9;
}

.asc-home-events-carousel__empty a {
	color: var(--asc-red);
	font-weight: 900;
	text-transform: uppercase;
}

/* Móvil */

@media (max-width: 700px) {
	body.front-page
	section:has(.asc-home-events-carousel)
	.asc-home-section__heading,
	body.front-page
	.wp-block-group:has(.asc-home-events-carousel)
	> .asc-home-section__heading {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;

		padding: 1rem 1rem 1.25rem !important;
	}

	body.front-page
	section:has(.asc-home-events-carousel)
	.asc-home-section__heading h2,
	body.front-page
	.wp-block-group:has(.asc-home-events-carousel)
	.asc-home-section__heading h2 {
		font-size: clamp(3.1rem, 15vw, 4.6rem) !important;
	}

	body.front-page
	section:has(.asc-home-events-carousel)
	.asc-home-section__heading a,
	body.front-page
	.wp-block-group:has(.asc-home-events-carousel)
	.asc-home-section__heading a {
		width: 100%;
	}

	body.front-page
	.asc-home-events-carousel__track
	> .asc-event-ticket-card {
		flex-basis: min(86vw, 370px) !important;

		width: min(86vw, 370px) !important;
	}
}
/* =========================================================
   HOME — CARRUSEL DE EVENTOS, CORRECCIÓN DEFINITIVA
   ========================================================= */

/* Contenedor */

body.front-page .asc-home-events-carousel,
body.front-page .asc-home-events-carousel__body {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}

/* Controles */

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__controls {
	display: flex !important;
	position: relative !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0.65rem !important;

	width: 100% !important;
	height: auto !important;

	margin: 0 0 1.2rem !important;
	padding: 0 !important;

	inset: auto !important;
	transform: none !important;
}

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__button,
body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__counter {
	display: inline-flex !important;
	position: static !important;
	align-items: center !important;
	justify-content: center !important;

	width: 52px !important;
	min-width: 52px !important;
	height: 48px !important;
	min-height: 48px !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-white) !important;
	background: var(--asc-ink) !important;
	border: 2px solid var(--asc-white) !important;

	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;

	box-shadow: 3px 3px 0 var(--asc-red) !important;

	inset: auto !important;
	transform: none !important;
	writing-mode: horizontal-tb !important;
}

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__button {
	cursor: pointer;
}

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__button:hover,
body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__button:focus-visible {
	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;
}

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__button:disabled {
	cursor: default;
	opacity: 0.35;
}

/* Pista horizontal */

body.front-page
.asc-home-events-carousel
.asc-home-events-carousel__track {
	display: flex !important;
	position: relative !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 1.5rem !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0.3rem 0.45rem 1.3rem !important;

	overflow-x: auto !important;
	overflow-y: hidden !important;

	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;

	transform: none !important;
}

/* Tarjeta: reinicio completo */

body.front-page
.asc-home-events-carousel__track
> .asc-event-ticket-card {
	display: flex !important;
	position: relative !important;
	flex: 0 0 clamp(360px, 42vw, 480px) !important;
	flex-direction: column !important;
	align-items: stretch !important;

	width: clamp(360px, 42vw, 480px) !important;
	max-width: none !important;
	min-width: 0 !important;

	min-height: 0 !important;
	height: auto !important;
	aspect-ratio: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-ink) !important;
	background: var(--asc-paper) !important;

	border: 2px solid var(--asc-ink) !important;
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.44) !important;

	overflow: hidden !important;
	transform: none !important;

	scroll-snap-align: start;
}

/* Elimina decoraciones y columnas antiguas */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card::before,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card::after,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__content::before,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__content::after {
	content: none !important;
	display: none !important;
}

/* Imagen */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__image {
	display: block !important;
	position: relative !important;

	width: 100% !important;
	max-width: 100% !important;
	height: 220px !important;
	max-height: 220px !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--asc-ink) !important;

	overflow: hidden !important;
	inset: auto !important;
	transform: none !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	object-fit: cover !important;
	object-position: center !important;
}

/* Contenido: elimina la cuadrícula anterior */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__content {
	display: flex !important;
	position: relative !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: stretch !important;

	grid-template-columns: none !important;
	grid-template-rows: none !important;
	grid-template-areas: none !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	min-height: 0 !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-ink) !important;
	background: var(--asc-paper) !important;

	inset: auto !important;
	transform: none !important;
}

/* Reinicia todos los elementos internos */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__content
> * {
	position: static !important;
	grid-area: auto !important;
	grid-column: auto !important;
	grid-row: auto !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	min-height: 0 !important;
	height: auto !important;

	inset: auto !important;
	transform: none !important;

	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

/* Línea superior */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__topline {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 0.7rem !important;

	margin: 0 !important;
	padding: 0.85rem 1rem !important;

	background: var(--asc-ink) !important;
	border: 0 !important;
}

/* Estado */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__status {
	display: inline-flex !important;
	align-items: center !important;

	width: fit-content !important;
	max-width: 100% !important;
	min-height: 0 !important;

	margin: 0 !important;
	padding: 0.52rem 0.72rem !important;

	color: var(--asc-event-status-text) !important;
	background: var(--asc-event-status-bg) !important;

	font-size: 0.68rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;

	writing-mode: horizontal-tb !important;
}

/* Tipo */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__type {
	display: inline-flex !important;

	width: fit-content !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-white) !important;

	font-size: 0.66rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;

	writing-mode: horizontal-tb !important;
}

/* Fecha horizontal */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__date {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0.95rem 1rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;

	border: 0 !important;
	border-bottom: 2px solid var(--asc-ink) !important;

	font-size: clamp(0.95rem, 1.7vw, 1.15rem) !important;
	font-weight: 900 !important;
	line-height: 1.3 !important;
	text-align: center !important;

	white-space: normal !important;
	writing-mode: horizontal-tb !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Título */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__title {
	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 1.25rem 1rem 1.15rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-paper) !important;

	border: 0 !important;
	border-bottom: 2px solid var(--asc-ink) !important;

	font-size: clamp(2.25rem, 4vw, 3.8rem) !important;
	font-weight: 900 !important;
	line-height: 0.92 !important;
	letter-spacing: 0.01em !important;

	text-wrap: balance;
	writing-mode: horizontal-tb !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__title a {
	display: block !important;

	color: inherit !important;
	text-decoration: none !important;
}

/* Presenta, lugar y acceso */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__organizer,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__location,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__price {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0.95rem 1rem !important;

	color: var(--asc-ink) !important;
	background: var(--asc-paper) !important;

	border: 0 !important;
	border-bottom: 1px solid rgba(15, 12, 10, 0.24) !important;

	font-size: 0.9rem !important;
	line-height: 1.4 !important;

	writing-mode: horizontal-tb !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__organizer
> span,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__price
> span {
	color: rgba(15, 12, 10, 0.58) !important;

	font-size: 0.64rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__organizer strong {
	color: var(--asc-red) !important;
	font-size: 1rem !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__location strong,
body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__price strong {
	color: var(--asc-ink) !important;
	font-size: 1.05rem !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__address {
	display: block !important;

	margin: 0.35rem 0 0 !important;

	color: rgba(15, 12, 10, 0.64) !important;

	font-size: 0.84rem !important;
	line-height: 1.4 !important;
}

/* Botones */

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__actions {
	display: flex !important;
	align-items: stretch !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;

	width: 100% !important;

	margin: auto 0 0 !important;
	padding: 1rem !important;

	background: var(--asc-ink) !important;
	border: 0 !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__button {
	display: inline-flex !important;
	flex: 1 1 150px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.4rem !important;

	width: auto !important;
	min-height: 44px !important;

	margin: 0 !important;
	padding: 0.75rem 0.9rem !important;

	color: var(--asc-white) !important;
	background: var(--asc-red) !important;
	border: 2px solid var(--asc-white) !important;

	font-size: 0.7rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.06em !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;

	box-shadow: 3px 3px 0 var(--asc-electric) !important;
}

body.front-page
.asc-home-events-carousel
.asc-event-ticket-card__button--external {
	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;
	box-shadow: 3px 3px 0 var(--asc-red) !important;
}

/* Móvil */

@media (max-width: 700px) {
	body.front-page
	.asc-home-events-carousel__track
	> .asc-event-ticket-card {
		flex-basis: min(86vw, 370px) !important;

		width: min(86vw, 370px) !important;
	}

	body.front-page
	.asc-home-events-carousel
	.asc-event-ticket-card__image {
		height: 190px !important;
	}

	body.front-page
	.asc-home-events-carousel
	.asc-event-ticket-card__title {
		font-size: clamp(2.25rem, 11vw, 3.4rem) !important;
	}

	body.front-page
	.asc-home-events-carousel
	.asc-event-ticket-card__actions {
		flex-direction: column !important;
	}

	body.front-page
	.asc-home-events-carousel
	.asc-event-ticket-card__button {
		flex: 0 0 auto !important;
		width: 100% !important;
	}
}
/* =========================================================
   HOME — AGENDA INDEPENDIENTE
   Clases nuevas, sin estilos heredados de la landing.
   ========================================================= */

body.front-page .asc-home-agenda-carousel {
	display: block;
	position: relative;

	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

/* Controles */

body.front-page
.asc-home-agenda-carousel__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;

	width: 100%;
	margin: 0 0 1.2rem;
}

body.front-page
.asc-home-agenda-carousel__control,
body.front-page
.asc-home-agenda-carousel__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 52px;
	min-width: 52px;
	height: 48px;
	margin: 0;
	padding: 0;

	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	box-shadow: 3px 3px 0 var(--asc-red);
}

body.front-page
.asc-home-agenda-carousel__control {
	cursor: pointer;
}

body.front-page
.asc-home-agenda-carousel__control:hover,
body.front-page
.asc-home-agenda-carousel__control:focus-visible {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

body.front-page
.asc-home-agenda-carousel__control:disabled {
	cursor: default;
	opacity: 0.35;
}

/* Pista */

body.front-page
.asc-home-agenda-carousel__track {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 1.5rem;

	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0.3rem 0.45rem 1.35rem;

	overflow-x: auto;
	overflow-y: hidden;

	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;

	scrollbar-width: thin;
	scrollbar-color:
		var(--asc-red)
		rgba(0, 0, 0, 0.22);
}

/* Tarjeta */

body.front-page .asc-home-agenda-card {
	--asc-home-agenda-status-bg: var(--asc-red);
	--asc-home-agenda-status-text: var(--asc-white);

	display: flex;
	flex: 0 0 clamp(360px, 41vw, 470px);
	flex-direction: column;

	width: clamp(360px, 41vw, 470px);
	max-width: none;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.44);

	scroll-snap-align: start;
	overflow: hidden;
}

body.front-page
.asc-home-agenda-card--status-postponed {
	--asc-home-agenda-status-bg: var(--asc-yellow);
	--asc-home-agenda-status-text: var(--asc-ink);
}

body.front-page
.asc-home-agenda-card--status-sold_out {
	--asc-home-agenda-status-bg: var(--asc-orange);
	--asc-home-agenda-status-text: var(--asc-ink);
}

/* Imagen */

body.front-page
.asc-home-agenda-card__image {
	display: block;

	width: 100%;
	height: 220px;
	margin: 0;

	background: var(--asc-ink);
	overflow: hidden;
}

body.front-page
.asc-home-agenda-card__image img {
	display: block;

	width: 100%;
	height: 100%;
	margin: 0;

	object-fit: cover;
	object-position: center;
}

/* Sustituto cuando no existe imagen */

body.front-page
.asc-home-agenda-card__placeholder {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 0.35rem;

	width: 100%;
	height: 220px;
	padding: 1.2rem;

	color: var(--asc-white);
	background:
		linear-gradient(
			135deg,
			transparent 0 45%,
			rgba(255, 255, 255, 0.08) 45% 48%,
			transparent 48% 100%
		),
		var(--asc-ink);
}

body.front-page
.asc-home-agenda-card__placeholder span {
	color: var(--asc-electric);

	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.front-page
.asc-home-agenda-card__placeholder strong {
	font-size: clamp(3rem, 7vw, 5rem);
	line-height: 0.8;
	text-transform: uppercase;
}

/* Estado y tipo */

body.front-page
.asc-home-agenda-card__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.7rem;

	width: 100%;
	margin: 0;
	padding: 0.85rem 1rem;

	background: var(--asc-ink);
}

body.front-page
.asc-home-agenda-card__status {
	display: inline-flex;
	align-items: center;

	width: fit-content;
	padding: 0.52rem 0.72rem;

	color: var(--asc-home-agenda-status-text);
	background: var(--asc-home-agenda-status-bg);

	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.front-page
.asc-home-agenda-card__type {
	color: var(--asc-white);

	font-size: 0.66rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Fecha */

body.front-page
.asc-home-agenda-card__date {
	width: 100%;
	margin: 0;
	padding: 0.95rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(0.95rem, 1.7vw, 1.15rem);
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
}

/* Título */

body.front-page
.asc-home-agenda-card__title {
	width: 100%;
	margin: 0;
	padding: 1.2rem 1rem;

	color: var(--asc-ink);
	background: var(--asc-paper);
	border-bottom: 2px solid var(--asc-ink);

	font-size: clamp(2.25rem, 4vw, 3.8rem);
	font-weight: 900;
	line-height: 0.92;
	letter-spacing: 0.01em;

	text-wrap: balance;
	overflow-wrap: anywhere;
}

body.front-page
.asc-home-agenda-card__title a {
	display: block;
	color: inherit;
	text-decoration: none;
}

body.front-page
.asc-home-agenda-card__title a:hover,
body.front-page
.asc-home-agenda-card__title a:focus-visible {
	color: var(--asc-red);
}

/* Datos */

body.front-page
.asc-home-agenda-card__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	width: 100%;

	background: rgba(15, 12, 10, 0.25);
	gap: 1px;
}

body.front-page
.asc-home-agenda-card__detail {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;

	min-width: 0;
	padding: 0.95rem 1rem;

	background: var(--asc-paper);
}

body.front-page
.asc-home-agenda-card__detail:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

body.front-page
.asc-home-agenda-card__detail span {
	color: rgba(15, 12, 10, 0.58);

	font-size: 0.64rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.front-page
.asc-home-agenda-card__detail strong {
	font-size: 1rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* Botones */

body.front-page
.asc-home-agenda-card__actions {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.75rem;

	width: 100%;
	margin-top: auto;
	padding: 1rem;

	background: var(--asc-ink);
}

body.front-page
.asc-home-agenda-card__button {
	display: inline-flex;
	flex: 1 1 145px;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;

	min-height: 44px;
	padding: 0.75rem 0.9rem;

	color: var(--asc-white);
	background: var(--asc-red);
	border: 2px solid var(--asc-white);

	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	box-shadow: 3px 3px 0 var(--asc-electric);
}

body.front-page
.asc-home-agenda-card__button--external {
	color: var(--asc-ink);
	background: var(--asc-electric);
	box-shadow: 3px 3px 0 var(--asc-red);
}

/* Estado vacío */

body.front-page .asc-home-agenda-empty {
	padding: 1.5rem;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	box-shadow: 6px 7px 0 rgba(0, 0, 0, 0.4);
}

/* Móvil */

@media (max-width: 700px) {
	body.front-page .asc-home-agenda-card {
		flex-basis: min(86vw, 370px);
		width: min(86vw, 370px);
	}

	body.front-page
	.asc-home-agenda-card__image,
	body.front-page
	.asc-home-agenda-card__placeholder {
		height: 190px;
	}

	body.front-page
	.asc-home-agenda-card__title {
		font-size: clamp(2.25rem, 11vw, 3.4rem);
	}

	body.front-page
	.asc-home-agenda-card__details {
		grid-template-columns: 1fr;
	}

	body.front-page
	.asc-home-agenda-card__detail:last-child:nth-child(odd) {
		grid-column: auto;
	}

	body.front-page
	.asc-home-agenda-card__actions {
		flex-direction: column;
	}

	body.front-page
	.asc-home-agenda-card__button {
		flex: 0 0 auto;
		width: 100%;
	}
}
/* =========================================================
   HEADER — NAVEGACIÓN FIJA EN TODO EL SITIO
   ========================================================= */

html {
	scroll-padding-top: 100px;
}

.asc-site-header {
	position: sticky !important;
	top: 0;
	z-index: 9999;

	width: 100% !important;
	max-width: none !important;

	margin-top: 0 !important;

	background: var(--asc-ink, #0f0c0a);

	box-shadow:
		0 4px 0 var(--asc-red, #c94040),
		0 10px 24px rgba(0, 0, 0, 0.32);

	isolation: isolate;
	overflow: visible !important;
}

/*
 * Ajuste cuando estás conectado a WordPress
 * y aparece la barra administrativa.
 */

body.admin-bar .asc-site-header {
	top: 32px;
}

/* Barra administrativa móvil de WordPress */

@media screen and (max-width: 782px) {
	body.admin-bar .asc-site-header {
		top: 46px;
	}
}

/* Ajustes móviles */

@media screen and (max-width: 700px) {
	html {
		scroll-padding-top: 82px;
	}

	.asc-site-header {
		box-shadow:
			0 3px 0 var(--asc-red, #c94040),
			0 8px 18px rgba(0, 0, 0, 0.3);
	}
}
/* =========================================================
   AFTERSHOW CLUB — FONDO GLOBAL DE LADRILLO
   ========================================================= */

html {
	background-color: #d9824a;
}

body {
	background-color: #d9824a !important;

	background-image:
		url("https://1223015.us8.myftpupload.com/wp-content/uploads/2026/07/Aftershow_background.png") !important;

	background-repeat: repeat !important;
	background-position: top center !important;
	background-size: 640px auto !important;
	background-attachment: scroll !important;
}

.wp-site-blocks {
	background-color: transparent !important;
}
/* =========================================================
   HOME DESKTOP — BANNER AFTERSHOW MERCH
   ========================================================= */

@media (min-width: 783px) {

	main.asc-home
	.asc-home-merch-intro
	> .asc-home-section__heading {
		display: grid !important;
		grid-template-columns:
			minmax(0, 1fr)
			minmax(220px, 320px);
		align-items: end;
		gap: 2rem;

		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 2rem !important;
		padding: 1.6rem 1.8rem 1.5rem !important;

		color: var(--asc-white) !important;
		background:
			linear-gradient(
				rgba(255, 255, 255, 0.025),
				rgba(255, 255, 255, 0)
			),
			var(--asc-ink) !important;

		border: 2px solid var(--asc-white) !important;
		border-left: 8px solid var(--asc-red) !important;

		box-shadow:
			0 8px 0 var(--asc-red),
			8px 12px 0 rgba(0, 0, 0, 0.38) !important;

		transform: none !important;
	}

	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__heading
	> div {
		min-width: 0;
	}

	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__code {
		display: inline-flex;
		align-items: center;
		width: fit-content;
		margin: 0 0 0.8rem;
		padding: 0.5rem 0.8rem;

		color: var(--asc-ink) !important;
		background: var(--asc-electric) !important;
		border-right: 5px solid var(--asc-yellow);

		font-family: "Antonio", "Arial Narrow", sans-serif;
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1;
		text-transform: uppercase;
	}

	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__heading
	h2 {
		width: 100%;
		max-width: 100%;
		margin: 0 !important;

		color: var(--asc-white) !important;

		font-family: "Bebas Neue", "Antonio", sans-serif;
		font-size: clamp(4rem, 7vw, 6.5rem) !important;
		font-weight: 400;
		letter-spacing: 0.015em;
		line-height: 0.84 !important;
		text-transform: uppercase;
	}

	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__link {
		display: flex !important;
		align-items: center;
		justify-content: center;

		width: 100% !important;
		min-height: 58px;
		margin: 0 !important;
		padding: 1rem 1.25rem !important;

		color: var(--asc-white) !important;
		background: var(--asc-red) !important;
		border: 2px solid var(--asc-white) !important;
		box-shadow: 4px 5px 0 var(--asc-electric);

		font-family: "Antonio", "Arial Narrow", sans-serif;
		font-size: 0.9rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
	}

	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__link:hover,
	main.asc-home
	.asc-home-merch-intro
	.asc-home-section__link:focus-visible {
		color: var(--asc-ink) !important;
		background: var(--asc-electric) !important;
		box-shadow: 4px 5px 0 var(--asc-red);
		transform: translate(-2px, -2px);
	}
}
/* =========================================================
   HOME DESKTOP — BANNERS UNIFICADOS Y PIEZAS DEL DROP
   ========================================================= */

@media (min-width: 783px) {

	main.asc-home {
		--asc-home-banner-width: 1280px;
	}

	/* =====================================================
	   ANCHO COMÚN DE LOS BANNERS DEL HOME
	   ===================================================== */

	main.asc-home
	.asc-home-section__heading {
		position: relative;
		left: 50%;

		display: grid !important;
		grid-template-columns:
			minmax(0, 1fr)
			minmax(220px, 320px);
		align-items: end;
		gap: 2rem;

		width:
			min(
				var(--asc-home-banner-width),
				calc(100vw - 3rem)
			) !important;

		max-width: none !important;
		min-height: 150px;

		margin:
			0
			0
			2.25rem !important;

		padding:
			1.5rem
			1.75rem !important;

		transform: translateX(-50%) !important;
	}

	main.asc-home
	.asc-home-section__heading
	> div {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	main.asc-home
	.asc-home-section__heading
	> .asc-home-section__link {
		align-self: end;
		width: 100%;
		max-width: 320px;
		margin-left: auto !important;
	}

/* =========================================================
   HOME DESKTOP — BANNERS UNIFICADOS Y PIEZAS DEL DROP
   ========================================================= */

@media (min-width: 783px) {

	main.asc-home {
		--asc-home-banner-width: 1280px;
	}

	/* =====================================================
	   ANCHO COMÚN DE LOS BANNERS DEL HOME
	   ===================================================== */

	main.asc-home
	.asc-home-section__heading {
		position: relative;
		left: 50%;

		display: grid !important;
		grid-template-columns:
			minmax(0, 1fr)
			minmax(220px, 320px);
		align-items: end;
		gap: 2rem;

		width:
			min(
				var(--asc-home-banner-width),
				calc(100vw - 3rem)
			) !important;

		max-width: none !important;
		min-height: 150px;

		margin:
			0
			0
			2.25rem !important;

		padding:
			1.5rem
			1.75rem !important;

		transform: translateX(-50%) !important;
	}

	main.asc-home
	.asc-home-section__heading
	> div {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	main.asc-home
	.asc-home-section__heading
	> .asc-home-section__link {
		align-self: end;
		width: 100%;
		max-width: 320px;
		margin-left: auto !important;
	}

	/* =====================================================
	   SECCIÓN PIEZAS DEL DROP
	   ===================================================== */

	main.asc-home
	.asc-merch-products {
		width: 100%;
		max-width: var(--asc-home-banner-width);
		margin:
			4rem
			auto
			6rem !important;
	}

	main.asc-home
	.asc-merch-products__heading {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		align-items: end;

		width: 100%;
		max-width: 100%;
		min-height: 150px;

		margin:
			0
			0
			2.5rem !important;

		padding:
			1.5rem
			1.75rem !important;

		color: var(--asc-white);
		background:
			linear-gradient(
				rgba(255, 255, 255, 0.025),
				rgba(255, 255, 255, 0)
			),
			var(--asc-ink);

		border: 2px solid var(--asc-white);
		border-left: 8px solid var(--asc-electric);

		box-shadow:
			0 8px 0 var(--asc-red),
			8px 12px 0 rgba(0, 0, 0, 0.38);
	}

	main.asc-home
	.asc-merch-products__heading
	span {
		display: inline-flex;
		align-items: center;

		width: fit-content;
		margin:
			0
			0
			0.8rem;

		padding:
			0.5rem
			0.8rem;

		color: var(--asc-ink);
		background: var(--asc-electric);
		border-right: 5px solid var(--asc-yellow);

		font-family:
			"Antonio",
			"Arial Narrow",
			sans-serif;

		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1;
		text-transform: uppercase;
	}

	main.asc-home
	.asc-merch-products__heading
	h2 {
		width: 100%;
		max-width: 100%;

		margin: 0 !important;

		color: var(--asc-white);

		font-family:
			"Bebas Neue",
			"Antonio",
			sans-serif;

		font-size:
			clamp(
				4rem,
				7vw,
				6.5rem
			);

		font-weight: 400;
		letter-spacing: 0.015em;
		line-height: 0.84;
		text-transform: uppercase;
	}

	/* =====================================================
	   CUADRÍCULA DE PRODUCTOS
	   ===================================================== */

	main.asc-home
	.asc-merch-products__grid {
		display: grid !important;

		grid-template-columns:
			repeat(
				auto-fit,
				minmax(
					280px,
					360px
				)
			) !important;

		justify-content: center;
		align-items: stretch;

		width: 100%;
		max-width: 100%;

		margin: 0 auto !important;
		gap: 2rem;
	}

	main.asc-home
	.asc-merch-products__grid
	> * {
		width: 100% !important;
		max-width: 360px !important;
		min-width: 0;
		margin: 0 !important;
	}

	/* Espacio antes de Entra al Club */

	main.asc-home
	.asc-home-merch-intro {
		margin-bottom: 6rem !important;
	}
}
/* =========================================================
   HOME DESKTOP — CORRECCIÓN DE POSICIÓN DEL BANNER MERCH
   ========================================================= */

@media (min-width: 783px) {

	main.asc-home
	.asc-home-merch-intro
	> .asc-home-section__heading {
		position: relative !important;
		left: auto !important;
		right: auto !important;

		width: 100% !important;
		max-width: 100% !important;

		margin-left: 0 !important;
		margin-right: 0 !important;

		transform: none !important;
	}
}
/* =========================================================
   HOME DESKTOP — ENTRA AL CLUB
   ========================================================= */

@media (min-width: 783px) {

	/* Contenedor completo de la sección */

	main.asc-home
	.asc-home-club {
		width:
			min(
				1280px,
				calc(100vw - 3rem)
			) !important;

		max-width: 1280px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 6rem !important;
	}

	/* =====================================================
	   BANNER ENTRA AL CLUB
	   ===================================================== */

	main.asc-home
	.asc-home-club
	> .asc-home-section__heading {
		position: relative !important;
		left: auto !important;
		right: auto !important;

		display: grid !important;
		grid-template-columns:
			minmax(0, 1fr)
			minmax(220px, 320px);

		align-items: end;
		gap: 2rem;

		width: 100% !important;
		max-width: 100% !important;
		min-height: 150px;

		margin:
			0
			0
			2.5rem !important;

		padding:
			1.5rem
			1.75rem !important;

		color: var(--asc-white) !important;

		background:
			linear-gradient(
				rgba(255, 255, 255, 0.025),
				rgba(255, 255, 255, 0)
			),
			var(--asc-ink) !important;

		border: 2px solid var(--asc-white) !important;
		border-left: 8px solid var(--asc-electric) !important;

		box-shadow:
			0 8px 0 var(--asc-red),
			8px 12px 0 rgba(0, 0, 0, 0.38) !important;

		transform: none !important;
	}

	main.asc-home
	.asc-home-club
	.asc-home-section__heading
	> div {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	main.asc-home
	.asc-home-club
	.asc-home-section__code {
		display: inline-flex;
		align-items: center;

		width: fit-content;
		max-width: 100%;

		margin:
			0
			0
			0.8rem;

		padding:
			0.5rem
			0.8rem;

		color: var(--asc-ink) !important;
		background: var(--asc-electric) !important;
		border-right: 5px solid var(--asc-yellow);

		font-family:
			"Antonio",
			"Arial Narrow",
			sans-serif;

		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		line-height: 1;
		text-transform: uppercase;
	}

	main.asc-home
	.asc-home-club
	.asc-home-section__heading
	h2 {
		width: 100%;
		max-width: 100%;

		margin: 0 !important;

		color: var(--asc-white) !important;

		font-family:
			"Bebas Neue",
			"Antonio",
			sans-serif;

		font-size:
			clamp(
				4rem,
				7vw,
				6.5rem
			) !important;

		font-weight: 400;
		letter-spacing: 0.015em;
		line-height: 0.84 !important;
		text-transform: uppercase;

		text-wrap: balance;
	}

	/* =====================================================
	   CUADRÍCULA DE TARJETAS
	   ===================================================== */

	main.asc-home
	.asc-home-club__grid {
		display: grid !important;
		grid-template-columns:
			repeat(
				3,
				minmax(0, 1fr)
			) !important;

		align-items: stretch;
		gap: 2rem;

		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	main.asc-home
	.asc-home-club-card {
		display: flex;
		flex-direction: column;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;

		padding:
			1.5rem
			1.35rem !important;

		transform: none !important;
	}

	/* =====================================================
	   TÍTULOS DE LAS TARJETAS
	   ===================================================== */

	main.asc-home
	.asc-home-club-card
	h2,

	main.asc-home
	.asc-home-club-card
	h3,

	main.asc-home
	.asc-home-club-card
	.wp-block-heading {
		width: 100%;
		max-width: 100%;

		margin:
			0.8rem
			0
			1rem !important;

		font-size:
			clamp(
				2rem,
				3.2vw,
				3.2rem
			) !important;

		line-height: 0.9 !important;
		letter-spacing: 0 !important;

		text-wrap: pretty;
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: auto;
	}

	main.asc-home
	.asc-home-club-card
	p {
		width: 100%;
		max-width: 100%;

		font-size: 0.98rem;
		line-height: 1.55;

		overflow-wrap: break-word;
	}

	/* Mantiene el enlace al pie de cada tarjeta */

	main.asc-home
	.asc-home-club-card
	a:last-child {
		margin-top: auto;
	}
}
/* =========================================================
   AFTERSHOW CLUB — HEADER STICKY CORREGIDO
   El sticky se aplica al template-part exterior.
   ========================================================= */

/*
 * Evita que un contenedor padre se convierta en una zona
 * de desplazamiento vertical y anule position: sticky.
 */
html,
body,
.wp-site-blocks {
	overflow-y: visible !important;
}

/*
 * El wrapper creado por WordPress es el elemento que debe
 * permanecer pegado en la parte superior.
 */
header.wp-block-template-part {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	z-index: 99990;

	display: block;
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}

/*
 * El grupo visual interior ya no necesita comportarse
 * como sticky por separado.
 */
header.wp-block-template-part .asc-site-header {
	position: relative !important;
	top: auto !important;
	z-index: auto;

	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Barra administrativa de WordPress — escritorio */
body.admin-bar header.wp-block-template-part {
	top: 32px;
}

/* Barra administrativa — tablet y móvil */
@media screen and (max-width: 782px) {

	body.admin-bar header.wp-block-template-part {
		top: 46px;
	}
}

/*
 * En pantallas pequeñas WordPress deja de mantener fija
 * la barra administrativa durante el desplazamiento.
 */
@media screen and (max-width: 600px) {

	body.admin-bar header.wp-block-template-part {
		top: 0;
	}
}
/* =========================================
   FOOTER — ajuste de columnas y superposición
========================================= */

.asc-site-footer .asc-footer-shell {
	width: min(1280px, calc(100% - 48px));
	margin: 0 auto;
}

.asc-site-footer .asc-footer-grid {
	display: grid;
	grid-template-columns: minmax(320px, 1.35fr) minmax(220px, 0.85fr) minmax(220px, 0.85fr);
	gap: 48px;
	align-items: start;
}

.asc-site-footer .asc-footer-brand,
.asc-site-footer .asc-footer-column {
	min-width: 0;
}

.asc-site-footer .asc-footer-logo {
	display: inline-block;
	font-size: clamp(3.2rem, 5.4vw, 5.4rem);
	line-height: 0.92;
	letter-spacing: 0.01em;
	max-width: 100%;
	word-break: normal;
	overflow-wrap: break-word;
	margin: 0 0 24px;
}
	

.asc-site-footer .asc-footer-brand p,
.asc-site-footer .asc-footer-brand .asc-footer-copy {
	max-width: 320px;
}

.asc-site-footer .asc-footer-column h3 {
	margin: 8px 0 22px;
}

.asc-site-footer .asc-footer-column ul,
.asc-site-footer .asc-footer-column ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.asc-site-footer .asc-footer-column li + li {
	margin-top: 14px;
}

/* Tablet */
@media (max-width: 1100px) {
	.asc-site-footer .asc-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}

	.asc-site-footer .asc-footer-brand {
		grid-column: 1 / -1;
	}

	.asc-site-footer .asc-footer-brand p,
	.asc-site-footer .asc-footer-brand .asc-footer-copy {
		max-width: 520px;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.asc-site-footer .asc-footer-shell {
		width: min(100%, calc(100% - 32px));
	}

	.asc-site-footer .asc-footer-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.asc-site-footer .asc-footer-logo {
		font-size: clamp(3.2rem, 16vw, 5rem);
		margin-bottom: 18px;
	}

	.asc-site-footer .asc-footer-brand p,
	.asc-site-footer .asc-footer-brand .asc-footer-copy {
		max-width: 100%;
	}
}
	
/* =========================================================
   FOOTER DESKTOP — LOGO SIN CORTAR PALABRAS
   ========================================================= */

@media (min-width: 783px) {

	.asc-site-footer .asc-footer-grid {
		grid-template-columns:
			minmax(380px, 1.35fr)
			minmax(210px, 0.85fr)
			minmax(220px, 0.85fr);
	}

	.asc-site-footer .asc-footer-logo {
		display: block;
		width: 100%;
		max-width: 100%;

		font-size: clamp(3rem, 4.5vw, 4.7rem);
		line-height: 0.92;

		white-space: normal;
		word-break: normal;
		overflow-wrap: normal;
		hyphens: none;
	}
}
/* =========================================================
   THE FEED — FLYER FOTOCOPIADO / ZINE
   ========================================================= */

/* ---------------------------------------------------------
   PAPEL BASE
   --------------------------------------------------------- */

.asc-feed-intro,
.asc-feed-query .asc-article-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	background-color: #eee8dd;

	background-image:
		repeating-linear-gradient(
			0deg,
			rgba(9, 6, 4, 0.018) 0,
			rgba(9, 6, 4, 0.018) 1px,
			transparent 1px,
			transparent 4px
		),
		repeating-linear-gradient(
			90deg,
			rgba(9, 6, 4, 0.012) 0,
			rgba(9, 6, 4, 0.012) 1px,
			transparent 1px,
			transparent 6px
		),
		radial-gradient(
			circle at 18% 22%,
			rgba(70, 50, 35, 0.06),
			transparent 28%
		),
		radial-gradient(
			circle at 82% 76%,
			rgba(70, 50, 35, 0.05),
			transparent 32%
		);

	border-color: rgba(9, 6, 4, 0.72);

	box-shadow:
		7px 8px 0 rgba(9, 6, 4, 0.58),
		-2px 2px 0 rgba(201, 64, 64, 0.45),
		inset 0 0 0 1px rgba(9, 6, 4, 0.12);
}

/* ---------------------------------------------------------
   CAPA DE FOTOCOPIA / GRANO
   --------------------------------------------------------- */

.asc-feed-intro::after,
.asc-feed-query .asc-article-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;

	display: block;
	pointer-events: none;

	opacity: 0.18;
	mix-blend-mode: multiply;

	background-image:
		radial-gradient(
			circle,
			rgba(9, 6, 4, 0.28) 0 0.7px,
			transparent 0.9px
		),
		radial-gradient(
			circle,
			rgba(9, 6, 4, 0.16) 0 0.55px,
			transparent 0.8px
		);

	background-position:
		0 0,
		5px 7px;

	background-size:
		8px 8px,
		11px 11px;
}

/* Mantiene el contenido por encima de la textura */

.asc-feed-intro > *,
.asc-feed-query .asc-article-card > * {
	position: relative;
	z-index: 1;
}

/* ---------------------------------------------------------
   DESGASTE EN LOS BORDES
   --------------------------------------------------------- */

.asc-feed-intro {
	outline: 1px dashed rgba(9, 6, 4, 0.22);
	outline-offset: -8px;
}

.asc-feed-query .asc-article-card {
	outline: 1px dashed rgba(9, 6, 4, 0.18);
	outline-offset: -7px;
}

/* ---------------------------------------------------------
   TÍTULOS — IMPRESIÓN MÁS CRUDA
   --------------------------------------------------------- */

.asc-feed-intro h1,
.asc-feed-query .asc-article-card .wp-block-post-title {
	text-shadow:
		1px 0 0 rgba(9, 6, 4, 0.18),
		-1px 0 0 rgba(201, 64, 64, 0.1);
}

/* ---------------------------------------------------------
   IMÁGENES — LOOK DE FOTOCOPIA
   --------------------------------------------------------- */

.asc-feed-query
.asc-article-card
.wp-block-post-featured-image img {
	filter:
		contrast(1.12)
		saturate(0.72)
		grayscale(0.12);
}

/* ---------------------------------------------------------
   TARJETAS ALTERNADAS
   --------------------------------------------------------- */

.asc-feed-query
.wp-block-post-template
> li:nth-child(odd)
.asc-article-card {
	transform: rotate(-0.28deg);
}

.asc-feed-query
.wp-block-post-template
> li:nth-child(even)
.asc-article-card {
	transform: rotate(0.32deg);
}

/* ---------------------------------------------------------
   BADGES MÁS TIPO RECORTE DE REVISTA
   --------------------------------------------------------- */

.asc-feed-query .asc-category-badge {
	border: 1px solid rgba(9, 6, 4, 0.72);
	box-shadow:
		3px 3px 0 rgba(9, 6, 4, 0.36);
}

/* ---------------------------------------------------------
   ENLACE "LEER ARTÍCULO"
   --------------------------------------------------------- */

.asc-feed-query
.wp-block-post-excerpt__more-link {
	display: inline-block;
	padding-bottom: 0.15rem;

	border-bottom: 2px solid currentColor;

	text-decoration: none;
}

/* ---------------------------------------------------------
   MÓVIL — EFECTO MÁS SUAVE
   --------------------------------------------------------- */

@media (max-width: 782px) {

	.asc-feed-intro,
	.asc-feed-query .asc-article-card {
		box-shadow:
			5px 6px 0 rgba(9, 6, 4, 0.5),
			-1px 1px 0 rgba(201, 64, 64, 0.35),
			inset 0 0 0 1px rgba(9, 6, 4, 0.1);
	}

	.asc-feed-intro::after,
	.asc-feed-query .asc-article-card::before {
		opacity: 0.12;
	}

	.asc-feed-query
	.wp-block-post-template
	> li
	.asc-article-card {
		transform: none;
	}
}
/* =========================================================
   THE FEED — CINTA IGUAL AL ARTÍCULO INDIVIDUAL
   ========================================================= */

.asc-feed-intro {
	overflow: visible !important;
}

.asc-feed-intro::before {
	content: "";

	position: absolute;
	top: -13px;
	left: 50%;
	z-index: 8;

	display: block;

	width: 112px;
	height: 32px;

	background:
		linear-gradient(
			180deg,
			rgba(244, 229, 187, 0.96),
			rgba(213, 192, 145, 0.9)
		);

	border-left: 1px solid rgba(120, 95, 55, 0.16);
	border-right: 1px solid rgba(120, 95, 55, 0.16);

	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.42);

	opacity: 0.9;

	transform:
		translateX(-50%)
		rotate(-1.5deg);

	clip-path: polygon(
		0 8%,
		98% 0,
		100% 94%,
		3% 100%
	);

	pointer-events: none;
}
/* =========================================================
   PÁGINA SOBRE
   ========================================================= */

.asc-about-page {
	display: grid;
	gap: clamp(4rem, 8vw, 7rem);
	width: min(1280px, calc(100% - 2rem));
	margin-inline: auto;
}

.asc-about-page section {
	width: 100%;
	min-width: 0;
}

.asc-about-hero {
	padding: clamp(3rem, 7vw, 6.5rem);
	border-left: 8px solid var(--asc-red);
}

.asc-about-hero h1 {
	max-width: 1050px;
	margin: 0 0 1.5rem;
	font-size: clamp(4rem, 9vw, 8rem);
	line-height: 0.86;
	text-transform: uppercase;
}

.asc-about-hero p {
	max-width: 760px;
	margin: 0;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.6;
}

.asc-about-section-code {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 1.25rem;
	padding: 0.5rem 0.8rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-right: 5px solid var(--asc-yellow);
	font-family: "Antonio", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.asc-about-manifesto {
	display: grid;
	grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1.6fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding: clamp(2.5rem, 6vw, 5rem);
	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-electric);
	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.38);
}

.asc-about-manifesto__content h2,
.asc-about-heading h2,
.asc-about-audience h2 {
	margin: 0 0 1.25rem;
	font-size: clamp(3rem, 6vw, 5.8rem);
	line-height: 0.88;
	text-transform: uppercase;
}

.asc-about-manifesto__content p {
	max-width: 850px;
	color: rgba(255, 253, 248, 0.82);
	font-size: 1.05rem;
	line-height: 1.75;
}

.asc-about-manifesto__content .asc-about-lead {
	color: var(--asc-white);
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
	line-height: 1.45;
}

.asc-about-heading {
	margin-bottom: 2.5rem;
	padding: 1.5rem 1.75rem;
	color: var(--asc-white);
	background: var(--asc-ink);
	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-electric);
	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.38);
}

.asc-about-heading > span {
	display: inline-flex;
	margin-bottom: 0.8rem;
	padding: 0.45rem 0.7rem;
	color: var(--asc-ink);
	background: var(--asc-electric);
	border-right: 4px solid var(--asc-yellow);
	font-family: "Antonio", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.asc-about-heading h2 {
	margin-bottom: 0;
}

.asc-about-grid {
	display: grid;
	gap: 2rem;
}

.asc-about-grid--features {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asc-about-card {
	--asc-about-accent: var(--asc-red);

	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1.5rem;
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-about-accent);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);
}

.asc-about-card--electric {
	--asc-about-accent: var(--asc-electric);
}

.asc-about-card--yellow {
	--asc-about-accent: var(--asc-yellow);
}

.asc-about-card--orange {
	--asc-about-accent: var(--asc-orange);
}

.asc-about-card > span,
.asc-about-join-card > span {
	display: inline-flex;
	width: fit-content;
	margin-bottom: 1rem;
	padding: 0.4rem 0.65rem;
	color: var(--asc-white);
	background: var(--asc-ink);
	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.asc-about-card h3,
.asc-about-join-card h3,
.asc-about-grid--principles h3 {
	margin: 0 0 1rem;
	font-size: clamp(2rem, 3vw, 3.1rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.asc-about-card p,
.asc-about-join-card p,
.asc-about-grid--principles p {
	line-height: 1.6;
}

.asc-about-card a,
.asc-about-join-card a {
	margin-top: auto;
	padding-top: 1.5rem;
	color: var(--asc-red);
	font-family: "Antonio", sans-serif;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-about-audience {
	padding: clamp(2.5rem, 6vw, 5rem);
	border-left: 8px solid var(--asc-yellow);
}

.asc-about-audience p {
	max-width: 850px;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.7;
}

.asc-about-grid--principles {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.asc-about-grid--principles article {
	padding: 2rem;
	color: var(--asc-white);
	background: var(--asc-ink);
	border-top: 7px solid var(--asc-electric);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);
}

.asc-about-grid--principles strong {
	display: block;
	margin-bottom: 1rem;
	color: var(--asc-electric);
	font-family: "Bebas Neue", sans-serif;
	font-size: 3.5rem;
	line-height: 1;
}

.asc-about-grid--join {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.asc-about-join-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(2rem, 4vw, 3rem);
	color: var(--asc-ink);
	background: var(--asc-paper);
	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-red);
	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);
}

.asc-about-join-card:nth-child(2) {
	border-top-color: var(--asc-electric);
}
/* =========================================================
   AFTERSHOW LINEUP
   ========================================================= */

.asc-lineup-page {
	display: grid;
	gap: clamp(4rem, 8vw, 7rem);

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.asc-lineup-page > section {
	width: min(1280px, calc(100vw - 3rem)) !important;
	max-width: none !important;
	min-width: 0;

	margin-left: auto !important;
	margin-right: auto !important;

	box-sizing: border-box;
}

/* Hero */

.asc-lineup-hero {
	padding: clamp(3rem, 7vw, 6.5rem);
	border-left: 8px solid var(--asc-yellow);
}

.asc-lineup-hero h1 {
	max-width: 1050px;
	margin: 0 0 1.25rem;

	font-size: clamp(4.5rem, 10vw, 8.5rem);
	line-height: 0.84;
	text-transform: uppercase;
}

.asc-lineup-hero__lead {
	margin: 0 0 0.75rem;

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.asc-lineup-hero p:last-child {
	max-width: 760px;
	margin-bottom: 0;

	font-size: clamp(1.05rem, 2vw, 1.3rem);
	line-height: 1.65;
}

/* Banners */

.asc-lineup-heading {
	margin-bottom: 2.5rem;
	padding: 1.5rem 1.75rem;

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-electric);

	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.38);
}

.asc-lineup-heading > span,
.asc-lineup-access__content > span {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;

	margin-bottom: 0.8rem;
	padding: 0.48rem 0.72rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	border-right: 5px solid var(--asc-yellow);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-lineup-heading h2,
.asc-lineup-manifesto h2,
.asc-lineup-access h2 {
	margin: 0;

	font-size: clamp(3.5rem, 7vw, 6.5rem);
	line-height: 0.86;
	text-transform: uppercase;
}

/* Tarjetas principales */

.asc-lineup-grid {
	display: grid;
	gap: 2rem;
}

.asc-lineup-grid--features {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asc-lineup-card {
	--asc-lineup-accent: var(--asc-red);

	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 330px;

	padding: 1.5rem;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 8px solid var(--asc-lineup-accent);

	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);
}

.asc-lineup-card--yellow {
	--asc-lineup-accent: var(--asc-yellow);
}

.asc-lineup-card--electric {
	--asc-lineup-accent: var(--asc-electric);
}

.asc-lineup-card--orange {
	--asc-lineup-accent: var(--asc-orange);
}

.asc-lineup-card > span {
	display: inline-flex;
	width: fit-content;

	margin-bottom: 1.1rem;
	padding: 0.42rem 0.68rem;

	color: var(--asc-white);
	background: var(--asc-ink);
	border-left: 4px solid var(--asc-lineup-accent);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.asc-lineup-card h3 {
	margin: 0 0 1rem;

	font-size: clamp(2rem, 3.2vw, 3.2rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.asc-lineup-card p {
	margin-bottom: 0;
	line-height: 1.65;
}

/* Manifiesto */

.asc-lineup-manifesto {
	display: grid;
	grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1.6fr);
	gap: clamp(2rem, 5vw, 5rem);

	padding: clamp(2.5rem, 6vw, 5rem);

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-yellow);

	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.4);
}

.asc-lineup-manifesto__code {
	display: inline-flex;
	align-self: start;
	width: fit-content;

	padding: 0.5rem 0.8rem;

	color: var(--asc-ink);
	background: var(--asc-yellow);
	border-right: 5px solid var(--asc-red);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.asc-lineup-manifesto__content p {
	max-width: 820px;

	color: rgba(255, 253, 248, 0.8);
	font-size: 1.05rem;
	line-height: 1.75;
}

.asc-lineup-manifesto__content
.asc-lineup-manifesto__lead {
	color: var(--asc-white);
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
	line-height: 1.45;
}

/* Ritmo editorial */

.asc-lineup-grid--rhythm {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.asc-lineup-rhythm-card {
	padding: 2rem;

	color: var(--asc-white);
	background: var(--asc-ink);

	border-top: 7px solid var(--asc-electric);

	box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.42);
}

.asc-lineup-rhythm-card strong {
	display: block;
	margin-bottom: 1rem;

	color: var(--asc-electric);

	font-family: "Bebas Neue", sans-serif;
	font-size: 3.5rem;
	line-height: 1;
}

.asc-lineup-rhythm-card h3 {
	margin: 0 0 1rem;

	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.asc-lineup-rhythm-card p {
	color: rgba(255, 253, 248, 0.8);
	line-height: 1.65;
}

/* Acceso próximamente */

.asc-lineup-access {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;

	padding: clamp(2.5rem, 6vw, 5rem);

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-electric);

	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.42);
}

.asc-lineup-access__content p {
	max-width: 680px;

	color: rgba(255, 253, 248, 0.78);
	font-size: 1.05rem;
	line-height: 1.7;
}

.asc-lineup-access__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;

	margin-top: 1.5rem;
}

.asc-lineup-access__links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 50px;
	padding: 0.85rem 1.1rem;

	color: var(--asc-ink);
	background: var(--asc-electric);

	border: 2px solid var(--asc-white);
	box-shadow: 3px 4px 0 var(--asc-red);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.asc-lineup-access__links a:nth-child(2) {
	background: var(--asc-yellow);
}

.asc-lineup-access__ticket {
	padding: 2rem;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-white);
	border-top: 8px solid var(--asc-yellow);

	box-shadow: 7px 8px 0 rgba(255, 255, 255, 0.12);
}

.asc-lineup-access__ticket span,
.asc-lineup-access__ticket small {
	display: block;

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.asc-lineup-access__ticket strong {
	display: block;
	margin: 1rem 0;

	font-family: "Bebas Neue", sans-serif;
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 400;
	line-height: 0.82;
}

.asc-lineup-access__barcode {
	height: 54px;
	margin-top: 1.5rem;

	background:
		repeating-linear-gradient(
			90deg,
			var(--asc-ink) 0 2px,
			transparent 2px 5px,
			var(--asc-ink) 5px 8px,
			transparent 8px 11px
		);
}
/* =========================================================
   LANDING AFTERSHOW MERCH
   ========================================================= */

main.asc-merch-page {
	display: grid;
	gap: clamp(4rem, 7vw, 6rem);

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 2rem 0 6rem !important;
}

main.asc-merch-page > .asc-merch-hero,
main.asc-merch-page > .asc-merch-drop {
	width: min(1280px, calc(100vw - 3rem)) !important;
	max-width: none !important;
	min-width: 0;

	margin-left: auto !important;
	margin-right: auto !important;

	box-sizing: border-box;
}

/* =====================================================
   HERO
   ===================================================== */

main.asc-merch-page .asc-merch-hero {
	padding: clamp(3rem, 7vw, 6rem);
	border-left: 8px solid var(--asc-yellow);
}

main.asc-merch-page .asc-merch-hero h1 {
	max-width: 900px;
	margin: 0 0 1.25rem;

	font-size: clamp(4rem, 9vw, 8rem);
	line-height: 0.84;
	text-transform: uppercase;
}

main.asc-merch-page
.asc-merch-hero
.has-large-font-size {
	max-width: 760px;
	margin-bottom: 0;

	font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
	line-height: 1.65;
}

/* =====================================================
   DROP ACTIVO
   ===================================================== */

main.asc-merch-page .asc-merch-drop {
	display: grid;
	gap: clamp(4rem, 7vw, 6rem);
}

main.asc-merch-page .asc-drop-pass {
	width: min(760px, 100%);
	max-width: 100%;

	margin-left: auto;
	margin-right: auto;
}

/* =====================================================
   PIEZAS DEL DROP
   ===================================================== */

main.asc-merch-page .asc-merch-products {
	width: 100%;
	max-width: 1280px;

	margin: 0 auto !important;
}

main.asc-merch-page
.asc-merch-products__heading {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;

	width: 100%;
	max-width: 100%;
	min-height: 150px;

	margin: 0 0 2.5rem !important;
	padding: 1.5rem 1.75rem !important;

	color: var(--asc-white);
	background:
		linear-gradient(
			rgba(255, 255, 255, 0.025),
			rgba(255, 255, 255, 0)
		),
		var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-electric);

	box-shadow:
		0 8px 0 var(--asc-red),
		8px 12px 0 rgba(0, 0, 0, 0.38);
}

main.asc-merch-page
.asc-merch-products__heading
> span {
	display: inline-flex;
	align-items: center;

	width: fit-content;
	max-width: 100%;

	margin: 0 0 0.8rem;
	padding: 0.5rem 0.8rem;

	color: var(--asc-ink);
	background: var(--asc-electric);
	border-right: 5px solid var(--asc-yellow);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1;
	text-transform: uppercase;
}

main.asc-merch-page
.asc-merch-products__heading
h2 {
	width: 100%;
	max-width: 100%;

	margin: 0 !important;

	color: var(--asc-white);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(4rem, 7vw, 6.5rem);
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.84;
	text-transform: uppercase;
}

/* =====================================================
   CUADRÍCULA DE PRODUCTOS
   ===================================================== */

main.asc-merch-page
.asc-merch-products__grid {
	display: grid !important;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(280px, 360px)
		) !important;

	justify-content: center;
	align-items: stretch;

	width: 100%;
	max-width: 100%;

	margin: 0 auto !important;
	gap: 2rem;
}

main.asc-merch-page
.asc-merch-products__grid
> * {
	width: 100% !important;
	max-width: 360px !important;
	min-width: 0;

	margin: 0 !important;
}

/* =========================================================
   WOOCOMMERCE — ARCHIVO DE PRODUCTOS / CATEGORÍAS
   ========================================================= */

body.tax-product_cat .woocommerce,
body.post-type-archive-product .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.25rem 1rem;

	width: min(1280px, calc(100% - 3rem));
	max-width: none;

	margin: clamp(2rem, 5vw, 4rem) auto 6rem;
}

/* Elementos que deben ocupar todo el ancho */

body.tax-product_cat .woocommerce > .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce > .woocommerce-products-header,
body.tax-product_cat .woocommerce > ul.products,
body.tax-product_cat .woocommerce > nav.woocommerce-pagination,
body.post-type-archive-product .woocommerce > .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce > .woocommerce-products-header,
body.post-type-archive-product .woocommerce > ul.products,
body.post-type-archive-product .woocommerce > nav.woocommerce-pagination {
	grid-column: 1 / -1;
}

/* =====================================================
   MIGAS DE NAVEGACIÓN
   ===================================================== */

body.tax-product_cat .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb {
	display: inline-flex;
	align-items: center;

	width: fit-content;
	margin: 0 0 0.5rem;
	padding: 0.55rem 0.8rem;

	color: rgba(255, 253, 248, 0.82);
	background: rgba(9, 6, 4, 0.94);
	border-left: 5px solid var(--asc-electric);

	font-size: 0.78rem;
}

body.tax-product_cat .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a {
	color: var(--asc-electric);
	font-weight: 700;
	text-decoration: none;
}

/* =====================================================
   CABECERA DE CATEGORÍA
   ===================================================== */

body.tax-product_cat .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header {
	position: relative;

	margin: 0 0 1rem;
	padding: clamp(2.5rem, 6vw, 5rem);

	color: var(--asc-ink);
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.45),
			transparent 48%
		),
		var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 8px solid var(--asc-red);

	box-shadow:
		9px 10px 0 rgba(0, 0, 0, 0.42);
}

body.tax-product_cat .woocommerce-products-header::before,
body.post-type-archive-product .woocommerce-products-header::before {
	content: "AFTERSHOW MERCH · CATEGORY ACCESS";

	display: inline-flex;
	margin: 0 0 1rem;
	padding: 0.45rem 0.7rem;

	color: var(--asc-white);
	background: var(--asc-red);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

body.tax-product_cat
.woocommerce-products-header__title,
body.post-type-archive-product
.woocommerce-products-header__title {
	max-width: 900px;
	margin: 0 !important;

	color: var(--asc-ink);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 0.86;
	text-transform: uppercase;
}

body.tax-product_cat
.woocommerce-products-header
.term-description,
body.post-type-archive-product
.woocommerce-products-header
.term-description {
	max-width: 720px;
	margin-top: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.65;
}

body.tax-product_cat
.woocommerce-products-header
.term-description p,
body.post-type-archive-product
.woocommerce-products-header
.term-description p {
	color: var(--asc-ink);
}

/* =====================================================
   RESULTADOS Y ORDEN
   ===================================================== */

body.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count {
	float: none !important;

	margin: 0 !important;
	padding: 0.8rem 1rem;

	color: var(--asc-white);
	background: var(--asc-ink);
	border-left: 6px solid var(--asc-yellow);

	font-weight: 700;
}

body.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering {
	float: none !important;
	margin: 0 !important;
}

body.tax-product_cat .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select {
	min-width: 220px;
	min-height: 48px;

	padding: 0.65rem 2.5rem 0.65rem 0.85rem;

	color: var(--asc-white);
	background-color: var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-radius: 0;

	font-weight: 700;
}

/* =====================================================
   CUADRÍCULA DE PRODUCTOS
   ===================================================== */

body.tax-product_cat ul.products,
body.post-type-archive-product ul.products {
	display: grid !important;
	grid-template-columns:
		repeat(
			auto-fit,
			minmax(260px, 340px)
		);
	justify-content: start;
	align-items: stretch;

	width: 100%;
	margin: 1.25rem 0 0 !important;
	padding: 0 !important;
	gap: 2rem;
}

body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after {
	display: none !important;
}

/* Tarjeta */

body.tax-product_cat
ul.products
li.product,
body.post-type-archive-product
ul.products
li.product {
	position: relative;
	float: none !important;

	display: flex;
	flex-direction: column;

	width: 100% !important;
	max-width: 340px;
	min-width: 0;

	margin: 0 !important;
	padding: 0 0 1.25rem !important;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-electric);

	box-shadow:
		7px 8px 0 rgba(0, 0, 0, 0.42);
}

/* Enlace principal */

body.tax-product_cat
ul.products
li.product
.woocommerce-LoopProduct-link,
body.post-type-archive-product
ul.products
li.product
.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;

	color: var(--asc-ink);
	text-decoration: none;
}

/* Imagen */

body.tax-product_cat
ul.products
li.product
img,
body.post-type-archive-product
ul.products
li.product
img {
	width: 100% !important;
	aspect-ratio: 1 / 1;

	margin: 0 !important;
	padding: 1rem;

	object-fit: contain;

	background: #ffffff;
	border-bottom: 2px solid var(--asc-ink);
}

/* Título */

body.tax-product_cat
ul.products
li.product
.woocommerce-loop-product__title,
body.post-type-archive-product
ul.products
li.product
.woocommerce-loop-product__title {
	margin: 0 !important;
	padding: 1.15rem 1rem 0.45rem !important;

	color: var(--asc-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(2rem, 3vw, 2.7rem) !important;
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 0.92;
	text-transform: uppercase;
}

/* Precio */

body.tax-product_cat
ul.products
li.product
.price,
body.post-type-archive-product
ul.products
li.product
.price {
	margin: 0 !important;
	padding: 0 1rem;

	color: var(--asc-red) !important;

	font-family: "Antonio", sans-serif;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
}

/* Botón */

body.tax-product_cat
ul.products
li.product
.button,
body.post-type-archive-product
ul.products
li.product
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: calc(100% - 2rem);
	min-height: 50px;

	margin: 1.2rem 1rem 0 !important;
	padding: 0.75rem 1rem !important;

	color: var(--asc-white) !important;
	background: var(--asc-ink) !important;

	border: 2px solid var(--asc-ink) !important;
	border-radius: 0 !important;

	font-family: "Antonio", sans-serif;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

body.tax-product_cat
ul.products
li.product
.button:hover,
body.post-type-archive-product
ul.products
li.product
.button:hover {
	color: var(--asc-ink) !important;
	background: var(--asc-electric) !important;
	border-color: var(--asc-electric) !important;

	transform: translate(-2px, -2px);
	box-shadow: 4px 5px 0 rgba(0, 0, 0, 0.28);
}

/* Etiqueta de oferta */

body.tax-product_cat
ul.products
li.product
.onsale,
body.post-type-archive-product
ul.products
li.product
.onsale {
	top: 0.75rem;
	right: 0.75rem;
	left: auto;

	min-width: auto;
	min-height: auto;

	padding: 0.45rem 0.65rem;

	color: var(--asc-white);
	background: var(--asc-red);

	border-radius: 0;

	font-family: "Antonio", sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}
/* =========================================================
   WOOCOMMERCE — CARRITO
   MEMBER CHECKOUT / BACKSTAGE ORDER
   ========================================================= */

body.woocommerce-cart {
	--asc-cart-paper: #f1eadf;
	--asc-cart-ink: #0d0908;
	--asc-cart-panel: #17110f;
	--asc-cart-red: #c94040;
	--asc-cart-electric: #00d9ff;
	--asc-cart-yellow: #ffd447;
}

/* =====================================================
   TÍTULO
   ===================================================== */

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart h1.entry-title {
	width: min(1280px, calc(100% - 3rem));
	margin: clamp(2rem, 5vw, 4rem) auto 1.75rem !important;
	padding: 1.2rem 1.4rem;

	color: var(--asc-white);
	background: var(--asc-cart-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-cart-red);

	box-shadow:
		0 7px 0 var(--asc-cart-electric),
		7px 10px 0 rgba(0, 0, 0, 0.38);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3.5rem, 7vw, 6rem);
	font-weight: 400;
	line-height: 0.88;
	text-transform: uppercase;
}

/* =====================================================
   ESTRUCTURA GENERAL
   ===================================================== */

body.woocommerce-cart .wc-block-cart {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(340px, 420px);
	align-items: start;

	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: none !important;

	margin: 0 auto 6rem !important;
	gap: 2rem !important;
}

body.woocommerce-cart .wc-block-cart *,
body.woocommerce-cart .wc-block-cart *::before,
body.woocommerce-cart .wc-block-cart *::after {
	box-sizing: border-box;
}

/* =====================================================
   PRODUCTOS DEL CARRITO
   ===================================================== */

body.woocommerce-cart .wc-block-cart__main {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;

	padding: 1.25rem !important;

	color: var(--asc-cart-ink);
	background: var(--asc-cart-paper);

	border: 2px solid var(--asc-cart-ink);
	border-top: 8px solid var(--asc-cart-red);

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.42);
}

body.woocommerce-cart
table.wc-block-cart-items {
	width: 100% !important;
	margin: 0 !important;

	color: var(--asc-cart-ink);
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

body.woocommerce-cart
table.wc-block-cart-items
thead {
	color: var(--asc-white);
	background: var(--asc-cart-ink);
}

body.woocommerce-cart
table.wc-block-cart-items
thead th {
	padding: 0.9rem 1rem !important;

	color: var(--asc-white) !important;
	border: 0 !important;

	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.woocommerce-cart
tr.wc-block-cart-items__row {
	background: rgba(255, 255, 255, 0.38);
	border-bottom: 2px dashed rgba(9, 6, 4, 0.22);
}

body.woocommerce-cart
tr.wc-block-cart-items__row
td {
	padding: 1.25rem 1rem !important;

	color: var(--asc-cart-ink) !important;
	border-bottom: 2px dashed rgba(9, 6, 4, 0.18) !important;
	vertical-align: top;
}

/* Imagen */

body.woocommerce-cart
.wc-block-cart-item__image
a {
	display: block;
	background: #ffffff;
	border: 2px solid var(--asc-cart-ink);
}

body.woocommerce-cart
.wc-block-cart-item__image
img {
	display: block;

	width: 100% !important;
	height: auto !important;

	padding: 0.4rem;
	background: #ffffff;
	object-fit: contain;
}

/* Nombre */

body.woocommerce-cart
.wc-block-components-product-name {
	color: var(--asc-cart-ink) !important;

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 1.25rem !important;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none !important;
	text-transform: uppercase;
}

body.woocommerce-cart
.wc-block-components-product-name:hover {
	color: var(--asc-cart-red) !important;
}

/* Variaciones */

body.woocommerce-cart
.wc-block-components-product-details {
	margin-top: 0.65rem !important;

	color: rgba(9, 6, 4, 0.76) !important;
	font-size: 0.82rem;
}

body.woocommerce-cart
.wc-block-components-product-details__name,
body.woocommerce-cart
.wc-block-components-product-details__value {
	color: inherit !important;
}

/* Precio */

body.woocommerce-cart
.wc-block-components-product-price,
body.woocommerce-cart
.wc-block-cart-item__total-price-and-sale-badge-wrapper {
	color: var(--asc-cart-red) !important;

	font-family: "Antonio", sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
}

/* Cantidad */

body.woocommerce-cart
.wc-block-components-quantity-selector {
	min-height: 44px;

	background: #ffffff;
	border: 2px solid var(--asc-cart-ink) !important;
	border-radius: 0 !important;
}

body.woocommerce-cart
.wc-block-components-quantity-selector
input {
	color: var(--asc-cart-ink) !important;
	font-weight: 700;
}

body.woocommerce-cart
.wc-block-components-quantity-selector
button {
	color: var(--asc-cart-ink) !important;
	background: transparent !important;
}

/* Eliminar */

body.woocommerce-cart
.wc-block-cart-item__remove-link {
	margin-top: 0.65rem !important;

	color: var(--asc-cart-red) !important;

	font-size: 0.76rem !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* =====================================================
   RESUMEN DEL CARRITO
   ===================================================== */

body.woocommerce-cart .wc-block-cart__sidebar {
	position: sticky;
	top: 100px;

	width: 100% !important;
	max-width: none !important;
	min-width: 0;

	padding: 1.35rem !important;

	color: var(--asc-white);
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 27px,
			rgba(255, 255, 255, 0.018) 28px
		),
		var(--asc-cart-panel);

	border: 2px solid rgba(255, 255, 255, 0.18);
	border-top: 8px solid var(--asc-cart-electric);

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.48);
}

body.woocommerce-cart
.wc-block-cart__totals-title {
	margin: 0 0 1rem !important;
	padding-bottom: 0.85rem !important;

	color: var(--asc-white) !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.26);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: 2.5rem !important;
	font-weight: 400 !important;
	line-height: 0.9;
	text-transform: uppercase;
}

body.woocommerce-cart
.wc-block-components-totals-wrapper {
	padding: 1rem 0 !important;

	color: var(--asc-white);
	border-bottom: 1px dashed rgba(255, 255, 255, 0.2) !important;
}

body.woocommerce-cart
.wc-block-components-totals-item__label,
body.woocommerce-cart
.wc-block-components-totals-item__value {
	color: var(--asc-white) !important;
	font-weight: 700;
}

/* Cupón */

body.woocommerce-cart
.wc-block-components-totals-coupon {
	color: var(--asc-white);
}

body.woocommerce-cart
.wc-block-components-totals-coupon__button {
	width: 100%;

	padding: 0.85rem 1rem !important;

	color: var(--asc-white) !important;
	background: rgba(255, 255, 255, 0.06) !important;

	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 0 !important;

	font-weight: 700;
	text-align: left;
}

body.woocommerce-cart
.wc-block-components-totals-coupon__input
input {
	min-height: 50px;

	color: var(--asc-cart-ink) !important;
	background: var(--asc-white) !important;

	border: 2px solid var(--asc-white) !important;
	border-radius: 0 !important;
}

/* Total final */

body.woocommerce-cart
.wc-block-components-totals-footer-item {
	margin-top: 0.5rem;

	padding: 1.1rem 0 !important;

	border-top: 3px solid var(--asc-cart-red) !important;
}

body.woocommerce-cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label,
body.woocommerce-cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
	color: var(--asc-cart-electric) !important;

	font-family: "Antonio", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
}

/* Botón de pago */

body.woocommerce-cart
.wc-block-cart__submit-container {
	margin-top: 1.25rem !important;
}

body.woocommerce-cart
.wc-block-cart__submit-button {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 58px;

	padding: 0.9rem 1.2rem !important;

	color: var(--asc-white) !important;
	background: var(--asc-cart-red) !important;

	border: 2px solid var(--asc-cart-red) !important;
	border-radius: 0 !important;

	box-shadow:
		5px 6px 0 rgba(255, 255, 255, 0.14);

	font-family: "Antonio", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.woocommerce-cart
.wc-block-cart__submit-button::before {
	content: "✦";
	margin-right: 0.55rem;
}

body.woocommerce-cart
.wc-block-cart__submit-button:hover {
	color: var(--asc-cart-ink) !important;
	background: var(--asc-cart-electric) !important;
	border-color: var(--asc-cart-electric) !important;

	transform: translate(-2px, -2px);
}
/* =========================================================
   WOOCOMMERCE — CHECKOUT / PANTALLA DE PAGO
   AFTERSHOW MEMBER ORDER
   ========================================================= */

body.woocommerce-checkout {
	--asc-checkout-paper: #f1eadf;
	--asc-checkout-ink: #0d0908;
	--asc-checkout-panel: #17110f;
	--asc-checkout-red: #c94040;
	--asc-checkout-electric: #00d9ff;
	--asc-checkout-yellow: #ffd447;
}

/* =====================================================
   TÍTULO
   ===================================================== */

body.woocommerce-checkout .wp-block-post-title,
body.woocommerce-checkout h1.entry-title {
	width: min(1280px, calc(100% - 3rem));
	margin: clamp(2rem, 5vw, 4rem) auto 1.75rem !important;
	padding: 1.2rem 1.4rem;

	color: var(--asc-white);
	background: var(--asc-checkout-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-checkout-red);

	box-shadow:
		0 7px 0 var(--asc-checkout-electric),
		7px 10px 0 rgba(0, 0, 0, 0.38);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3.5rem, 7vw, 6rem);
	font-weight: 400;
	line-height: 0.88;
	text-transform: uppercase;
}

/* =====================================================
   WRAPPER GENERAL
   ===================================================== */

body.woocommerce-checkout
.wp-block-woocommerce-checkout {
	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: none !important;

	margin: 0 auto 6rem !important;
	padding: 0 !important;
}

body.woocommerce-checkout
.wp-block-woocommerce-checkout *,
body.woocommerce-checkout
.wp-block-woocommerce-checkout *::before,
body.woocommerce-checkout
.wp-block-woocommerce-checkout *::after {
	box-sizing: border-box;
}

body.woocommerce-checkout
.wc-block-checkout {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(360px, 430px) !important;

	align-items: start !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	gap: 2rem !important;
}

/* =====================================================
   FORMULARIO PRINCIPAL
   ===================================================== */

body.woocommerce-checkout
.wc-block-checkout__main {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;

	padding: clamp(1.25rem, 3vw, 2rem) !important;

	color: var(--asc-checkout-ink) !important;
	background:
		linear-gradient(
			rgba(255, 255, 255, 0.3),
			rgba(255, 255, 255, 0)
		),
		var(--asc-checkout-paper) !important;

	border: 2px solid var(--asc-checkout-ink) !important;
	border-top: 8px solid var(--asc-checkout-red) !important;

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.42) !important;
}

/* Secciones */

body.woocommerce-checkout
.wc-block-components-checkout-step {
	width: 100% !important;

	margin: 0 0 1.75rem !important;
	padding: 0 0 1.75rem !important;

	border-bottom: 2px dashed rgba(13, 9, 8, 0.2) !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-step:last-child {
	margin-bottom: 0 !important;
	border-bottom: 0 !important;
}

/* Encabezados */

body.woocommerce-checkout
.wc-block-components-checkout-step__heading {
	margin: 0 0 1.25rem !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-step__title {
	color: var(--asc-checkout-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(2.3rem, 4vw, 3.4rem) !important;
	font-weight: 400 !important;
	line-height: 0.9 !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-step__description {
	color: rgba(13, 9, 8, 0.72) !important;
	font-size: 0.9rem !important;
	line-height: 1.5 !important;
}

/* =====================================================
   CAMPOS
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-text-input,
body.woocommerce-checkout
.wc-block-components-combobox,
body.woocommerce-checkout
.wc-block-components-address-form__country {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.woocommerce-checkout
.wc-block-components-text-input input,
body.woocommerce-checkout
.wc-block-components-combobox input,
body.woocommerce-checkout
.wc-block-components-address-form select,
body.woocommerce-checkout
.wc-block-components-country-input select,
body.woocommerce-checkout
.wc-block-components-state-input select {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 54px !important;

	padding: 1rem 0.9rem 0.5rem !important;

	color: var(--asc-checkout-ink) !important;
	background: #ffffff !important;

	border: 2px solid var(--asc-checkout-ink) !important;
	border-radius: 0 !important;

	box-shadow: none !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout
.wc-block-components-text-input input:focus,
body.woocommerce-checkout
.wc-block-components-combobox input:focus,
body.woocommerce-checkout
.wc-block-components-address-form select:focus {
	border-color: var(--asc-checkout-electric) !important;

	outline:
		3px solid
		rgba(0, 217, 255, 0.22) !important;

	outline-offset: 2px !important;
}

body.woocommerce-checkout
.wc-block-components-text-input label,
body.woocommerce-checkout
.wc-block-components-combobox label {
	color: rgba(13, 9, 8, 0.72) !important;
	font-weight: 700 !important;
}

/* Links de dirección */

body.woocommerce-checkout
.wc-block-components-address-form__address_2-toggle {
	color: var(--asc-checkout-red) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* Checkboxes */

body.woocommerce-checkout
.wc-block-components-checkbox
label,
body.woocommerce-checkout
.wc-block-components-checkbox
span {
	color: var(--asc-checkout-ink) !important;
}

body.woocommerce-checkout
.wc-block-components-checkbox
input[type="checkbox"] {
	accent-color: var(--asc-checkout-red);
}

/* =====================================================
   OPCIONES DE PAGO
   ===================================================== */

body.woocommerce-checkout
.wc-block-checkout__payment-method {
	margin-top: 1rem !important;
	padding: 1.25rem !important;

	color: var(--asc-checkout-ink) !important;
	background: rgba(255, 255, 255, 0.48) !important;

	border: 2px solid var(--asc-checkout-ink) !important;
	border-left: 7px solid var(--asc-checkout-yellow) !important;
}

body.woocommerce-checkout
.wc-block-components-radio-control {
	color: var(--asc-checkout-ink) !important;
}

body.woocommerce-checkout
.wc-block-components-radio-control__option {
	padding: 1rem !important;

	background: #ffffff !important;
	border: 1px solid rgba(13, 9, 8, 0.22) !important;
}

/* Avisos */

body.woocommerce-checkout
.wc-block-components-notice-banner {
	margin: 0 !important;
	padding: 1rem !important;

	border-radius: 0 !important;
	box-shadow:
		4px 5px 0 rgba(0, 0, 0, 0.18) !important;
}

body.woocommerce-checkout
.wc-block-components-notice-banner.is-error {
	color: #720d13 !important;
	background: #fff1f1 !important;
	border: 2px solid var(--asc-checkout-red) !important;
}

/* Nota del pedido */

body.woocommerce-checkout
.wc-block-components-textarea {
	width: 100% !important;
	min-height: 130px !important;

	color: var(--asc-checkout-ink) !important;
	background: #ffffff !important;

	border: 2px solid var(--asc-checkout-ink) !important;
	border-radius: 0 !important;
}

/* =====================================================
   RESUMEN DEL PEDIDO
   ===================================================== */

body.woocommerce-checkout
.wc-block-checkout__sidebar {
	position: sticky !important;
	top: 100px !important;

	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;

	padding: 1.35rem !important;

	color: var(--asc-white) !important;
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 28px,
			rgba(255, 255, 255, 0.018) 29px
		),
		var(--asc-checkout-panel) !important;

	border: 2px solid rgba(255, 255, 255, 0.18) !important;
	border-top: 8px solid var(--asc-checkout-electric) !important;

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.48) !important;
}

body.woocommerce-checkout
.wc-block-checkout__sidebar
h2,
body.woocommerce-checkout
.wc-block-components-order-summary__button-text {
	color: var(--asc-white) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: 2.5rem !important;
	font-weight: 400 !important;
	line-height: 0.9 !important;
	text-transform: uppercase !important;
}

/* Producto del resumen */

body.woocommerce-checkout
.wc-block-components-order-summary-item {
	padding: 1rem 0 !important;

	color: var(--asc-white) !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.2) !important;
}

body.woocommerce-checkout
.wc-block-components-order-summary-item__image {
	background: #ffffff !important;
	border: 2px solid var(--asc-white) !important;
}

body.woocommerce-checkout
.wc-block-components-order-summary-item__image img {
	background: #ffffff !important;
	object-fit: contain !important;
}

body.woocommerce-checkout
.wc-block-components-product-name,
body.woocommerce-checkout
.wc-block-components-product-details,
body.woocommerce-checkout
.wc-block-components-product-details__name,
body.woocommerce-checkout
.wc-block-components-product-details__value {
	color: var(--asc-white) !important;
}

body.woocommerce-checkout
.wc-block-components-order-summary-item__total-price {
	color: var(--asc-checkout-electric) !important;

	font-family: "Antonio", sans-serif !important;
	font-weight: 700 !important;
}

/* Totales */

body.woocommerce-checkout
.wc-block-components-totals-wrapper {
	padding: 1rem 0 !important;

	color: var(--asc-white) !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.2) !important;
}

body.woocommerce-checkout
.wc-block-components-totals-item__label,
body.woocommerce-checkout
.wc-block-components-totals-item__value {
	color: var(--asc-white) !important;
	font-weight: 700 !important;
}

body.woocommerce-checkout
.wc-block-components-totals-footer-item {
	margin-top: 0.5rem !important;
	padding: 1.1rem 0 !important;

	border-top: 3px solid var(--asc-checkout-red) !important;
}

body.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label,
body.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
	color: var(--asc-checkout-electric) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
}

/* Cupón */

body.woocommerce-checkout
.wc-block-components-panel__button,
body.woocommerce-checkout
.wc-block-components-totals-coupon__button {
	width: 100% !important;
	min-height: 50px !important;

	padding: 0.8rem 0.9rem !important;

	color: var(--asc-white) !important;
	background: rgba(255, 255, 255, 0.06) !important;

	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 0 !important;

	font-weight: 700 !important;
	text-align: left !important;
}

/* =====================================================
   BOTÓN REALIZAR PEDIDO
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 58px !important;

	margin-top: 1.25rem !important;
	padding: 0.9rem 1.2rem !important;

	color: var(--asc-white) !important;
	background: var(--asc-checkout-red) !important;

	border: 2px solid var(--asc-checkout-red) !important;
	border-radius: 0 !important;

	box-shadow:
		5px 6px 0 rgba(255, 255, 255, 0.14) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button::before {
	content: "✦";
	margin-right: 0.55rem;
}

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {
	color: var(--asc-checkout-ink) !important;
	background: var(--asc-checkout-electric) !important;
	border-color: var(--asc-checkout-electric) !important;

	transform: translate(-2px, -2px);
}
/* =========================================================
   CHECKOUT — CENTRADO DIRECTO EN EL VIEWPORT
   ========================================================= */

@media screen and (min-width: 901px) {

	/*
	 * Centra el bloque de Checkout directamente respecto
	 * a la ventana, sin depender del contenedor del tema.
	 */
	body.woocommerce-checkout
	.wp-block-woocommerce-checkout {
		position: relative !important;

		left: 50vw !important;
		right: auto !important;

		width: min(1280px, calc(100vw - 3rem)) !important;
		max-width: 1280px !important;
		min-width: 0 !important;

		margin:
			clamp(2rem, 4vw, 4rem)
			0
			6rem !important;

		padding: 0 !important;

		transform: translateX(-50%) !important;
		box-sizing: border-box !important;
	}

	/*
	 * La cuadrícula interior utiliza todo el ancho
	 * del bloque ya centrado.
	 */
	body.woocommerce-checkout
	.wp-block-woocommerce-checkout
	.wc-block-checkout {
		display: grid !important;

		grid-template-columns:
			minmax(0, 1fr)
			minmax(360px, 420px) !important;

		align-items: start !important;

		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		gap: clamp(2rem, 3vw, 3.5rem) !important;
	}

	body.woocommerce-checkout
	.wc-block-checkout__main {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: clamp(1.75rem, 3vw, 2.75rem) !important;
	}

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		width: 100% !important;
		max-width: 420px !important;
		min-width: 0 !important;

		margin: 0 0 0 auto !important;
	}

	/* Separación de campos */

	body.woocommerce-checkout
	.wc-block-components-address-form {
		column-gap: 1rem !important;
		row-gap: 1rem !important;
	}

	body.woocommerce-checkout
	.wc-block-components-address-form > *,
	body.woocommerce-checkout
	.wc-block-components-text-input,
	body.woocommerce-checkout
	.wc-block-components-combobox {
		min-width: 0 !important;
	}
}
/* =========================================================
   CHECKOUT — ESTRUCTURA CON HEADER Y FOOTER
   ========================================================= */

body.woocommerce-checkout main.asc-checkout-page {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: clamp(2rem, 4vw, 4rem) 0 6rem !important;
}

body.woocommerce-checkout
.asc-checkout-page__title {
	width: min(1280px, calc(100% - 3rem));

	margin:
		0
		auto
		2rem !important;
}

	/* =========================================================
   CHECKOUT — AJUSTE VISUAL FINAL
   ========================================================= */

body.woocommerce-checkout main.asc-checkout-page {
	padding:
		clamp(1.5rem, 3vw, 2.5rem)
		1rem
		5rem !important;
}

/* Banner principal */
body.woocommerce-checkout .asc-checkout-page__title {
	width: min(1000px, calc(100% - 2rem));
	margin:
		0
		auto
		clamp(2rem, 4vw, 3rem) !important;

	padding:
		clamp(1rem, 2vw, 1.35rem)
		clamp(1.25rem, 2.2vw, 2rem);

	background: #050404;
	color: var(--asc-white);
	border: 2px solid rgba(255,255,255,0.88);
	border-left: 10px solid var(--asc-red);
	box-shadow:
		0 6px 0 var(--asc-electric),
		10px 12px 0 rgba(0,0,0,0.28);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3rem, 7vw, 5.6rem);
	line-height: 0.92;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* Contenedor general del checkout */
body.woocommerce-checkout .wp-block-post-content {
	width: min(1240px, calc(100% - 2rem));
	margin: 0 auto !important;
}

/* Grid del checkout */
body.woocommerce-checkout .wc-block-checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

/* Evita márgenes raros internos */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	margin: 0 !important;
}

/* Columna izquierda */
body.woocommerce-checkout .wc-block-checkout__main {
	min-width: 0;
}

/* Columna derecha sticky */
body.woocommerce-checkout .wc-block-checkout__sidebar {
	position: sticky;
	top: 110px;
	align-self: start;
}

/* Respira mejor el bloque izquierdo */
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-panel {
	margin-bottom: 1.5rem;
}

/* Ajuste para móviles y tablets */
@media (max-width: 980px) {
	body.woocommerce-checkout .wc-block-checkout {
		grid-template-columns: 1fr;
	}

	body.woocommerce-checkout .wc-block-checkout__sidebar {
		position: static;
		top: auto;
	}

	body.woocommerce-checkout .asc-checkout-page__title {
		width: calc(100% - 1rem);
		font-size: clamp(2.7rem, 12vw, 4.2rem);
		margin-bottom: 1.5rem !important;
	}
}
	
/* =========================================================
   CHECKOUT — SEGUNDA CAPA VISUAL
   FLYER / BACKSTAGE ORDER PASS
   ========================================================= */

/* =====================================================
   TÍTULO TIPO FLYER
   ===================================================== */

body.woocommerce-checkout
.asc-checkout-page__title {
	position: relative;
	overflow: visible;
	padding-top: clamp(2.5rem, 4vw, 3.25rem) !important;
}

/* Kicker superior */

body.woocommerce-checkout
.asc-checkout-page__title::before {
	content: "★ AFTERSHOW CLUB · MEMBER CHECKOUT ★";

	position: absolute;
	top: 0.8rem;
	left: clamp(1.25rem, 2vw, 2rem);

	display: inline-flex;
	align-items: center;

	padding: 0.48rem 0.72rem;

	color: var(--asc-white, #fffdf8);
	background: var(--asc-red, #c94040);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;

	box-shadow:
		4px 4px 0 rgba(255, 255, 255, 0.14);
}

/* Cinta pegada al flyer */

body.woocommerce-checkout
.asc-checkout-page__title::after {
	content: "";

	position: absolute;
	top: -13px;
	right: clamp(2rem, 6vw, 5rem);

	width: 92px;
	height: 28px;

	background:
		linear-gradient(
			90deg,
			rgba(255, 220, 120, 0.74),
			rgba(255, 235, 170, 0.88),
			rgba(255, 220, 120, 0.72)
		);

	border-left: 1px solid rgba(90, 60, 20, 0.18);
	border-right: 1px solid rgba(90, 60, 20, 0.18);

	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.18);

	transform: rotate(-2deg);
	opacity: 0.9;
}

/* =====================================================
   FORMULARIO DE PAPEL
   ===================================================== */

body.woocommerce-checkout
.wc-block-checkout__main {
	position: relative;

	padding-top: clamp(3.6rem, 5vw, 4.6rem) !important;

	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.42),
			transparent 45%
		),
		var(--asc-checkout-paper, #f1eadf) !important;
}

/* Etiqueta del formulario */

body.woocommerce-checkout
.wc-block-checkout__main::before {
	content: "ORDER FORM · ISSUE 001";

	position: absolute;
	top: 1.25rem;
	right: clamp(1.25rem, 3vw, 2.5rem);

	display: inline-flex;
	align-items: center;

	padding: 0.5rem 0.72rem;

	color: var(--asc-checkout-ink, #0d0908);
	background: var(--asc-checkout-yellow, #ffd447);

	border-left: 5px solid var(--asc-checkout-red, #c94040);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;

	box-shadow:
		4px 4px 0 rgba(13, 9, 8, 0.18);
}

/* =====================================================
   ENCABEZADOS DE SECCIÓN
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-checkout-step__heading {
	position: relative;

	margin-bottom: 1.4rem !important;
	padding:
		0
		0
		1rem
		1rem !important;

	border-bottom:
		2px dashed
		rgba(13, 9, 8, 0.2);
}

/* Barra roja lateral */

body.woocommerce-checkout
.wc-block-components-checkout-step__heading::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 6px;
	height: calc(100% - 1rem);

	background: var(--asc-checkout-red, #c94040);
}

/* Microtexto */

body.woocommerce-checkout
.wc-block-components-checkout-step__heading::after {
	content: "MEMBER DETAILS";

	display: block;
	margin-top: 0.55rem;

	color: rgba(13, 9, 8, 0.52);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

/* =====================================================
   CAMPOS MÁS PULIDOS
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-text-input input,
body.woocommerce-checkout
.wc-block-components-combobox input,
body.woocommerce-checkout
.wc-block-components-address-form select,
body.woocommerce-checkout
.wc-block-components-country-input select,
body.woocommerce-checkout
.wc-block-components-state-input select {
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease,
		transform 160ms ease;
}

body.woocommerce-checkout
.wc-block-components-text-input input:hover,
body.woocommerce-checkout
.wc-block-components-combobox input:hover,
body.woocommerce-checkout
.wc-block-components-address-form select:hover {
	border-color:
		var(--asc-checkout-red, #c94040) !important;
}

body.woocommerce-checkout
.wc-block-components-text-input input:focus,
body.woocommerce-checkout
.wc-block-components-combobox input:focus,
body.woocommerce-checkout
.wc-block-components-address-form select:focus {
	box-shadow:
		4px 4px 0 rgba(0, 217, 255, 0.2) !important;

	transform: translate(-1px, -1px);
}

/* Labels */

body.woocommerce-checkout
.wc-block-components-text-input label,
body.woocommerce-checkout
.wc-block-components-combobox label {
	font-family: "Inter", sans-serif;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
}

/* =====================================================
   RESUMEN TIPO BACKSTAGE PASS
   ===================================================== */

body.woocommerce-checkout
.wc-block-checkout__sidebar {
	position: sticky !important;
	overflow: hidden;

	padding:
		4.4rem
		1.35rem
		5.4rem !important;

	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 27px,
			rgba(255, 255, 255, 0.02) 28px
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.045),
			transparent 42%
		),
		var(--asc-checkout-panel, #17110f) !important;
}

/* Etiqueta superior del pase */

body.woocommerce-checkout
.wc-block-checkout__sidebar::before {
	content: "BACKSTAGE ORDER PASS";

	position: absolute;
	top: 1.25rem;
	left: 1.35rem;

	display: inline-flex;
	padding: 0.5rem 0.72rem;

	color: var(--asc-checkout-ink, #0d0908);
	background: var(--asc-checkout-electric, #00d9ff);

	border-right: 5px solid var(--asc-checkout-yellow, #ffd447);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;

	box-shadow:
		4px 4px 0 rgba(255, 255, 255, 0.12);
}

/* Código de barras inferior */

body.woocommerce-checkout
.wc-block-checkout__sidebar::after {
	content: "ASC · CHECKOUT · AUTHORIZED MEMBER";

	position: absolute;
	right: 1.35rem;
	bottom: 1.15rem;
	left: 1.35rem;

	display: flex;
	align-items: flex-end;

	height: 42px;
	padding-top: 29px;

	color: rgba(255, 255, 255, 0.48);

	background:
		repeating-linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.78) 0 2px,
			transparent 2px 5px,
			rgba(255, 255, 255, 0.78) 5px 6px,
			transparent 6px 10px,
			rgba(255, 255, 255, 0.78) 10px 14px,
			transparent 14px 18px
		)
		top left / 100% 24px no-repeat;

	font-family: "Inter", sans-serif;
	font-size: 0.48rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

/* =====================================================
   PRODUCTOS DEL RESUMEN
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-order-summary-item {
	margin-bottom: 0.75rem !important;
	padding: 1rem !important;

	background: rgba(255, 255, 255, 0.025) !important;

	border:
		1px solid
		rgba(255, 255, 255, 0.12) !important;
}

body.woocommerce-checkout
.wc-block-components-order-summary-item:hover {
	background:
		rgba(255, 255, 255, 0.045) !important;
}

/* Imagen con marco de pase */

body.woocommerce-checkout
.wc-block-components-order-summary-item__image {
	box-shadow:
		4px 5px 0 rgba(0, 0, 0, 0.38);
}

/* =====================================================
   CUPÓN Y TOTALES
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-panel__button,
body.woocommerce-checkout
.wc-block-components-totals-coupon__button {
	transition:
		background-color 160ms ease,
		border-color 160ms ease;
}

body.woocommerce-checkout
.wc-block-components-panel__button:hover,
body.woocommerce-checkout
.wc-block-components-totals-coupon__button:hover {
	color: var(--asc-checkout-ink, #0d0908) !important;
	background: var(--asc-checkout-yellow, #ffd447) !important;
	border-color: var(--asc-checkout-yellow, #ffd447) !important;
}

body.woocommerce-checkout
.wc-block-components-totals-footer-item {
	position: relative;

	margin-top: 1rem !important;
	padding:
		1.4rem
		0
		1rem !important;
}

/* Pequeña etiqueta antes del total */

body.woocommerce-checkout
.wc-block-components-totals-footer-item::before {
	content: "FINAL ORDER VALUE";

	position: absolute;
	top: 0.25rem;
	left: 0;

	color: rgba(255, 255, 255, 0.48);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.56rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* =====================================================
   BOTÓN FINAL
   ===================================================== */

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button {
	position: relative;
	overflow: hidden;

	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		box-shadow 160ms ease,
		transform 160ms ease !important;
}

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {
	box-shadow:
		7px 8px 0 rgba(255, 255, 255, 0.1) !important;
}

/* =====================================================
   CHECKOUT DELUXE — TABLET Y MÓVIL
   ===================================================== */

@media screen and (max-width: 980px) {

	body.woocommerce-checkout
	.asc-checkout-page__title {
		padding-top: 3rem !important;
	}

	body.woocommerce-checkout
	.asc-checkout-page__title::before {
		top: 0.75rem;
		left: 1rem;

		font-size: 0.61rem;
		letter-spacing: 0.11em;
	}

	
	body.woocommerce-checkout
	.asc-checkout-page__title::after {
		right: 1.5rem;
		width: 70px;
		height: 23px;
	}

	body.woocommerce-checkout
	.wc-block-checkout__main {
		padding:
			3.5rem
			1rem
			1rem !important;
	}

	body.woocommerce-checkout
	.wc-block-checkout__main::before {
		top: 1rem;
		right: 1rem;

		font-size: 0.6rem;
	}

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		position: static !important;

		padding:
			4rem
			1rem
			5rem !important;
	}

	body.woocommerce-checkout
	.wc-block-checkout__sidebar::before {
		top: 1rem;
		left: 1rem;

		font-size: 0.62rem;
	}

	body.woocommerce-checkout
	.wc-block-checkout__sidebar::after {
		right: 1rem;
		left: 1rem;
	}

	body.woocommerce-checkout
	.wc-block-components-order-summary-item {
		padding: 0.8rem !important;
	}
}

@media screen and (max-width: 600px) {

	body.woocommerce-checkout
	.asc-checkout-page__title::after {
		display: none;
	}

	body.woocommerce-checkout
	.wc-block-components-checkout-step__heading::after {
		font-size: 0.56rem;
	}

	body.woocommerce-checkout
	.wc-block-checkout__main::before {
		content: "ORDER FORM · 001";
	}

	body.woocommerce-checkout
	.wc-block-checkout__sidebar::before {
		content: "ORDER PASS";
	}
}

	/* =========================================================
   CHECKOUT — MÉTODOS DE PAGO
   ESTILO SEGURO SIN ALTERAR EL LAYOUT DE WOOCOMMERCE
   ========================================================= */

@media screen and (min-width: 783px) {

	/* Panel general */

	body.woocommerce-checkout
	.wc-block-checkout__payment-method {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin-top: 1rem !important;
		padding: 1.25rem !important;

		color: var(--asc-checkout-ink, #0d0908) !important;
		background: rgba(255, 255, 255, 0.55) !important;

		border: 2px solid var(--asc-checkout-ink, #0d0908) !important;
		border-left: 7px solid var(--asc-checkout-yellow, #ffd447) !important;
	}

	/* Cada opción conserva el layout nativo de WooCommerce */

	body.woocommerce-checkout
	.wc-block-components-radio-control-accordion-option {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 0 0.85rem !important;
		padding: 0 !important;

		color: var(--asc-checkout-ink, #0d0908) !important;
		background: #ffffff !important;

		border: 2px solid var(--asc-checkout-ink, #0d0908) !important;
		border-radius: 0 !important;

		box-shadow: none !important;
	}

	body.woocommerce-checkout
	.wc-block-components-radio-control-accordion-option:last-child {
		margin-bottom: 0 !important;
	}

	body.woocommerce-checkout
	.wc-block-components-radio-control-accordion-option:has(input:checked) {
		border-left: 7px solid var(--asc-checkout-red, #c94040) !important;

		box-shadow:
			4px 5px 0 rgba(13, 9, 8, 0.18) !important;
	}

	/* Área clicable */

	body.woocommerce-checkout
	label.wc-block-components-radio-control__option {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 58px !important;

		margin: 0 !important;
		padding: 1rem !important;

		color: var(--asc-checkout-ink, #0d0908) !important;
		background: #ffffff !important;

		border: 0 !important;
		border-radius: 0 !important;
	}

	/* Restaura el comportamiento natural del radio */

	body.woocommerce-checkout
	.wc-block-components-radio-control__input {
		accent-color: var(--asc-checkout-red, #c94040) !important;
	}

	/* Nombre del método */

	body.woocommerce-checkout
	.wc-block-components-radio-control__label,
	body.woocommerce-checkout
	.wc-block-components-radio-control__label-group,
	body.woocommerce-checkout
	.wc-block-components-radio-control__option-layout {
		max-width: 100% !important;
		min-width: 0 !important;

		color: var(--asc-checkout-ink, #0d0908) !important;

		writing-mode: horizontal-tb !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
	}

	body.woocommerce-checkout
	.wc-block-components-radio-control__label {
		font-family: "Antonio", "Arial Narrow", sans-serif !important;
		font-size: 1rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.035em !important;
		line-height: 1.3 !important;
		text-transform: uppercase !important;
	}

	/* Explicación bancaria */

	body.woocommerce-checkout
	.wc-block-components-radio-control-accordion-content {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: 1rem 1rem 1rem 3rem !important;

		color: var(--asc-checkout-ink, #0d0908) !important;
		background: var(--asc-checkout-paper, #f1eadf) !important;

		border: 0 !important;
		border-top: 1px dashed rgba(13, 9, 8, 0.35) !important;
		border-left: 5px solid var(--asc-checkout-electric, #00d9ff) !important;

		font-size: 0.92rem !important;
		line-height: 1.6 !important;

		writing-mode: horizontal-tb !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
	}

	body.woocommerce-checkout
	.wc-block-components-radio-control-accordion-content p {
		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;

		color: inherit !important;

		writing-mode: horizontal-tb !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
	}
}
/* =========================================================
   ERROR 404
   ========================================================= */

body.error404 main.asc-404-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(3rem, 7vw, 7rem) 0 !important;
}

body.error404 .asc-404-flyer {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);

	width: min(1180px, calc(100% - 3rem));
	margin: 0 auto;
	padding: clamp(2rem, 6vw, 5rem);

	color: var(--asc-ink);
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 10px solid var(--asc-red);

	box-shadow:
		12px 14px 0 rgba(0, 0, 0, 0.48);
}

body.error404 .asc-404-code {
	margin: 0;

	color: var(--asc-ink);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(8rem, 20vw, 15rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 0.72;

	text-shadow:
		7px 7px 0 var(--asc-electric),
		12px 12px 0 var(--asc-red);
}

body.error404 .asc-404-title {
	max-width: 760px;
	margin: 2rem 0 1rem;

	color: var(--asc-ink);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3.5rem, 7vw, 6.5rem);
	font-weight: 400;
	line-height: 0.86;
	text-transform: uppercase;
}

body.error404 .asc-404-copy {
	max-width: 680px;
	margin-bottom: 1.75rem;

	color: rgba(13, 9, 8, 0.78);
	font-size: 1.08rem;
	line-height: 1.65;
}

body.error404 .asc-404-search,
body.search .asc-search-form,
body.search .asc-search-empty__form {
	width: 100%;
	max-width: 720px;
}

body.error404 .wp-block-search__inside-wrapper,
body.search .wp-block-search__inside-wrapper {
	padding: 0 !important;

	background: #ffffff;
	border: 2px solid var(--asc-ink);
	border-radius: 0;
}

body.error404 .wp-block-search__input,
body.search .wp-block-search__input {
	min-height: 56px;
	padding: 0.8rem 1rem !important;

	color: var(--asc-ink);
	background: #ffffff;

	border: 0 !important;
	border-radius: 0 !important;
}

body.error404 .wp-block-search__button,
body.search .wp-block-search__button {
	min-width: 120px;
	margin: 0 !important;
	padding: 0.8rem 1rem !important;

	color: var(--asc-white);
	background: var(--asc-red);

	border: 0 !important;
	border-left: 2px solid var(--asc-ink) !important;
	border-radius: 0 !important;

	font-family: "Antonio", sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.error404 .asc-404-actions {
	margin-top: 1.5rem;
	gap: 0.8rem;
}

body.error404 .asc-404-actions .wp-block-button__link {
	min-height: 50px;
	padding: 0.85rem 1.1rem;

	border: 2px solid var(--asc-ink);
	border-radius: 0;

	font-family: "Antonio", sans-serif;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

body.error404 .asc-button--red .wp-block-button__link {
	color: var(--asc-white);
	background: var(--asc-red);
}

body.error404 .asc-button--electric .wp-block-button__link {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

body.error404 .asc-button--yellow .wp-block-button__link {
	color: var(--asc-ink);
	background: var(--asc-yellow);
}

/* Ticket 404 */

body.error404 .asc-404-ticket {
	position: relative;
	padding: 2rem 1.5rem;

	color: var(--asc-white);
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 28px,
			rgba(255, 255, 255, 0.02) 29px
		),
		#0d0908;

	border: 2px solid rgba(255, 255, 255, 0.18);
	border-left: 8px solid var(--asc-electric);

	box-shadow:
		8px 9px 0 rgba(0, 0, 0, 0.35);

	transform: rotate(1.5deg);
}

body.error404 .asc-404-ticket__eyebrow {
	color: var(--asc-electric);

	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.error404 .asc-404-ticket__title {
	margin: 2rem 0 1rem;

	color: var(--asc-white);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3.5rem, 6vw, 5rem);
	font-weight: 400;
	line-height: 0.85;
	text-transform: uppercase;
}

body.error404 .asc-404-ticket__issue {
	display: inline-flex;
	padding: 0.5rem 0.7rem;

	color: var(--asc-white);
	background: var(--asc-red);

	font-family: "Antonio", sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.error404 .asc-404-ticket__barcode {
	width: 100%;
	height: 48px;
	margin: 2rem 0 0.8rem;

	background:
		repeating-linear-gradient(
			90deg,
			#ffffff 0 2px,
			transparent 2px 5px,
			#ffffff 5px 7px,
			transparent 7px 11px,
			#ffffff 11px 15px,
			transparent 15px 18px
		);

	opacity: 0.72;
}

body.error404 .asc-404-ticket__footer {
	color: rgba(255, 255, 255, 0.5);

	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* =========================================================
   RESULTADOS DE BÚSQUEDA
   ========================================================= */

body.search main.asc-search-page {
	display: grid;
	gap: clamp(3rem, 6vw, 5rem);

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: clamp(2rem, 5vw, 4rem) 0 6rem !important;
}

body.search .asc-search-hero,
body.search .asc-search-query {
	width: min(1280px, calc(100% - 3rem));
	max-width: none;

	margin-left: auto;
	margin-right: auto;
}

body.search .asc-search-hero {
	padding: clamp(2.5rem, 6vw, 5rem);

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 9px solid var(--asc-red);

	box-shadow:
		10px 12px 0 rgba(0, 0, 0, 0.42);
}

body.search .asc-search-heading {
	max-width: 900px;
	margin: 0 0 1.5rem;

	color: var(--asc-ink);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 400;
	line-height: 0.86;
	text-transform: uppercase;
}

body.search .asc-search-term-label {
	margin: 0 0 0.25rem;

	color: rgba(13, 9, 8, 0.58);

	font-family: "Antonio", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.search .asc-search-term {
	margin: 0 0 1.75rem !important;

	color: var(--asc-red);

	font-family: "Antonio", sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.1;
}

/* Cuadrícula */

body.search .asc-search-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

	margin: 0 !important;
	padding: 0 !important;
	gap: 2rem !important;
}

body.search .asc-search-grid > li {
	min-width: 0;
	margin: 0 !important;
}

body.search .asc-search-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;

	color: var(--asc-ink);
	background: var(--asc-paper);

	border: 2px solid var(--asc-ink);
	border-top: 7px solid var(--asc-electric);

	box-shadow:
		7px 8px 0 rgba(0, 0, 0, 0.4);
}

body.search .asc-search-grid > li.type-page .asc-search-card {
	border-top-color: var(--asc-yellow);
}

body.search .asc-search-grid > li.type-product .asc-search-card {
	border-top-color: var(--asc-red);
}

body.search .asc-search-card__image {
	margin: 0 !important;
	background: #ffffff;
	border-bottom: 2px solid var(--asc-ink);
}

body.search .asc-search-card__image img {
	width: 100%;
	height: 100%;
	padding: 0.5rem;

	object-fit: cover;
}

body.search .asc-search-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;

	padding: 1.25rem;
}

body.search .asc-search-card__terms {
	margin-bottom: 0.75rem;

	color: var(--asc-red);

	font-family: "Antonio", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

body.search .asc-search-card__terms a {
	color: inherit;
	text-decoration: none;
}

body.search .asc-search-card__title {
	margin: 0 0 0.8rem !important;

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 400;
	line-height: 0.92;
	text-transform: uppercase;
}

body.search .asc-search-card__title a {
	color: var(--asc-ink);
	text-decoration: none;
}

body.search .asc-search-card__excerpt {
	flex: 1;
	margin-bottom: 1rem;

	color: rgba(13, 9, 8, 0.74);
	font-size: 0.92rem;
	line-height: 1.55;
}

body.search .asc-search-card__meta {
	width: 100%;
	margin-top: auto;
	padding-top: 1rem;

	border-top: 1px dashed rgba(13, 9, 8, 0.24);
}

body.search .asc-search-card__date {
	color: rgba(13, 9, 8, 0.55);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
}

body.search .asc-search-card__link {
	color: var(--asc-red);

	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Paginación */

body.search .asc-search-pagination {
	margin-top: 3rem;
	gap: 0.5rem;
}

body.search .asc-search-pagination a,
body.search .asc-search-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 46px;
	min-height: 46px;
	padding: 0.65rem 0.85rem;

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid var(--asc-white);
	text-decoration: none;
}

body.search .asc-search-pagination .current {
	color: var(--asc-ink);
	background: var(--asc-electric);
}

/* Sin resultados */

body.search .asc-search-empty {
	max-width: 900px;
	padding: clamp(2rem, 5vw, 4rem);

	color: var(--asc-white);
	background: var(--asc-ink);

	border: 2px solid var(--asc-white);
	border-left: 8px solid var(--asc-red);

	box-shadow:
		0 7px 0 var(--asc-electric),
		8px 10px 0 rgba(0, 0, 0, 0.42);

	text-align: center;
}

body.search .asc-search-empty__label {
	color: var(--asc-electric);

	font-family: "Antonio", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.search .asc-search-empty__title {
	color: var(--asc-white);

	font-family: "Bebas Neue", "Antonio", sans-serif;
	font-size: clamp(3rem, 6vw, 5.5rem);
	font-weight: 400;
	line-height: 0.88;
	text-transform: uppercase;
}

body.search .asc-search-empty p {
	color: rgba(255, 255, 255, 0.78);
}

/* =========================================================
   BÚSQUEDA SIN RESULTADOS — BOTONES
   ========================================================= */

body.search .asc-search-empty .wp-block-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 0.85rem !important;

	width: 100% !important;
	margin-top: 1.5rem !important;
}

body.search .asc-search-empty .wp-block-button {
	margin: 0 !important;
}

body.search .asc-search-empty .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-width: 150px !important;
	min-height: 52px !important;
	padding: 0.85rem 1.2rem !important;

	color: var(--asc-white, #fffdf8) !important;
	background: var(--asc-red, #c94040) !important;

	border: 2px solid var(--asc-white, #fffdf8) !important;
	border-radius: 0 !important;

	box-shadow:
		4px 5px 0 rgba(255, 255, 255, 0.12) !important;

	font-family: "Antonio", sans-serif !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

body.search
.asc-search-empty
.wp-block-button:nth-child(2)
.wp-block-button__link {
	color: var(--asc-ink, #0d0908) !important;
	background: var(--asc-electric, #00d9ff) !important;
	border-color: var(--asc-electric, #00d9ff) !important;
}
/* =========================================================
   PÁGINAS LEGALES — ESTRUCTURA GENERAL
   ========================================================= */

body:has(main.asc-legal-page) {
	--asc-legal-paper: #f1eadf;
	--asc-legal-ink: #0d0908;
	--asc-legal-panel: #17110f;
	--asc-legal-red: #c94040;
	--asc-legal-electric: #00d9ff;
	--asc-legal-yellow: #ffd447;
}

main.asc-legal-page {
	display: grid;
	gap: clamp(3rem, 6vw, 5rem);

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: clamp(2rem, 5vw, 4rem) 0 6rem !important;
}

main.asc-legal-page *,
main.asc-legal-page *::before,
main.asc-legal-page *::after {
	box-sizing: border-box;
}

/* =====================================================
   HERO
   ===================================================== */

.asc-legal-hero {
	position: relative;

	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: none !important;

	margin: 0 auto !important;
	padding: clamp(2.75rem, 6vw, 5.5rem) !important;

	color: var(--asc-legal-ink);
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.42),
			transparent 45%
		),
		var(--asc-legal-paper);

	border: 2px solid var(--asc-legal-ink);
	border-top: 10px solid var(--asc-legal-red);

	box-shadow:
		10px 12px 0 rgba(0, 0, 0, 0.42);
}

.asc-legal-hero::after {
	content: "";

	position: absolute;
	top: -14px;
	right: clamp(2rem, 7vw, 6rem);

	width: 96px;
	height: 28px;

	background:
		linear-gradient(
			90deg,
			rgba(255, 220, 120, 0.72),
			rgba(255, 237, 177, 0.9),
			rgba(255, 220, 120, 0.72)
		);

	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
	transform: rotate(-2deg);
}

.asc-legal-hero__title {
	max-width: 1000px;

	margin: 0 0 1.25rem !important;

	color: var(--asc-legal-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(4rem, 8vw, 7rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.015em;
	line-height: 0.86 !important;
	text-transform: uppercase;
}

.asc-legal-hero__copy {
	max-width: 760px;

	margin: 0 0 1.5rem !important;

	color: rgba(13, 9, 8, 0.76) !important;

	font-size: clamp(1rem, 1.7vw, 1.15rem);
	line-height: 1.65;
}

.asc-legal-hero__status {
	display: inline-flex;

	width: fit-content;
	margin: 0 !important;
	padding: 0.5rem 0.75rem;

	color: var(--asc-white, #fffdf8) !important;
	background: var(--asc-legal-red);

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;

	box-shadow: 4px 4px 0 rgba(13, 9, 8, 0.2);
}

/* =====================================================
   LAYOUT
   ===================================================== */

.asc-legal-layout {
	display: grid !important;
	grid-template-columns: minmax(250px, 310px) minmax(0, 1fr);
	align-items: start;

	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: none !important;

	margin: 0 auto !important;
	gap: clamp(2rem, 4vw, 4rem);
}

/* =====================================================
   NAVEGACIÓN LATERAL
   ===================================================== */

.asc-legal-nav {
	position: sticky;
	top: 110px;

	min-width: 0;
	padding: 1.35rem;

	color: var(--asc-white, #fffdf8);
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 27px,
			rgba(255, 255, 255, 0.02) 28px
		),
		var(--asc-legal-panel);

	border: 2px solid rgba(255, 255, 255, 0.18);
	border-top: 8px solid var(--asc-legal-electric);

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.46);
}

.asc-legal-nav__label {
	display: inline-flex;

	margin: 0 0 1rem !important;
	padding: 0.45rem 0.65rem;

	color: var(--asc-legal-ink) !important;
	background: var(--asc-legal-electric);

	font-family: "Antonio", sans-serif;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-legal-nav__title {
	margin: 0 0 1rem !important;

	color: var(--asc-white, #fffdf8) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: 2.7rem !important;
	font-weight: 400 !important;
	line-height: 0.9 !important;
	text-transform: uppercase;
}

.asc-legal-nav__list {
	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}

.asc-legal-nav__list li {
	margin: 0 !important;
	padding: 0 !important;

	border-top: 1px dashed rgba(255, 255, 255, 0.18);
}

.asc-legal-nav__list li:last-child {
	border-bottom: 1px dashed rgba(255, 255, 255, 0.18);
}

.asc-legal-nav__list a {
	display: flex;
	align-items: center;

	min-height: 48px;
	padding: 0.7rem 0.2rem;

	color: rgba(255, 253, 248, 0.82);
	text-decoration: none;

	font-family: "Antonio", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.asc-legal-nav__list a::before {
	content: "→";

	margin-right: 0.55rem;

	color: var(--asc-legal-electric);
}

.asc-legal-nav__list a:hover {
	color: var(--asc-legal-yellow);
	padding-left: 0.35rem;
}

.asc-legal-nav__contact {
	margin: 1.25rem 0 0 !important;
	padding-top: 1rem;

	color: rgba(255, 255, 255, 0.62) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.14);

	font-size: 0.72rem;
	line-height: 1.55;
}

.asc-legal-nav__contact a {
	color: var(--asc-legal-electric);
	font-weight: 700;
	overflow-wrap: anywhere;
}

/* =====================================================
   CONTENIDO LEGAL
   ===================================================== */

.asc-legal-content {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;

	margin: 0 !important;
	padding: clamp(1.5rem, 4vw, 3.5rem) !important;

	color: var(--asc-legal-ink);
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 32px,
			rgba(13, 9, 8, 0.016) 33px
		),
		var(--asc-legal-paper);

	border: 2px solid var(--asc-legal-ink);
	border-left: 8px solid var(--asc-legal-electric);

	box-shadow:
		9px 11px 0 rgba(0, 0, 0, 0.42);
}

.asc-legal-content > * {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.asc-legal-content h2 {
	margin-top: 3rem !important;
	margin-bottom: 1rem !important;
	padding-bottom: 0.75rem;

	color: var(--asc-legal-ink) !important;
	border-bottom: 2px dashed rgba(13, 9, 8, 0.24);

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(2.4rem, 4vw, 3.6rem) !important;
	font-weight: 400 !important;
	line-height: 0.92 !important;
	text-transform: uppercase;
}

.asc-legal-content h2:first-child {
	margin-top: 0 !important;
}

.asc-legal-content h3 {
	margin-top: 2rem !important;
	margin-bottom: 0.8rem !important;

	color: var(--asc-legal-red) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.045em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

.asc-legal-content p,
.asc-legal-content li {
	color: rgba(13, 9, 8, 0.8) !important;

	font-size: 0.98rem;
	line-height: 1.72;
}

.asc-legal-content p {
	margin-top: 0;
	margin-bottom: 1.15rem;
}

.asc-legal-content ul,
.asc-legal-content ol {
	margin-top: 0.75rem;
	margin-bottom: 1.5rem;
	padding-left: 1.5rem;
}

.asc-legal-content li {
	margin-bottom: 0.65rem;
	padding-left: 0.25rem;
}

.asc-legal-content li::marker {
	color: var(--asc-legal-red);
	font-weight: 700;
}

.asc-legal-content strong {
	color: var(--asc-legal-ink);
	font-weight: 800;
}

.asc-legal-content a {
	color: #006d82;
	font-weight: 700;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.asc-legal-content a:hover {
	color: var(--asc-legal-red);
}

/* =====================================================
   AVISO DE STAGING
   ===================================================== */

.asc-legal-notice {
	max-width: 860px !important;

	margin:
		0
		auto
		2rem !important;

	padding: 1.25rem !important;

	color: var(--asc-legal-ink);
	background: #fff3bf;

	border: 2px solid var(--asc-legal-ink);
	border-left: 8px solid var(--asc-legal-yellow);

	box-shadow:
		5px 6px 0 rgba(13, 9, 8, 0.2);
}

.asc-legal-notice h2 {
	margin: 0 0 0.8rem !important;
	padding: 0 !important;

	border: 0 !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	line-height: 1.2 !important;
}

.asc-legal-notice p:last-child {
	margin-bottom: 0 !important;
}

.asc-legal-updated {
	display: inline-flex;

	margin: 0 0 1rem !important;
	padding: 0.45rem 0.65rem;

	color: var(--asc-white, #fffdf8) !important;
	background: var(--asc-legal-ink);

	font-family: "Antonio", sans-serif;
	font-size: 0.65rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
}

.asc-legal-divider {
	margin-top: 3rem !important;
	margin-bottom: 2rem !important;

	border-color: rgba(13, 9, 8, 0.35) !important;
	border-style: dashed !important;
}

.asc-legal-closing {
	padding: 1rem !important;

	color: var(--asc-white, #fffdf8) !important;
	background: var(--asc-legal-ink);

	border-left: 6px solid var(--asc-legal-red);

	font-family: "Antonio", sans-serif;
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* =========================================================
   LEGALES — TÉRMINOS ACTIVOS
   ========================================================= */

main.asc-legal-page--terms
.asc-legal-nav__list
a[href="/terminos-de-uso/"] {
	color: var(--asc-legal-ink, #0d0908) !important;
	background: var(--asc-legal-yellow, #ffd447) !important;

	padding-left: 0.65rem !important;
	padding-right: 0.65rem !important;
}

main.asc-legal-page--terms
.asc-legal-nav__list
a[href="/terminos-de-uso/"]::before {
	color: var(--asc-legal-red, #c94040) !important;
}
/* =========================================================
   LEGALES — COOKIES ACTIVO
   ========================================================= */

main.asc-legal-page--cookies
.asc-legal-nav__list
a[href="/politica-de-cookies/"] {
	color: var(--asc-legal-ink, #0d0908) !important;
	background: var(--asc-legal-yellow, #ffd447) !important;

	padding-left: 0.65rem !important;
	padding-right: 0.65rem !important;
}

main.asc-legal-page--cookies
.asc-legal-nav__list
a[href="/politica-de-cookies/"]::before {
	color: var(--asc-legal-red, #c94040) !important;
}


	/* =========================================================
   LEGALES — AJUSTE GENERAL
   ========================================================= */

.asc-legal-page {
	width: min(1280px, calc(100% - 2rem));
	margin: clamp(2rem, 5vw, 4rem) auto;
	padding: 0;
}

.asc-legal-page > .alignwide,
.asc-legal-page .alignwide {
	max-width: 100%;
}

.asc-legal-hero {
	position: relative;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.asc-legal-hero::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 50%;
	width: 92px;
	height: 18px;
	background: rgba(225, 209, 165, 0.88);
	border-left: 1px solid rgba(120, 95, 55, 0.16);
	border-right: 1px solid rgba(120, 95, 55, 0.16);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
	transform: translateX(-50%) rotate(-1.5deg);
	z-index: 8;
	pointer-events: none;
}

.asc-legal-shell {
	margin-bottom: clamp(3rem, 5vw, 4rem);
}

.asc-legal-grid {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.asc-legal-nav {
	position: relative;
}

.asc-legal-nav__inner {
	padding: 1.25rem 1.1rem;
	color: #f6f1e7;
	background: #0a0908;
	border-top: 6px solid var(--asc-electric);
	box-shadow: 6px 8px 0 rgba(0, 0, 0, 0.35);
}

.asc-legal-nav__eyebrow {
	display: inline-block;
	margin-bottom: 0.45rem;
	padding: 0.22rem 0.45rem;
	color: #0a0908;
	background: var(--asc-electric);
	font-family: "Antonio", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asc-legal-nav h2 {
	margin: 0 0 1rem;
	color: #fff;
	font-family: "Antonio", sans-serif;
	font-size: 2.4rem;
	line-height: 0.95;
	text-transform: uppercase;
}

.asc-legal-nav ul {
	margin: 0 0 1.2rem;
	padding: 0;
	list-style: none;
}

.asc-legal-nav li + li {
	margin-top: 0.55rem;
}

.asc-legal-nav a {
	color: #f6f1e7;
	text-decoration: none;
	border-bottom: 1px dashed rgba(255,255,255,0.18);
	display: block;
	padding: 0.45rem 0;
}

.asc-legal-nav a.is-active {
	color: #0a0908;
	background: #f2cc3d;
	padding-inline: 0.5rem;
	font-weight: 700;
}

.asc-legal-nav p,
.asc-legal-nav p a {
	color: rgba(255,255,255,0.84);
	font-size: 0.9rem;
	line-height: 1.55;
}

.asc-legal-article {
	padding: clamp(1.35rem, 3vw, 2rem);
	background: var(--asc-paper);
	border-top: 4px solid var(--asc-red);
	box-shadow: 8px 10px 0 rgba(0, 0, 0, 0.3);
}

.asc-legal-article section + section {
	margin-top: 1.8rem;
}

.asc-legal-article h2 {
	margin: 0 0 0.75rem;
	color: var(--asc-ink);
	font-family: "Antonio", sans-serif;
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 0.95;
	text-transform: uppercase;
}

.asc-legal-article p,
.asc-legal-article li {
	color: rgba(18, 16, 14, 0.9);
	font-size: 1rem;
	line-height: 1.75;
}

.asc-legal-article ul {
	margin: 0.75rem 0 0;
	padding-left: 1.2rem;
}

.asc-legal-closing {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px dashed rgba(0,0,0,0.18);
	font-size: 0.92rem;
}

.asc-legal-status {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.35rem 0.55rem;
	color: #fff;
	background: var(--asc-red);
	font-family: "Antonio", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.asc-legal-grid {
		grid-template-columns: 1fr;
	}

	.asc-legal-nav {
		order: 2;
	}

	.asc-legal-article {
		order: 1;
	}
}

@media (max-width: 600px) {
	.asc-legal-page {
		width: calc(100% - 1rem);
		margin-block: 1rem 2rem;
	}

	.asc-legal-hero::before {
		width: 76px;
		height: 16px;
		top: -10px;
	}

	.asc-legal-nav__inner,
	.asc-legal-article {
		box-shadow: 5px 6px 0 rgba(0, 0, 0, 0.28);
	}

	.asc-legal-article h2 {
		font-size: clamp(1.8rem, 9vw, 2.5rem);
	}
}
/* =========================================================
   LEGALES — CORRECCIÓN FINAL DE ANCHO Y MASKING TAPE
   ========================================================= */

/* Hero y contenido con el mismo ancho */

main.asc-legal-page > .asc-legal-hero,
main.asc-legal-page > .asc-legal-shell {
	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: 1280px !important;
	min-width: 0 !important;

	margin-left: auto !important;
	margin-right: auto !important;

	box-sizing: border-box !important;
}

/* Espacio debajo del bloque legal */

main.asc-legal-page > .asc-legal-shell {
	margin-bottom: clamp(3rem, 6vw, 5rem) !important;
	padding: 0 !important;
}

/* Elimina el segundo masking tape heredado */

main.asc-legal-page
.asc-legal-hero::after {
	content: none !important;
	display: none !important;
}

/* Conserva un solo tape, centrado */

main.asc-legal-page
.asc-legal-hero::before {
	content: "" !important;

	position: absolute !important;
	top: -13px !important;
	left: 50% !important;
	right: auto !important;
	z-index: 8 !important;

	display: block !important;

	width: 92px !important;
	height: 20px !important;

	background:
		linear-gradient(
			90deg,
			rgba(225, 209, 165, 0.78),
			rgba(241, 226, 180, 0.94),
			rgba(225, 209, 165, 0.78)
		) !important;

	border-left: 1px solid rgba(120, 95, 55, 0.16) !important;
	border-right: 1px solid rgba(120, 95, 55, 0.16) !important;

	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.16) !important;

	transform:
		translateX(-50%)
		rotate(-1.5deg) !important;

	pointer-events: none !important;
}

/* Cuadrícula legal contenida */

main.asc-legal-page
.asc-legal-grid {
	display: grid !important;

	grid-template-columns:
		260px
		minmax(0, 1fr) !important;

	align-items: start !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

/* Índice lateral */

main.asc-legal-page
.asc-legal-nav {
	width: 100% !important;
	max-width: 260px !important;
	min-width: 0 !important;

	margin: 0 !important;
}

/* Documento */

main.asc-legal-page
.asc-legal-article {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;

	margin: 0 !important;
}

/* Longitud de lectura cómoda */

main.asc-legal-page
.asc-legal-article > section,
main.asc-legal-page
.asc-legal-article > .asc-legal-closing {
	width: 100%;
	max-width: 880px;

	margin-left: auto;
	margin-right: auto;
}

/* Tablet */

@media screen and (max-width: 900px) {

	main.asc-legal-page
	.asc-legal-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	main.asc-legal-page
	.asc-legal-nav {
		width: 100% !important;
		max-width: 100% !important;
	}

	main.asc-legal-page
	.asc-legal-article > section,
	main.asc-legal-page
	.asc-legal-article > .asc-legal-closing {
		max-width: none;
	}
}

/* =========================================================
   LANDING LEGALES — ESCRITORIO
   ========================================================= */

main.asc-legal-center {
	--asc-legal-paper: #f1eadf;
	--asc-legal-ink: #0d0908;
	--asc-legal-panel: #17110f;
	--asc-legal-red: #c94040;
	--asc-legal-electric: #00d9ff;
	--asc-legal-yellow: #ffd447;

	display: grid !important;
	gap: clamp(3.5rem, 7vw, 6rem) !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 6rem !important;
}

main.asc-legal-center *,
main.asc-legal-center *::before,
main.asc-legal-center *::after {
	box-sizing: border-box;
}

main.asc-legal-center > section {
	width: min(1280px, calc(100% - 3rem)) !important;
	max-width: 1280px !important;
	min-width: 0 !important;

	margin-left: auto !important;
	margin-right: auto !important;
}

/* =====================================================
   HERO LEGAL
   ===================================================== */

main.asc-legal-center
.asc-legal-center__hero {
	position: relative !important;

	padding: clamp(3rem, 7vw, 6rem) !important;

	color: var(--asc-legal-ink) !important;
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.42),
			transparent 48%
		),
		var(--asc-legal-paper) !important;

	border: 2px solid var(--asc-legal-ink) !important;
	border-top: 9px solid var(--asc-legal-red) !important;

	box-shadow:
		10px 12px 0 rgba(0, 0, 0, 0.42) !important;

	overflow: visible !important;
}

/* Un solo masking tape */

main.asc-legal-center
.asc-legal-center__hero::before {
	content: "" !important;

	position: absolute !important;
	top: -14px !important;
	left: 50% !important;
	right: auto !important;
	z-index: 5 !important;

	display: block !important;

	width: 94px !important;
	height: 25px !important;

	background:
		linear-gradient(
			90deg,
			rgba(226, 207, 150, 0.76),
			rgba(246, 228, 173, 0.94),
			rgba(226, 207, 150, 0.76)
		) !important;

	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.16) !important;

	transform:
		translateX(-50%)
		rotate(-1.5deg) !important;

	pointer-events: none !important;
}

main.asc-legal-center
.asc-legal-center__hero::after {
	display: none !important;
	content: none !important;
}

main.asc-legal-center
.asc-legal-center__hero
.asc-kicker {
	display: inline-flex !important;

	width: fit-content !important;
	margin: 0 0 1.4rem !important;
	padding: 0.5rem 0.75rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-red) !important;

	font-family: "Antonio", "Arial Narrow", sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;

	box-shadow:
		4px 4px 0 rgba(13, 9, 8, 0.2) !important;
}

main.asc-legal-center
.asc-legal-hero__title {
	max-width: 900px !important;

	margin: 0 0 1.25rem !important;

	color: var(--asc-legal-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(5rem, 10vw, 8rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.015em !important;
	line-height: 0.82 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-hero__copy {
	max-width: 760px !important;

	margin: 0 0 1.5rem !important;

	color: rgba(13, 9, 8, 0.76) !important;

	font-size: clamp(1rem, 1.6vw, 1.15rem) !important;
	line-height: 1.65 !important;
}

main.asc-legal-center
.asc-legal-hero__status {
	display: inline-flex !important;

	width: fit-content !important;
	margin: 0 !important;
	padding: 0.48rem 0.7rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-ink) !important;

	border-left: 5px solid var(--asc-legal-electric) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

/* =====================================================
   INTRODUCCIÓN
   ===================================================== */

main.asc-legal-center
.asc-legal-center__intro {
	padding: clamp(2.5rem, 6vw, 5rem) !important;

	color: var(--asc-legal-ink) !important;
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		var(--asc-legal-paper) !important;

	border: 2px solid var(--asc-legal-ink) !important;
	border-left: 8px solid var(--asc-legal-yellow) !important;

	box-shadow:
		9px 11px 0 rgba(0, 0, 0, 0.4) !important;
}

main.asc-legal-center
.asc-legal-center__label {
	display: inline-flex !important;

	margin: 0 0 1rem !important;
	padding: 0.48rem 0.7rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-red) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.13em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__heading {
	max-width: 950px !important;

	margin: 0 0 1.25rem !important;

	color: var(--asc-legal-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(4rem, 8vw, 7rem) !important;
	font-weight: 400 !important;
	line-height: 0.85 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__intro
> p:last-child {
	max-width: 760px !important;
	margin: 0 !important;

	color: rgba(13, 9, 8, 0.76) !important;

	font-size: 1.05rem !important;
	line-height: 1.65 !important;
}

/* =====================================================
   TARJETAS
   ===================================================== */

main.asc-legal-center
.asc-legal-center__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: stretch !important;

	gap: 2rem !important;
}

main.asc-legal-center
.asc-legal-center__card {
	position: relative !important;

	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 440px !important;

	padding: 1.5rem !important;

	color: var(--asc-legal-ink) !important;
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 29px,
			rgba(13, 9, 8, 0.018) 30px
		),
		var(--asc-legal-paper) !important;

	border: 2px solid var(--asc-legal-ink) !important;
	border-top: 8px solid var(--asc-legal-electric) !important;

	box-shadow:
		8px 9px 0 rgba(0, 0, 0, 0.42) !important;

	overflow: hidden !important;
}

main.asc-legal-center
.asc-legal-center__card--terms {
	border-top-color: var(--asc-legal-red) !important;
}

main.asc-legal-center
.asc-legal-center__card--cookies {
	border-top-color: var(--asc-legal-yellow) !important;
}

main.asc-legal-center
.asc-legal-center__card-number {
	position: absolute !important;
	top: 0.4rem !important;
	right: 0.8rem !important;

	margin: 0 !important;

	color: rgba(13, 9, 8, 0.09) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: 8rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

main.asc-legal-center
.asc-legal-center__card-label {
	position: relative !important;
	z-index: 2 !important;

	display: inline-flex !important;

	width: fit-content !important;
	margin: 0 0 3.25rem !important;
	padding: 0.45rem 0.65rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-ink) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.64rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.13em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__card-title {
	position: relative !important;
	z-index: 2 !important;

	margin: 0 0 1rem !important;

	color: var(--asc-legal-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3rem, 4.5vw, 4.5rem) !important;
	font-weight: 400 !important;
	line-height: 0.86 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__card
> p:not(.asc-legal-center__card-number):not(.asc-legal-center__card-label) {
	position: relative !important;
	z-index: 2 !important;

	color: rgba(13, 9, 8, 0.74) !important;

	font-size: 0.96rem !important;
	line-height: 1.6 !important;
}

main.asc-legal-center
.asc-legal-center__card
.wp-block-buttons {
	width: 100% !important;
	margin-top: auto !important;
	padding-top: 1.5rem !important;
}

main.asc-legal-center
.asc-legal-center__card
.wp-block-button,
main.asc-legal-center
.asc-legal-center__card
.wp-block-button__link {
	width: 100% !important;
}

main.asc-legal-center
.asc-legal-center__card
.wp-block-button__link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 54px !important;
	padding: 0.85rem 1rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-ink) !important;

	border: 2px solid var(--asc-legal-ink) !important;
	border-radius: 0 !important;

	box-shadow:
		4px 5px 0 rgba(13, 9, 8, 0.22) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__card
.wp-block-button__link:hover {
	color: var(--asc-legal-ink) !important;
	background: var(--asc-legal-electric) !important;
	border-color: var(--asc-legal-electric) !important;

	transform: translate(-2px, -2px) !important;
}

/* =====================================================
   AVISO PRE-LAUNCH
   ===================================================== */

main.asc-legal-center
.asc-legal-center__notice {
	padding: clamp(2rem, 5vw, 4rem) !important;

	color: var(--asc-legal-ink) !important;
	background: #fff3bf !important;

	border: 2px solid var(--asc-legal-ink) !important;
	border-left: 8px solid var(--asc-legal-yellow) !important;

	box-shadow:
		8px 10px 0 rgba(0, 0, 0, 0.38) !important;
}

main.asc-legal-center
.asc-legal-center__notice-label {
	display: inline-flex !important;

	margin: 0 0 1rem !important;
	padding: 0.45rem 0.65rem !important;

	color: #fffdf8 !important;
	background: var(--asc-legal-red) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__notice h2 {
	margin: 0 0 1rem !important;

	color: var(--asc-legal-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3rem, 6vw, 5rem) !important;
	font-weight: 400 !important;
	line-height: 0.88 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__notice
> p:last-child {
	max-width: 820px !important;
	margin-bottom: 0 !important;

	color: rgba(13, 9, 8, 0.78) !important;
	line-height: 1.65 !important;
}

/* =====================================================
   CONTACTO
   ===================================================== */

main.asc-legal-center
.asc-legal-center__contact {
	padding: clamp(2.5rem, 6vw, 5rem) !important;

	color: #fffdf8 !important;
	background:
		repeating-linear-gradient(
			-3deg,
			transparent 0,
			transparent 28px,
			rgba(255, 255, 255, 0.02) 29px
		),
		var(--asc-legal-panel) !important;

	border: 2px solid rgba(255, 255, 255, 0.2) !important;
	border-left: 8px solid var(--asc-legal-electric) !important;

	box-shadow:
		9px 11px 0 rgba(0, 0, 0, 0.46) !important;
}

main.asc-legal-center
.asc-legal-center__contact-label {
	display: inline-flex !important;

	margin: 0 0 1rem !important;
	padding: 0.45rem 0.65rem !important;

	color: var(--asc-legal-ink) !important;
	background: var(--asc-legal-electric) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.65rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.13em !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__contact h2 {
	max-width: 900px !important;
	margin: 0 0 1rem !important;

	color: #fffdf8 !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3.5rem, 7vw, 6rem) !important;
	font-weight: 400 !important;
	line-height: 0.86 !important;
	text-transform: uppercase !important;
}

main.asc-legal-center
.asc-legal-center__contact p {
	color: rgba(255, 255, 255, 0.76) !important;
}

main.asc-legal-center
.asc-legal-center__contact a {
	color: var(--asc-legal-electric) !important;
	font-weight: 700 !important;
}
	
/* =========================================================
   THE FEED — BOTÓN RELACIONADO ÚNICO
   ========================================================= */

.asc-related-button-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	width: 100%;
	margin: 2.5rem 0;
	padding: 0;

	background: transparent;
	border: 0;
}

.asc-related-button {
	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;

	width: auto;
	min-height: 54px;
	padding: 0.9rem 1.35rem;

	border: 2px solid #0d0908;
	border-radius: 0;

	box-shadow: 5px 6px 0 #0d0908;

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		background-color 160ms ease;
}

/* Elimina cualquier estilo heredado tipo ticket */

.asc-related-button::before,
.asc-related-button::after,
.asc-related-button-wrap::before,
.asc-related-button-wrap::after {
	display: none !important;
	content: none !important;
}

/* Interno: cyan, misma pestaña */

.asc-related-button--internal {
	color: #0d0908 !important;
	background: #00d9ff !important;
	border-color: #0d0908 !important;
}

/* Externo: rojo, pestaña nueva */

.asc-related-button--external {
	color: #fffdf8 !important;
	background: #c94040 !important;
	border-color: #0d0908 !important;
}

.asc-related-button:hover {
	transform: translate(-2px, -2px);
	box-shadow: 7px 8px 0 #0d0908;
}

.asc-related-button:focus-visible {
	outline: 3px solid #ffd447;
	outline-offset: 4px;
}

.asc-related-button__text,
.asc-related-button__icon {
	position: static;
	display: inline;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;

	color: inherit;
	background: transparent;
	border: 0;
}

.asc-related-button__icon {
	flex: 0 0 auto;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1;
}

/* Móvil */

@media screen and (max-width: 782px) {

	.asc-related-button-wrap {
		margin: 2rem 0;
	}

	.asc-related-button {
		width: 100%;
		min-height: 52px;
		padding: 0.85rem 1rem;
	}
}

/* =========================================================
   THE FEED — CTA RELACIONADO DEFINITIVO
   ========================================================= */

body.single-post .asc-related-button-wrap {
	position: static !important;

	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 2.5rem 0 !important;
	padding: 0 !important;

	color: inherit !important;
	background: transparent !important;
	background-image: none !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	clip-path: none !important;
	mask: none !important;
	filter: none !important;
}

/* Elimina restos del efecto ticket */

body.single-post .asc-related-button-wrap::before,
body.single-post .asc-related-button-wrap::after,
body.single-post .asc-related-button::before,
body.single-post .asc-related-button::after,
body.single-post .asc-related-button *::before,
body.single-post .asc-related-button *::after {
	display: none !important;
	content: none !important;
}

/* Botón único */

body.single-post .asc-related-button {
	position: relative !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 54px !important;

	margin: 0 !important;
	padding: 0.9rem 1.4rem !important;

	background-image: none !important;

	border: 2px solid #0d0908 !important;
	border-radius: 0 !important;

	box-shadow: 6px 7px 0 #0d0908 !important;

	clip-path: none !important;
	mask: none !important;
	filter: none !important;

	font-family: "Antonio", "Arial Narrow", sans-serif !important;
	font-size: 0.86rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;

	transition:
		transform 160ms ease,
		box-shadow 160ms ease,
		background-color 160ms ease !important;
}

/* Interno: cyan y misma pestaña */

body.single-post
.asc-related-button.asc-related-button--internal {
	color: #0d0908 !important;
	background-color: #00d9ff !important;
	border-color: #0d0908 !important;
}

/* Externo: rojo y pestaña nueva */

body.single-post
.asc-related-button.asc-related-button--external {
	color: #fffdf8 !important;
	background-color: #c94040 !important;
	border-color: #0d0908 !important;
}

/* Interacción */

body.single-post .asc-related-button:hover {
	transform: translate(-2px, -2px) !important;
	box-shadow: 8px 9px 0 #0d0908 !important;
}

body.single-post .asc-related-button:focus-visible {
	outline: 3px solid #ffd447 !important;
	outline-offset: 4px !important;
}

/* Móvil */

@media screen and (max-width: 782px) {

	body.single-post .asc-related-button-wrap {
		margin: 2rem 0 !important;
	}

	body.single-post .asc-related-button {
		width: 100% !important;
		min-height: 52px !important;
		padding: 0.9rem 1rem !important;
	}
}
/* =========================================================
   LEGALES — TABLA DE COOKIES
   ========================================================= */

main.asc-legal-page
.asc-legal-table-wrap {
	width: 100%;
	max-width: 100%;
	margin: 2rem 0;
	overflow-x: auto;
	overflow-y: hidden;

	background: #f1eadf;
	border: 2px solid #0d0908;
	box-shadow: 6px 7px 0 rgba(13, 9, 8, 0.28);

	-webkit-overflow-scrolling: touch;
}

main.asc-legal-page
.asc-legal-table-wrap table {
	width: 100%;
	min-width: 980px;
	margin: 0;

	color: #0d0908 !important;
	background: #f1eadf !important;

	border: 0;
	border-collapse: collapse;
	border-spacing: 0;

	font-size: 0.92rem;
	line-height: 1.45;
}

main.asc-legal-page
.asc-legal-table-wrap thead,
main.asc-legal-page
.asc-legal-table-wrap thead tr {
	color: #fffdf8 !important;
	background: #0d0908 !important;
}

main.asc-legal-page
.asc-legal-table-wrap th {
	padding: 1rem 0.9rem;

	color: #fffdf8 !important;
	background: #0d0908 !important;

	border-right: 1px solid rgba(255, 255, 255, 0.18);
	border-bottom: 3px solid #c94040;

	font-family: "Antonio", "Arial Narrow", sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-align: left;
	text-transform: uppercase;
	vertical-align: bottom;
}

main.asc-legal-page
.asc-legal-table-wrap th:last-child {
	border-right: 0;
}

main.asc-legal-page
.asc-legal-table-wrap td {
	padding: 1rem 0.9rem;

	color: #0d0908 !important;
	background: #f1eadf !important;

	border-right: 1px solid rgba(13, 9, 8, 0.2);
	border-bottom: 1px solid rgba(13, 9, 8, 0.28);

	text-align: left;
	vertical-align: top;
}

main.asc-legal-page
.asc-legal-table-wrap td:last-child {
	border-right: 0;
}

main.asc-legal-page
.asc-legal-table-wrap tbody tr:nth-child(even) td {
	background: #e8ded0 !important;
}

main.asc-legal-page
.asc-legal-table-wrap tbody tr:hover td {
	background: #fff3bf !important;
}

main.asc-legal-page
.asc-legal-table-wrap code {
	display: inline;
	padding: 0.15rem 0.3rem;

	color: #0d0908 !important;
	background: #ffd447 !important;

	border: 1px solid rgba(13, 9, 8, 0.28);
	border-radius: 0;

	font-size: 0.82em;
	overflow-wrap: anywhere;
	white-space: normal;
}

main.asc-legal-page
.asc-legal-table-wrap a {
	color: #9d2323 !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Barra de desplazamiento */

main.asc-legal-page
.asc-legal-table-wrap::-webkit-scrollbar {
	height: 12px;
}

main.asc-legal-page
.asc-legal-table-wrap::-webkit-scrollbar-track {
	background: #d8cbbb;
}

main.asc-legal-page
.asc-legal-table-wrap::-webkit-scrollbar-thumb {
	background: #0d0908;
	border: 2px solid #d8cbbb;
}

/* Móvil */

@media screen and (max-width: 782px) {

	main.asc-legal-page
	.asc-legal-table-wrap {
		margin: 1.5rem 0;
		box-shadow: 4px 5px 0 rgba(13, 9, 8, 0.28);
	}

	main.asc-legal-page
	.asc-legal-table-wrap table {
		min-width: 820px;
		font-size: 0.82rem;
	}

	main.asc-legal-page
	.asc-legal-table-wrap th,
	main.asc-legal-page
	.asc-legal-table-wrap td {
		padding: 0.8rem 0.7rem;
	}

	main.asc-legal-page
	.asc-legal-table-wrap th {
		font-size: 0.7rem;
	}
}
/* =========================================================
   WOOCOMMERCE BLOCKS — CONFIRMACIÓN DE PEDIDO
   ========================================================= */

body.woocommerce-order-received {
	--asc-order-paper: #f1eadf;
	--asc-order-paper-alt: #e6dbcc;
	--asc-order-ink: #0d0908;
	--asc-order-red: #c94040;
	--asc-order-cyan: #00d9ff;
	--asc-order-yellow: #ffd447;
}

/* =====================================================
   CONTENEDOR GENERAL
   ===================================================== */

body.woocommerce-order-received
main#wp--skip-link--target {
	display: block !important;

	width: min(1180px, calc(100% - 2rem)) !important;
	max-width: 1180px !important;

	margin: 0 auto !important;
	padding: clamp(2rem, 5vw, 4.5rem) 0 5rem !important;
}

body.woocommerce-order-received
main#wp--skip-link--target *,
body.woocommerce-order-received
main#wp--skip-link--target *::before,
body.woocommerce-order-received
main#wp--skip-link--target *::after {
	box-sizing: border-box;
}

body.woocommerce-order-received
main#wp--skip-link--target > .alignwide {
	width: 100% !important;
	max-width: none !important;

	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* =====================================================
   ESTADO DEL PEDIDO
   ===================================================== */

body.woocommerce-order-received
.wc-block-order-confirmation-status {
	position: relative !important;

	margin: 0 0 2rem !important;
	padding: clamp(2rem, 5vw, 4rem) !important;

	color: #fffdf8 !important;
	background:
		linear-gradient(
			rgba(13, 9, 8, 0.95),
			rgba(13, 9, 8, 0.95)
		),
		var(--asc-order-ink) !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-top: 8px solid var(--asc-order-red) !important;

	box-shadow:
		9px 10px 0 var(--asc-order-cyan) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-status::before {
	content: "" !important;

	position: absolute !important;
	top: -14px !important;
	left: 50% !important;

	width: 90px !important;
	height: 23px !important;

	background:
		linear-gradient(
			90deg,
			rgba(226, 207, 150, 0.76),
			rgba(246, 228, 173, 0.96),
			rgba(226, 207, 150, 0.76)
		) !important;

	box-shadow:
		0 2px 4px rgba(0, 0, 0, 0.18) !important;

	transform:
		translateX(-50%)
		rotate(-1.5deg) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-status h1 {
	margin: 0 0 1.25rem !important;

	color: #fffdf8 !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(4rem, 9vw, 7.5rem) !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em !important;
	line-height: 0.82 !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-status p {
	margin: 0 !important;

	color: rgba(255, 253, 248, 0.82) !important;

	font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
}

/* =====================================================
   RESUMEN: NÚMERO, FECHA, TOTAL, CORREO Y PAGO
   ===================================================== */

body.woocommerce-order-received
.wc-block-order-confirmation-summary {
	margin: 0 0 2rem !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 1rem !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item {
	display: block !important;

	min-width: 0 !important;

	margin: 0 !important;
	padding: 1rem !important;

	color: var(--asc-order-ink) !important;
	background: var(--asc-order-paper) !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-top: 6px solid var(--asc-order-red) !important;

	box-shadow:
		5px 6px 0 rgba(13, 9, 8, 0.26) !important;

	overflow-wrap: anywhere !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item:nth-child(2) {
	border-top-color: var(--asc-order-cyan) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item:nth-child(3) {
	border-top-color: var(--asc-order-yellow) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item:nth-child(4) {
	border-top-color: #8e62ff !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item:nth-child(5) {
	border-top-color: var(--asc-order-red) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item__key {
	display: block !important;

	margin-bottom: 0.45rem !important;

	color: rgba(13, 9, 8, 0.64) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-summary-list-item__value {
	display: block !important;

	color: var(--asc-order-ink) !important;

	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;

	overflow-wrap: anywhere !important;
}

/* =====================================================
   DETALLES DEL PEDIDO
   ===================================================== */

body.woocommerce-order-received
.wc-block-order-confirmation-totals-wrapper {
	margin: 0 0 2rem !important;
	padding: clamp(1.25rem, 4vw, 2.5rem) !important;

	color: var(--asc-order-ink) !important;
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		var(--asc-order-paper) !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-left: 8px solid var(--asc-order-yellow) !important;

	box-shadow:
		8px 9px 0 rgba(13, 9, 8, 0.34) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals-wrapper > h2 {
	margin: 0 0 1.25rem !important;

	color: var(--asc-order-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3rem, 6vw, 5rem) !important;
	font-weight: 400 !important;
	line-height: 0.86 !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
}

/* Tabla */

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table {
	width: 100% !important;

	margin: 0 !important;

	color: var(--asc-order-ink) !important;
	background: #fffdf8 !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;

	box-shadow:
		5px 6px 0 rgba(13, 9, 8, 0.22) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table th {
	padding: 1rem !important;

	color: #fffdf8 !important;
	background: var(--asc-order-ink) !important;

	border: 1px solid rgba(255, 255, 255, 0.14) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.07em !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table td {
	padding: 1rem !important;

	color: var(--asc-order-ink) !important;
	background: #fffdf8 !important;

	border: 1px solid rgba(13, 9, 8, 0.24) !important;

	font-size: 0.96rem !important;
	line-height: 1.5 !important;
	vertical-align: top !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table tfoot th,
body.woocommerce-order-received
.wc-block-order-confirmation-totals__table tfoot td {
	color: var(--asc-order-ink) !important;
	background: var(--asc-order-paper-alt) !important;

	font-weight: 700 !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__product {
	text-align: left !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__total {
	text-align: right !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table a {
	color: #a32626 !important;

	font-weight: 700 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 3px !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-totals__table a:hover {
	color: #681515 !important;
}

/* =====================================================
   DIRECCIÓN DE FACTURACIÓN
   ===================================================== */

body.woocommerce-order-received
.wc-block-order-confirmation-address-wrapper {
	display: block !important;

	margin: 0 0 2rem !important;
	padding: 0 !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-address-wrapper
> .wp-block-column:empty {
	display: none !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-address-wrapper
> .wp-block-column:not(:empty) {
	width: 100% !important;
	max-width: none !important;
	flex-basis: 100% !important;

	margin: 0 !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-billing-wrapper {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: clamp(1.25rem, 4vw, 2.5rem) !important;

	color: var(--asc-order-ink) !important;
	background:
		repeating-linear-gradient(
			-2deg,
			transparent 0,
			transparent 31px,
			rgba(13, 9, 8, 0.018) 32px
		),
		var(--asc-order-paper) !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-left: 8px solid var(--asc-order-cyan) !important;

	box-shadow:
		8px 9px 0 rgba(13, 9, 8, 0.3) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-billing-wrapper h2 {
	margin: 0 0 1rem !important;

	color: var(--asc-order-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(2.8rem, 5vw, 4.5rem) !important;
	font-weight: 400 !important;
	line-height: 0.86 !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-billing-address {
	margin: 0 !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-billing-address address {
	margin: 0 !important;
	padding: 1rem !important;

	color: var(--asc-order-ink) !important;
	background: #fffdf8 !important;

	border: 1px solid rgba(13, 9, 8, 0.28) !important;

	font-style: normal !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
}

/* =====================================================
   INFORMACIÓN ADICIONAL Y TRANSFERENCIA
   ===================================================== */

body.woocommerce-order-received
.wc-block-order-confirmation-additional-information {
	margin: 0 !important;
	padding: clamp(1.25rem, 4vw, 2.5rem) !important;

	color: var(--asc-order-ink) !important;
	background: #fff3bf !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-left: 8px solid var(--asc-order-yellow) !important;

	box-shadow:
		8px 9px 0 rgba(13, 9, 8, 0.32) !important;
}

body.woocommerce-order-received
.wc-block-order-confirmation-additional-information
> p {
	margin: 0 0 1.5rem !important;
	padding: 1rem !important;

	color: #fffdf8 !important;
	background: var(--asc-order-ink) !important;

	border-left: 6px solid var(--asc-order-cyan) !important;

	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

body.woocommerce-order-received
.woocommerce-bacs-bank-details {
	margin: 0 !important;
	padding: 0 !important;

	color: var(--asc-order-ink) !important;
	background: transparent !important;

	border: 0 !important;
}

body.woocommerce-order-received
.wc-bacs-bank-details-heading {
	margin: 0 0 1rem !important;

	color: var(--asc-order-ink) !important;

	font-family: "Bebas Neue", "Antonio", sans-serif !important;
	font-size: clamp(3rem, 6vw, 5rem) !important;
	font-weight: 400 !important;
	line-height: 0.86 !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
.wc-bacs-bank-details-account-name {
	margin: 0 0 1rem !important;

	color: var(--asc-order-ink) !important;

	font-family: "Antonio", sans-serif !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received
ul.wc-bacs-bank-details {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1rem !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none !important;
}

body.woocommerce-order-received
ul.wc-bacs-bank-details li {
	display: block !important;

	margin: 0 !important;
	padding: 1rem !important;

	color: var(--asc-order-ink) !important;
	background: #fffdf8 !important;

	border: 2px solid var(--asc-order-ink) !important;
	border-top: 6px solid var(--asc-order-red) !important;

	font-size: 0.9rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;

	overflow-wrap: anywhere !important;
}

body.woocommerce-order-received
ul.wc-bacs-bank-details li:nth-child(2) {
	border-top-color: var(--asc-order-cyan) !important;
}

body.woocommerce-order-received
ul.wc-bacs-bank-details li strong {
	display: block !important;

	margin-top: 0.4rem !important;

	color: var(--asc-order-ink) !important;

	font-size: 1.05rem !important;
}

/* =====================================================
   MÓVIL
   ===================================================== */

@media screen and (max-width: 782px) {

	body.woocommerce-order-received
	main#wp--skip-link--target {
		width: calc(100% - 1rem) !important;

		padding: 1.5rem 0 4rem !important;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-status {
		padding: 2.5rem 1rem 1.5rem !important;

		box-shadow:
			6px 7px 0 var(--asc-order-cyan) !important;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-status h1 {
		font-size: clamp(3.5rem, 17vw, 5rem) !important;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-summary-list {
		grid-template-columns: minmax(0, 1fr) !important;

		gap: 0.8rem !important;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-totals-wrapper,
	body.woocommerce-order-received
	.wc-block-order-confirmation-billing-wrapper,
	body.woocommerce-order-received
	.wc-block-order-confirmation-additional-information {
		padding: 1.25rem 0.75rem !important;

		box-shadow:
			6px 7px 0 rgba(13, 9, 8, 0.3) !important;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-totals {
		width: 100% !important;
		overflow-x: auto !important;

		-webkit-overflow-scrolling: touch;
	}

	body.woocommerce-order-received
	.wc-block-order-confirmation-totals__table {
		min-width: 620px !important;
	}

	body.woocommerce-order-received
	ul.wc-bacs-bank-details {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.woocommerce-order-received
	.wc-bacs-bank-details-heading,
	body.woocommerce-order-received
	.wc-block-order-confirmation-totals-wrapper > h2,
	body.woocommerce-order-received
	.wc-block-order-confirmation-billing-wrapper h2 {
		font-size: clamp(2.7rem, 13vw, 4rem) !important;
	}
}