/* ==========================================================================
   Salsero UI - capa de estilos moderna sobre Bootstrap 3 + Canvas
   Se carga la última en template.blade.php y solo actúa con body.sui
   ========================================================================== */

:root {
	--sui-primary: #7e2aad;
	--sui-primary-dark: #5b1867;
	--sui-primary-light: #a35fd0;
	--sui-primary-soft: #f4ecfa;
	--sui-accent: #e63958;
	--sui-accent-dark: #c92745;
	--sui-ink: #1d1b26;
	--sui-text: #45424f;
	--sui-muted: #7a7685;
	--sui-border: #e6e1ec;
	--sui-bg: #faf8fc;
	--sui-page-bg: #fbfafd;
	--sui-surface: #ffffff;
	--sui-night: #1a0a28;
	--sui-night-2: #2a1040;
	--sui-accent-rgb: 230, 57, 88;
	--sui-night-rgb: 26, 10, 40;
	--sui-radius-sm: 8px;
	--sui-radius: 12px;
	--sui-radius-lg: 20px;
	--sui-radius-pill: 999px;
	--sui-shadow-sm: 0 1px 2px rgba(29, 27, 38, .06), 0 1px 3px rgba(29, 27, 38, .08);
	--sui-shadow: 0 4px 12px rgba(29, 27, 38, .08), 0 2px 4px rgba(29, 27, 38, .04);
	--sui-shadow-lg: 0 18px 40px rgba(29, 27, 38, .14);
	--sui-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--sui-font-heading: 'Poppins', 'Inter', sans-serif;
	--sui-transition: .2s ease;
}

/* --------------------------------------------------------------------------
   Base y tipografía
   -------------------------------------------------------------------------- */
body.sui {
	/* Sustituye el fondo de triángulos de app.min.css (fijo, pesado al hacer scroll en móvil) por un color plano */
	background: var(--sui-page-bg);
	font-family: var(--sui-font);
	color: var(--sui-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.sui h1, body.sui h2, body.sui h3, body.sui h4, body.sui h5, body.sui h6,
body.sui .heading-block h1, body.sui .heading-block h2, body.sui .heading-block h3, body.sui .heading-block h4,
body.sui #page-title h1, body.sui .promo h3 {
	font-family: var(--sui-font-heading);
	color: var(--sui-ink);
	letter-spacing: -.01em;
}

body.sui ::selection { background: var(--sui-primary); color: #fff; }

body.sui :focus-visible { outline: 2px solid var(--sui-primary-light); outline-offset: 2px; }

/* --------------------------------------------------------------------------
   Botones
   -------------------------------------------------------------------------- */
body.sui .btn {
	border-radius: var(--sui-radius-sm);
	font-weight: 600;
	letter-spacing: 0;
	transition: background-color var(--sui-transition), box-shadow var(--sui-transition), transform var(--sui-transition), color var(--sui-transition);
}
body.sui .btn:active { transform: translateY(1px); }

body.sui .btn-primary {
	background-color: var(--sui-primary);
	border-color: var(--sui-primary);
	color: #fff;
}
body.sui .btn-primary:hover, body.sui .btn-primary:focus, body.sui .btn-primary:active, body.sui .btn-primary.active {
	background-color: var(--sui-primary-dark);
	border-color: var(--sui-primary-dark);
	color: #fff;
	box-shadow: 0 6px 16px rgba(126, 42, 173, .3);
}

body.sui .btn-danger {
	background-color: var(--sui-accent);
	border-color: var(--sui-accent);
	color: #fff;
}
body.sui .btn-danger:hover, body.sui .btn-danger:focus, body.sui .btn-danger:active, body.sui .btn-danger.active {
	background-color: var(--sui-accent-dark);
	border-color: var(--sui-accent-dark);
	color: #fff;
	box-shadow: 0 6px 16px rgba(var(--sui-accent-rgb), .3);
}

body.sui .btn-default {
	border-color: var(--sui-border);
	color: var(--sui-ink);
}
body.sui .btn-default:hover { background-color: var(--sui-primary-soft); border-color: var(--sui-primary-light); color: var(--sui-primary-dark); }

/* Botones del tema Canvas */
body.sui .button {
	font-family: var(--sui-font);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-shadow: none;
	border-radius: var(--sui-radius-sm);
	transition: background-color var(--sui-transition), box-shadow var(--sui-transition), transform var(--sui-transition);
}
body.sui .button:not(.button-white):not(.button-light):not(.button-border),
body.sui .button:not(.button-white):not(.button-light):not(.button-border):hover,
body.sui .button:not(.button-white):not(.button-light):not(.button-border):focus { color: #fff; }
body.sui .button.button-rounded { border-radius: var(--sui-radius-pill); }
body.sui .button:hover { box-shadow: var(--sui-shadow); transform: translateY(-1px); }
body.sui .button-purple { background-color: var(--sui-primary); }
body.sui .button-purple:hover { background-color: var(--sui-primary-dark) !important; }
body.sui .button-red { background-color: var(--sui-accent); }
body.sui .button-red:hover { background-color: var(--sui-accent-dark) !important; }

/* Botón de marca reutilizable */
body.sui .sui-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 26px;
	border-radius: var(--sui-radius-pill);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	border: 2px solid transparent;
	transition: background-color var(--sui-transition), color var(--sui-transition), box-shadow var(--sui-transition), transform var(--sui-transition);
}
body.sui .sui-btn:hover { transform: translateY(-1px); text-decoration: none; }
body.sui .sui-btn-primary { background: var(--sui-primary); color: #fff; }
body.sui .sui-btn-primary:hover { background: var(--sui-primary-dark); color: #fff; box-shadow: 0 8px 20px rgba(126, 42, 173, .35); }
body.sui .sui-btn-accent { background: var(--sui-accent); color: #fff; }
body.sui .sui-btn-accent:hover { background: var(--sui-accent-dark); color: #fff; box-shadow: 0 8px 20px rgba(var(--sui-accent-rgb), .35); }
body.sui .sui-btn-light { background: #fff; color: var(--sui-primary-dark); }
body.sui .sui-btn-light:hover { background: var(--sui-primary-soft); color: var(--sui-primary-dark); }
/* custom.min.css pinta en blanco todo "a i": los iconos de los botones siguen el color del texto */
body.sui .sui-btn i { color: inherit !important; }
body.sui .sui-btn-outline-light { border-color: rgba(255, 255, 255, .7); color: #fff; background: rgba(255, 255, 255, .06); }
body.sui .sui-btn-outline-light:hover { background: #fff; color: var(--sui-primary-dark); }

/* Panel «¿Eres organizador…?» de la portada: Ver servicios + Posiciónate */
body.sui .sui-organizer-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.sui .sui-organizer-actions .button { margin: 0; }
body.sui .sui-organizer-actions .sui-btn-outline { color: var(--sui-primary) !important; background: #fff; box-shadow: inset 0 0 0 2px var(--sui-primary); text-shadow: none; }
body.sui .sui-organizer-actions .sui-btn-outline:hover { color: #fff !important; background: var(--sui-primary); }

/* --------------------------------------------------------------------------
   Formularios
   -------------------------------------------------------------------------- */
body.sui .form-control {
	border-radius: var(--sui-radius-sm);
	border-color: var(--sui-border);
	box-shadow: none;
	color: var(--sui-ink);
	transition: border-color var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .form-control:focus {
	border-color: var(--sui-primary-light);
	box-shadow: 0 0 0 3px rgba(126, 42, 173, .15);
}
body.sui .form-control::placeholder { color: #a19caa; }

/* --------------------------------------------------------------------------
   Alertas, avisos y modales
   -------------------------------------------------------------------------- */
body.sui .alert { border-radius: var(--sui-radius); border-width: 0; box-shadow: var(--sui-shadow-sm); }
body.sui .modal-content { border-radius: var(--sui-radius-lg); border: 0; box-shadow: var(--sui-shadow-lg); overflow: hidden; }
/* bootstrap.min.css (3.x antiguo) deja el fondo en absolute sin altura; bootstrap.min.js ya no la calcula */
body.sui .modal-backdrop { position: fixed; bottom: 0; z-index: 1035; }
body.sui .dropdown-menu { border-radius: var(--sui-radius); border-color: var(--sui-border); box-shadow: var(--sui-shadow-lg); padding: 6px; }
body.sui .dropdown-menu > li > a { border-radius: var(--sui-radius-sm); padding: 8px 12px; }
body.sui .label, body.sui .badge { border-radius: var(--sui-radius-pill); font-weight: 600; letter-spacing: .02em; }

.sui-alert {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	max-width: 720px;
	margin: 50px auto 0;
	padding: 18px 22px;
	border-radius: var(--sui-radius);
	background: #fff;
	border: 1px solid var(--sui-border);
	border-left: 5px solid var(--sui-primary);
	box-shadow: var(--sui-shadow);
}
.sui-alert-icon { font-size: 22px; line-height: 1.3; color: var(--sui-primary); }
.sui-alert h4 { margin: 0 0 8px; font-size: 17px; }
.sui-alert ul { margin: 0; padding-left: 18px; }
.sui-alert li { margin: 2px 0; }
.sui-alert-danger { border-left-color: var(--sui-accent); background: #fff6f7; }
.sui-alert-danger .sui-alert-icon, .sui-alert-danger h4 { color: var(--sui-accent-dark); }

/* Notificaciones noty (partials/flash) */
body.sui .noty_bar {
	border-radius: var(--sui-radius) !important;
	border: 0 !important;
	box-shadow: var(--sui-shadow-lg) !important;
	font-family: var(--sui-font) !important;
	overflow: hidden;
}
body.sui .noty_bar .noty_message { padding: 14px 18px !important; font-size: 15px !important; line-height: 1.45 !important; }
body.sui .noty_type_information .noty_bar,
body.sui .noty_bar.noty_type_information { background: var(--sui-primary) !important; color: #fff !important; }
body.sui .noty_type_error .noty_bar,
body.sui .noty_bar.noty_type_error { background: var(--sui-accent) !important; color: #fff !important; }

/* --------------------------------------------------------------------------
   Header escritorio
   -------------------------------------------------------------------------- */
body.sui #header.transparent-header.full-header #header-wrap { border-bottom: 0; }

body.sui #header.semi-transparent.sticky-header #header-wrap,
body.sui #header.sticky-header #header-wrap {
	background-color: rgba(var(--sui-night-rgb), .88);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}

body.sui .navbar-logo img { height: 80px; margin-top: 10px; margin-left: 24px; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .25)); }
body.sui #header.dark.sticky-header #header-wrap .navbar-logo img { height: 45px; margin-top: 3px; }

/* Cabecera de un solo color: las dos filas comparten el mismo degradado horizontal, sin línea entre ellas */
body.sui .navbar-inverse.nav-upper {
	background: linear-gradient(90deg, var(--sui-primary-dark) 0%, var(--sui-primary) 100%);
	border: 0;
	border-radius: 0;
	margin: 0;
}
body.sui .navbar.navbar-inverse.nav-lower {
	background: linear-gradient(90deg, var(--sui-primary-dark) 0%, var(--sui-primary) 100%);
	min-height: 50px;
	margin: 0;
	border: 0;
	box-shadow: 0 10px 24px -12px rgba(var(--sui-night-rgb), .55);
	border-radius: 0;
}

/* Menú superior */
body.sui #upper-menu > ul { display: flex; align-items: center; height: 50px; }
body.sui #upper-menu > ul > li { float: none; display: flex; align-items: center; }

body.sui #upper-menu .sui-upper-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	line-height: 34px;
	padding: 0 12px;
	color: rgba(255, 255, 255, .88);
	font-family: var(--sui-font);
	font-size: 13px;
	font-weight: 500;
	text-shadow: none;
	border-radius: var(--sui-radius-pill);
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui #upper-menu .sui-upper-link img { height: 18px; }
body.sui #upper-menu .sui-upper-link:hover { background: rgba(255, 255, 255, .1); color: #fff; }

body.sui #upper-menu .sui-upper-btn,
body.sui #upper-menu ul li .dropdown a.sui-upper-btn {
	display: inline-flex;
	align-items: center;
	height: 34px;
	line-height: 34px;
	margin: 0 4px;
	padding: 0 16px;
	font-family: var(--sui-font);
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	text-shadow: none;
	letter-spacing: 0;
	color: var(--sui-primary-dark) !important;
	background: #fff !important;
	border: 0;
	border-radius: var(--sui-radius-pill);
	transition: background-color var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui #upper-menu .sui-upper-btn:hover,
body.sui #upper-menu ul li .dropdown a.sui-upper-btn:hover { background: var(--sui-primary-soft) !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
body.sui #upper-menu .sui-upper-btn-ghost,
body.sui #upper-menu ul li .dropdown a.sui-upper-btn-ghost { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
body.sui #upper-menu .sui-upper-btn-ghost:hover { background: rgba(255, 255, 255, .12) !important; }

body.sui #upper-menu .sui-lang { margin: 0 20px 0 10px; }
body.sui #upper-menu ul li .dropdown a.sui-lang-current {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 6px;
	background: transparent !important;
	border-radius: var(--sui-radius-pill);
}
body.sui #upper-menu .sui-lang-current img { width: 24px; border-radius: 4px; }

/* Desplegables del menú superior (hover) */
body.sui #upper-menu .dropdown-content {
	top: 40px;
	right: 0;
	min-width: 230px;
	padding: 6px;
	background: #fff;
	border-radius: var(--sui-radius);
	box-shadow: var(--sui-shadow-lg);
	z-index: 1000;
}
body.sui #upper-menu .dropdown-content::before { content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
body.sui #upper-menu ul li .dropdown .dropdown-content a {
	height: auto;
	line-height: 1.4;
	padding: 9px 12px;
	color: var(--sui-ink) !important;
	background: transparent !important;
	font-family: var(--sui-font);
	font-size: 14px;
	font-weight: 500;
	border-radius: var(--sui-radius-sm);
}
body.sui #upper-menu ul li .dropdown .dropdown-content a:hover { background: var(--sui-primary-soft) !important; color: var(--sui-primary-dark) !important; }
body.sui #upper-menu ul li .dropdown .dropdown-content a.sui-menu-section {
	margin-top: 4px;
	padding: 8px 12px 4px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sui-muted) !important;
	cursor: default;
}
body.sui #upper-menu ul li .dropdown .dropdown-content a.sui-menu-section:hover { background: transparent !important; }
body.sui #upper-menu ul li .dropdown .dropdown-content a.sui-menu-user {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	padding: 10px 12px;
	border-top: 1px solid var(--sui-border);
	border-radius: 0 0 var(--sui-radius-sm) var(--sui-radius-sm);
	cursor: default;
}
body.sui #upper-menu ul li .dropdown .dropdown-content a.sui-menu-user:hover { background: transparent !important; color: var(--sui-ink) !important; }
body.sui #upper-menu ul li .dropdown .dropdown-content a.sui-lang-option { display: flex; align-items: center; gap: 8px; }

.sui-menu-user img, .sui-nav-user img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.sui-menu-user-info { display: flex; flex-direction: column; min-width: 0; font-size: 13px; line-height: 1.35; }
.sui-menu-user-info strong { color: var(--sui-ink); }
.sui-menu-user-info small { color: var(--sui-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Menú inferior */
body.sui #lower-menu { float: none; width: 100%; margin-top: 0 !important; padding: 0 15px; }
body.sui #lower-menu > ul { display: flex; align-items: center; justify-content: center; gap: 28px; height: 50px; margin: 0; padding: 0; float: none; }
body.sui #lower-menu > ul > li { float: none; width: auto !important; min-width: 0 !important; }
body.sui #lower-menu > ul > li > a { display: block; padding: 8px 18px !important; line-height: 20px !important; height: auto !important; text-align: center; }
/* Por debajo de 1200px el menú centrado tocaría el logo: se centra en el espacio a su derecha */
@media (min-width: 992px) and (max-width: 1199px) {
	body.sui #lower-menu { padding-left: 260px; }
	body.sui #lower-menu > ul { gap: 14px; }
}
body.sui #lower-menu ul li a {
	font-family: var(--sui-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	color: rgba(255, 255, 255, .92);
	border-radius: var(--sui-radius-pill);
}
body.sui #lower-menu > ul > li:hover a { background: rgba(255, 255, 255, .14); color: #fff; border-radius: var(--sui-radius-pill); }

/* --------------------------------------------------------------------------
   Header móvil (offcanvas jasny)
   -------------------------------------------------------------------------- */
body.sui .navbar-toggle {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 46px;
	height: 46px;
	margin: 14px 14px 0 0;
	padding: 0;
	background: var(--sui-primary);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 6px 16px rgba(126, 42, 173, .4);
}
body.sui .navbar-toggle .icon-bar { background: #fff; width: 20px; }
body.sui .navbar-toggle .icon-bar + .icon-bar { margin-top: 0; }
/* Canvas fija .container a 310px (<480px) y 470px (<768px) con !important: en móvil se usa todo el ancho */
@media (max-width: 767px) {
	body.sui .container { width: auto !important; padding-left: 15px; padding-right: 15px; }
	body.sui .navbar-toggle { display: flex; }
}
body.sui .navbar-default { background: transparent; border: 0; }

body.sui .navmenu-inverse {
	background: linear-gradient(180deg, var(--sui-night-2) 0%, var(--sui-night) 100%);
	border: 0;
	box-shadow: -10px 0 30px rgba(0, 0, 0, .3);
}
body.sui .navmenu-inverse .navmenu-nav { padding: 10px 12px 24px; }
body.sui .navmenu-inverse .navmenu-nav > li > a,
body.sui .navmenu-inverse .navmenu-nav > li > .dropdown > a,
body.sui .navmenu-inverse .navmenu-nav > li.dropdown > a {
	display: block;
	padding: 11px 14px;
	margin: 2px 0;
	color: rgba(255, 255, 255, .88);
	font-family: var(--sui-font);
	font-size: 15px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	border-radius: var(--sui-radius-sm);
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui .navmenu-inverse .navmenu-nav > li > a:hover,
body.sui .navmenu-inverse .navmenu-nav > li > a:focus,
body.sui .navmenu-inverse .navmenu-nav > li.dropdown.open > a { background: rgba(255, 255, 255, .1); color: #fff; }
body.sui .navmenu-inverse .navmenu-nav .dropdown-menu {
	position: static;
	float: none;
	margin: 4px 0 8px;
	padding: 4px;
	background: rgba(255, 255, 255, .06);
	border: 0;
	box-shadow: none;
}
/* En pantallas táctiles Bootstrap 3 añade una capa .dropdown-backdrop (fixed, z-index 990) al abrir un desplegable
   fuera de .navbar-nav. Con el submenú en position: static la capa queda encima de sus opciones y se traga el toque:
   el desplegable se cierra sin navegar. En el menú lateral no hace falta (tocar fuera ya lo cierra). */
body.sui .navmenu .dropdown-backdrop { display: none; }
body.sui .navmenu-inverse .navmenu-nav .dropdown-menu > li > a { color: rgba(255, 255, 255, .8); padding: 9px 14px; }
body.sui .navmenu-inverse .navmenu-nav .dropdown-menu > li > a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
body.sui .navmenu-inverse .dropdown-menu .sui-nav-section,
body.sui .navmenu-inverse .navmenu-nav .dropdown-menu > li > a.sui-nav-section {
	padding: 10px 14px 4px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .5);
	background: transparent;
	cursor: default;
}
body.sui .navmenu-inverse .sui-nav-divider { height: 1px; margin: 12px 4px; background: rgba(255, 255, 255, .12); border: 0; }
body.sui .navmenu-inverse .navmenu-nav > li > a.sui-nav-user {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: default;
}
body.sui .navmenu-inverse .navmenu-nav > li > a.sui-nav-user:hover { background: transparent; }
body.sui .navmenu-inverse .sui-menu-user-info strong { color: #fff; }
body.sui .navmenu-inverse .sui-menu-user-info small { color: rgba(255, 255, 255, .6); }

/* --------------------------------------------------------------------------
   Componentes de contenido: secciones, cards, tarjetas de evento
   -------------------------------------------------------------------------- */
body.sui .heading-block h2, body.sui .heading-block h3 { font-weight: 700; text-transform: none; }
body.sui .heading-block:after { border-top-color: var(--sui-primary); border-radius: 2px; }

body.sui .feature-box.media-box.fbox-bg {
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
	background: var(--sui-surface);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .feature-box.media-box.fbox-bg:hover { transform: translateY(-4px); box-shadow: var(--sui-shadow-lg); }
body.sui .feature-box.media-box.fbox-bg .fbox-media {
	border: 0;
	border-radius: var(--sui-radius-lg) var(--sui-radius-lg) 0 0;
}
body.sui .feature-box.media-box.fbox-bg .fbox-media img { border-radius: var(--sui-radius-lg) var(--sui-radius-lg) 0 0; }
body.sui .feature-box.media-box.fbox-bg .fbox-desc,
body.sui .feature-box.media-box.fbox-bg .fbox-desc-xs {
	border: 0;
	border-radius: 0 0 var(--sui-radius-lg) var(--sui-radius-lg);
}
body.sui .feature-box.media-box .fbox-desc h3 { font-size: 19px; font-weight: 600; line-height: 1.3; }
body.sui .congress-price {
	top: 10px !important;
	left: 20px;
	margin: 0;
	z-index: 3;
	border-radius: var(--sui-radius-pill) !important;
	padding: 4px 14px !important;
	font-weight: 700;
	box-shadow: var(--sui-shadow);
}
body.sui .img-label { border-radius: var(--sui-radius-pill); padding: 5px 12px; }

.sui-section { padding: 72px 0; }
.sui-section-sm { padding: 48px 0; }
.sui-section-alt { background: var(--sui-bg); }
body.sui .benefits-container.sui-section { background: var(--sui-surface); }
.sui-section-title { text-align: center; margin: 0 auto 40px; max-width: 720px; }
.sui-section-title h2 { margin: 0 0 10px; font-size: 32px; font-weight: 700; }
.sui-section-title p { margin: 0; color: var(--sui-muted); font-size: 17px; }
.sui-eyebrow {
	display: inline-block;
	margin-bottom: 12px;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border-radius: var(--sui-radius-pill);
}

.sui-card {
	height: 100%;
	padding: 28px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition), border-color var(--sui-transition);
}
.sui-card:hover { transform: translateY(-4px); box-shadow: var(--sui-shadow-lg); border-color: transparent; }

/* Rejillas flexibles con columnas Bootstrap 3 */
.sui-row-eq { display: flex; flex-wrap: wrap; }
.sui-row-eq:before, .sui-row-eq:after { display: none; }
.sui-row-eq > [class*="col-"] { display: flex; flex-direction: column; margin-bottom: 30px; }
.sui-row-eq > [class*="col-"] > * { flex: 1 1 auto; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
body.sui footer.sui-footer { margin: 0; background: var(--sui-night); color: rgba(255, 255, 255, .68); }
body.sui footer.sui-footer .tt-footer-col.tt-color-scheme-01 {
	background: linear-gradient(180deg, var(--sui-night-2) 0%, var(--sui-night) 100%);
	color: rgba(255, 255, 255, .68);
	padding: 64px 0 24px;
}
body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-title {
	margin-bottom: 14px;
	padding-bottom: 0;
	font-family: var(--sui-font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
}
body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-title:before { color: rgba(255, 255, 255, .6); }
body.sui footer.sui-footer .tt-mobile-collapse { margin-bottom: 28px; }
body.sui footer.sui-footer .tt-list { list-style: none; padding: 0; margin: 0; }
body.sui footer.sui-footer .tt-list li a,
body.sui footer.sui-footer .tt-collapse-content a,
body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-content .tt-list li a {
	padding: 4px 0;
	color: rgba(255, 255, 255, .72);
	font-size: 14px;
	transition: color var(--sui-transition);
}
body.sui footer.sui-footer .tt-list li a:hover,
body.sui footer.sui-footer .tt-collapse-content a:hover,
body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-content .tt-list li a:hover { color: #fff; }
body.sui footer.sui-footer address { margin: 0; font-size: 14px; color: rgba(255, 255, 255, .72); }
body.sui footer.sui-footer address span { color: inherit; }

.sui-footer-payments { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; background: #fff; border-radius: var(--sui-radius-sm); }
.sui-footer-payments img { max-height: 20px; }

.sui-social { display: flex; gap: 10px; margin-bottom: 18px; }
.sui-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff !important;
	transition: background-color var(--sui-transition), transform var(--sui-transition);
}
.sui-social a:hover { background: var(--sui-primary); transform: translateY(-2px); }

.sui-footer-brand img { max-height: 52px; margin-bottom: 14px; }
.sui-footer-brand p { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .55); }

.sui-footer-bottom {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
	text-align: center;
}

@media (max-width: 789px) {
	body.sui footer.sui-footer { background: var(--sui-night); }
	body.sui footer.sui-footer .tt-footer-col.tt-color-scheme-01 { padding: 32px 0 16px; }
	body.sui footer.sui-footer .tt-mobile-collapse { margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-title { margin: 0; cursor: pointer; }
	body.sui footer.sui-footer .tt-mobile-collapse .tt-collapse-title.tt-open + .tt-collapse-content { margin-top: 12px; }
	.sui-footer-brand { padding-top: 24px; text-align: center; }
}

body.sui #gotoTop {
	width: 44px;
	height: 44px;
	line-height: 44px;
	border-radius: 50%;
	background: var(--sui-primary);
	box-shadow: 0 8px 20px rgba(126, 42, 173, .35);
}
body.sui #gotoTop:hover { background: var(--sui-primary-dark); }

/* --------------------------------------------------------------------------
   Home: hero y buscador
   -------------------------------------------------------------------------- */
/* Hasta que carga el vídeo (preload="none") este mide ~150px y el velo solo cubría esa franja:
   el hero lleva fondo oscuro propio y el vídeo cubre siempre todo el alto */
body.sui .sui-hero { overflow: hidden; }
body.sui #page-title.sui-hero { background: linear-gradient(160deg, var(--sui-night) 0%, var(--sui-night-2) 55%, var(--sui-primary-dark) 100%) !important; }
body.sui .sui-hero .video-wrap { top: 0; bottom: 0; height: 100%; }
body.sui .sui-hero .video-wrap video { height: 100%; object-fit: cover; }
body.sui .sui-hero .video-wrap:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(var(--sui-night-rgb), .55) 0%, rgba(var(--sui-night-rgb), .35) 45%, rgba(var(--sui-night-rgb), .85) 100%);
	pointer-events: none;
}
body.sui .sui-hero .home-CTA { position: relative; z-index: 5; }
body.sui #page-title.sui-hero h1 {
	margin-bottom: 8px;
	font-size: 56px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #fff !important;
	text-transform: none;
	text-shadow: 0 6px 30px rgba(0, 0, 0, .35);
}
body.sui #page-title .sui-hero-styles {
	display: block;
	margin: 0 0 32px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
}
body.sui #page-title .sui-hero-subtitle { margin-top: 22px; font-size: 18px; font-weight: 500; color: rgba(255, 255, 255, .9); text-shadow: 0 2px 10px rgba(0, 0, 0, .4); }
body.sui #page-title .sui-hero-cta { margin-top: 28px; }

/* Buscador tipo "pill" */
body.sui .buscador-principal { display: block; max-width: 980px; }
body.sui .buscador-principal form {
	display: flex;
	align-items: stretch;
	padding: 6px;
	background: #fff;
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}
body.sui .buscador-principal form > .form-control,
body.sui .buscador-principal form > select {
	height: 54px;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 16px;
	background-color: transparent;
}
body.sui .buscador-principal form > .form-control + .form-control { border-left: 1px solid var(--sui-border); }
body.sui .buscador-principal form > .form-control:focus { box-shadow: none; }
body.sui .buscador-principal #select-home,
body.sui .buscador-principal #select-home-xs {
	padding: 0 40px 0 22px;
	color: #fff;
	font-weight: 600;
	background: url('../../images/web/icons/caret-white.png') no-repeat right 14px center var(--sui-primary);
	border-radius: var(--sui-radius-pill);
}
body.sui .buscador-principal #select-province,
body.sui .buscador-principal #select-province-xs { padding-left: 18px; background: url('../../images/web/icons/caret-black.png') no-repeat right 8px center transparent; }
body.sui .buscador-principal #select-home + .form-control { border-left: 0; }
body.sui .buscador-principal .btn {
	height: 54px;
	padding: 0;
	border-radius: var(--sui-radius-pill) !important;
	background: var(--sui-accent);
	border-color: var(--sui-accent);
	font-size: 16px;
}
body.sui .buscador-principal .btn:hover { background: var(--sui-accent-dark); border-color: var(--sui-accent-dark); }
body.sui .buscador-principal .sombra-buscador { text-shadow: none; }

/* Hero móvil */
body.sui #page-title.sui-hero-xs { margin-top: -10px; padding: 30px 0 10px; background: linear-gradient(180deg, #fff 0%, var(--sui-page-bg) 100%); border-bottom: 0; }
body.sui #page-title.sui-hero-xs h1 { margin: 18px 0 6px; font-size: 32px; font-weight: 700; line-height: 1.15; color: var(--sui-ink); }
body.sui #page-title.sui-hero-xs .sui-hero-styles { margin-bottom: 0; font-size: 12px; color: var(--sui-primary); }
body.sui #page-title.sui-hero-xs .sui-hero-subtitle { font-size: 16px; color: var(--sui-text); text-shadow: none; }
body.sui .sui-hero-xs .buscador-principal form { flex-wrap: wrap; gap: 6px; padding: 10px; border-radius: var(--sui-radius-lg); box-shadow: var(--sui-shadow-lg); }
body.sui .sui-hero-xs .buscador-principal form > .form-control,
body.sui .sui-hero-xs .buscador-principal form > select { flex: 1 1 100%; height: 48px; border: 1px solid var(--sui-border) !important; border-radius: var(--sui-radius-sm); }
body.sui .sui-hero-xs .buscador-principal #select-home-xs { border: 0 !important; border-radius: var(--sui-radius-sm); }
body.sui .sui-hero-xs .buscador-principal #que_buscar_xs { flex: 1 1 0; }
body.sui .sui-hero-xs .buscador-principal .btn { flex: 0 0 64px; height: 48px; border-radius: var(--sui-radius-sm) !important; }

/* --------------------------------------------------------------------------
   Home: bloques
   -------------------------------------------------------------------------- */
.sui-promo {
	position: relative;
	margin: 56px auto;
	padding: 48px 40px;
	overflow: hidden;
	color: #fff;
	background: radial-gradient(circle at 15% 20%, rgba(var(--sui-accent-rgb), .35) 0%, transparent 45%), linear-gradient(120deg, var(--sui-night) 0%, var(--sui-primary-dark) 55%, var(--sui-primary) 100%);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
.sui-promo-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; }
.sui-promo-text { flex: 1 1 420px; }
body.sui .sui-promo h3 { margin: 0 0 8px; font-size: 30px; font-weight: 700; color: #fff; }
.sui-promo p { margin: 0; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .82); }
.sui-promo .sui-eyebrow { background: rgba(255, 255, 255, .12); color: #fff; }

.sui-spot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 72px;
	overflow: hidden;
	background: linear-gradient(120deg, var(--sui-primary-dark) 0%, var(--sui-primary) 100%);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
.sui-spot-video { flex: 1 1 60%; min-width: 280px; }
.sui-spot-video .sui-ratio { position: relative; padding-top: 56.25%; }
.sui-spot-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sui-spot-text { flex: 1 1 30%; min-width: 260px; padding: 36px; text-align: center; }
body.sui .sui-spot-text h3 { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.35; color: #fff; text-transform: uppercase; }
body.sui .sui-spot-text h3 span { display: block; margin-bottom: 6px; font-size: .62em; font-weight: 600; letter-spacing: .08em; color: rgba(255, 255, 255, .78) !important; }
body.sui .sui-spot-text h3 br { display: none; }
/* .row anidadas directamente en otra .row (marcado incorrecto en varias vistas): sus márgenes negativos desbordaban en móvil */
@media (max-width: 767px) {
	body.sui .row > .row { margin-left: 0; margin-right: 0; }
	body.sui #portfolio .row > .row[style*="margin-left: -15px"] { margin-left: 0 !important; margin-right: 0 !important; }
	body.sui #portfolio > .row,
	body.sui .fbox-desc-xs .row { margin-left: 0; margin-right: 0; }
}

.sui-testimonial { display: flex; gap: 22px; align-items: flex-start; }
.sui-testimonial img { width: 96px; height: 96px; flex: 0 0 96px; border-radius: 50%; object-fit: cover; box-shadow: var(--sui-shadow); }
.sui-testimonial blockquote { margin: 0 0 14px; padding: 0; border: 0; font-size: 17px; font-style: italic; line-height: 1.6; color: var(--sui-ink); }
.sui-testimonial blockquote .fa { color: var(--sui-primary-light); }
.sui-testimonial p { margin: 0; font-size: 14px; color: var(--sui-muted); }
.sui-testimonial p strong { color: var(--sui-ink); }

.sui-feature h4 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 18px; font-weight: 600; }
.sui-feature h4 img { width: 22px; }
.sui-feature h4 a { color: var(--sui-ink); }
.sui-feature h4 a:hover { color: var(--sui-primary); }
.sui-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	background: var(--sui-primary-soft);
	border-radius: var(--sui-radius);
}
.sui-feature .sui-feature-cta { margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--sui-border); font-size: 14px; }

.sui-partners { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.sui-partners a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 110px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
	transition: box-shadow var(--sui-transition), transform var(--sui-transition);
}
.sui-partners a:hover { box-shadow: var(--sui-shadow); transform: translateY(-2px); }
.sui-partners img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(100%); opacity: .75; transition: filter var(--sui-transition), opacity var(--sui-transition); }
.sui-partners a:hover img { filter: none; opacity: 1; }

.sui-apps { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; padding: 40px; background: var(--sui-primary-soft); border-radius: var(--sui-radius-lg); }
.sui-apps img.sui-apps-mock { max-width: 220px; }
body.sui .sui-apps h3 { margin: 0 0 20px; font-size: 26px; font-weight: 700; }
.sui-apps-stores { display: flex; flex-wrap: wrap; gap: 14px; }
.sui-apps-stores img { height: 54px; }

@media (max-width: 991px) {
	body.sui .sui-hero h1 { font-size: 44px; }
}
@media (max-width: 767px) {
	.sui-section { padding: 48px 0; }
	.sui-section-title h2 { font-size: 26px; }
	.sui-promo { margin: 32px 15px; padding: 32px 22px; text-align: center; }
	body.sui .sui-promo h3 { font-size: 23px; }
	.sui-promo p { font-size: 16px; }
	.sui-promo .sui-btn { width: 100%; }
	.sui-spot { margin-bottom: 48px; }
	/* Mismo ancho que la tarjeta "Invierte en Salsero" (.sui-promo lleva 15px de margen lateral) */
	.sui-spot { margin-left: 15px; margin-right: 15px; }
	.sui-spot-text { padding: 24px; }
	body.sui .sui-spot-text h3 { font-size: 20px; }
	.sui-testimonial { flex-direction: column; align-items: center; text-align: center; }
	.sui-partners a { width: calc(50% - 10px); height: 90px; }
	.sui-apps { padding: 28px 20px; text-align: center; }
	.sui-apps-stores { justify-content: center; }
	.sui-apps-stores img { height: 46px; }
}

/* ==========================================================================
   Fase 2A - Listados
   ========================================================================== */

/* Cabecera de listados sobre la foto de cada sección */
body.sui #page-title.sui-page-hero { position: relative; overflow: hidden; border-bottom: 0; }
body.sui #page-title.sui-page-hero:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(var(--sui-night-rgb), .65) 0%, rgba(var(--sui-night-rgb), .45) 50%, rgba(var(--sui-night-rgb), .8) 100%);
	pointer-events: none;
}
body.sui #page-title.sui-page-hero > * { position: relative; z-index: 2; }
body.sui #page-title.sui-page-hero h1,
body.sui #page-title.sui-page-hero h2,
body.sui #page-title.sui-page-hero h3,
body.sui #page-title.sui-page-hero h4 {
	color: #fff !important;
	font-weight: 700;
	letter-spacing: -.01em;
	text-transform: none;
	text-shadow: 0 4px 24px rgba(0, 0, 0, .35);
}
body.sui #page-title.sui-page-hero h1 { font-size: 44px; line-height: 1.15; }
body.sui #page-title.sui-page-hero h1 img,
body.sui #page-title.sui-page-hero h2 img { height: 56px; width: auto; margin-right: 8px; vertical-align: middle; }
body.sui #page-title.sui-page-hero .sombra-buscador { margin-bottom: 18px; font-size: 26px; line-height: 1.3; text-shadow: 0 2px 14px rgba(0, 0, 0, .4); }
body.sui #page-title .sui-page-hero-sub {
	display: block;
	margin-top: 6px;
	font-family: var(--sui-font);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .85);
}
body.sui #page-title.sui-page-hero .alert { margin-top: 14px; text-shadow: none; }

/* Buscador en móvil (todas las páginas) */
@media (max-width: 767px) {
	body.sui .buscador-principal form { flex-wrap: wrap; gap: 6px; padding: 10px; border-radius: var(--sui-radius-lg); }
	body.sui .buscador-principal form > .form-control,
	body.sui .buscador-principal form > select { flex: 1 1 100%; height: 48px; border: 1px solid var(--sui-border) !important; border-radius: var(--sui-radius-sm); }
	body.sui .buscador-principal form > input.form-control { flex: 1 1 0; min-width: 0; }
	body.sui .buscador-principal form > .btn { flex: 0 0 64px; height: 48px; border-radius: var(--sui-radius-sm) !important; }
	body.sui #page-title.sui-page-hero h1 { font-size: 30px; }
	body.sui #page-title.sui-page-hero .sombra-buscador { font-size: 20px; }
}

/* Filtros por tipo (isotope) */
body.sui #portfolio-filter.sui-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	float: none;
	margin: 0 0 16px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
body.sui #portfolio-filter.sui-filter li { float: none; width: auto; margin: 0; }
body.sui #portfolio-filter.sui-filter li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 16px !important;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: var(--sui-radius-pill) !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	cursor: pointer;
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui #portfolio-filter.sui-filter li a img { height: 20px; width: auto; }
body.sui #portfolio-filter.sui-filter li a:hover { background: rgba(255, 255, 255, .24); color: #fff; }
body.sui #portfolio-filter.sui-filter li.activeFilter a { background: #fff; color: var(--sui-primary-dark) !important; border-color: #fff; }
body.sui #portfolio-filter.sui-filter li.activeFilter a img { filter: brightness(0) saturate(100%) invert(16%) sepia(48%) saturate(2600%) hue-rotate(275deg); }
/* Canvas pinta los span de #page-title.page-title-dark en blanco al 70% con más especificidad: la etiqueta hereda el color del botón */
body.sui #page-title .sui-filter-label { display: inline; margin: 0; font-size: 14px; font-weight: 600; color: inherit !important; }

/* Tarjetas de artista y escuela */
body.sui .sui-profile-col { margin-bottom: 10px; padding-left: 12px; padding-right: 12px; }
body.sui .card.hovercard.sui-profile-card {
	min-height: 0;
	margin: 10px 0 20px;
	text-align: left;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition), border-color var(--sui-transition);
}
body.sui a:hover .card.hovercard.sui-profile-card,
body.sui .card.hovercard.sui-profile-card:hover { transform: translateY(-4px); box-shadow: var(--sui-shadow-lg); border-color: transparent; }
body.sui .events .card.hovercard.sui-profile-card { min-height: 290px; }
body.sui .card.hovercard.sui-profile-card .cardheader { height: 140px; overflow: hidden; }
body.sui .sui-profile-cover { height: 140px; background-size: cover; background-position: center; }
body.sui .card.hovercard.sui-profile-card .avatar.sui-profile-avatar {
	float: none;
	top: -52px;
	width: 104px;
	height: 104px;
	margin: 0 0 -40px 20px;
	background-size: cover;
	background-position: center;
	border: 4px solid #fff;
	border-radius: 50%;
	box-shadow: var(--sui-shadow);
}
body.sui .card.hovercard.sui-profile-card .info { padding: 0 20px 18px; }
body.sui .card.hovercard.sui-profile-card .info .title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	font-family: var(--sui-font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sui-ink);
}
body.sui .card.hovercard.sui-profile-card .info .title a { color: var(--sui-ink); }
body.sui .card.hovercard.sui-profile-card .info .desc,
body.sui .card.hovercard.sui-profile-card .bottom { font-size: 14px; line-height: 1.5; color: var(--sui-muted); }
body.sui .card.hovercard.sui-profile-card .bottom { position: static; padding: 0 20px 18px; margin: 0; }
body.sui .sui-profile-badge { position: absolute; top: 12px; right: 12px; z-index: 2; }
body.sui .sui-profile-featured { position: absolute; top: 0; right: 20px; z-index: 3; width: 45px; }
body.sui .sui-profile-flag { font-size: 20px; border-radius: 50%; }

/* Bloque de llamada a la acción dentro de los listados */
body.sui .sui-cta-section { clear: both; width: 100%; padding: 30px 15px; }
.sui-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 32px 36px;
	color: #fff;
	text-align: left;
	background: radial-gradient(circle at 10% 20%, rgba(var(--sui-accent-rgb), .3) 0%, transparent 45%), linear-gradient(120deg, var(--sui-night) 0%, var(--sui-primary-dark) 55%, var(--sui-primary) 100%);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
.sui-cta-text { flex: 1 1 360px; }
body.sui .sui-cta h3 { margin: 0 0 6px; font-size: 24px; font-weight: 700; color: #fff; text-transform: none; }
/* Palabras destacadas del título: Canvas las pinta en el morado de marca, invisible sobre este fondo */
body.sui .sui-cta h3 span { color: #ffd36b !important; }
.sui-cta p { margin: 0; font-size: 16px; color: rgba(255, 255, 255, .82); }
@media (max-width: 767px) {
	.sui-cta { padding: 26px 22px; text-align: center; }
	.sui-cta .sui-btn { width: 100%; }
}

/* Tarjetas informativas al pie de los listados */
body.sui .benefits-container .transparent .tuyin {
	width: 100%;
	min-height: 0;
	padding: 32px 28px;
	text-align: left;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .benefits-container .transparent .tuyin .title { display: flex; align-items: center; gap: 12px; text-align: left; font-family: var(--sui-font-heading); font-size: 20px; color: var(--sui-ink) !important; }
body.sui .benefits-container .transparent .tuyin .title img { width: 40px; height: auto; }
body.sui .benefits-container .transparent .tuyin .plan-name { padding: 14px 0 8px; font-size: 17px; line-height: 1.55; color: var(--sui-text); border: 0; }
body.sui .benefits-container .transparent .tuyin h4 { font-size: 15px; font-weight: 600; color: var(--sui-primary); }
body.sui .benefits-container.sui-section { padding: 40px 0 60px; }

/* Paginación */
body.sui .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 30px 0; padding: 0; }
body.sui .pagination .pagination { margin: 0; }
body.sui .pagination > li { display: block; }
body.sui .pagination > li > a,
body.sui .pagination > li > span {
	float: none;
	min-width: 42px;
	margin: 0;
	padding: 9px 14px;
	text-align: center;
	color: var(--sui-ink);
	background: #fff;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm) !important;
	transition: background-color var(--sui-transition), border-color var(--sui-transition), color var(--sui-transition);
}
body.sui .pagination > li > a:hover { background: var(--sui-primary-soft); border-color: var(--sui-primary-light); color: var(--sui-primary-dark); }
body.sui .pagination > .active > a,
body.sui .pagination > .active > span,
body.sui .pagination > .active > a:hover,
body.sui .pagination > .active > span:hover { background: var(--sui-primary); border-color: var(--sui-primary); color: #fff; }
body.sui .pagination > .disabled > span,
body.sui .pagination > .disabled > a { color: #b9b4c2; background: #fff; }

/* Aviso de "sin resultados" */
body.sui .notice.notice-lg {
	margin: 20px 15px;
	padding: 36px;
	text-align: center;
	color: var(--sui-primary-dark);
	background: var(--sui-primary-soft);
	border: 0;
	border-radius: var(--sui-radius-lg);
	box-shadow: none;
}

/* Calendario (FullCalendar 3) */
body.sui .sui-calendar-card {
	margin-top: 30px;
	margin-bottom: 40px;
	padding: 28px;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui .fc .fc-toolbar h2 { font-size: 22px; font-weight: 600; text-transform: capitalize; }
body.sui .fc .fc-button {
	height: 36px;
	padding: 0 14px;
	font-family: var(--sui-font);
	font-weight: 600;
	color: var(--sui-ink);
	text-shadow: none;
	background: #fff;
	background-image: none;
	border: 1px solid var(--sui-border);
	box-shadow: none;
}
body.sui .fc .fc-button:first-child { border-radius: var(--sui-radius-sm) 0 0 var(--sui-radius-sm); }
body.sui .fc .fc-button:last-child { border-radius: 0 var(--sui-radius-sm) var(--sui-radius-sm) 0; }
body.sui .fc .fc-button:only-child { border-radius: var(--sui-radius-sm); }
body.sui .fc .fc-state-hover { background: var(--sui-primary-soft); color: var(--sui-primary-dark); }
body.sui .fc .fc-state-active,
body.sui .fc .fc-state-down { background: var(--sui-primary); border-color: var(--sui-primary); color: #fff; }
body.sui .fc .fc-state-disabled { opacity: .5; }
body.sui .fc th.fc-day-header { padding: 10px 0; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--sui-muted); }
body.sui .fc td, body.sui .fc th { border-color: #efeaf4; }
body.sui .fc .fc-day-number { padding: 6px 8px; font-size: 13px; color: var(--sui-text); }
body.sui .fc-unthemed td.fc-today { background: var(--sui-primary-soft); }
body.sui .fc-event { padding: 2px 6px; border: 0; border-radius: 6px; font-size: 12px; font-weight: 500; }
@media (max-width: 767px) {
	body.sui .sui-calendar-card { padding: 14px; border-radius: var(--sui-radius); }
	body.sui .fc .fc-toolbar h2 { font-size: 18px; }
}

/* Valoraciones */
body.sui .sui-ratings-page { width: auto !important; max-width: 1140px; margin-top: 40px; margin-bottom: 60px; }
body.sui .panel.sui-panel { border: 0; border-radius: var(--sui-radius-lg); box-shadow: var(--sui-shadow); }
body.sui .panel.sui-panel > .panel-body { padding: 40px; }
body.sui .sui-ratings-header { display: flex; align-items: center; gap: 22px; margin: 0 0 30px; }
body.sui .sui-ratings-header img { height: 72px; width: auto; }
body.sui .sui-ratings-header h2 { margin: 0 0 6px; font-size: 30px; font-weight: 700; }
body.sui .sui-ratings-header h2 small { font-size: 15px; }
body.sui .sui-ratings-header p { margin: 0; font-weight: 600; color: #2e9d5b; }

body.sui .nav-tabs.sui-tabs { display: flex; flex-wrap: wrap; margin: 0 0 24px; border-bottom: 2px solid var(--sui-border); }
body.sui .nav-tabs.sui-tabs:before, body.sui .nav-tabs.sui-tabs:after { display: none; }
body.sui .nav-tabs.sui-tabs > li { float: none; flex: 1 1 260px; margin: 0 0 -2px; padding: 0; text-align: center; }
body.sui .nav-tabs.sui-tabs > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 14px 18px;
	font-size: 17px;
	font-weight: 600;
	color: var(--sui-muted);
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
}
body.sui .nav-tabs.sui-tabs > li > a:hover { color: var(--sui-primary); background: transparent; }
body.sui .nav-tabs.sui-tabs > li.active > a,
body.sui .nav-tabs.sui-tabs > li.active > a:hover,
body.sui .nav-tabs.sui-tabs > li.active > a:focus { color: var(--sui-primary); background: transparent; border: 0; border-bottom: 3px solid var(--sui-primary); }

body.sui .sui-rating-item {
	display: flex;
	gap: 20px;
	margin: 0 0 16px;
	padding: 18px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
	transition: box-shadow var(--sui-transition), border-color var(--sui-transition);
}
body.sui .sui-rating-item:hover { border-color: var(--sui-primary-light); box-shadow: var(--sui-shadow); }
body.sui .sui-rating-item .sui-rating-thumb { flex: 0 0 110px; align-self: flex-start; overflow: hidden; border-radius: var(--sui-radius); }
body.sui .sui-rating-item .sui-rating-thumb img { display: block; width: 100%; height: auto; transition: transform var(--sui-transition); }
body.sui .sui-rating-item .sui-rating-thumb:hover img { transform: scale(1.04); }
body.sui .sui-rating-body { flex: 1 1 auto; min-width: 0; }
body.sui .sui-rating-item h4 { margin: 0 0 6px; font-size: 18px; font-weight: 700; line-height: 1.3; text-transform: none; }
body.sui .sui-rating-item h4 a { color: var(--sui-ink); }
body.sui .sui-rating-item h4 a:hover { color: var(--sui-primary); }
body.sui .sui-rating-stars .rate-star { font-size: 17px; color: #f5a623; }
body.sui .sui-rating-meta-line { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 6px 0 12px; font-size: 13px; color: var(--sui-muted); }
body.sui .sui-rating-meta-line .fa { margin-right: 4px; color: var(--sui-primary-light); }
body.sui .sui-rating-quote {
	margin: 0 0 12px;
	padding: 10px 14px;
	font-size: 15px;
	font-style: italic;
	line-height: 1.6;
	color: var(--sui-ink);
	background: var(--sui-bg);
	border: 0;
	border-left: 3px solid var(--sui-primary);
	border-radius: 0 var(--sui-radius-sm) var(--sui-radius-sm) 0;
}
body.sui .sui-rating-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
body.sui .sui-rating-gallery a { display: block; width: 96px; height: 96px; overflow: hidden; border-radius: var(--sui-radius-sm); }
body.sui .sui-rating-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--sui-transition); }
body.sui .sui-rating-gallery a:hover img { transform: scale(1.06); }
@media (max-width: 767px) {
	body.sui .sui-rating-item { gap: 14px; padding: 14px; }
	body.sui .sui-rating-item .sui-rating-thumb { flex-basis: 72px; }
	body.sui .sui-rating-item h4 { font-size: 16px; }
	body.sui .sui-rating-gallery a { width: 76px; height: 76px; }
}
/* Ranking de mejor valorados: etiquetas de estilo como píldoras (igual que en la ficha del evento) */
body.sui .sui-ranking-item .tagcloud a {
	margin: 0 6px 6px 0;
	padding: 3px 11px;
	font-family: var(--sui-font);
	font-size: 12px;
	font-weight: 600;
	color: var(--sui-primary-dark);
	background: var(--sui-primary-soft);
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-rating-reply { padding: 12px 14px; background: var(--sui-primary-soft); border-radius: var(--sui-radius-sm); }
body.sui .rate-star.checked { color: #f5b301; }

body.sui .sui-ranking-item {
	margin: 0 0 24px;
	padding: 18px 8px;
	background: #fff;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-ranking-item h3 { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 19px; color: var(--sui-primary); }
body.sui .sui-rank {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	background: var(--sui-primary);
	border-radius: 50%;
}
body.sui .sui-ranking-item .sui-rating-thumb { border-right: 1px solid var(--sui-border); text-align: center; }
body.sui .sui-ranking-item .sui-rating-thumb img { width: 80%; border-radius: var(--sui-radius-sm); }
@media (max-width: 767px) {
	body.sui .panel.sui-panel > .panel-body { padding: 22px 16px; }
	body.sui .sui-ratings-header { flex-direction: column; text-align: center; gap: 10px; }
	body.sui .sui-ratings-header h2 { font-size: 24px; }
}

/* ==========================================================================
   Fase 2B - Fichas de detalle (evento, artista, escuela)
   ========================================================================== */

/* Tarjeta de contenido de ficha */
body.sui .row.shadow.sui-detail-card {
	margin: 0 0 24px;
	overflow: hidden;
	background: var(--sui-surface);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-detail-card h3 { font-size: 21px; font-weight: 600; margin: 26px 0 14px; }
body.sui .sui-detail-card iframe { max-width: 100%; border-radius: var(--sui-radius); }
body.sui .sui-detail-card .fancy-title.title-border { margin-bottom: 18px; }
body.sui .sui-detail-card .fancy-title.title-border h3,
body.sui .sui-detail-card .fancy-title.title-border h4 { margin: 0; padding-right: 14px; background: #fff; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.sui .sui-detail-card .fancy-title.title-border:before { border-top-color: var(--sui-border); }
body.sui .sui-detail-card .side {
	background: var(--sui-bg);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	padding: 22px;
}
body.sui .sui-detail-card .side h3 { margin-top: 0; }
body.sui .sui-detail-card .widget + .widget { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--sui-border); }
body.sui .sui-detail-card .media { margin-top: 12px; }

/* Portada del evento */
body.sui .sui-event-cover { position: relative; padding: 0; overflow: hidden; }
body.sui .sui-event-cover img { display: block; transition: transform .6s ease; }
body.sui .sui-event-cover:hover img { transform: scale(1.02); }
body.sui .sui-event-cover-label {
	position: absolute;
	left: 16px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	background: rgba(var(--sui-night-rgb), .6);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-radius: var(--sui-radius-pill);
}
body.sui a .sui-event-cover-label i { color: #fff; }

/* Bloque principal */
body.sui .sui-event-title { margin: 6px 0 10px; font-size: 32px; font-weight: 700; line-height: 1.2; text-transform: none; }
/* Las etiquetas flotan (Canvas): flow-root hace que el título las contenga y respete la separación */
body.sui .sui-event-title .tagcloud { display: flow-root; margin-bottom: 4px; }
body.sui .sui-event-title + br { display: none; }
body.sui .sui-detail-card .tagcloud a {
	margin: 0 6px 6px 0;
	padding: 4px 12px;
	font-family: var(--sui-font);
	font-size: 12px;
	font-weight: 600;
	color: var(--sui-primary-dark);
	background: var(--sui-primary-soft);
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-event-rating {
	margin: 0 0 16px;
	padding: 16px 18px;
	background: var(--sui-bg);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
}
body.sui .sui-event-rating-score {
	display: inline-block;
	margin: 0 10px 0 14px;
	padding: 4px 10px;
	font-size: 17px;
	font-weight: 700;
	color: #fff;
	background: var(--sui-primary);
	border-radius: var(--sui-radius-sm);
	vertical-align: middle;
}
body.sui .sui-event-quote {
	margin: 0 0 18px !important;
	padding: 14px 8px;
	background: #fff;
	border: 1px solid var(--sui-border);
	border-left: 4px solid var(--sui-primary-light);
	border-radius: var(--sui-radius);
}
body.sui .sui-event-info { margin: 10px 0 0; padding: 0; }
body.sui .sui-event-info > li { display: block; padding: 0; margin-bottom: 10px; font-size: 15px; }
/* Hueco excesivo entre fecha y localización: <br> suelto en la lista y margin-top de .media (Bootstrap) */
body.sui .sui-event-info > br { display: none; }
body.sui .sui-event-info .media { margin-top: 0; }
body.sui .sui-event-info .media-left { color: var(--sui-primary); }

/* Precios */
body.sui .header-tipo-producto-show {
	padding: 9px 14px;
	background: var(--sui-primary-soft) !important;
	border-radius: var(--sui-radius-sm);
	box-shadow: none !important;
	font-family: var(--sui-font-heading);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sui-primary-dark);
	border: 0;
}
/* Es una columna dentro de una .row: se alinea con las filas de precios en lugar de llegar al borde */
body.sui .row > .header-tipo-producto-show { float: none; width: auto; margin: 0 15px; }
body.sui .sui-product-separator {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 6px;
	padding: 8px 12px;
	font-size: 14px;
	font-weight: 700;
	color: var(--sui-text);
	background: var(--sui-bg);
	border-radius: var(--sui-radius-sm);
}
body.sui .sui-product-separator .fa { color: var(--sui-primary); }
body.sui .sui-product-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 16px;
	padding: 11px 4px;
	border-bottom: 1px dashed var(--sui-border);
}
body.sui .sui-product-name { flex: 1 1 220px; font-size: 15px; font-weight: 600; color: var(--sui-ink); }
body.sui .sui-product-name .label { margin-left: 8px; }
body.sui .sui-product-info { margin-left: 6px; font-size: 13px; font-weight: 500; white-space: nowrap; }
body.sui .sui-product-price { font-size: 18px; font-weight: 700; color: var(--sui-primary-dark); white-space: nowrap; }
body.sui .sui-product-row.is-soldout .sui-product-name { color: var(--sui-muted); font-weight: 500; text-decoration: line-through; }
body.sui .sui-product-soldout {
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sui-accent-dark);
	background: #fdecef;
	border-radius: var(--sui-radius-pill);
}

/* Botón de compra */
body.sui .sui-event-buy { margin-top: 10px; }
body.sui .sui-btn.sui-btn-lg { padding: 16px 34px; font-size: 17px; }
body.sui .sui-event-buy .sui-btn,
body.sui .sui-event-info .btn-group > .sui-btn { min-width: 240px; box-shadow: 0 10px 24px rgba(var(--sui-accent-rgb), .3); }
body.sui .sui-event-buy .sui-btn i,
body.sui .sui-event-info .btn-group > .sui-btn i { color: #fff; }

/* Compartir */
body.sui .share-list ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 30px !important; }
body.sui .share-list ul li { float: none; margin: 0 !important; }
body.sui .share-list ul li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border-radius: 50%;
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .share-list ul li a:hover { transform: translateY(-2px); box-shadow: var(--sui-shadow); }
body.sui .share-list ul li a i { vertical-align: 0; color: #fff; }
body.sui .share-list ul li strong { line-height: 42px !important; color: var(--sui-ink) !important; }

/* Carrusel de artistas */
body.sui #carousel_artists .item a {
	display: block;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
	box-shadow: var(--sui-shadow);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition), border-color var(--sui-transition);
}
body.sui #carousel_artists .item a:hover { transform: translateY(-3px); border-color: var(--sui-primary-light); box-shadow: var(--sui-shadow-lg); }
/* El carrusel recorta lo que sobresale: hueco para que se vean la sombra y la elevación */
body.sui #carousel_artists .carousel-inner { padding: 6px 4px 14px; }
body.sui #carousel_artists .item img { border-radius: 0 !important; max-width: 100%; }
body.sui .sui-artist-thumb-name { margin: 0; padding: 10px 8px; text-align: center; font-size: 14px; color: var(--sui-ink); background: #fff; border-top: 1px solid var(--sui-border); }
body.sui #carousel_artists .carousel-control { background-image: none; color: var(--sui-primary); text-shadow: none; opacity: .8; width: 40px; }
body.sui #carousel_artists .carousel-control i { color: var(--sui-primary); }

/* Promotor */
body.sui .sui-promoter-name {
	display: inline-block;
	padding: 10px 20px;
	color: var(--sui-primary-dark);
	background: var(--sui-primary-soft);
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-promoter-name:hover { background: var(--sui-primary); color: #fff; }
body.sui .sui-map { overflow: hidden; border-radius: var(--sui-radius); }

body.sui .sui-event-section-title { margin: 30px 15px 20px; font-size: 24px; font-weight: 700; }

/* Cabecera de perfil (artista / escuela) */
body.sui .sui-profile-hero { padding: 120px 0 0; background: transparent; }
body.sui .sui-profile-hero .container { position: relative; padding: 0; }
body.sui .sui-profile-hero-cover {
	height: 340px;
	background-color: var(--sui-primary-dark);
	background-size: cover;
	background-position: center;
	border-radius: var(--sui-radius-lg) var(--sui-radius-lg) 0 0;
}
body.sui .sui-profile-hero-body {
	display: flex;
	align-items: flex-end;
	gap: 24px;
	padding: 0 32px 24px;
	background: #fff;
	border-radius: 0 0 var(--sui-radius-lg) var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-profile-hero-avatar {
	flex: 0 0 168px;
	width: 168px;
	height: 168px;
	margin-top: -84px;
	background-color: #fff;
	background-size: cover;
	background-position: center;
	border: 5px solid #fff;
	border-radius: 50%;
	box-shadow: var(--sui-shadow-lg);
}
body.sui .sui-profile-hero-text { padding-bottom: 6px; min-width: 0; }
body.sui .sui-profile-hero-text h1 { margin: 0; font-size: 34px; font-weight: 700; line-height: 1.15; color: var(--sui-ink); text-transform: none; word-wrap: break-word; }
body.sui .sui-profile-hero + #content > .container { padding-top: 24px !important; }
body.sui .sui-profile-main { padding-top: 26px; padding-bottom: 30px; }
body.sui .sui-profile-side { padding-top: 26px; padding-bottom: 30px; }
body.sui .breadcrumb.breadcrumb2 { margin-bottom: 16px; padding: 0; background: transparent; font-size: 13px; }
body.sui .breadcrumb.breadcrumb2 > li + li:before { color: #c3bdcc; }
body.sui .breadcrumb.breadcrumb2 a { color: var(--sui-muted); }
body.sui .breadcrumb.breadcrumb2 a:hover { color: var(--sui-primary); }
@media (max-width: 991px) {
	body.sui .sui-profile-hero-cover { height: 260px; }
}
@media (max-width: 767px) {
	body.sui .sui-profile-hero { padding-top: 70px; }
	body.sui .sui-profile-hero .container { padding: 0 10px; }
	body.sui .sui-profile-hero-cover { height: 170px; border-radius: var(--sui-radius) var(--sui-radius) 0 0; }
	body.sui .sui-profile-hero-body { flex-direction: column; align-items: center; gap: 10px; padding: 0 18px 20px; text-align: center; border-radius: 0 0 var(--sui-radius) var(--sui-radius); }
	body.sui .sui-profile-hero-avatar { flex: 0 0 auto; width: 120px; height: 120px; margin-top: -60px; }
	body.sui .sui-profile-hero-text h1 { font-size: 26px; }
	body.sui .sui-event-title { font-size: 26px; }
}

/* Próximos eventos del perfil */
body.sui .sui-detail-card #posts.events .entry {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 0 0 16px;
	padding: 14px;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	transition: box-shadow var(--sui-transition);
}
body.sui .sui-detail-card #posts.events .entry:hover { box-shadow: var(--sui-shadow); }
body.sui .sui-detail-card #posts.events .entry-image { float: none; width: 220px; margin: 0; overflow: hidden; border-radius: var(--sui-radius); }
body.sui .sui-detail-card #posts.events .entry-c { flex: 1 1 260px; overflow: visible; }
body.sui .sui-detail-card #posts.events .entry-title h2 { margin: 0 0 6px; font-size: 19px; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.sui .sui-detail-card #posts.events .entry-date {
	border-radius: var(--sui-radius-sm);
	background-color: var(--sui-primary) !important;
	box-shadow: var(--sui-shadow);
}
body.sui .sui-detail-card .entry-meta li { font-size: 13px; color: var(--sui-muted); }
@media (max-width: 767px) {
	body.sui .sui-detail-card #posts.events .entry-image { width: 100%; }
}

/* Galería y vídeos */
body.sui .sui-detail-card .thumbnail {
	position: relative;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: var(--sui-radius);
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .sui-detail-card .thumbnail:hover { transform: translateY(-3px); box-shadow: var(--sui-shadow-lg); }
body.sui .sui-detail-card .thumbnail img { width: 100%; }
/* Icono de reproducción superpuesto (segunda imagen, 60px en el marcado): no debe estirarse */
body.sui .sui-detail-card .thumbnail img + img { width: 60px; height: auto; }

/* ==========================================================================
   Fase 2C - Páginas estáticas (legales, FAQ, Posiciónate, Servicios)
   ========================================================================== */

/* Textos legales */
body.sui .sui-legal-wrap { padding-top: 40px; padding-bottom: 60px; }
body.sui .sui-legal {
	max-width: 960px;
	margin: 0 auto;
	padding: 48px 56px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-legal-body { font-size: 15px; line-height: 1.75; color: var(--sui-text); overflow-wrap: break-word; }
body.sui .sui-legal-body h2 { margin: 0 0 24px; font-size: 30px; font-weight: 700; }
body.sui .sui-legal-body h3 {
	margin: 36px 0 14px;
	padding-bottom: 10px;
	font-size: 21px;
	font-weight: 600;
	border-bottom: 2px solid var(--sui-primary-soft);
}
body.sui .sui-legal-body h4 { margin: 28px 0 10px; font-size: 17px; font-weight: 600; color: var(--sui-primary-dark); }
body.sui .sui-legal-body p { margin-bottom: 14px; }
body.sui .sui-legal-body ul { margin: 0 0 18px; padding-left: 22px; }
body.sui .sui-legal-body li { margin-bottom: 6px; }
body.sui .sui-legal-body li::marker { color: var(--sui-primary); }
body.sui .sui-legal-body strong { color: var(--sui-ink); }
body.sui .sui-legal-body a { color: var(--sui-primary); text-decoration: underline; text-underline-offset: 2px; }
body.sui .sui-legal-body a:hover { color: var(--sui-primary-dark); }
body.sui .sui-legal-body table {
	display: block;
	width: 100% !important;
	max-width: 100%;
	overflow-x: auto;
	margin: 0 0 20px;
	font-size: 14px;
	border-collapse: collapse;
}
body.sui .sui-legal-body table td,
body.sui .sui-legal-body table th { padding: 8px 12px; border: 1px solid var(--sui-border) !important; vertical-align: top; }
body.sui .sui-legal-body table tr:first-child td,
body.sui .sui-legal-body table th { background: var(--sui-primary-soft); font-weight: 600; color: var(--sui-ink); }
@media (max-width: 767px) {
	body.sui .sui-legal-wrap { padding-top: 16px; padding-bottom: 32px; }
	body.sui .sui-legal { padding: 28px 20px; border-radius: var(--sui-radius); }
	body.sui .sui-legal-body { font-size: 14px; }
	body.sui .sui-legal-body h2 { font-size: 24px; }
	body.sui .sui-legal-body h3 { font-size: 18px; }
}

/* FAQ (usuarios y organizadores): acordeón */
body.sui .sui-faq-wrap { max-width: 960px; padding-top: 40px; padding-bottom: 40px; }
body.sui .sui-faq-wrap > .container-fluid { padding: 0; }
body.sui .sui-faq-title {
	margin: 0 0 32px;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
}
body.sui .sui-faq-title .fa { color: var(--sui-primary); }
body.sui .sui-faq-section h4 {
	margin: 40px 0 16px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sui-primary);
}
body.sui .sui-faq-section:first-child h4 { margin-top: 0; }
body.sui .sui-faq .panel {
	margin-bottom: 12px;
	overflow: hidden;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius) !important;
	box-shadow: var(--sui-shadow-sm);
	transition: box-shadow var(--sui-transition), border-color var(--sui-transition);
}
body.sui .sui-faq .panel + .panel { margin-top: 0; }
body.sui .sui-faq .panel:hover { border-color: var(--sui-primary-light); }
body.sui .sui-faq .panel-heading {
	position: relative;
	padding: 18px 56px 18px 22px;
	background: var(--sui-surface);
	border: 0;
	cursor: pointer;
}
body.sui .sui-faq .panel-heading:after {
	content: "\f107";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	font-family: FontAwesome;
	font-size: 18px;
	line-height: 28px;
	text-align: center;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border-radius: 50%;
	transform: rotate(180deg);
	transition: transform var(--sui-transition), background var(--sui-transition), color var(--sui-transition);
}
body.sui .sui-faq .panel-heading.collapsed:after { transform: none; }
body.sui .sui-faq .panel-heading:not(.collapsed):after { color: #fff; background: var(--sui-primary); }
body.sui .sui-faq .panel-title { font-family: var(--sui-font); font-size: 16px; font-weight: 600; line-height: 1.45; }
body.sui .sui-faq .panel-title .fa { width: 20px; text-align: center; color: var(--sui-primary); }
body.sui .sui-faq .panel-title a { color: var(--sui-ink); text-decoration: none; }
body.sui .sui-faq .panel-heading:not(.collapsed) .panel-title a { color: var(--sui-primary-dark); }
body.sui .sui-faq .panel-heading + .panel-collapse > .panel-body {
	padding: 4px 22px 22px 52px;
	border-top: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--sui-text);
}
body.sui .sui-faq .panel-body a { color: var(--sui-primary); text-decoration: underline; }
/* Enlaces con aspecto de etiqueta (label label-primary en los textos de la FAQ): texto blanco, sin subrayado */
body.sui .sui-faq .panel-body a.label {
	display: inline-block;
	padding: 2px 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	vertical-align: 1px;
	color: #fff;
	text-decoration: none;
	background-color: var(--sui-primary);
	border-radius: var(--sui-radius-pill);
	transition: background-color var(--sui-transition);
}
body.sui .sui-faq .panel-body a.label:hover,
body.sui .sui-faq .panel-body a.label:focus { color: #fff; background-color: var(--sui-primary-dark); }
body.sui .sui-faq .panel-body img { max-width: 100%; height: auto; border-radius: var(--sui-radius-sm); }
/* Capturas de pantalla de la FAQ de organizadores (fondo amarillo en línea) */
body.sui .sui-faq [style*="lemonchiffon"] {
	background-color: var(--sui-bg) !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
}
@media (max-width: 767px) {
	body.sui .sui-faq-wrap { padding-top: 20px; }
	body.sui .sui-faq-title { font-size: 24px; margin-bottom: 20px; }
	body.sui .sui-faq .panel-heading { padding: 16px 50px 16px 16px; }
	body.sui .sui-faq .panel-heading:after { right: 14px; }
	body.sui .sui-faq .panel-title { font-size: 15px; }
	body.sui .sui-faq .panel-heading + .panel-collapse > .panel-body { padding: 4px 16px 18px; }
	body.sui .sui-faq [style*="lemonchiffon"] { margin-top: 12px; padding: 12px !important; }
}

/* FAQ: bloques promocionales del pie */
body.sui .sui-faq-promo { padding-top: 0; padding-bottom: 60px; }
body.sui .sui-faq-promo .promo {
	margin-bottom: 16px;
	padding: 28px 24px !important;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-faq-promo .promo:first-child {
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	border: 0;
}
body.sui .sui-faq-promo .promo:first-child h3,
body.sui .sui-faq-promo .promo:first-child span { color: #fff; }
body.sui .sui-faq-promo .promo .row { background: transparent !important; }
body.sui .sui-faq-promo .promo:last-child .row > div { text-align: center; }
body.sui .sui-faq-promo .promo:last-child h3 { margin-bottom: 16px; }
body.sui .sui-faq-promo .promo .button { position: static; margin: 0; transform: none; }

/* Posiciónate */
body.sui .sui-pos { max-width: 1100px; padding-top: 48px; padding-bottom: 60px; }
body.sui .sui-pos-hero { margin: 0 auto 40px; max-width: 760px; text-align: center; }
body.sui .sui-pos-hero img { margin-bottom: 16px; }
body.sui .sui-pos-hero > :nth-child(2) { margin: 0 0 12px; font-size: 34px; font-weight: 700; }
body.sui .sui-pos-hero > :nth-child(3) { margin: 0; font-size: 19px; font-weight: 400; color: var(--sui-muted); }
body.sui .sui-pos-stats { margin-bottom: 64px; }
body.sui .sui-pos-stat {
	height: 100%;
	margin-bottom: 20px;
	padding: 32px 20px 24px;
	text-align: center;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .sui-pos-stat:hover { transform: translateY(-3px); box-shadow: var(--sui-shadow); }
body.sui .sui-pos-stat img { margin-bottom: 18px; }
body.sui .sui-pos-stat h4 { margin: 0; font-size: 17px; font-weight: 600; }
body.sui .sui-pos-band {
	padding: 0 24px 32px;
	text-align: center;
	background: var(--sui-primary-soft);
	border-radius: var(--sui-radius-lg);
}
body.sui .sui-pos-band img { margin: -28px 4px 16px; }
body.sui .sui-pos-band h1,
body.sui .sui-pos-band h2 { margin: 0; font-weight: 700; color: var(--sui-primary-dark); }
body.sui .sui-pos-band h1 { font-size: 38px; }
body.sui .sui-pos-band-dark {
	margin-top: 64px;
	background: linear-gradient(135deg, var(--sui-primary-dark) 0%, var(--sui-night) 100%);
}
body.sui .sui-pos-band-dark h4 { margin: 0; font-size: 18px; color: #fff; }
body.sui .sui-pos-pill-row { margin: 56px 0 32px; text-align: center; }
body.sui .sui-pos-pill {
	display: inline-block;
	padding: 10px 28px;
	font-family: var(--sui-font-heading);
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	border-radius: var(--sui-radius-pill);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-pos-plans { max-width: 900px; margin: 0 auto; }
body.sui .sui-pos-plan {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: 20px;
	padding: 28px 32px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-pos-plan-featured { border: 2px solid var(--sui-primary); box-shadow: var(--sui-shadow); }
body.sui .sui-pos-plan-icon { flex: 0 0 auto; }
body.sui .sui-pos-plan-body { flex: 1 1 auto; min-width: 0; }
body.sui .sui-pos-plan-body h2,
body.sui .sui-pos-plan-body h3 { margin: 0 0 8px; font-size: 24px; font-weight: 700; }
body.sui .sui-pos-plan-body p { margin: 0; line-height: 1.65; }
body.sui .sui-pos-buy { margin: 18px 0 0; }
body.sui .sui-pos-contact {
	max-width: 900px;
	margin: 32px auto 0;
	padding: 24px 28px;
	text-align: center;
	font-size: 16px;
	background: var(--sui-bg);
	border: 1px dashed var(--sui-primary-light);
	border-radius: var(--sui-radius-lg);
}
body.sui .sui-pos-contact p { margin: 0; }
@media (max-width: 767px) {
	body.sui .sui-pos { padding-top: 24px; padding-bottom: 32px; }
	body.sui .sui-pos-hero { margin-bottom: 28px; }
	body.sui .sui-pos-hero > :nth-child(2) { font-size: 24px; }
	body.sui .sui-pos-hero > :nth-child(3) { font-size: 16px; }
	body.sui .sui-pos-stats { margin-bottom: 48px; }
	body.sui .sui-pos-stat { padding: 22px 16px 18px; margin-bottom: 12px; }
	body.sui .sui-pos-band { padding: 0 16px 24px; }
	body.sui .sui-pos-band h2 { font-size: 22px; }
	body.sui .sui-pos-band-dark { margin-top: 40px; }
	body.sui .sui-pos-pill-row { margin: 40px 0 24px; }
	body.sui .sui-pos-pill { font-size: 18px; padding: 8px 22px; }
	body.sui .sui-pos-plan { flex-direction: column; gap: 14px; padding: 22px 18px; text-align: center; }
	body.sui .sui-pos-plan-body h3 { font-size: 20px; }
}

/* Servicios para organizadores (pricing-box de Canvas) */
body.sui .sui-services { padding-top: 40px; padding-bottom: 60px; }
body.sui .sui-services #page-title {
	margin: 0 0 32px;
	padding: 48px 24px !important;
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	border: 0;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-services #page-title h1 { font-size: 34px; font-weight: 700; color: #fff; }
body.sui .sui-services #page-title span { display: block; font-size: 18px; color: rgba(255, 255, 255, .85); }
body.sui .sui-services .fancy-title { margin: 40px 0 24px; }
body.sui .sui-services .fancy-title.title-dotted-border { background: none; }
body.sui .sui-services .fancy-title h3 {
	display: inline-block;
	padding: 0 !important;
	font-size: 26px;
	font-weight: 700;
	background: transparent !important;
}
body.sui .sui-services .fancy-title h3:after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin: 10px auto 0;
	background: var(--sui-primary);
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-services .pricing-box {
	overflow: hidden;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .sui-services .pricing-box:hover { transform: translateY(-3px); box-shadow: var(--sui-shadow-lg); }
body.sui .sui-services .pricing-extended:hover { transform: none; }
body.sui .sui-services .pricing-title {
	padding: 22px 20px;
	background: var(--sui-primary-soft);
	border-bottom: 1px solid var(--sui-border);
	border-radius: 0;
}
body.sui .sui-services .pricing-title h3 { font-size: 19px; font-weight: 700; color: var(--sui-ink); }
body.sui .sui-services .pricing-title .color { color: var(--sui-primary) !important; }
body.sui .sui-services .pricing-title span { color: var(--sui-muted); }
body.sui .sui-services .pricing-price { font-family: var(--sui-font-heading); font-weight: 700; color: var(--sui-primary-dark); }
body.sui .sui-services .pricing-price .price-unit,
body.sui .sui-services .pricing-price .price-tenure { color: var(--sui-muted); }
body.sui .sui-services .pricing-features { border-color: var(--sui-border); }
body.sui .sui-services .pricing-features li { color: var(--sui-text); }
body.sui .sui-services .pricing-action { padding: 20px; }
body.sui .sui-services .pricing-action .btn,
body.sui .sui-services .pricing-action .button { border-radius: var(--sui-radius-pill); }
body.sui .sui-services .pricing-extended { background: var(--sui-surface); }
body.sui .sui-services .pricing-extended .pricing-action-area {
	background: var(--sui-bg);
	border-left: 1px solid var(--sui-border);
	border-radius: 0;
}
body.sui .sui-services .pricing-extended .tuyin .title { border-bottom-color: var(--sui-border) !important; color: var(--sui-ink); }
@media (max-width: 767px) {
	body.sui .sui-services { padding-top: 16px; padding-left: 15px !important; padding-right: 15px !important; }
	body.sui .sui-services #page-title { padding: 32px 16px !important; }
	body.sui .sui-services #page-title h1 { font-size: 26px; }
	body.sui .sui-services #page-title span { font-size: 16px; }
	body.sui .sui-services .fancy-title h3 { font-size: 22px; }
	body.sui .sui-services .pricing-extended .pricing-action-area { border-left: 0; border-top: 1px solid var(--sui-border); }
}

/* ==========================================================================
   Fase 3A - Selección de entradas (eventshop) y modos embebidos
   ========================================================================== */

/* Modos frame / móvil: sin sombras de página ni fondos decorativos */
body.sui.sui-embed { background: #fff !important; }
/* header.blade.php oculta la cabecera con "hiddesn-xs" (errata): en móvil seguía visible */
body.sui.sui-embed #header { display: none !important; }

/* Contenedor */
body.sui .sui-shop-wrap.sui-shop-desktop { padding-top: 28px !important; padding-bottom: 32px !important; }
body.sui .sui-shop-head,
body.sui .sui-shop-coupon,
body.sui .sui-shop-wrap > .row { margin-left: 0; margin-right: 0; }

/* Cabecera con el nombre del evento */
body.sui .sui-shop-desktop .sui-shop-head {
	margin-bottom: 16px;
	background: var(--sui-surface) !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-shop-desktop .sui-shop-head > .col-padding { padding: 22px 28px; }
body.sui .sui-shop-head h3 { font-size: 26px; font-weight: 700; }
body.sui .sui-shop-head h3 a { color: var(--sui-ink); }
body.sui .sui-shop-head h3 a:hover { color: var(--sui-primary); }

/* Cupón */
body.sui .sui-shop-coupon { margin-bottom: 16px; padding: 0 !important; background: transparent !important; }
body.sui .sui-shop #toggle-coupon-panel {
	padding: 14px 20px;
	font-size: 16px;
	background: var(--sui-primary-soft);
	border: 1px dashed var(--sui-primary-light);
	border-radius: var(--sui-radius);
	box-shadow: none;
}
body.sui .sui-shop #toggle-coupon { display: flex !important; align-items: center; color: var(--sui-primary-dark); text-decoration: none; }
body.sui .sui-shop #toggle-coupon i { float: none !important; margin-left: auto !important; }
body.sui .sui-shop #toggle-coupon:before {
	content: "\f02c";
	margin-right: 10px;
	font-family: FontAwesome;
	font-weight: normal;
	color: var(--sui-primary);
}
body.sui .sui-shop #toggle-coupon i { color: var(--sui-primary); }
body.sui .sui-shop .coupon-drawer { margin: 4px 0 0; padding: 0; background: transparent; }
body.sui .sui-shop #codigo-cupon {
	height: 42px !important;
	border: 1px solid var(--sui-border) !important;
	border-radius: var(--sui-radius-sm) !important;
	background: var(--sui-surface);
	letter-spacing: .04em;
}
body.sui .sui-shop #codigo-cupon:focus { border-color: var(--sui-primary) !important; outline: 0; box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }
body.sui .sui-shop #aplicar-codigo { height: 42px; line-height: 28px; }

/* Listado de productos */
body.sui .sui-shop-list { padding: 0 !important; background: transparent !important; }
body.sui .sui-shop-list.shadow { box-shadow: none !important; }
body.sui .sui-shop-list .panel {
	margin-bottom: 0;
	overflow: hidden;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-shop-list .panel > .panel-heading {
	padding: 14px 24px;
	background: var(--sui-bg);
	border-bottom: 1px solid var(--sui-border);
}
body.sui .sui-shop-list .panel > .panel-heading h4 {
	font-family: var(--sui-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sui-muted);
}
body.sui .sui-shop-list .panel > .panel-body { padding: 8px 24px 16px; }

/* Separadores por tipo de producto */
body.sui .sui-shop .header-tipo-producto-cart {
	margin-top: 18px;
	padding: 8px 14px;
	font-family: var(--sui-font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sui-primary-dark);
	background: var(--sui-primary-soft);
	border: 0;
	border-radius: var(--sui-radius-sm);
}

/* Fila de producto */
body.sui .sui-shop-item {
	margin: 0 -10px !important;
	padding: 16px 10px 4px !important;
	border-bottom: 1px solid var(--sui-border) !important;
	border-radius: var(--sui-radius-sm);
	transition: background var(--sui-transition);
}
body.sui .sui-shop-item:last-child { border-bottom: 0 !important; }
body.sui .sui-shop-item:hover { background: var(--sui-bg); }
body.sui .sui-shop-item strong { color: var(--sui-ink); }
body.sui .sui-shop-item > div:first-child strong { font-size: 15px; font-weight: 600; }
body.sui .sui-shop-item [id^="cost"] { font-family: var(--sui-font-heading); font-size: 17px; font-weight: 700; color: var(--sui-ink); }
body.sui .sui-shop-item .pricestrike { color: var(--sui-muted); }
body.sui .sui-shop-item small { color: var(--sui-muted); line-height: 1.55; }
body.sui .sui-shop-item small em { font-style: normal; }
body.sui .sui-shop-item > div:first-child small > em {
	display: inline-block;
	margin-top: 6px;
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 600;
	color: var(--sui-accent-dark);
	background: #fdecef;
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-shop-item .infoicon { color: var(--sui-primary-light) !important; }
body.sui .sui-shop-item a[data-toggle="tooltip"] { color: var(--sui-primary); text-decoration: none; }
body.sui .sui-shop-item .totales { font-family: var(--sui-font-heading); color: var(--sui-primary-dark); }
body.sui .sui-shop-item select.form-control {
	width: 72px !important;
	height: 40px;
	padding: 6px 10px;
	font-weight: 600;
	color: var(--sui-ink);
	background-color: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
	box-shadow: none;
	cursor: pointer;
}
body.sui .sui-shop-item select.form-control:focus { border-color: var(--sui-primary); box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }

/* Barra inferior con total y continuar */
body.sui .sui-shop .cart-stickybar,
body.sui .sui-shop .panel-footer {
	background: rgba(255, 255, 255, .96);
	border-top: 1px solid var(--sui-border);
}
body.sui .sui-shop .cart-stickybar {
	box-shadow: 0 -8px 24px rgba(29, 27, 38, .08);
	-webkit-backdrop-filter: saturate(1.4) blur(8px);
	backdrop-filter: saturate(1.4) blur(8px);
}
body.sui .sui-shop #totaltotal { font-family: var(--sui-font-heading); font-size: 22px; color: var(--sui-ink); }
body.sui .sui-shop #descuento { color: #1f9254; }
body.sui .sui-shop #continuar {
	min-width: 160px;
	margin: 0;
	padding: 0 28px;
	height: 46px;
	line-height: 46px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	border: 0;
	border-radius: var(--sui-radius-pill);
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%) !important;
	box-shadow: 0 6px 16px rgba(126, 42, 173, .3);
}
body.sui .sui-shop #continuar:disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }

/* Nota de pago fácil */
body.sui .sui-shop-note {
	margin-top: 16px;
	padding: 12px 18px !important;
	text-align: center;
	background: var(--sui-primary-soft) !important;
	border-radius: var(--sui-radius);
}

/* Aviso emergente (popup_alert) y modal de posicionamiento */
body.sui #popup_alert .modal-content {
	border: 0;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui #popup_alert .modal-footer { border-top: 0; padding-bottom: 24px; text-align: center; }

/* Modo frame: integrado en la web del organizador */
body.sui .sui-shop-frame { padding: 16px 12px !important; }
body.sui .sui-shop-frame .sui-shop-list .panel { box-shadow: none; }

/* Modo móvil (app): lista de tarjetas */
body.sui .sui-shop-movil { padding: 12px 12px 0 !important; }
body.sui .sui-shop-movil .sui-shop-item {
	margin: 0 0 12px !important;
	padding: 16px 6px 10px !important;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border) !important;
	border-radius: var(--sui-radius);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-shop-movil .sui-shop-item > div:first-child { margin-bottom: 8px !important; }
body.sui .sui-shop-movil .header-tipo-producto-cart { margin: 8px 0 12px; }

@media (max-width: 767px) {
	body.sui .sui-shop-wrap.sui-shop-desktop { padding: 12px 12px 0 !important; }
	body.sui .sui-shop-desktop .sui-shop-head > .col-padding { padding: 16px 18px; }
	body.sui .sui-shop-head h3 { font-size: 20px; }
	body.sui .sui-shop-list .panel > .panel-heading { padding: 12px 16px; }
	body.sui .sui-shop-list .panel > .panel-body { padding: 4px 14px 12px; }
	body.sui .sui-shop-item > div:first-child { margin-bottom: 8px !important; }
	body.sui .sui-shop #totaltotal { font-size: 19px; }
	body.sui .sui-shop #continuar { min-width: 0; padding: 0 20px; }
}
@media (max-width: 479px) {
	body.sui .sui-shop .coupon-drawer > [class*="col-xs-"] { width: 100%; }
}

/* ==========================================================================
   Fase 3B - Carrito y datos de asistentes (cart_new_v2 / cart_new_insite)
   ========================================================================== */

/* Contenedor en tarjeta */
body.sui .sui-cart-wrap { padding-top: 28px !important; padding-bottom: 40px !important; }
body.sui .sui-cart-wrap > .row {
	margin: 0;
	overflow: hidden;
	background: var(--sui-surface) !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-cart-wrap > .row > .cart { padding: 28px 32px 32px; }
body.sui .sui-cart-top { margin: 0 0 8px; background: transparent !important; }

/* Títulos de bloque */
body.sui .sui-cart h3 {
	margin: 24px 0 14px !important;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none !important;
}
body.sui .sui-cart h3:after {
	content: "";
	display: block;
	width: 36px;
	height: 3px;
	margin-top: 8px;
	background: var(--sui-primary);
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-cart [style*="text-align:center"] h3:after { margin-left: auto; margin-right: auto; }

/* Cuenta atrás (el color de fondo lo cambia el script en el último minuto) */
body.sui .sui-cart #panel-countdown {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 6px !important;
	border-radius: var(--sui-radius);
	transition: background-color var(--sui-transition);
}
body.sui .sui-cart-top .panel { margin: 16px 0 8px !important; border: 1px solid #f3e3b0; border-radius: var(--sui-radius); box-shadow: none; }
body.sui .sui-cart #panel-countdown small { font-size: 13px; line-height: 1.5; color: var(--sui-text); }
body.sui .sui-cart #countdown { display: block; text-align: center; }
body.sui .sui-cart #countdown .countdown-amount { font-family: var(--sui-font-heading); font-size: 26px; font-weight: 700; color: var(--sui-ink); }
body.sui .sui-cart #countdown .countdown-period { font-size: 11px; color: var(--sui-muted); }

/* Campos */
body.sui .sui-cart .form-control {
	height: 44px;
	padding: 8px 14px;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--sui-ink);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
	box-shadow: none;
	transition: border-color var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .sui-cart .form-control:focus { border-color: var(--sui-primary); box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }
body.sui .sui-cart .form-control::placeholder { font-weight: 400; color: #a19dab; }
body.sui .sui-cart .form-control.borderError { border-color: var(--sui-accent) !important; box-shadow: 0 0 0 3px rgba(var(--sui-accent-rgb), .15); }
body.sui .sui-cart .form-group { margin-bottom: 14px; }

/* Asistentes: una fila por entrada */
body.sui .sui-cart-owner {
	margin: 0 0 10px !important;
	padding: 16px 4px 6px;
	background: var(--sui-bg);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
}
body.sui .sui-cart-owner > [class*="col-"] { margin-bottom: 10px; }
body.sui .sui-cart-owner > div:first-child strong { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--sui-ink); }
body.sui .sui-cart-owner > div:last-child strong { font-family: var(--sui-font-heading); font-size: 16px; color: var(--sui-ink); white-space: nowrap; }
body.sui .sui-cart-owner > div:last-child { text-align: right; }

/* Total */
body.sui .sui-cart-total {
	margin-top: 8px !important;
	font-family: var(--sui-font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--sui-ink);
}

/* Casillas de verificación y condiciones */
body.sui .sui-cart input[type="checkbox"] { accent-color: var(--sui-primary); cursor: pointer; }
body.sui .sui-cart label[for] { font-family: var(--sui-font); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; cursor: pointer; }
body.sui .sui-cart hr.colorgraph { margin: 24px 15px 20px; height: 1px; background: var(--sui-border); border: 0; }
body.sui .sui-cart #row_condiciones_venta,
body.sui .sui-cart #information_consent_contact + label { line-height: 1.6; }
body.sui .sui-cart #row_condiciones_venta a { color: var(--sui-primary); text-decoration: underline; }
body.sui .sui-cart #row_condiciones_venta div[style*="background"] {
	margin-top: 10px;
	padding: 12px 16px !important;
	background: var(--sui-bg) !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
}

/* Bloques informativos */
body.sui .sui-cart .promo-dark,
body.sui .sui-cart [style*="#F6F1FA"] {
	background: var(--sui-primary-soft) !important;
	border-radius: var(--sui-radius) !important;
	color: var(--sui-text) !important;
}
body.sui .sui-cart .promo-dark { padding: 18px 20px !important; }
body.sui .sui-cart .promo-dark h3 { margin-top: 0 !important; }
body.sui .sui-cart [style*="#ffffe6"] { border-radius: var(--sui-radius-sm); }

/* Formas de pago */
body.sui .sui-cart-pay {
	display: flex;
	clear: both;
	flex-wrap: wrap;
	gap: 12px;
	margin: 4px 0 8px;
}
body.sui .sui-cart-pay > .btn,
body.sui .sui-cart-pay > .btn-group > .btn,
body.sui .sui-cart .promo-dark button[name="forma_pago"] {
	min-width: 180px;
	min-height: 52px;
	margin: 0 !important;
	padding: 10px 24px;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	border: 0;
	border-radius: var(--sui-radius-pill);
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%) !important;
	box-shadow: 0 6px 16px rgba(126, 42, 173, .25);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui .sui-cart-pay > .btn:hover,
body.sui .sui-cart-pay > .btn-group > .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(126, 42, 173, .32); }
body.sui .sui-cart-pay big { font-size: 16px; }
body.sui .sui-cart-pay small { display: block; font-weight: 400; opacity: .85; }
body.sui .sui-cart-pay img { vertical-align: middle; }
/* Desplegable de moneda (GBP / KRW / USD) */
body.sui .sui-cart-pay .dropdown-menu {
	padding: 8px !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius);
	box-shadow: var(--sui-shadow-lg);
}
body.sui .sui-cart-pay .dropdown-menu .btn { margin: 4px 0 !important; text-align: left; background: var(--sui-bg); border: 1px solid var(--sui-border); border-radius: var(--sui-radius-sm); }
body.sui .sui-cart-pay .dropdown-menu .btn:hover { background: var(--sui-primary-soft); }
body.sui .sui-cart-pay .dropdown-menu .btn p { margin: 0; }
body.sui .sui-cart .list-inline img { opacity: .8; }

/* Modales de acceso y registro */
body.sui #modalLogin .modal-header,
body.sui #modalRegister .modal-header { padding: 20px 24px 12px; border-bottom: 0; }
body.sui #modalLogin .modal-title,
body.sui #modalRegister .modal-title { font-family: var(--sui-font-heading); font-size: 20px; font-weight: 700; color: var(--sui-ink); }
body.sui #modalLogin .modal-body,
body.sui #modalRegister .modal-body { padding: 8px 24px 16px; }
body.sui #modalLogin .modal-footer,
body.sui #modalRegister .modal-footer { padding: 14px 24px 22px; background: var(--sui-bg); border-top: 1px solid var(--sui-border); }
body.sui #modalLogin .form-control,
body.sui #modalRegister .form-control { height: 44px; border-radius: var(--sui-radius-sm); }

/* Modo frame / app: sin tarjeta exterior */
body.sui.sui-embed .sui-cart-wrap { width: 100% !important; padding: 12px 8px !important; }
body.sui.sui-embed .sui-cart-wrap > .row { border: 0; border-radius: 0; box-shadow: none; }

@media (max-width: 767px) {
	body.sui .sui-cart-wrap,
	body.sui .sui-shop-wrap { width: auto !important; }
	body.sui .sui-cart-wrap { padding: 12px 12px 24px !important; }
	body.sui .sui-cart-wrap > .row > .cart { padding: 16px 12px 20px; }
	body.sui .sui-cart h3 { font-size: 18px; }
	body.sui .sui-cart-owner { padding: 14px 0 4px; }
	body.sui .sui-cart-owner > div:first-child { margin-bottom: 8px; }
	body.sui .sui-cart-owner > div:last-child { text-align: left; }
	body.sui .sui-cart-pay { flex-direction: column; }
	body.sui .sui-cart-pay > .btn,
	body.sui .sui-cart-pay > .btn-group,
	body.sui .sui-cart-pay > .btn-group > .btn { width: 100%; }
	body.sui .sui-cart-pay .dropdown-menu { width: 100%; }
	body.sui .sui-cart-total { font-size: 20px; }
}

/* ==========================================================================
   Fase 3C - Resultado de compra, avisos y transferencia
   ========================================================================== */

/* Tarjeta de resultado común (gracias, error de pago, avisos) */
body.sui .sui-result { max-width: 760px; padding-top: 48px; padding-bottom: 64px; }
body.sui .sui-result.sui-result-wide { max-width: 1040px; }
body.sui .sui-result-card {
	padding: 44px 40px 40px;
	text-align: center;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-result-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	font-size: 32px;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border-radius: 50%;
}
body.sui .sui-result-icon-ok { color: #1f9254; background: #e3f6ec; }
body.sui .sui-result-icon-error { color: var(--sui-accent-dark); background: #fdecef; }
body.sui .sui-result-icon-warn { color: #b26a00; background: #fff3dc; }
body.sui .sui-result-title {
	margin: 0 0 12px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--sui-ink);
}
body.sui .sui-result-title a { color: var(--sui-ink); }
body.sui .sui-result-title a:hover { color: var(--sui-primary); }
body.sui .sui-result-text {
	max-width: 620px;
	margin: 0 auto 8px;
	font-family: var(--sui-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	color: var(--sui-text);
}
body.sui .sui-result-text a { color: var(--sui-primary); font-weight: 600; text-decoration: underline; }
body.sui .sui-result-text p:last-child { margin-bottom: 0; }
body.sui .sui-result-tags { margin: 0 0 16px; }
body.sui .sui-result-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}
body.sui .sui-result-actions .btn { min-width: 160px; margin: 0; border-radius: var(--sui-radius-pill); }

/* Gracias: promoción y enlaces finales */
body.sui .sui-result-card .sui-thanks-promo {
	margin: 32px 0 24px !important;
	padding: 24px 16px !important;
	text-align: left;
	border-radius: var(--sui-radius-lg) !important;
	box-shadow: var(--sui-shadow);
}
body.sui .sui-thanks-promo h1 { font-size: 36px !important; line-height: 1.15; }
body.sui .sui-thanks-promo img { max-width: 100%; height: auto; border-radius: var(--sui-radius); }
body.sui .sui-thanks-promo .button { border-radius: var(--sui-radius-pill); }
body.sui .sui-result-link {
	margin: 16px 0 0 !important;
	padding: 16px 20px !important;
	background: var(--sui-primary-soft) !important;
	border-radius: var(--sui-radius);
}
body.sui .sui-result-card > br { display: none; }
body.sui .sui-result-link a { color: var(--sui-primary-dark); text-decoration: none; }
body.sui .sui-result-link a:hover { color: var(--sui-primary); }
body.sui .sui-result-link img { max-width: 100%; height: auto; }

/* Pago por transferencia */
body.sui .sui-transfer { padding: 40px 0 60px; background: transparent; }
body.sui .sui-transfer .content-wrap { padding: 0; }
body.sui .sui-transfer .cart {
	max-width: 900px;
	margin: 0 auto;
	padding: 36px 40px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-transfer h3 { margin-bottom: 16px; font-size: 24px; font-weight: 700; }
body.sui .sui-transfer-bank {
	margin: 20px 0 8px;
	padding: 20px 24px !important;
	background: var(--sui-primary-soft) !important;
	border-left: 4px solid var(--sui-primary);
	border-radius: var(--sui-radius);
}
body.sui .sui-transfer-bank p { margin-bottom: 8px; overflow-wrap: anywhere; }
body.sui .sui-transfer-bank p:last-child { margin-bottom: 0; }
body.sui .sui-transfer .btn { border-radius: var(--sui-radius-pill); }
body.sui .sui-transfer-warning {
	margin-top: 16px;
	padding: 14px 18px !important;
	background: #fdecef !important;
	color: var(--sui-accent-dark) !important;
	border: 1px solid #f7c6d0;
	border-radius: var(--sui-radius);
}
body.sui .sui-transfer-warning p,
body.sui .sui-transfer-warning strong { margin: 0; color: var(--sui-accent-dark); }

/* Modos embebidos */
body.sui.sui-embed .sui-result { padding-top: 20px; padding-bottom: 24px; }
body.sui.sui-embed .sui-result-card { border: 0; box-shadow: none; }

@media (max-width: 767px) {
	body.sui .sui-result,
	body.sui .sui-transfer .container { width: auto !important; padding: 16px 12px 32px; }
	body.sui .sui-result-card { padding: 32px 20px 28px; }
	body.sui .sui-result-icon { width: 60px; height: 60px; font-size: 26px; }
	body.sui .sui-result-title { font-size: 21px; }
	body.sui .sui-result-text { font-size: 15px; }
	body.sui .sui-result-actions .btn { width: 100%; }
	body.sui .sui-thanks-promo h1 { font-size: 28px !important; }
	body.sui .sui-thanks-promo { text-align: center; }
	body.sui .sui-transfer { padding: 12px 0 32px; }
	body.sui .sui-transfer .cart { padding: 24px 16px; }
	body.sui .sui-transfer-bank { padding: 16px !important; }
}

/* ==========================================================================
   Fase 4A - Cuenta: acceso, registro, contraseña y activación
   ========================================================================== */

/* Tarjeta centrada de acceso */
body.sui .sui-auth { max-width: 480px; padding-top: 48px; padding-bottom: 64px; }
body.sui .sui-auth.sui-auth-wide { max-width: 680px; }
body.sui .sui-auth-card,
body.sui .sui-auth .form-login {
	padding: 36px 36px 32px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-auth .sui-auth-card .form-login { padding: 0; border: 0; box-shadow: none; background: transparent; }
body.sui .sui-auth-card > .alert { margin-bottom: 20px; }
body.sui .sui-auth-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0 auto 16px;
	font-size: 26px;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border-radius: 50%;
}
body.sui .sui-auth-title,
body.sui .sui-auth .form-login h4 {
	margin: 0 0 24px;
	text-align: center;
	font-family: var(--sui-font-heading);
	font-size: 24px;
	font-weight: 700;
	color: var(--sui-ink);
	text-transform: none;
}
body.sui .sui-auth .form-login > p { color: var(--sui-text); line-height: 1.6; }
body.sui .sui-auth .form-control,
body.sui .sui-auth-page .form-control {
	height: 46px;
	padding: 10px 14px;
	font-size: 15px;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
	box-shadow: none;
}
body.sui .sui-auth .form-control:focus,
body.sui .sui-auth-page .form-control:focus { border-color: var(--sui-primary); box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }
body.sui .sui-auth .control-label { font-weight: 600; color: var(--sui-ink); text-transform: none; letter-spacing: 0; }
body.sui .sui-auth .form-horizontal .form-group { margin-left: 0; margin-right: 0; }
body.sui .sui-auth form > .row { margin-left: 0; margin-right: 0; }
body.sui .sui-auth-remember label,
body.sui .sui-auth-remember label label {
	display: inline;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sui-text);
	cursor: pointer;
}
body.sui .sui-auth-remember input[type="checkbox"] { margin-right: 6px; accent-color: var(--sui-primary); }
body.sui .sui-auth .btn-primary,
body.sui .sui-auth-page .btn-primary {
	height: 48px;
	font-size: 16px;
	border: 0;
	border-radius: var(--sui-radius-pill);
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	box-shadow: 0 6px 16px rgba(126, 42, 173, .25);
}
body.sui .sui-auth-actions { margin-bottom: 0; text-align: center; }
body.sui .sui-auth-link { display: inline-block; margin-top: 14px; font-size: 14px; color: var(--sui-primary); }
body.sui .sui-auth-alt {
	margin: 20px 0 0;
	padding-top: 18px;
	text-align: center;
	font-size: 14px;
	border-top: 1px solid var(--sui-border);
}
body.sui .sui-auth-alt a { font-weight: 600; color: var(--sui-primary-dark); }

/* Recuperar contraseña (marcado tipo modal compartido con la app) */
body.sui .sui-auth-page { padding: 48px 0 64px; background: transparent; }
/* La .row va sin .container en la vista: sus márgenes negativos desbordaban en móvil */
body.sui .sui-auth-page > .row { margin-left: 0; margin-right: 0; }
body.sui .sui-auth-page .sui-auth-card { padding: 0; overflow: hidden; }
body.sui .sui-auth-page .modal-content { border: 0; box-shadow: none !important; }
body.sui .sui-auth-page .modal-header { padding: 28px 28px 8px; border-bottom: 0; }
body.sui .sui-auth-page .modal-header h4 { font-family: var(--sui-font-heading); font-size: 22px; font-weight: 700; color: var(--sui-ink); }
body.sui .sui-auth-page .modal-body { padding: 8px 28px 8px; }
body.sui .sui-auth-page .modal-footer { padding: 8px 28px 28px; text-align: left; border-top: 0; }
body.sui .sui-auth-page .modal-footer .btn { width: 100%; }

/* Registro (y formulario de usuario compartido) */
body.sui .sui-auth-register .container { max-width: 920px; }
body.sui .sui-auth-register .container > .row:first-child h2 { font-size: 30px; font-weight: 700; }
body.sui .sui-auth-register .container > .row:first-child h2 small { display: block; margin-top: 6px; font-family: var(--sui-font); font-size: 16px; color: var(--sui-muted); }
body.sui .sui-auth-register form.bootstrap-modal-form {
	padding: 32px 28px 28px;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-auth-register .form-control {
	height: 46px;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
	box-shadow: none;
}
body.sui .sui-auth-register textarea.form-control { height: auto; }
body.sui .sui-auth-register .form-control:focus { border-color: var(--sui-primary); box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }
body.sui .sui-auth-register label { font-weight: 600; color: var(--sui-ink); text-transform: none; letter-spacing: 0; }
body.sui .sui-auth-register h4 { font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--sui-primary); }
body.sui .sui-auth-register hr.colorgraph { height: 1px; margin: 24px 15px; background: var(--sui-border); border: 0; }
body.sui .sui-auth-register .help-block { color: var(--sui-accent-dark); }
body.sui .sui-auth-register input[type="checkbox"],
body.sui .sui-auth-register input[type="radio"] { accent-color: var(--sui-primary); }
body.sui .sui-auth-register .btn-primary.btn-block {
	height: 50px;
	border: 0;
	border-radius: var(--sui-radius-pill);
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	box-shadow: 0 6px 16px rgba(126, 42, 173, .25);
}

/* Cuenta activada */
body.sui .sui-activate { width: auto !important; max-width: 640px; padding: 48px 15px 64px !important; margin-top: 0 !important; }
body.sui .sui-activate .sui-result-card .btn { width: auto !important; min-width: 200px; border-radius: var(--sui-radius-pill); }
body.sui .sui-activate h3 { margin: 0 0 12px; font-size: 24px; font-weight: 700; line-height: 1.3; text-transform: none; color: var(--sui-ink); }
body.sui .sui-activate h4 { font-family: var(--sui-font); font-size: 16px; font-weight: 400; line-height: 1.65; text-transform: none; letter-spacing: 0; color: var(--sui-text); }

@media (max-width: 767px) {
	body.sui .sui-auth { width: auto !important; padding: 20px 12px 40px; }
	body.sui .sui-auth-register .container { width: auto !important; padding: 20px 12px 40px !important; }
	body.sui .sui-auth-card,
	body.sui .sui-auth .form-login { padding: 28px 20px 24px; }
	body.sui .sui-auth .control-label { text-align: left; }
	body.sui .sui-auth-page { padding: 16px 0 32px; }
	body.sui .sui-auth-register .container > .row { margin-left: 0; margin-right: 0; }
	body.sui .sui-auth-register .container > .row:first-child > div { padding-left: 4px; padding-right: 4px; }
	body.sui .sui-auth-register form.bootstrap-modal-form { padding: 20px 14px; }
	body.sui .sui-auth-register .container > .row:first-child h2 { font-size: 24px; }
	body.sui .sui-activate { padding: 20px 12px 40px !important; }
}

/* ==========================================================================
   Fase 4B - Área de usuario: mis entradas, valoraciones, perfil y formularios
   ========================================================================== */

/* Cabecera común de las páginas de cuenta */
body.sui .sui-account-head {
	padding: 28px 16px 8px !important;
	background: transparent;
	border: 0 !important;
}
body.sui .sui-account-head h3 {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	color: var(--sui-ink) !important;
}
body.sui .sui-account-head h3 > .fa { color: var(--sui-primary); }
body.sui .sui-account-head h3 a span { font-family: var(--sui-font); }
body.sui .sui-orders .box,
body.sui .sui-ratings .box { background: transparent; border: 0; box-shadow: none; }

/* Mis entradas */
body.sui .sui-orders { padding-bottom: 48px; }
body.sui .sui-orders .box-body {
	padding: 8px 0;
	overflow: hidden;
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-orders-table { margin: 0; }
body.sui .sui-orders-table > thead > tr > th {
	padding: 12px 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sui-muted);
	background: var(--sui-bg);
	border-bottom: 1px solid var(--sui-border);
}
body.sui .sui-orders-table > tbody > tr > td {
	padding: 14px;
	vertical-align: top;
	border-top: 1px solid var(--sui-border);
}
body.sui .sui-orders-table > tbody > tr:hover > td { background: var(--sui-bg); }
body.sui .sui-orders-table small { font-size: 13px; color: var(--sui-text); }
body.sui .sui-orders-table .sui-orders-event small { font-size: 14px; font-weight: 600; color: var(--sui-ink); }
body.sui .sui-orders-table td > p { margin-top: 8px !important; }
body.sui .sui-orders-table .btn-sm,
body.sui .sui-orders-table .btn-xs { border-radius: var(--sui-radius-pill); }
body.sui .sui-orders-table .btn-sm { padding: 5px 14px; font-size: 13px; }
body.sui .sui-orders .box-footer { padding: 16px 0 0; background: transparent; border: 0; }
body.sui .sui-orders .box-footer .bottommargin { color: var(--sui-muted); font-size: 13px; }

@media (max-width: 767px) {
	body.sui .sui-orders .box-body { padding: 0; overflow: visible; background: transparent; border: 0; box-shadow: none; }
	body.sui .sui-orders .table-responsive { border: 0; }
	body.sui .sui-orders-table > thead { display: none; }
	body.sui .sui-orders-table,
	body.sui .sui-orders-table > tbody,
	body.sui .sui-orders-table > tbody > tr,
	body.sui .sui-orders-table > tbody > tr > td { display: block; width: 100%; }
	body.sui .sui-orders-table > tbody > tr {
		margin-bottom: 14px;
		padding: 6px 4px;
		background: var(--sui-surface);
		border: 1px solid var(--sui-border);
		border-radius: var(--sui-radius);
		box-shadow: var(--sui-shadow-sm);
	}
	/* Los modales de formulario del evento se incluyen como filas de la tabla */
	body.sui .sui-orders-table > tbody > tr.modal,
	body.sui .sui-orders-table > tbody > .modal { padding: 0; border: 0; box-shadow: none; }
	body.sui .sui-orders-table > tbody > tr:hover > td { background: transparent; }
	body.sui .sui-orders-table > tbody > tr > td {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		column-gap: 12px;
		align-items: start;
		padding: 8px 12px;
		border-top: 0;
		white-space: normal;
	}
	body.sui .sui-orders-table > tbody > tr > td + td { border-top: 1px dashed var(--sui-border); }
	body.sui .sui-orders-table > tbody > tr > td[data-label]:before {
		content: attr(data-label);
		grid-column: 1;
		grid-row: 1 / span 20;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .05em;
		line-height: 20px;
		text-transform: uppercase;
		color: var(--sui-muted);
	}
	body.sui .sui-orders-table > tbody > tr > td > * { grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
	body.sui .sui-orders-table > tbody > tr > td > br { display: none; }
	body.sui .sui-orders-table > tbody > tr > td:nth-child(2) { display: flex; align-items: center; gap: 10px; }
	body.sui .sui-orders-table > tbody > tr > td:nth-child(2):before { flex: 0 0 96px; margin-right: 2px; }
	body.sui .sui-orders-table > tbody > tr > td > p .btn { white-space: normal; text-align: left; }
	body.sui .sui-orders-table > tbody > tr > td > p { margin-top: 6px !important; }
	body.sui .sui-account-head h3 { font-size: 22px; }
}

/* Mis valoraciones */
body.sui .sui-ratings { padding-bottom: 48px; }
body.sui .sui-rating-card {
	margin: 0 0 20px !important;
	padding: 22px 16px !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg) !important;
	box-shadow: var(--sui-shadow-sm) !important;
}
body.sui .sui-rating-card img { border-radius: var(--sui-radius); }
body.sui .sui-rating-card h3 { font-size: 20px; }
body.sui .sui-rating-card h3 span { font-weight: 700 !important; }
body.sui .sui-rating-card .rate-star { font-size: 18px; color: #f5a623; }
body.sui .sui-rating-card .dropdown-toggle { border-radius: var(--sui-radius-pill); }
body.sui .sui-rating-card p[style*="#fff5ff"] {
	padding: 12px 16px !important;
	background: var(--sui-primary-soft) !important;
	border-left: 3px solid var(--sui-primary);
	border-radius: var(--sui-radius-sm);
}
body.sui .sui-rating-card a > p[style*="#F9F4FA"] {
	border-radius: var(--sui-radius) !important;
	transition: background var(--sui-transition), transform var(--sui-transition);
}
body.sui .sui-rating-card a:hover > p[style*="#F9F4FA"] { background: var(--sui-primary-soft) !important; transform: translateY(-2px); }

/* Perfil del usuario */
body.sui .sui-user-profile { padding-top: 40px; padding-bottom: 56px; }
@media (min-width: 992px) {
	body.sui .sui-user-profile > .row > [class*="col-md-6"] { width: 75%; margin-left: 12.5%; }
	body.sui .sui-user-profile .panel-heading .row > .col-md-6 { width: auto; flex: 1 1 auto; }
}
body.sui .sui-user-profile .panel {
	overflow: hidden;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui .sui-user-profile .panel-heading {
	padding: 22px 24px;
	color: #fff;
	background: linear-gradient(135deg, var(--sui-primary) 0%, var(--sui-primary-dark) 100%);
	border: 0;
}
body.sui .sui-user-profile .panel-heading .row { display: flex; flex-wrap: wrap; align-items: center; }
body.sui .sui-user-profile .panel-title { font-family: var(--sui-font-heading); font-size: 18px; font-weight: 600; color: #fff; overflow-wrap: anywhere; }
body.sui .sui-user-profile .panel-heading .btn {
	color: var(--sui-primary-dark);
	background: #fff;
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui .sui-user-profile .panel-body { padding: 24px; }
body.sui .sui-user-profile .panel-body img { width: 140px; height: 140px; margin: 0 auto 16px; object-fit: cover; border-radius: 50%; box-shadow: var(--sui-shadow-sm); }
body.sui .sui-user-profile .table-user-information { margin: 0; }
body.sui .sui-user-profile .table-user-information td { padding: 10px 8px; border-top: 1px solid var(--sui-border); }
body.sui .sui-user-profile .table-user-information tr:first-child td { border-top: 0; }
body.sui .sui-user-profile .table-user-information td:first-child { width: 36%; font-weight: 600; color: var(--sui-muted); }
body.sui .sui-user-profile .table-user-information td:last-child { color: var(--sui-ink); overflow-wrap: anywhere; }

/* Editar perfil: reutiliza los estilos del registro */
body.sui .sui-user-edit .container > .row:first-child h2 small { display: block; margin-top: 6px; font-family: var(--sui-font); font-size: 16px; color: var(--sui-muted); }

/* Formularios de cuenta: solicitud de cancelación y regalo */
body.sui .sui-account-form { padding: 32px 0 56px; }
body.sui .sui-account-form .panel,
body.sui .sui-account-form .container > .row {
	margin: 0;
	overflow: hidden;
	background: var(--sui-surface) !important;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui .sui-account-form .panel-heading { padding: 22px 24px !important; background: var(--sui-bg); border-bottom: 1px solid var(--sui-border); }
body.sui .sui-account-form .panel-heading h3,
body.sui .sui-account-form .col-padding > h3 { font-size: 22px; font-weight: 700; color: var(--sui-ink); }
body.sui .sui-account-form .panel-body { padding: 24px; }
body.sui .sui-account-form .form-control {
	height: 44px;
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-sm);
	box-shadow: none;
}
body.sui .sui-account-form textarea.form-control { height: auto; }
body.sui .sui-account-form .form-control:focus { border-color: var(--sui-primary); box-shadow: 0 0 0 3px rgba(126, 42, 173, .15); }
body.sui .sui-account-form .form-control[disabled] { background: var(--sui-bg); }
/* .form-group con columnas dentro de .form-horizontal: sus márgenes negativos desbordaban la tarjeta */
body.sui .sui-account-form .form-horizontal .form-group[class*="col-"] { margin-left: 0; margin-right: 0; }
body.sui .sui-account-form label { font-weight: 600; color: var(--sui-ink); text-transform: none; letter-spacing: 0; }
body.sui .sui-account-form [style*="#ffffe6"] { border-radius: var(--sui-radius); }
body.sui .sui-account-form .btn { border-radius: var(--sui-radius-pill); }
body.sui .sui-account-form input[type="checkbox"] { accent-color: var(--sui-primary); }

@media (max-width: 767px) {
	body.sui .sui-user-profile,
	body.sui .sui-account-form .container { width: auto !important; padding: 16px 12px 40px !important; }
	body.sui .sui-account-form { padding-top: 0; }
	body.sui .sui-user-profile > .row { margin-left: 0; margin-right: 0; }
	body.sui .sui-user-profile > .row > div { padding-left: 0; padding-right: 0; }
	body.sui .sui-user-profile .panel-body,
	body.sui .sui-account-form .panel-body { padding: 16px; }
	body.sui .sui-ratings { width: auto !important; padding: 0 12px 40px; }
}

/* ==========================================================================
   Retoques - Crea tu evento (event/createYourEvent)
   ========================================================================== */
body.sui #page-title.sui-create-hero { padding: 150px 0 90px; text-align: center; }
body.sui .sui-create-hero-content { max-width: 860px; }
body.sui #page-title.sui-create-hero h1 { margin: 0 0 14px; font-size: 52px; }
body.sui #page-title.sui-create-hero .sui-create-hero-lead { margin: 0 auto 30px; font-size: 24px; font-weight: 600; line-height: 1.35; }
body.sui #page-title.sui-create-hero .sui-page-hero-sub { margin-top: 10px; font-size: 18px; }
body.sui .sui-create-cta { padding: 16px 34px; font-size: 17px; box-shadow: 0 12px 28px rgba(var(--sui-accent-rgb), .4); }
body.sui .sui-create-features { padding-top: 56px; padding-bottom: 40px; }
body.sui .sui-create-features .sui-feature h4 { font-size: 17px; line-height: 1.3; }
body.sui .sui-create-features .sui-feature-icon i { font-size: 20px; color: var(--sui-primary); }
body.sui .sui-create-features .sui-feature-text { font-size: 15px; line-height: 1.65; color: var(--sui-text); }
body.sui .sui-create-features .sui-feature-text a { font-weight: 600; color: var(--sui-primary); }
body.sui .sui-create-bottom-cta { margin-top: 10px; text-align: center; }

/* Aviso flotante de la FAQ de organizadores */
body.sui #faq_organizer.sui-faq-toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	left: auto;
	z-index: 1050;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	max-width: 520px;
	margin: 0;
	padding: 14px 44px 14px 16px;
	color: var(--sui-ink);
	background: var(--sui-surface);
	border: 1px solid var(--sui-border);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui .sui-faq-toast strong { flex: 1 1 200px; font-size: 14px; font-weight: 600; line-height: 1.4; }
body.sui .sui-faq-toast-icon { font-size: 26px; line-height: 1; color: var(--sui-primary); }
body.sui .sui-faq-toast-btn { padding: 8px 18px; font-size: 14px; }
body.sui .sui-faq-toast-close {
	position: absolute;
	top: 8px;
	right: 12px;
	font-size: 22px;
	line-height: 1;
	color: var(--sui-muted);
	text-decoration: none;
}
body.sui .sui-faq-toast-close:hover { color: var(--sui-ink); text-decoration: none; }

@media (max-width: 767px) {
	body.sui #page-title.sui-create-hero { padding: 110px 0 56px; }
	body.sui #page-title.sui-create-hero h1 { font-size: 34px; }
	body.sui #page-title.sui-create-hero .sui-create-hero-lead { font-size: 19px; }
	body.sui .sui-create-cta { width: 100%; }
	body.sui .sui-create-features { padding-top: 32px; }
	body.sui #faq_organizer.sui-faq-toast { right: 12px; bottom: 12px; left: 12px; max-width: none; }
	body.sui .sui-faq-toast-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	body.sui *, body.sui *:before, body.sui *:after { transition: none !important; }
}

/* ==========================================================================
   Identidad visual Danxer (body.sui-danxer, siempre activa: la añaden template y template_frame)
   ========================================================================== */
body.sui.sui-danxer {
	--sui-primary: #7e2aad;
	--sui-primary-dark: #5b1d80;
	--sui-primary-light: #a35fd0;
	--sui-primary-soft: #f3ecf8;
	--sui-accent: #e623a3;
	--sui-accent-dark: #c01a87;
	--sui-accent-rgb: 230, 35, 163;
	--sui-ink: #1f1e23;
	--sui-text: #374151;
	--sui-muted: #6b7280;
	--sui-border: #e5e7eb;
	--sui-bg: #f3f4f6;
	--sui-page-bg: #fafafa;
	--sui-night: #1f1e23;
	--sui-night-2: #2b2433;
	--sui-night-rgb: 31, 30, 35;
	--sui-danger: #ef4444;
	--sui-brand-gradient: linear-gradient(90deg, #7e2aad 0%, #467ddc 22%, #00d26a 42%, #ffbc00 64%, #e623a3 84%, #7e2aad 100%);
	--sui-shadow-sm: 0 1px 2px rgba(31, 30, 35, .06), 0 1px 3px rgba(31, 30, 35, .08);
	--sui-shadow: 0 4px 12px rgba(31, 30, 35, .08), 0 2px 4px rgba(31, 30, 35, .04);
	--sui-shadow-lg: 0 18px 40px rgba(31, 30, 35, .14);
}

/* Héroes: fondo oscuro con destellos de los colores de marca */
body.sui.sui-danxer #page-title.sui-hero {
	background:
		radial-gradient(circle at 12% 18%, rgba(230, 35, 163, .45) 0%, transparent 40%),
		radial-gradient(circle at 88% 22%, rgba(70, 125, 220, .45) 0%, transparent 42%),
		radial-gradient(circle at 70% 95%, rgba(0, 210, 106, .3) 0%, transparent 40%),
		radial-gradient(circle at 25% 100%, rgba(255, 188, 0, .28) 0%, transparent 38%),
		linear-gradient(160deg, var(--sui-night) 0%, var(--sui-night-2) 55%, var(--sui-primary-dark) 100%) !important;
}
body.sui.sui-danxer .sui-promo,
body.sui.sui-danxer .sui-cta {
	background:
		radial-gradient(circle at 12% 20%, rgba(230, 35, 163, .45) 0%, transparent 45%),
		radial-gradient(circle at 92% 85%, rgba(70, 125, 220, .4) 0%, transparent 45%),
		linear-gradient(120deg, var(--sui-night) 0%, var(--sui-primary-dark) 55%, var(--sui-primary) 100%);
}

/* Barra de los títulos de sección con el degradado de marca */
body.sui.sui-danxer .heading-block:after {
	border-top-color: transparent;
	border-image: var(--sui-brand-gradient) 1;
}

/* --------------------------------------------------------------------------
   Danxer: cabecera minimalista (tarjeta blanca flotante en una sola fila)
   -------------------------------------------------------------------------- */
body.sui.sui-danxer {
	--sui-title-gradient: linear-gradient(90deg, #00d26a 0%, #ffbc00 22%, #e623a3 48%, #7e2aad 74%, #467ddc 100%);
	--sui-title-gradient-light: linear-gradient(90deg, #3ef08f 0%, #ffd04d 22%, #ff5cc6 48%, #c08bff 74%, #8db4ff 100%);
}
@media (min-width: 768px) {
	body.sui.sui-danxer #header #header-wrap,
	body.sui.sui-danxer #header.sticky-header #header-wrap,
	body.sui.sui-danxer #header.semi-transparent.sticky-header #header-wrap {
		position: fixed;
		top: 12px;
		left: 24px;
		right: 24px;
		z-index: 299;
		max-width: 1240px;
		margin: 0 auto;
		background: #fff;
		border: 0;
		border-radius: 24px;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		box-shadow: 0 10px 30px rgba(31, 30, 35, .12), 0 2px 6px rgba(31, 30, 35, .05);
		height: auto !important;
		/* Línea inferior con el degradado de marca: el fondo del borde sigue las esquinas redondeadas */
		border-bottom: 5px solid transparent !important;
		background: linear-gradient(#fff, #fff) padding-box, var(--sui-title-gradient) border-box;
		transition: top .25s ease, border-radius .25s ease;
	}
	/* Al hacer scroll la tarjeta se pega al borde superior con las esquinas de arriba rectas */
	body.sui.sui-danxer #header.sticky-header #header-wrap,
	body.sui.sui-danxer #header.semi-transparent.sticky-header #header-wrap {
		top: 0;
		border-radius: 0 0 24px 24px;
	}
	body.sui.sui-danxer #header-wrap > .clearfix { display: flex; align-items: center; height: 68px; padding: 0 12px 0 24px; }
	body.sui.sui-danxer #header-wrap > .clearfix:before,
	body.sui.sui-danxer #header-wrap > .clearfix:after { display: none; }

	/* Logo oscuro en lugar del blanco */
	body.sui.sui-danxer .navbar-logo { position: static; flex: 0 0 auto; order: 0; width: auto; margin: 0 16px 0 0; }
	body.sui.sui-danxer .navbar-logo img,
	body.sui.sui-danxer #header.dark.sticky-header #header-wrap .navbar-logo img { display: none; }
	body.sui.sui-danxer .navbar-logo img.sui-logo-dark,
	body.sui.sui-danxer #header.dark.sticky-header #header-wrap .navbar-logo img.sui-logo-dark { display: block !important; height: 36px; margin: 0; filter: none; }

	/* Menú principal centrado, texto oscuro */
	body.sui.sui-danxer .navbar.navbar-inverse.nav-lower,
	body.sui.sui-danxer .navbar.navbar-inverse.nav-lower.affix {
		position: static !important;
		order: 1;
		flex: 1 1 auto;
		min-width: 0;
		min-height: 0;
		background: transparent;
		box-shadow: none;
	}
	/* Las dos barras ocupan todo el alto de la tarjeta y centran su contenido */
	body.sui.sui-danxer .navbar.navbar-inverse.nav-lower,
	body.sui.sui-danxer .navbar-inverse.nav-upper { display: flex; align-items: center; align-self: stretch; height: auto; }
	body.sui.sui-danxer #lower-menu,
	body.sui.sui-danxer #upper-menu { display: flex; align-items: center; height: auto; margin: 0 !important; }
	body.sui.sui-danxer #lower-menu { padding: 0 8px; }
	body.sui.sui-danxer #lower-menu > ul { gap: 4px; height: auto; }
	body.sui.sui-danxer #lower-menu > ul > li > a { padding: 8px 14px !important; }
	body.sui.sui-danxer #lower-menu ul li a { font-size: 15px; font-weight: 500; letter-spacing: 0; white-space: nowrap; color: var(--sui-ink); }
	body.sui.sui-danxer #lower-menu > ul > li:hover a { background: transparent; color: var(--sui-accent); }

	/* Menú secundario a la derecha: enlaces discretos y botones contorneados */
	body.sui.sui-danxer .navbar-inverse.nav-upper { order: 2; flex: 0 0 auto; background: transparent; }
	body.sui.sui-danxer #upper-menu { padding: 0; }
	body.sui.sui-danxer #upper-menu > ul { height: auto; margin: 0; }
	body.sui.sui-danxer #upper-menu .sui-upper-link { padding: 0 8px; color: var(--sui-text); }
	body.sui.sui-danxer #upper-menu .sui-upper-link img { display: none; }
	body.sui.sui-danxer #upper-menu .sui-upper-link:hover { background: transparent; color: var(--sui-accent); }
	body.sui.sui-danxer #upper-menu .sui-upper-btn,
	body.sui.sui-danxer #upper-menu ul li .dropdown a.sui-upper-btn,
	body.sui.sui-danxer #upper-menu .sui-upper-btn-ghost,
	body.sui.sui-danxer #upper-menu ul li .dropdown a.sui-upper-btn-ghost {
		height: 30px;
		line-height: 30px;
		margin: 0 3px;
		padding: 0 14px;
		font-weight: 500;
		color: var(--sui-primary) !important;
		background: transparent !important;
		box-shadow: inset 0 0 0 1px var(--sui-primary);
	}
	body.sui.sui-danxer #upper-menu .sui-upper-btn:hover,
	body.sui.sui-danxer #upper-menu ul li .dropdown a.sui-upper-btn:hover,
	body.sui.sui-danxer #upper-menu .sui-upper-btn-ghost:hover { color: #fff !important; background: var(--sui-primary) !important; box-shadow: inset 0 0 0 1px var(--sui-primary); }
	body.sui.sui-danxer #upper-menu .sui-lang { margin: 0 4px 0 6px; }

	/* Solo «Crea tu evento» se queda, como llamada a la acción; Posiciónate está en el panel de organizadores de la portada y Ayuda en el pie y en Mi perfil */
	body.sui.sui-danxer #upper-menu li:has(> .sui-upper-positioning),
	body.sui.sui-danxer #upper-menu li:has(> .sui-upper-help) { display: none; }
	body.sui.sui-danxer #upper-menu .sui-upper-link.sui-upper-create {
		height: 30px;
		margin-right: 6px;
		padding: 0 16px;
		font-weight: 600;
		color: #fff;
		background: var(--sui-accent);
		box-shadow: 0 4px 12px rgba(var(--sui-accent-rgb), .3);
	}
	body.sui.sui-danxer #upper-menu .sui-upper-link.sui-upper-create:hover { color: #fff; background: var(--sui-accent-dark); }
}
/* Entre 768 y 1199px no caben los enlaces secundarios: siguen en el pie y en el menú móvil */
@media (min-width: 768px) and (max-width: 1199px) {
	body.sui.sui-danxer #lower-menu { padding-left: 8px; }
	body.sui.sui-danxer #lower-menu > ul { gap: 0; }
	body.sui.sui-danxer #lower-menu > ul > li > a { padding: 8px 9px !important; }
	body.sui.sui-danxer #lower-menu ul li a { font-size: 14px; }
	body.sui.sui-danxer #upper-menu .sui-upper-link.sui-upper-create { padding: 0 12px; }
}

/* --------------------------------------------------------------------------
   Danxer: títulos con el degradado de marca
   -------------------------------------------------------------------------- */
body.sui.sui-danxer #page-title h1,
body.sui.sui-danxer #page-title.sui-page-hero h2,
body.sui.sui-danxer .heading-block h2,
body.sui.sui-danxer .heading-block h3,
body.sui.sui-danxer .sui-section-title h2,
body.sui.sui-danxer .sui-event-title,
body.sui.sui-danxer .sui-event-section-title,
body.sui.sui-danxer .sui-profile-hero-text h1,
body.sui.sui-danxer .sui-ratings-header h2,
body.sui.sui-danxer .sui-legal-body h2,
body.sui.sui-danxer .sui-faq-title,
body.sui.sui-danxer .sui-pos-band h1,
body.sui.sui-danxer .sui-result-title {
	display: inline-block;
	max-width: 100%;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: none;
	font-weight: 800;
}
/* Sobre fondos oscuros (héroes con foto o vídeo) se usa la versión luminosa */
body.sui.sui-danxer #page-title.sui-hero h1,
body.sui.sui-danxer #page-title.sui-page-hero h1,
body.sui.sui-danxer #page-title.sui-page-hero h2,
body.sui.sui-danxer .sui-services #page-title h1 {
	background-image: var(--sui-title-gradient-light);
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .35));
}
body.sui.sui-danxer #page-title.sui-hero-xs h1 { background-image: var(--sui-title-gradient); filter: none; }
/* Los elementos dentro del título (etiquetas, iconos, enlaces) conservan su color */
body.sui.sui-danxer .sui-event-title *,
body.sui.sui-danxer .sui-faq-title *,
body.sui.sui-danxer .sui-result-title *,
body.sui.sui-danxer #page-title h1 *,
body.sui.sui-danxer #page-title.sui-page-hero h2 * { -webkit-text-fill-color: initial; }
body.sui.sui-danxer #page-title.sui-page-hero h2 .fa { -webkit-text-fill-color: #3ef08f; }
body.sui.sui-danxer .sui-faq-title .fa { -webkit-text-fill-color: #00d26a; color: #00d26a; }

/* --------------------------------------------------------------------------
   Danxer: héroes de página con destellos de color y calendario
   -------------------------------------------------------------------------- */
body.sui.sui-danxer #page-title.sui-page-hero:before {
	background:
		radial-gradient(circle at 8% 15%, rgba(230, 35, 163, .55) 0%, transparent 38%),
		radial-gradient(circle at 92% 20%, rgba(70, 125, 220, .5) 0%, transparent 40%),
		radial-gradient(circle at 75% 110%, rgba(0, 210, 106, .35) 0%, transparent 40%),
		radial-gradient(circle at 30% 115%, rgba(255, 188, 0, .3) 0%, transparent 35%),
		linear-gradient(180deg, rgba(var(--sui-night-rgb), .7) 0%, rgba(var(--sui-night-rgb), .5) 50%, rgba(var(--sui-night-rgb), .85) 100%);
}
body.sui.sui-danxer #page-title.sui-page-hero:after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	z-index: 2;
	height: 5px;
	background: var(--sui-title-gradient);
}

body.sui.sui-danxer .sui-calendar-card { position: relative; overflow: hidden; padding-top: 34px; }
body.sui.sui-danxer .sui-calendar-card:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 6px;
	background: var(--sui-title-gradient);
}
body.sui.sui-danxer .fc .fc-toolbar h2 { font-size: 28px; font-weight: 800; color: var(--sui-ink); }
body.sui.sui-danxer .fc .fc-button,
body.sui.sui-danxer .fc .fc-button:first-child,
body.sui.sui-danxer .fc .fc-button:last-child { margin: 0 3px; color: var(--sui-accent); background: #fff; border: 1px solid var(--sui-accent); border-radius: var(--sui-radius-pill); }
body.sui.sui-danxer .fc .fc-state-hover { color: #fff; background: var(--sui-accent); }
body.sui.sui-danxer .fc .fc-state-disabled { opacity: .4; }
body.sui.sui-danxer .fc th.fc-day-header { font-weight: 700; color: var(--sui-primary); }
body.sui.sui-danxer .fc td, body.sui.sui-danxer .fc th { border-color: #eceef2; }
body.sui.sui-danxer .fc .fc-sat, body.sui.sui-danxer .fc .fc-sun { background-color: #fbf7fd; }
body.sui.sui-danxer .fc .fc-day-number { font-weight: 600; color: var(--sui-ink); }
body.sui.sui-danxer .fc .fc-other-month .fc-day-number { color: #c4c7ce; }
body.sui.sui-danxer .fc-unthemed td.fc-today { background: #fdeef8; }
body.sui.sui-danxer .fc td.fc-today .fc-day-number,
body.sui.sui-danxer .fc .fc-day-top.fc-today .fc-day-number {
	display: inline-block;
	width: 26px;
	height: 26px;
	margin: 4px;
	padding: 0;
	line-height: 26px;
	text-align: center;
	color: #fff;
	background: var(--sui-accent);
	border-radius: var(--sui-radius-pill);
}
/* Eventos: píldoras que rotan por los colores de marca */
body.sui.sui-danxer .fc-event,
body.sui.sui-danxer .fc-event:hover {
	margin: 1px 3px 2px;
	padding: 3px 10px;
	font-weight: 600;
	color: #fff;
	background-color: var(--sui-accent) !important;
	border-color: transparent !important;
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 2px 6px rgba(31, 30, 35, .12);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui.sui-danxer .fc-event:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(31, 30, 35, .2); }
body.sui.sui-danxer .fc-content-skeleton tbody tr:nth-child(4n+2) .fc-event { background-color: var(--sui-primary) !important; }
body.sui.sui-danxer .fc-content-skeleton tbody tr:nth-child(4n+3) .fc-event { background-color: #467ddc !important; }
body.sui.sui-danxer .fc-content-skeleton tbody tr:nth-child(4n+4) .fc-event { background-color: #00b85c !important; }
body.sui.sui-danxer .fc-event .fc-content { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) {
	body.sui.sui-danxer .fc .fc-toolbar h2 { font-size: 20px; }
}

/* Danxer: enlaces-etiqueta de la FAQ en magenta */
body.sui.sui-danxer .sui-faq .panel-body a.label { background-color: var(--sui-accent); }
body.sui.sui-danxer .sui-faq .panel-body a.label:hover,
body.sui.sui-danxer .sui-faq .panel-body a.label:focus { background-color: var(--sui-accent-dark); }

/* --------------------------------------------------------------------------
   Danxer: valoraciones (/ratings y /top_rated_events)
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-ratings-page .panel.sui-panel { position: relative; overflow: hidden; }
body.sui.sui-danxer .sui-ratings-page .panel.sui-panel:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 5px;
	background: var(--sui-title-gradient);
}
/* Cabecera como banner claro con destellos de los colores de marca */
body.sui.sui-danxer .sui-ratings-header {
	margin: -12px -12px 30px;
	padding: 30px 32px;
	background:
		radial-gradient(circle at 6% 20%, rgba(255, 188, 0, .28) 0%, transparent 32%),
		radial-gradient(circle at 35% 120%, rgba(0, 210, 106, .18) 0%, transparent 38%),
		radial-gradient(circle at 75% -20%, rgba(230, 35, 163, .2) 0%, transparent 40%),
		radial-gradient(circle at 100% 90%, rgba(70, 125, 220, .2) 0%, transparent 38%),
		#fcfaff;
	border-radius: var(--sui-radius-lg);
}
/* Prueba: fondo con el degradado cónico de la identidad (morado dominante, rayos de color desde un punto) */
body.sui.sui-danxer {
	--sui-brand-conic: conic-gradient(from -45deg at 70% 55%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
}
body.sui.sui-danxer .sui-ratings-header { padding: 44px 40px; background: var(--sui-brand-conic); }
body.sui.sui-danxer .sui-ratings-header h2 {
	background-image: none;
	-webkit-text-fill-color: #fff;
	color: #fff;
	text-shadow: 0 2px 12px rgba(31, 30, 35, .25);
}
body.sui.sui-danxer .sui-ratings-header h2 small a,
body.sui.sui-danxer .sui-ratings-header h2 small .fa { color: rgba(255, 255, 255, .85) !important; -webkit-text-fill-color: rgba(255, 255, 255, .85); }
body.sui.sui-danxer .sui-ratings-header p { color: #fff !important; }
body.sui.sui-danxer .sui-ratings-header img { height: 88px; filter: drop-shadow(0 6px 14px rgba(31, 30, 35, .3)); }
body.sui.sui-danxer .sui-ratings-header h2 { font-size: 36px; }
body.sui.sui-danxer .sui-ratings-header h2 small .fa { color: var(--sui-primary) !important; }
body.sui.sui-danxer .sui-ratings-header p {
	display: flex;
	width: fit-content;
	margin-top: 4px;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-ratings-header p:before { content: '\f00c'; font-family: FontAwesome; font-size: 12px; }

/* Pestañas con subrayado de marca */
body.sui.sui-danxer .nav-tabs.sui-tabs { border-bottom-color: #eceef2; }
body.sui.sui-danxer .nav-tabs.sui-tabs > li > a:hover { color: var(--sui-accent); }
body.sui.sui-danxer .nav-tabs.sui-tabs > li.active > a,
body.sui.sui-danxer .nav-tabs.sui-tabs > li.active > a:hover,
body.sui.sui-danxer .nav-tabs.sui-tabs > li.active > a:focus {
	color: var(--sui-ink);
	border-bottom: 3px solid transparent;
	border-image: var(--sui-title-gradient) 1;
}
body.sui.sui-danxer .nav-tabs.sui-tabs > li.active > a .fa { color: var(--sui-accent); }

/* Tarjetas de valoración: franja lateral que rota por los colores de marca */
body.sui.sui-danxer .sui-rating-item {
	position: relative;
	overflow: hidden;
	padding-left: 24px;
	border-color: #eceef2;
	transition: box-shadow var(--sui-transition), transform var(--sui-transition), border-color var(--sui-transition);
}
body.sui.sui-danxer .sui-rating-item:before {
	content: '';
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 5px;
	background: var(--sui-accent);
}
body.sui.sui-danxer .sui-rating-item:nth-of-type(4n+2):before { background: var(--sui-primary); }
body.sui.sui-danxer .sui-rating-item:nth-of-type(4n+3):before { background: #467ddc; }
body.sui.sui-danxer .sui-rating-item:nth-of-type(4n+4):before { background: #00d26a; }
body.sui.sui-danxer .sui-rating-item:hover { border-color: #eceef2; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(31, 30, 35, .1); }
body.sui.sui-danxer .sui-rating-item h4 a:hover { color: var(--sui-accent); }
body.sui.sui-danxer .sui-rating-stars .rate-star,
body.sui.sui-danxer .rate-star.checked { color: #ffbc00; }
body.sui.sui-danxer .sui-rating-meta-line .fa { color: var(--sui-accent); }
body.sui.sui-danxer .sui-rating-quote {
	position: relative;
	padding: 12px 16px 12px 40px;
	background: #fdf2fa;
	border-left: 0;
	border-radius: var(--sui-radius);
}
body.sui.sui-danxer .sui-rating-quote:before {
	content: '\201C';
	position: absolute;
	top: -4px; left: 12px;
	font-family: Georgia, serif;
	font-size: 42px;
	font-style: normal;
	line-height: 1;
	color: var(--sui-accent);
}
body.sui.sui-danxer .sui-rating-reply { background: #f1f5fd; border-left: 3px solid #467ddc; }

/* Ranking de mejor valorados: podio con los colores de marca */
body.sui.sui-danxer .sui-ranking-item { border-color: #eceef2; transition: box-shadow var(--sui-transition), transform var(--sui-transition); }
body.sui.sui-danxer .sui-ranking-item:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(31, 30, 35, .1); }
body.sui.sui-danxer .sui-ranking-item h3 { color: var(--sui-ink); }
body.sui.sui-danxer .sui-rank { background: var(--sui-primary); box-shadow: 0 4px 12px rgba(126, 42, 173, .3); }
body.sui.sui-danxer .sui-ranking-item:nth-of-type(1) .sui-rank { background: linear-gradient(135deg, #ffbc00, #e623a3); box-shadow: 0 4px 14px rgba(230, 35, 163, .4); }
body.sui.sui-danxer .sui-ranking-item:nth-of-type(2) .sui-rank { background: linear-gradient(135deg, #e623a3, #7e2aad); }
body.sui.sui-danxer .sui-ranking-item:nth-of-type(3) .sui-rank { background: linear-gradient(135deg, #467ddc, #00d26a); }
body.sui.sui-danxer .sui-ranking-item .tagcloud a { color: var(--sui-accent-dark); background: #fdf2fa; }
/* Barras de puntuación por categoría y nota media */
body.sui.sui-danxer .rate-progress { height: 8px; background: #f1f2f5; border-radius: var(--sui-radius-pill); box-shadow: none; }
body.sui.sui-danxer .rate-progress-bar { background: linear-gradient(90deg, #7e2aad, #e623a3); border-radius: var(--sui-radius-pill); box-shadow: none; }
body.sui.sui-danxer .sui-ranking-item .label.label-primary,
body.sui.sui-danxer .sui-rating-card .label.label-primary { background: var(--sui-accent); border-radius: var(--sui-radius-sm); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-ratings-header { margin: -6px -6px 22px; padding: 22px 16px; }
	body.sui.sui-danxer .sui-ratings-header h2 { font-size: 26px; }
	body.sui.sui-danxer .sui-rating-item { padding-left: 18px; }
}

/* Danxer: banner «¿Eres bailarín, cantante o Dj…?» (artistas y escuelas) con el degradado cónico */
body.sui.sui-danxer .sui-cta { background: conic-gradient(from -45deg at 60% 55%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg); }
body.sui.sui-danxer .sui-cta h3 span { color: #fff !important; }
body.sui.sui-danxer .sui-cta h3,
body.sui.sui-danxer .sui-cta p { color: #fff; text-shadow: 0 1px 8px rgba(31, 30, 35, .25); }
/* En móvil el texto ocupa casi todo el banner: el foco de color baja hacia la esquina inferior derecha */
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-cta { background: conic-gradient(from -45deg at 85% 88%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg); }
}

/* Danxer: paneles «¿Eres organizador…?», «¿Eres bailarín…?» y «¿Tienes escuela…?» de la portada con el degradado cónico.
   Por ahora se mantienen los colores del texto y de los botones. */
body.sui.sui-danxer .sui-home-panel {
	margin: 60px 0;
	padding: 34px 20px 30px;
	overflow: hidden;
	background: conic-gradient(from -45deg at 60% 55%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-home-panel > .row { margin: 0 !important; padding-bottom: 0 !important; background: transparent !important; }
body.sui.sui-danxer .sui-home-panel > .row > [class*="col-"] { margin-top: 0 !important; }
body.sui.sui-danxer .sui-home-panel .promo { margin: 0 0 18px; padding: 0; background: transparent !important; border: 0; box-shadow: none; }
/* Los paneles de artistas y escuelas están en una fila 15px más ancha: se igualan al ancho de las tarjetas */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-home-panel:not(:has(.sui-organizer-actions)) { margin-left: 15px; margin-right: 15px; }
}
/* Texto, iconos y botones en blanco sobre el degradado (como el banner de artistas) */
body.sui.sui-danxer .sui-home-panel .promo h3,
body.sui.sui-danxer .sui-home-panel .promo h3 span,
body.sui.sui-danxer .sui-home-panel .promo > span { color: #fff !important; text-shadow: 0 1px 8px rgba(31, 30, 35, .25); }
body.sui.sui-danxer .sui-home-panel .promo > span { opacity: .92; }
body.sui.sui-danxer .sui-home-panel [style*="color:#7e2aad"] { color: #fff !important; }
body.sui.sui-danxer .sui-home-panel .button,
body.sui.sui-danxer .sui-home-panel .sui-organizer-actions .button {
	color: var(--sui-primary-dark) !important;
	background: #fff !important;
	border: 0;
	box-shadow: 0 6px 16px rgba(31, 30, 35, .2);
	text-shadow: none;
}
body.sui.sui-danxer .sui-home-panel .button:hover { color: var(--sui-primary) !important; transform: translateY(-1px); }
body.sui.sui-danxer .sui-home-panel .sui-organizer-actions .sui-btn-outline {
	color: #fff !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 2px #fff;
}
body.sui.sui-danxer .sui-home-panel .sui-organizer-actions .sui-btn-outline:hover { color: var(--sui-primary-dark) !important; background: #fff !important; }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-home-panel { background: conic-gradient(from -45deg at 85% 88%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg); }
}
/* Distribución como el banner de artistas: texto a la izquierda y botones a la derecha; sin los iconos del panel de organizadores */
body.sui.sui-danxer .sui-home-panel [style*="color:#7e2aad"] { display: none !important; }
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-home-panel { display: flex; align-items: center; gap: 28px; padding: 34px 40px; }
	body.sui.sui-danxer .sui-home-panel:before,
	body.sui.sui-danxer .sui-home-panel:after { display: none; }
	body.sui.sui-danxer .sui-home-panel > .row:first-child { flex: 1 1 auto; min-width: 0; }
	body.sui.sui-danxer .sui-home-panel > .row:last-child { flex: 0 0 auto; }
	body.sui.sui-danxer .sui-home-panel > .row > [class*="col-"] { float: none; width: auto; padding: 0; }
	body.sui.sui-danxer .sui-home-panel .promo { margin: 0; text-align: left; }
	body.sui.sui-danxer .sui-home-panel .promo h3 { margin: 0 0 6px; }
	body.sui.sui-danxer .sui-home-panel .sui-organizer-actions { flex-wrap: nowrap; justify-content: flex-end; }
}
/* Sin mayúsculas forzadas (promo-uppercase), como el banner de artistas */
body.sui.sui-danxer .sui-home-panel .promo,
body.sui.sui-danxer .sui-home-panel .promo h3,
body.sui.sui-danxer .sui-home-panel .promo > span { text-transform: none !important; letter-spacing: 0; }
body.sui.sui-danxer .sui-home-panel .promo h3 { font-size: 24px; font-weight: 700; }
body.sui.sui-danxer .sui-home-panel .promo > span { display: block; font-size: 16px; line-height: 1.55; }
/* Misma separación por arriba y por abajo respecto a las tarjetas de eventos */
body.sui.sui-danxer .sui-home-panel { margin-top: 50px; margin-bottom: 50px; }
body.sui.sui-danxer .sui-home-panel + .row { margin-top: 0 !important; }
/* El margen superior del panel colapsaba con el de su fila: se evita para que la separación sea real */
body.sui.sui-danxer .row:has(> .sui-home-panel) { display: flow-root; }
/* El panel va en la misma fila que las tarjetas flotantes, así que su margen superior no se aplicaba:
   se flota a ancho completo para que el margen cuente (30px de la tarjeta + 20px = 50px, igual que por abajo) */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-home-panel { float: left; clear: both; width: 100%; margin-top: 20px; }
	body.sui.sui-danxer .sui-home-panel:not(:has(.sui-organizer-actions)) { width: calc(100% - 30px); }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-home-panel { margin-bottom: 30px; }
}
/* La fila que abre el panel de organizadores no lleva columna y ensanchaba 15px por lado todo lo que venía después:
   se anula ese ensanche para que las tarjetas y los paneles tengan el ancho de los primeros festivales */
body.sui.sui-danxer .sui-home-panel + .row { margin-left: 0; margin-right: 0; }
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-home-panel,
	body.sui.sui-danxer .sui-home-panel:not(:has(.sui-organizer-actions)) { width: calc(100% - 30px); margin-left: 15px; margin-right: 15px; }
}
body.sui.sui-danxer .sui-home-panel + .row { clear: both; }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-home-panel { margin-left: 15px; margin-right: 15px; }
}
/* El icono del botón heredaba el blanco del panel */
body.sui.sui-danxer .sui-home-panel .button .fa { color: inherit !important; }

/* --------------------------------------------------------------------------
   Danxer: página de servicios (/services)
   -------------------------------------------------------------------------- */
/* Cabecera: banner con el degradado cónico, texto blanco alineado a la izquierda */
body.sui.sui-danxer .sui-services #page-title {
	padding: 56px 48px !important;
	text-align: left;
	background: conic-gradient(from -45deg at 72% 55%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-services #page-title h1 {
	max-width: none;
	margin: 0 0 12px;
	font-size: 40px;
	line-height: 1.15;
	background-image: none;
	-webkit-text-fill-color: #fff;
	color: #fff;
	filter: none;
	text-shadow: 0 2px 12px rgba(31, 30, 35, .25);
}
body.sui.sui-danxer .sui-services #page-title h1 * { -webkit-text-fill-color: #fff; color: #fff !important; }
body.sui.sui-danxer .sui-services #page-title span { max-width: none; margin: 0 !important; font-size: 18px; line-height: 1.55; color: #fff; text-shadow: 0 1px 8px rgba(31, 30, 35, .25); }
body.sui.sui-danxer .sui-services #page-title span * { color: #fff !important; }

/* Títulos de sección con el degradado de marca */
body.sui.sui-danxer .sui-services .fancy-title h3 {
	font-size: 30px;
	font-weight: 800;
	/* El h3 lleva background:#fff en línea: hay que forzar el recorte al texto */
	background-color: transparent !important;
	background-image: var(--sui-title-gradient) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent;
}
/* La barra bajo el título queda recortada con el texto: se dibuja en el contenedor */
body.sui.sui-danxer .sui-services .fancy-title h3:after { display: none; }
body.sui.sui-danxer .sui-services .fancy-title:after { content: ''; position: static; display: block; border: 0; width: 64px; height: 4px; margin: 10px auto 0; background: var(--sui-title-gradient); border-radius: var(--sui-radius-pill); }

/* Tarjetas de precio */
body.sui.sui-danxer .sui-services .pricing-box { position: relative; border-color: #eceef2; }
body.sui.sui-danxer .sui-services .pricing-box:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	z-index: 1;
	height: 5px;
	background: var(--sui-title-gradient);
}
body.sui.sui-danxer .sui-services .pricing-title { background: #fdf2fa; border-bottom-color: #f6dcef; }
body.sui.sui-danxer .sui-services .pricing-title .color,
body.sui.sui-danxer .sui-services .pricing-box .fa.color { color: var(--sui-accent) !important; }
body.sui.sui-danxer .sui-services .pricing-price { color: var(--sui-ink); }
body.sui.sui-danxer .sui-services .pricing-price .price-unit { color: var(--sui-accent); }
body.sui.sui-danxer .sui-services .pricing-action .btn,
body.sui.sui-danxer .sui-services .pricing-action .button {
	color: #fff !important;
	background: var(--sui-accent) !important;
	border-color: var(--sui-accent) !important;
	box-shadow: 0 6px 16px rgba(var(--sui-accent-rgb), .3);
	text-shadow: none;
}
body.sui.sui-danxer .sui-services .pricing-action .btn:hover,
body.sui.sui-danxer .sui-services .pricing-action .button:hover { background: var(--sui-accent-dark) !important; border-color: var(--sui-accent-dark) !important; }
body.sui.sui-danxer .sui-services .pricing-extended .pricing-action-area { background: #fbf7fd; border-left-color: #eceef2; }


@media (max-width: 767px) {
	body.sui.sui-danxer .sui-services #page-title { padding: 32px 22px 80px !important; text-align: center; background: conic-gradient(from -45deg at 80% 92%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg); }
	body.sui.sui-danxer .sui-services #page-title h1,
	body.sui.sui-danxer .sui-services #page-title span { max-width: none; }
	body.sui.sui-danxer .sui-services #page-title h1 { font-size: 28px; }
	body.sui.sui-danxer .sui-services .fancy-title h3 { font-size: 24px; }
}

/* Danxer: panel «Invierte en Salsero» con el degradado de los títulos (verde → amarillo → magenta → morado → azul)
   y una capa vertical que oscurece hacia abajo, para dar profundidad y que el texto blanco se lea */
body.sui.sui-danxer .sui-promo {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, 0) 35%, rgba(45, 12, 70, .35) 75%, rgba(45, 12, 70, .6) 100%),
		linear-gradient(90deg, #00d26a 0%, #ffbc00 22%, #e623a3 48%, #7e2aad 74%, #467ddc 100%);
}
body.sui.sui-danxer .sui-promo h2,
body.sui.sui-danxer .sui-promo h3,
body.sui.sui-danxer .sui-promo p { text-shadow: 0 1px 10px rgba(31, 30, 35, .35); }

/* Valoraciones sin la tarjeta exterior: el contenido va directamente sobre el fondo de la página */
body.sui.sui-danxer .sui-ratings-page .panel.sui-panel { overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.sui.sui-danxer .sui-ratings-page .panel.sui-panel:before { display: none; }
body.sui.sui-danxer .sui-ratings-page .panel.sui-panel > .panel-body { padding: 0; }
body.sui.sui-danxer .sui-ratings-header { margin: 0 0 30px; }
/* Texto de las valoraciones más contenido */
body.sui.sui-danxer .sui-rating-quote { font-size: 13.5px; line-height: 1.55; }
body.sui.sui-danxer .sui-rating-quote:before { font-size: 34px; }

/* Valoraciones: buscador por nombre y selector de ordenación */
body.sui.sui-danxer .sui-ratings-page .navbar-form { padding: 0; margin: 0 0 8px; border: 0; box-shadow: none; }
body.sui.sui-danxer .sui-ratings-page .navbar-form label { margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--sui-muted); }
body.sui.sui-danxer .sui-ratings-page .navbar-form label a { color: var(--sui-primary); }
body.sui.sui-danxer .sui-ratings-page #event_filter,
body.sui.sui-danxer .sui-ratings-page .navbar-form select.form-control {
	width: 100%;
	height: 48px;
	padding: 0 18px 0 46px;
	font-size: 15px;
	color: var(--sui-ink);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23e623a3' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px 50%;
	border: 1px solid #e5e7eb;
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 2px 8px rgba(31, 30, 35, .05);
	transition: border-color var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui.sui-danxer .sui-ratings-page .navbar-form select.form-control {
	padding-left: 18px;
	padding-right: 42px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e623a3' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 18px center;
}
body.sui.sui-danxer .sui-ratings-page #event_filter::placeholder { color: #9ca3af; }
body.sui.sui-danxer .sui-ratings-page #event_filter:focus,
body.sui.sui-danxer .sui-ratings-page .navbar-form select.form-control:focus {
	border-color: var(--sui-accent);
	outline: 0;
	box-shadow: 0 0 0 4px rgba(var(--sui-accent-rgb), .12);
}

/* --------------------------------------------------------------------------
   Danxer: valoraciones de un evento concreto (/ratings?event_filter_id=…)
   -------------------------------------------------------------------------- */
/* Enlace «Volver a la lista» como botón contorneado y aspa de limpiar el buscador */
body.sui.sui-danxer a.sui-rating-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 44px;
	margin-top: -6px;
	padding: 0 20px;
	color: var(--sui-primary);
	background: #fff;
	border-radius: var(--sui-radius-pill);
	box-shadow: inset 0 0 0 2px var(--sui-primary);
	text-decoration: none;
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer a.sui-rating-back:before { content: '\f060'; font-family: FontAwesome; font-size: 13px; }
body.sui.sui-danxer a.sui-rating-back u { text-decoration: none; }
body.sui.sui-danxer a.sui-rating-back:hover { color: #fff; background: var(--sui-primary); }
body.sui.sui-danxer .sui-ratings-page #eventBtn {
	width: 34px;
	height: 34px;
	margin-left: 8px;
	padding: 0;
	line-height: 34px;
	font-weight: 700;
	color: var(--sui-muted);
	background: #f1f2f5;
	border-radius: 50%;
}
body.sui.sui-danxer .sui-ratings-page #eventBtn:hover { color: #fff; background: var(--sui-accent); }
body.sui.sui-danxer .sui-ratings-page #ratings_list > hr { border-top-color: #eceef2; }

/* Cabecera del evento: tarjeta blanca con el nombre en degradado */
body.sui.sui-danxer .sui-rating-event-head {
	position: relative;
	margin: 0 0 24px !important;
	padding: 28px 20px 24px !important;
	overflow: hidden;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui.sui-danxer .sui-rating-event-head:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 5px;
	background: var(--sui-title-gradient);
}
body.sui.sui-danxer .sui-rating-event-head h2 {
	display: inline-block;
	margin: 0 0 10px !important;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.15;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
body.sui.sui-danxer .sui-rating-event-head .tagcloud a {
	margin: 0 6px 6px 0;
	padding: 3px 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--sui-accent-dark);
	background: #fdf2fa;
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-rating-event-head .list-inline { margin: 0; font-size: 15px; color: var(--sui-text); }
body.sui.sui-danxer .sui-rating-event-head .fa { color: var(--sui-accent); }

/* Resumen, categorías y comentarios */
body.sui.sui-danxer .sui-rating-event-detail { margin-bottom: 0 !important; background: transparent !important; }
body.sui.sui-danxer .sui-rating-event-detail > div { margin-top: 0 !important; padding: 0 !important; overflow: visible !important; }
body.sui.sui-danxer .sui-rating-event-detail > div > p:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin: 0;
	padding: 22px 24px 6px;
	background: #fff;
	border-radius: var(--sui-radius-lg) var(--sui-radius-lg) 0 0;
}
body.sui.sui-danxer .sui-rating-event-detail > div > p:first-child .rate-star { font-size: 24px; }
body.sui.sui-danxer .sui-rating-event-detail > div > p:first-child .label-primary {
	margin: 0 !important;
	padding: 6px 14px !important;
	font-size: 22px !important;
	background: linear-gradient(135deg, var(--sui-primary), var(--sui-accent));
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-rating-event-detail > div > p:first-child span[style*="green"] {
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #067a3f !important;
	background: rgba(0, 210, 106, .14);
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-rating-event-detail > div > p:nth-child(2) {
	margin: 0;
	padding: 4px 24px 22px;
	color: var(--sui-muted);
	background: #fff;
	border-radius: 0 0 var(--sui-radius-lg) var(--sui-radius-lg);
	box-shadow: 0 10px 20px -16px rgba(31, 30, 35, .2);
}
body.sui.sui-danxer .sui-rating-event-detail > div > hr { margin: 18px 0; border: 0; }
body.sui.sui-danxer .sui-rating-event-detail > div > p:nth-of-type(3),
body.sui.sui-danxer .sui-rating-event-detail > div > p:nth-of-type(5) { margin: 0 0 14px; font-size: 18px; color: var(--sui-ink); }
body.sui.sui-danxer .sui-rating-event-detail > div > p:nth-of-type(3) span,
body.sui.sui-danxer .sui-rating-event-detail > div > p:nth-of-type(5) span { font-family: var(--sui-font-heading); font-weight: 700 !important; }
body.sui.sui-danxer .sui-rating-event-detail > div > .row {
	margin: 0 0 8px;
	padding: 22px 12px 8px;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui.sui-danxer .sui-rating-event-detail .rate-progress-title { font-size: 14px; font-weight: 600; color: var(--sui-ink); }

/* Cada comentario como tarjeta con franja lateral de color */
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] > .row {
	position: relative;
	margin: 0 0 14px !important;
	padding: 18px 16px 8px 22px !important;
	overflow: hidden;
	background: #fff !important;
	border-radius: var(--sui-radius-lg) !important;
	box-shadow: var(--sui-shadow-sm);
}
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] > .row:before {
	content: '';
	display: block;
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 5px;
	background: var(--sui-accent);
}
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] > .row:nth-child(4n+2):before { background: var(--sui-primary); }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] > .row:nth-child(4n+3):before { background: #467ddc; }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] > .row:nth-child(4n+4):before { background: #00d26a; }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] strong { color: var(--sui-ink); }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] .fa-calendar-o { color: var(--sui-accent); }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] p > small > i:not(.fa) { display: block; padding: 10px 14px; font-size: 13.5px; line-height: 1.55; background: #fdf2fa; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] p > small > i strong { font-weight: 500; color: var(--sui-text); }
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] .fa-quote-left,
body.sui.sui-danxer .sui-rating-event-detail [id^="rating_list_"] .fa-quote-right { color: var(--sui-accent); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-rating-event-head h2 { font-size: 24px; }
	body.sui.sui-danxer a.sui-rating-back { margin-top: 0; }
}

/* --------------------------------------------------------------------------
   Danxer: página «Invierte en Salsero» (/invest-in-salsero)
   La vista lleva todos los estilos en línea: se sobrescriben con !important.
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-invest { min-height: 0 !important; background: var(--sui-page-bg); }
body.sui.sui-danxer .sui-invest-bg,
body.sui.sui-danxer .sui-invest-icons { display: none; }
body.sui.sui-danxer .sui-invest > .container { padding-top: 40px !important; padding-bottom: 70px !important; }

/* Cabecera: título con el degradado de marca y subtítulo oscuro */
body.sui.sui-danxer .sui-invest-hero h1 {
	display: inline-block;
	font-size: 3.2em !important;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
body.sui.sui-danxer .sui-invest-hero h1 .fa { -webkit-text-fill-color: #00d26a; text-shadow: none !important; }
body.sui.sui-danxer .sui-invest-hero p { color: var(--sui-text) !important; }

/* Tarjetas del carrusel: blancas, con franja de color arriba */
body.sui.sui-danxer .sui-invest .slide { padding: 14px 12px 24px !important; }
body.sui.sui-danxer .sui-invest-card {
	position: relative;
	overflow: hidden;
	padding: 38px 36px 32px !important;
	background: #fff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border: 0 !important;
	border-radius: var(--sui-radius-lg) !important;
	box-shadow: 0 14px 34px rgba(31, 30, 35, .1) !important;
}
body.sui.sui-danxer .sui-invest-card:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 5px;
	background: var(--sui-title-gradient);
}
body.sui.sui-danxer .sui-invest-card h2 { color: var(--sui-ink) !important; }
body.sui.sui-danxer .sui-invest-card p,
body.sui.sui-danxer .sui-invest-card li { color: var(--sui-text) !important; }
body.sui.sui-danxer .sui-invest-card strong,
body.sui.sui-danxer .sui-invest-card b { color: var(--sui-ink); }
body.sui.sui-danxer .sui-invest .slide:nth-child(1) .sui-invest-badge { background: linear-gradient(135deg, #00d26a, #467ddc) !important; box-shadow: 0 8px 20px rgba(70, 125, 220, .35) !important; }
body.sui.sui-danxer .sui-invest .slide:nth-child(2) .sui-invest-badge { background: linear-gradient(135deg, #e623a3, #7e2aad) !important; box-shadow: 0 8px 20px rgba(230, 35, 163, .35) !important; }
body.sui.sui-danxer .sui-invest .slide:nth-child(3) .sui-invest-badge { background: linear-gradient(135deg, #ffbc00, #e623a3) !important; box-shadow: 0 8px 20px rgba(255, 188, 0, .4) !important; }
body.sui.sui-danxer .sui-invest .slide:nth-child(1) li .fa { color: #00b85c !important; }
body.sui.sui-danxer .sui-invest .slide:nth-child(2) li .fa { color: var(--sui-accent) !important; }
body.sui.sui-danxer .sui-invest .slide:nth-child(3) li .fa { color: #f7913a !important; }

/* Flechas, indicadores y pausa */
body.sui.sui-danxer .sui-invest-arrow,
body.sui.sui-danxer .sui-invest #playPauseBtn {
	color: var(--sui-primary) !important;
	background: #fff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border: 0 !important;
	box-shadow: 0 6px 18px rgba(31, 30, 35, .14) !important;
}
body.sui.sui-danxer .sui-invest-arrow:hover,
body.sui.sui-danxer .sui-invest #playPauseBtn:hover { color: #fff !important; background: var(--sui-accent) !important; }
body.sui.sui-danxer .sui-invest .dot { background: #d9dbe1 !important; }
body.sui.sui-danxer .sui-invest .dot.active { background: var(--sui-accent) !important; }
body.sui.sui-danxer .sui-invest .dot:hover { background: #f3a6d8 !important; }

/* Llamada a la acción: banner con el degradado cónico y botones blancos */
body.sui.sui-danxer .sui-invest-cta {
	padding: 44px 40px 30px !important;
	background: conic-gradient(from -45deg at 70% 60%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border: 0 !important;
	border-radius: var(--sui-radius-lg) !important;
	box-shadow: var(--sui-shadow-lg) !important;
}
body.sui.sui-danxer .sui-invest-cta h2,
body.sui.sui-danxer .sui-invest-cta p { color: #fff !important; text-shadow: 0 1px 10px rgba(31, 30, 35, .3); }
body.sui.sui-danxer .sui-invest .contact-btn {
	color: var(--sui-primary-dark) !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--sui-radius-pill) !important;
	box-shadow: 0 8px 20px rgba(31, 30, 35, .2) !important;
}
body.sui.sui-danxer .sui-invest .row .col-md-6:last-child .contact-btn {
	color: #fff !important;
	background: transparent !important;
	box-shadow: inset 0 0 0 2px #fff !important;
}
body.sui.sui-danxer .sui-invest .contact-btn:hover { transform: translateY(-2px); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-invest > .container { padding-top: 70px !important; }
	body.sui.sui-danxer .sui-invest-hero h1 { font-size: 2.1em !important; }
	body.sui.sui-danxer .sui-invest-card { padding: 30px 20px 24px !important; }
	body.sui.sui-danxer .sui-invest-cta { padding: 32px 20px 20px !important; background: conic-gradient(from -45deg at 85% 92%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg) !important; }
}

/* Danxer: cabeceras de listados (Festivales, bailas?…) */
/* El título se alinea con el bloque «Descubre…» y el buscador (70% del ancho, máx. 980px, centrado) */
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title.sui-page-hero > .container:has(+ .center-block .buscador-principal) {
		width: 70%;
		max-width: 980px;
		padding-left: 0;
		padding-right: 0;
	}
}
/* Icono del título pintado con el mismo degradado que el texto: la imagen (blanca) se usa como máscara
   y su contenido se desplaza fuera de la caja para que solo se vea el degradado del fondo */
body.sui.sui-danxer #page-title.sui-page-hero h1 img,
body.sui.sui-danxer #page-title.sui-page-hero h2 img {
	width: 64px !important;
	height: 64px;
	margin-right: 12px;
	object-fit: contain;
	object-position: -9999px 0;
	vertical-align: middle;
	background: var(--sui-title-gradient-light);
	-webkit-mask: var(--sui-hero-icon) center / contain no-repeat;
	mask: var(--sui-hero-icon) center / contain no-repeat;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .35));
}
body.sui.sui-danxer #page-title img[src*="ic_congress_white"] { --sui-hero-icon: url('/images/icons/ic_congress_white.png'); }
body.sui.sui-danxer #page-title img[src*="ic_artist_white"] { --sui-hero-icon: url('/images/icons/ic_artist_white.png'); }
body.sui.sui-danxer #page-title img[src*="ic_academy_white"] { --sui-hero-icon: url('/images/icons/ic_academy_white.png'); }
body.sui.sui-danxer #page-title img[src*="ic_club_white"] { --sui-hero-icon: url('/images/icons/ic_club_white.png'); }
body.sui.sui-danxer #page-title img[src*="ic_bailas"] { --sui-hero-icon: url('/images/icons/ic_bailas.png'); }
/* Si el icono no está en la lista se muestra tal cual */
body.sui.sui-danxer #page-title.sui-page-hero img:not([src*="ic_congress_white"]):not([src*="ic_artist_white"]):not([src*="ic_academy_white"]):not([src*="ic_club_white"]):not([src*="ic_bailas"]) {
	object-position: 50% 50%;
	background: none;
	-webkit-mask: none;
	mask: none;
}
/* «Ver calendario» en una sola línea */
body.sui.sui-danxer #page-title .buscador-principal .sui-btn { white-space: nowrap; }
/* Artistas: el icono va suelto junto al buscador, no dentro del título */
body.sui.sui-danxer #page-title .buscador-principal .col-md-1 > img[src*="ic_artist_white"] {
	width: 64px;
	height: 64px;
	object-fit: contain;
	object-position: -9999px 0;
	background: var(--sui-title-gradient-light);
	-webkit-mask: var(--sui-hero-icon) center / contain no-repeat;
	mask: var(--sui-hero-icon) center / contain no-repeat;
}

/* Danxer: bailas? y Artistas con la misma cabecera que Festivales (alto, título, subtítulo e icono) */
@media (min-width: 768px) {
	/* bailas? añadía un 5% de margen arriba y abajo del buscador */
	body.sui.sui-danxer #page-title.sui-page-hero > .center-block.hidden-xs { margin-top: 0 !important; margin-bottom: 0 !important; }
	/* Mismo alto de imagen de fondo en los tres listados */
	body.sui.sui-danxer #page-title.sui-page-hero:has(.buscador-principal) { min-height: 510px; }

	/* Artistas: el título es el h2 del buscador con el icono en una columna aparte */
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-1 > img) {
		display: flex;
		align-items: flex-start;
		margin: 56px 0 0;
	}
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-1 > img):before,
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-1 > img):after { display: none; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-1 { width: auto; margin: 0 !important; padding: 0 !important; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-1 > img { margin: 20px 12px 0 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-11 { width: auto; padding: 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-11 .sombra-buscador {
		margin: 0 0 18px;
		font-size: 44px;
		line-height: 64px;
	}
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-11 .sombra-buscador .sui-page-hero-sub { line-height: 1.4; }
}
/* Misma separación entre la cabecera y las primeras tarjetas que en Festivales (40px) */
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title.sui-page-hero:has(img[src*="ic_bailas"]) + #content { margin-top: 20px; }
	body.sui.sui-danxer #page-title.sui-page-hero:has(img[src*="ic_artist_white"]) + #content { margin-top: 40px; }
}

/* --------------------------------------------------------------------------
   Danxer: Crea tu evento (/event/createYourEvent)
   -------------------------------------------------------------------------- */
/* Tarjetas de ventajas: franja de color, icono en pastilla con degradado y elevación al pasar el ratón */
body.sui.sui-danxer .sui-create-features .sui-feature {
	position: relative;
	overflow: hidden;
	padding-top: 30px;
	border-color: #eceef2;
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui.sui-danxer .sui-create-features .sui-feature:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 5px;
	background: var(--sui-title-gradient);
}
body.sui.sui-danxer .sui-create-features .sui-feature:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(31, 30, 35, .12); }
body.sui.sui-danxer .sui-create-features .sui-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: linear-gradient(135deg, #00d26a, #467ddc);
	box-shadow: 0 6px 16px rgba(70, 125, 220, .3);
}
body.sui.sui-danxer .sui-create-features .col-md-3:nth-child(2) .sui-feature-icon { background: linear-gradient(135deg, #ffbc00, #f7913a); box-shadow: 0 6px 16px rgba(247, 145, 58, .35); }
body.sui.sui-danxer .sui-create-features .col-md-3:nth-child(3) .sui-feature-icon { background: linear-gradient(135deg, #e623a3, #7e2aad); box-shadow: 0 6px 16px rgba(230, 35, 163, .3); }
body.sui.sui-danxer .sui-create-features .col-md-3:nth-child(4) .sui-feature-icon { background: linear-gradient(135deg, #7e2aad, #467ddc); box-shadow: 0 6px 16px rgba(126, 42, 173, .3); }
body.sui.sui-danxer .sui-create-features .sui-feature-icon i { font-size: 20px; color: #fff !important; }
body.sui.sui-danxer .sui-create-features .sui-feature-icon img { width: 22px; filter: brightness(0) invert(1); }
body.sui.sui-danxer .sui-create-features .sui-feature h4 { font-weight: 700; color: var(--sui-ink); }
body.sui.sui-danxer .sui-create-features .sui-feature-text a { color: var(--sui-accent); }
body.sui.sui-danxer .sui-create-bottom-cta .sui-btn-primary { background: var(--sui-accent); border-color: var(--sui-accent); box-shadow: 0 8px 20px rgba(var(--sui-accent-rgb), .3); }
body.sui.sui-danxer .sui-create-bottom-cta .sui-btn-primary:hover { background: var(--sui-accent-dark); border-color: var(--sui-accent-dark); }

/* Sección «Coloca el logo de Salsero en el cartel»: sin la barra azul oscuro ni las cajas con pestaña */
body.sui.sui-danxer .sui-logos,
body.sui.sui-danxer .sui-logos > .container { background-color: transparent !important; }
body.sui.sui-danxer .sui-logos > .container { padding-top: 56px !important; }
body.sui.sui-danxer .sui-logos > .container > .row:first-child { margin-bottom: 44px !important; }
body.sui.sui-danxer .sui-logos h2[style*="#33495E"] {
	display: inline-block;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 30px;
	font-weight: 800;
	background-color: transparent !important;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
body.sui.sui-danxer .sui-logos h2[style*="#33495E"]:after {
	content: '';
	display: block;
	width: 64px;
	height: 4px;
	margin: 12px auto 0;
	background: var(--sui-title-gradient);
	border-radius: var(--sui-radius-pill);
}
/* Etiqueta «Versión para fondo claro/oscuro» como píldora sobre la tarjeta */
body.sui.sui-danxer .sui-logos > .container > div[style*="position: absolute"] { position: relative !important; z-index: 2; margin: 0 0 -18px 24px !important; }
body.sui.sui-danxer .sui-logos > .container > div[style*="position: absolute"] > span {
	display: inline-block;
	padding: 8px 18px !important;
	font-size: 13px;
	font-weight: 700;
	background: var(--sui-accent) !important;
	border-radius: var(--sui-radius-pill) !important;
	box-shadow: 0 6px 16px rgba(var(--sui-accent-rgb), .3);
}
/* Cajas de logos como tarjetas */
body.sui.sui-danxer .sui-logos .row[style*="border: 2px solid"] {
	margin: 0 0 56px !important;
	padding: 48px 0 32px !important;
	background: #fff;
	border: 0 !important;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
body.sui.sui-danxer .sui-logos .row[style*="#444444"] { background: #1f1e23 !important; }
body.sui.sui-danxer .sui-logos .btn-primary {
	padding: 7px 18px !important;
	font-weight: 600;
	background: var(--sui-primary);
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-logos .btn-primary:hover { background: var(--sui-accent); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-logos > .container { width: auto !important; padding-left: 15px !important; padding-right: 15px !important; }
	body.sui.sui-danxer .sui-logos h2[style*="#33495E"] { font-size: 22px; }
}
/* Icono encima del título: en columnas estrechas el título ya no se corta («Te lo promocionamos») */
body.sui.sui-danxer .sui-create-features .sui-feature h4 { flex-direction: column; align-items: flex-start; gap: 14px; }

/* --------------------------------------------------------------------------
   Danxer: Posiciónate (/positioning)
   -------------------------------------------------------------------------- */
/* Cabecera: banner con el degradado cónico y texto blanco */
body.sui.sui-danxer .sui-pos-hero {
	max-width: none;
	padding: 44px 32px 40px;
	background: conic-gradient(from -45deg at 72% 60%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-pos-hero img { filter: drop-shadow(0 6px 14px rgba(31, 30, 35, .3)); }
body.sui.sui-danxer .sui-pos-hero > :nth-child(2) { font-size: 40px; font-weight: 800; color: #fff; text-shadow: 0 2px 12px rgba(31, 30, 35, .25); }
body.sui.sui-danxer .sui-pos-hero > :nth-child(2) * { color: #fff !important; }
body.sui.sui-danxer .sui-pos-hero > :nth-child(3) { color: rgba(255, 255, 255, .92); text-shadow: 0 1px 8px rgba(31, 30, 35, .25); }

/* Cifras: tarjetas con franja de color */
body.sui.sui-danxer .sui-pos-stat { position: relative; overflow: hidden; border-color: #eceef2; }
body.sui.sui-danxer .sui-pos-stat:before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--sui-title-gradient); }
body.sui.sui-danxer .sui-pos-stat h4 { color: var(--sui-ink); }
body.sui.sui-danxer .sui-pos-stat h4 strong,
body.sui.sui-danxer .sui-pos-stat h4 b { color: var(--sui-accent); }

/* «¡Aparece el primero en tu ciudad!»: banda blanca con el título en degradado */
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) { background: #fff; box-shadow: var(--sui-shadow); }
body.sui.sui-danxer .sui-pos-band h1 { font-weight: 800; }

/* Etiqueta «Planes de visibilidad» */
body.sui.sui-danxer .sui-pos-pill { background: linear-gradient(135deg, var(--sui-accent) 0%, var(--sui-primary) 100%); box-shadow: 0 8px 20px rgba(var(--sui-accent-rgb), .3); }

/* Planes: el destacado con borde en degradado */
body.sui.sui-danxer .sui-pos-plan { border-color: #eceef2; transition: transform var(--sui-transition), box-shadow var(--sui-transition); }
body.sui.sui-danxer .sui-pos-plan:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31, 30, 35, .1); }
body.sui.sui-danxer .sui-pos-plan-featured {
	border: 3px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, var(--sui-title-gradient) border-box;
	box-shadow: 0 14px 34px rgba(230, 35, 163, .15);
}
body.sui.sui-danxer .sui-pos-plan-body h2,
body.sui.sui-danxer .sui-pos-plan-body h3 { color: var(--sui-ink); }
body.sui.sui-danxer .sui-pos-buy,
body.sui.sui-danxer .sui-pos-buy:hover {
	color: #fff !important;
	background: var(--sui-accent) !important;
	border-radius: var(--sui-radius-pill) !important;
	box-shadow: 0 8px 20px rgba(var(--sui-accent-rgb), .3);
	text-shadow: none;
}
body.sui.sui-danxer .sui-pos-buy:hover { background: var(--sui-accent-dark) !important; }

/* Contacto */
body.sui.sui-danxer .sui-pos-contact { background: #fdf2fa; border: 0; }
body.sui.sui-danxer .sui-pos-contact .fa,
body.sui.sui-danxer .sui-pos-contact a { color: var(--sui-accent); }

/* «Recuerda que también hacemos tu web y/o App» con el degradado cónico */
body.sui.sui-danxer .sui-pos-band-dark {
	padding-top: 0;
	background: conic-gradient(from -45deg at 72% 60%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-pos-band-dark h4 { font-size: 20px; font-weight: 700; text-shadow: 0 1px 8px rgba(31, 30, 35, .3); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-pos-hero { padding: 30px 18px; background: conic-gradient(from -45deg at 85% 92%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg); }
	body.sui.sui-danxer .sui-pos-hero > :nth-child(2) { font-size: 26px; }
}
/* Copa y título en una sola línea; el subtítulo debajo */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-pos-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 18px; }
	body.sui.sui-danxer .sui-pos-hero img { height: 72px; margin: 0; }
	body.sui.sui-danxer .sui-pos-hero > :nth-child(2) { margin: 0; white-space: nowrap; }
	body.sui.sui-danxer .sui-pos-hero > :nth-child(2) br { display: none; }
	body.sui.sui-danxer .sui-pos-hero > :nth-child(3) { flex: 0 0 100%; margin-top: 14px; }
}
/* «¡Aparece el primero en tu ciudad!»: el podio ya no sobresale por arriba; icono y título centrados en la banda */
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 16px;
	padding: 28px 24px;
}
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) img { margin: 0; }
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) h1,
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) h2 { line-height: 1.2; }
/* En móvil el título de la banda es un h2: mismo degradado que en escritorio */
body.sui.sui-danxer .sui-pos-band:not(.sui-pos-band-dark) h2 {
	display: inline-block;
	font-weight: 800;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ==========================================================================
   Danxer: ficha de evento (events/partials/show_danxer.blade.php)
   Cabecera con cartel + contenido en tarjetas y tarjeta de compra fija
   ========================================================================== */
body.sui.sui-danxer .sui-ev { padding: 40px 0 60px; }
body.sui.sui-danxer .sui-ev > .container { max-width: 1200px; }

/* Cabecera: datos a la izquierda, cartel a la derecha */
body.sui.sui-danxer .sui-ev-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas: "info poster";
	gap: 40px;
	align-items: center;
	margin-bottom: 40px;
}
body.sui.sui-danxer .sui-ev-hero-info { grid-area: info; min-width: 0; }
body.sui.sui-danxer .sui-ev-hero-poster { grid-area: poster; }
body.sui.sui-danxer .sui-ev-hero-poster a { position: relative; display: block; overflow: hidden; border-radius: var(--sui-radius-lg); box-shadow: var(--sui-shadow-lg); }
body.sui.sui-danxer .sui-ev-hero-poster img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; transition: transform .4s ease; }
body.sui.sui-danxer .sui-ev-hero-poster a:hover img { transform: scale(1.03); }
body.sui.sui-danxer .sui-ev-poster-zoom {
	position: absolute;
	right: 14px; bottom: 14px;
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px;
	color: #fff;
	background: rgba(31, 30, 35, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-radius: 50%;
}

body.sui.sui-danxer .sui-ev-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
body.sui.sui-danxer .sui-ev-tags span {
	padding: 4px 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--sui-accent-dark);
	background: #fdf2fa;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-ev-title {
	display: inline-block;
	margin: 0 0 14px;
	font-family: var(--sui-font-heading);
	font-size: 48px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -.02em;
	background-image: var(--sui-title-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
body.sui.sui-danxer .sui-ev-stars .rate-star { font-size: 16px; color: #ffbc00; }
body.sui.sui-danxer a.sui-ev-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: fit-content; margin-bottom: 16px; color: var(--sui-ink); text-decoration: none; }
body.sui.sui-danxer a.sui-ev-rating strong { padding: 2px 10px; font-size: 14px; color: #fff; background: linear-gradient(135deg, var(--sui-primary), var(--sui-accent)); border-radius: var(--sui-radius-pill); }
body.sui.sui-danxer a.sui-ev-rating .sui-ev-rating-count { font-size: 14px; color: var(--sui-muted); text-decoration: underline; text-underline-offset: 3px; }
body.sui.sui-danxer a.sui-ev-rating:hover .sui-ev-rating-count { color: var(--sui-accent); }

body.sui.sui-danxer .sui-ev-excerpt { margin: 0 0 20px; font-size: 15px; line-height: 1.8; color: var(--sui-text); }
body.sui.sui-danxer .sui-ev-excerpt-more { display: inline-block; margin-left: 4px; font-weight: 600; color: var(--sui-accent); white-space: nowrap; }

body.sui.sui-danxer .sui-ev-facts { margin: 0 0 24px; padding: 0; list-style: none; }
body.sui.sui-danxer .sui-ev-facts li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 15px; line-height: 1.45; color: var(--sui-ink); }
body.sui.sui-danxer .sui-ev-facts li > .fa,
body.sui.sui-danxer .sui-ev-facts li > a.sui-ev-fact-link > .fa {
	flex: 0 0 34px;
	width: 34px; height: 34px;
	line-height: 34px;
	text-align: center;
	color: var(--sui-accent);
	background: #fdf2fa;
	border-radius: 10px;
}
body.sui.sui-danxer .sui-ev-facts li > span { padding-top: 6px; min-width: 0; overflow-wrap: anywhere; }
body.sui.sui-danxer .sui-ev-facts a { color: var(--sui-primary); font-weight: 600; }

body.sui.sui-danxer .sui-ev-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
body.sui.sui-danxer .sui-ev-hero-actions .sui-btn-lg { padding: 14px 28px; font-size: 16px; box-shadow: 0 10px 24px rgba(var(--sui-accent-rgb), .35); }
body.sui.sui-danxer .sui-ev-from { font-weight: 500; opacity: .92; }
body.sui.sui-danxer .sui-ev-share ul { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.sui.sui-danxer .sui-ev-share li { float: none; margin: 0; }
body.sui.sui-danxer .sui-ev-share .sui-ev-share-label { margin-right: 4px; font-size: 14px; font-weight: 600; color: var(--sui-muted); }
body.sui.sui-danxer .sui-ev-share a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px;
	margin: 0;
	font-size: 16px;
	color: var(--sui-primary) !important;
	background: #fff !important;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-share a:hover { color: #fff !important; background: var(--sui-primary) !important; border-color: var(--sui-primary); }

/* Cuerpo: tarjetas de contenido */
body.sui.sui-danxer .sui-ev-body { display: flex; flex-wrap: wrap; }
body.sui.sui-danxer .sui-ev-body:before,
body.sui.sui-danxer .sui-ev-body:after { display: none; }
body.sui.sui-danxer .sui-ev-card {
	margin-bottom: 24px;
	padding: 28px 30px;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-sm);
}
body.sui.sui-danxer .sui-ev-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
body.sui.sui-danxer .sui-ev-card-head .sui-ev-card-title { margin: 0; }
body.sui.sui-danxer .sui-ev-card-title { margin: 0 0 18px; font-family: var(--sui-font-heading); font-size: 22px; font-weight: 800; color: var(--sui-ink); text-transform: none; letter-spacing: -.01em; }

/* Descripción plegable con «Leer más» bien visible */
body.sui.sui-danxer .sui-ev-collapsible { position: relative; max-height: 280px; overflow: hidden; }
body.sui.sui-danxer .sui-ev-collapsible.is-open { max-height: none; }
body.sui.sui-danxer .sui-ev-collapsible-fade {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 120px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 85%);
	pointer-events: none;
}
body.sui.sui-danxer .sui-ev-collapsible.is-open .sui-ev-collapsible-fade { display: none; }
body.sui.sui-danxer .sui-ev-collapsible-toggle { margin-top: 6px; text-align: center; }
body.sui.sui-danxer .sui-ev-more {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 24px;
	font-size: 15px;
	font-weight: 700;
	color: var(--sui-accent);
	background: #fff;
	border: 2px solid var(--sui-accent);
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 6px 16px rgba(var(--sui-accent-rgb), .15);
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-more:hover { color: #fff; background: var(--sui-accent); }
body.sui.sui-danxer .sui-ev-description { font-size: 15px; line-height: 1.7; color: var(--sui-text); overflow-wrap: anywhere; }
body.sui.sui-danxer .sui-ev-description p { margin: 0 0 10px; }
/* Los textos de los organizadores traen muchos párrafos vacíos y saltos seguidos */
body.sui.sui-danxer .sui-ev-description p:empty,
body.sui.sui-danxer .sui-ev-description p:has(> br:only-child) { display: none; }
body.sui.sui-danxer .sui-ev-description br + br { display: none; }
body.sui.sui-danxer .sui-ev-description h1,
body.sui.sui-danxer .sui-ev-description h2,
body.sui.sui-danxer .sui-ev-description h3,
body.sui.sui-danxer .sui-ev-description h4 { margin: 18px 0 8px; font-size: 17px; font-weight: 700; color: var(--sui-ink); background: none; -webkit-text-fill-color: currentColor; }
body.sui.sui-danxer .sui-ev-description img { max-width: 100%; height: auto; border-radius: var(--sui-radius-sm); }
body.sui.sui-danxer .sui-ev-description a { color: var(--sui-accent); }

/* Artistas: fila deslizable */
body.sui.sui-danxer .sui-ev-scroll-nav { display: flex; gap: 6px; }
body.sui.sui-danxer .sui-ev-scroll-btn {
	width: 36px; height: 36px;
	padding: 0;
	color: var(--sui-primary);
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
}
body.sui.sui-danxer .sui-ev-scroll-btn:hover { color: #fff; background: var(--sui-primary); border-color: var(--sui-primary); }
body.sui.sui-danxer .sui-ev-artists {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 8px;
}
body.sui.sui-danxer .sui-ev-artist {
	flex: 0 0 150px;
	scroll-snap-align: start;
	text-align: center;
	color: var(--sui-ink);
	text-decoration: none;
}
body.sui.sui-danxer .sui-ev-artist img {
	display: block;
	width: 150px; height: 150px;
	margin-bottom: 8px;
	object-fit: cover;
	border-radius: var(--sui-radius);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-artist:hover img { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(31, 30, 35, .18); }
body.sui.sui-danxer .sui-ev-artist span { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }

/* Mapa adaptable */
body.sui.sui-danxer .sui-ev-map { overflow: hidden; margin-bottom: 14px; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-ev-map iframe { display: block; }
body.sui.sui-danxer .sui-ev-address { display: flex; gap: 10px; margin: 0; color: var(--sui-text); }
body.sui.sui-danxer .sui-ev-address .fa { margin-top: 3px; color: var(--sui-accent); }
body.sui.sui-danxer .sui-ev-socials { display: flex; gap: 8px; margin-top: 14px; }
body.sui.sui-danxer .sui-ev-socials a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	color: var(--sui-primary);
	border: 1px solid #e5e7eb;
	border-radius: 50%;
}
body.sui.sui-danxer .sui-ev-socials a:hover { color: #fff; background: var(--sui-primary); border-color: var(--sui-primary); }

/* Valoraciones */
body.sui.sui-danxer .sui-ev-rating-summary { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
body.sui.sui-danxer .sui-ev-rating-score {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px;
	font-family: var(--sui-font-heading);
	font-size: 24px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--sui-primary), var(--sui-accent));
	border-radius: 18px;
}
body.sui.sui-danxer .sui-ev-rating-summary small { color: var(--sui-muted); }
body.sui.sui-danxer .sui-ev-quote { position: relative; margin: 0 0 18px; padding: 14px 18px; background: #fdf2fa; border: 0; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-ev-quote-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 6px; }
body.sui.sui-danxer .sui-ev-quote-head .rate-star { font-size: 13px; }
body.sui.sui-danxer .sui-ev-quote-head small { color: var(--sui-muted); }
body.sui.sui-danxer .sui-ev-quote p { margin: 0; font-size: 14px; font-style: italic; line-height: 1.55; color: var(--sui-text); }
body.sui.sui-danxer .sui-ev-btn-outline {
	color: var(--sui-primary) !important;
	background: #fff !important;
	border: 2px solid var(--sui-primary) !important;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-ev-btn-outline:hover { color: #fff !important; background: var(--sui-primary) !important; }

/* Organizador */
body.sui.sui-danxer .sui-ev-organizer-body { display: flex; gap: 20px; align-items: flex-start; }
body.sui.sui-danxer .sui-ev-organizer-logo { flex: 0 0 auto; width: 96px; height: 96px; object-fit: contain; background: #fff; border: 1px solid #eceef2; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-ev-organizer-info { min-width: 0; }
body.sui.sui-danxer .sui-ev-organizer-name { display: inline-block; margin-bottom: 6px; font-family: var(--sui-font-heading); font-size: 18px; font-weight: 700; color: var(--sui-ink); }
body.sui.sui-danxer .sui-ev-organizer-name:hover { color: var(--sui-accent); }
body.sui.sui-danxer .sui-ev-organizer-desc { margin-bottom: 10px; font-size: 14px; color: var(--sui-text); }
body.sui.sui-danxer .sui-ev-contact { margin: 0; padding: 0; list-style: none; }
body.sui.sui-danxer .sui-ev-contact li { display: flex; gap: 10px; margin-bottom: 6px; font-size: 14px; overflow-wrap: anywhere; }
body.sui.sui-danxer .sui-ev-contact .fa { margin-top: 3px; color: var(--sui-accent); }

/* Tarjeta fija de compra / información */
body.sui.sui-danxer .sui-ev-sticky {
	position: sticky;
	top: 110px;
	padding: 26px 24px;
	overflow: hidden;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: 0 14px 34px rgba(31, 30, 35, .1);
}
body.sui.sui-danxer .sui-ev-sticky:before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--sui-title-gradient); }
body.sui.sui-danxer .sui-ev-aside { margin-bottom: 24px; }
body.sui.sui-danxer .sui-ev-products { margin: 0; }
body.sui.sui-danxer .sui-ev-products > li { display: block; padding: 0; }
body.sui.sui-danxer .sui-ev-products br { display: none; }
body.sui.sui-danxer .sui-ev-products .header-tipo-producto-show { margin: 8px 0 4px; }
body.sui.sui-danxer .sui-ev-products .sui-event-buy .sui-btn,
body.sui.sui-danxer .sui-ev-products .btn-group > .sui-btn { display: flex; justify-content: center; width: 100%; margin-top: 18px; }
body.sui.sui-danxer .sui-ev-products .btn-group { display: block; width: 100%; }
body.sui.sui-danxer .sui-ev-hotel { margin-top: 20px; padding-top: 18px; border-top: 1px solid #eceef2; font-size: 13px; color: var(--sui-text); }
body.sui.sui-danxer .sui-ev-hotel a { color: var(--sui-ink); }
body.sui.sui-danxer .sui-ev-hotel img { display: block; max-width: 220px; margin: 8px 0; }

/* Barra de compra en móvil */
body.sui.sui-danxer .sui-ev-mobile-bar { display: none; }

@media (max-width: 991px) {
	body.sui.sui-danxer .sui-ev-hero { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; }
	body.sui.sui-danxer .sui-ev-title { font-size: 38px; }
	body.sui.sui-danxer .sui-ev-sticky { position: static; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-ev { padding: 20px 0 100px; }
	body.sui.sui-danxer .sui-ev-hero { grid-template-columns: 1fr; grid-template-areas: "poster" "info"; gap: 22px; }
	body.sui.sui-danxer .sui-ev-hero-poster img { max-height: 420px; }
	body.sui.sui-danxer .sui-ev-title { font-size: 30px; }
	body.sui.sui-danxer .sui-ev-hero-actions .sui-btn-lg { width: 100%; justify-content: center; }
	body.sui.sui-danxer .sui-ev-card { padding: 22px 18px; }
	body.sui.sui-danxer .sui-ev-artist { flex-basis: 120px; }
	body.sui.sui-danxer .sui-ev-artist img { width: 120px; height: 120px; }
	body.sui.sui-danxer .sui-ev-organizer-body { flex-direction: column; }
	body.sui.sui-danxer .sui-ev-mobile-bar {
		position: fixed;
		left: 10px; right: 10px; bottom: 10px;
		z-index: 400;
		display: flex !important;
		align-items: center;
		gap: 12px;
		padding: 10px 10px 10px 16px;
		background: #fff;
		border-radius: var(--sui-radius-pill);
		box-shadow: 0 10px 30px rgba(31, 30, 35, .25);
	}
	body.sui.sui-danxer .sui-ev-mobile-bar > div { flex: 1 1 auto; min-width: 0; line-height: 1.25; }
	body.sui.sui-danxer .sui-ev-mobile-bar strong { display: block; overflow: hidden; font-size: 13px; color: var(--sui-ink); text-overflow: ellipsis; white-space: nowrap; }
	body.sui.sui-danxer .sui-ev-mobile-bar span { font-size: 13px; font-weight: 700; color: var(--sui-accent); }
	body.sui.sui-danxer .sui-ev-mobile-bar .sui-btn { flex: 0 0 auto; padding: 10px 16px; font-size: 14px; }
}
/* Los iconos de compartir/redes heredaban el blanco de Canvas */
body.sui.sui-danxer .sui-ev-share a i,
body.sui.sui-danxer .sui-ev-socials a i { color: inherit !important; }
/* #content de Canvas lleva overflow:hidden, que anula la tarjeta fija; clip recorta igual sin romper sticky */
body.sui.sui-danxer #content.sui-ev { overflow: visible; overflow-x: clip; }
/* «Relacionados» y demás títulos de sección: bloque propio (antes quedaban en línea junto a las tarjetas) */
body.sui.sui-danxer .sui-event-section-title { display: block; width: fit-content; }

/* ==========================================================================
   Danxer: página del organizador (events/profiles/partials/show_danxer.blade.php)
   Reutiliza .sui-ev-*; aquí solo la portada y los próximos eventos
   ========================================================================== */
body.sui.sui-danxer .sui-org-hero { position: relative; margin-bottom: 32px; }
body.sui.sui-danxer .sui-org-cover {
	height: 300px;
	background-color: #7e2aad;
	background-size: cover;
	background-position: center;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow);
}
/* Sin portada: el degradado cónico de la identidad */
body.sui.sui-danxer .sui-org-cover.is-empty {
	background-image: conic-gradient(from -45deg at 72% 60%, #7e2aad 0deg, #467ddc 45deg, #00d26a 85deg, #ffbb00 135deg, #f7913a 170deg, #e623a3 220deg, #7e2aad 265deg, #7e2aad 360deg);
}
body.sui.sui-danxer .sui-org-identity {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 24px;
	margin: -70px 0 0;
	padding: 0 32px;
}
body.sui.sui-danxer .sui-org-logo {
	flex: 0 0 auto;
	width: 150px;
	height: 150px;
	object-fit: cover;
	background: #fff;
	border: 5px solid #fff;
	border-radius: 28px;
	box-shadow: 0 14px 30px rgba(31, 30, 35, .2);
}
body.sui.sui-danxer .sui-org-identity-text { flex: 1 1 auto; min-width: 0; padding-bottom: 6px; }
body.sui.sui-danxer .sui-org-kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	padding: 4px 12px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sui-accent-dark);
	background: #fdf2fa;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-org-identity .sui-ev-title { display: block; width: fit-content; max-width: 100%; margin: 0; font-size: 42px; }
body.sui.sui-danxer .sui-org-share { flex: 0 0 auto; padding-bottom: 12px; }
body.sui.sui-danxer .sui-org-contact-btn { display: flex; justify-content: center; width: 100%; margin-top: 4px; }

/* Próximos eventos dentro de su tarjeta */
body.sui.sui-danxer .sui-org-events > h3 { margin: 0 0 20px; font-family: var(--sui-font-heading); font-size: 22px; font-weight: 800; color: var(--sui-ink); text-transform: none; }
body.sui.sui-danxer .sui-org-events #posts { margin: 0 -10px; }
body.sui.sui-danxer .sui-org-events #posts:after { content: ''; display: table; clear: both; }
body.sui.sui-danxer .sui-org-events .pagination { margin: 10px 0 0; }

@media (max-width: 991px) {
	body.sui.sui-danxer .sui-org-identity { flex-wrap: wrap; }
	body.sui.sui-danxer .sui-org-share { flex-basis: 100%; padding: 0; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-org-cover { height: 180px; }
	body.sui.sui-danxer .sui-org-identity { margin-top: -56px; padding: 0 12px; gap: 14px; }
	body.sui.sui-danxer .sui-org-logo { width: 104px; height: 104px; border-radius: 22px; }
	body.sui.sui-danxer .sui-org-identity .sui-ev-title { font-size: 28px; }
	body.sui.sui-danxer .sui-org-identity-text { flex-basis: 100%; }
	body.sui.sui-danxer .sui-org.sui-ev { padding-bottom: 40px; }
}
/* Las tarjetas de evento colocan los botones con position:absolute y tapaban la ubicación: botones en flujo */
body.sui.sui-danxer .sui-org-events #posts [style*="position: absolute"] { position: static !important; margin-top: 12px; }
body.sui.sui-danxer .sui-org-events #posts [style*="height"] { height: auto !important; min-height: 0 !important; }
/* Perfiles de artista y escuela: la cabecera flotante ya deja el contenido debajo; sobraba el hueco de 120px */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-profile-hero { padding-top: 40px; }
}
/* Pie: menos aire arriba (64px de relleno + 55px de margen en cada columna) */
body.sui.sui-danxer footer.sui-footer .tt-footer-col.tt-color-scheme-01 { padding-top: 24px; }
body.sui.sui-danxer footer.sui-footer .tt-footer-col .row > [class*="col-"] { margin-top: 32px; }

/* --------------------------------------------------------------------------
   Danxer: «Próximos eventos» en las fichas de artista, escuela y sala (#posts.events.small-thumbs)
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry {
	position: relative;
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0 0 16px;
	padding: 16px;
	background: #fff;
	border: 0;
	border-radius: var(--sui-radius-lg);
	box-shadow: 0 2px 10px rgba(31, 30, 35, .08);
	transition: transform var(--sui-transition), box-shadow var(--sui-transition);
}
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31, 30, 35, .12); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry:before {
	content: '';
	position: absolute;
	top: 16px; bottom: 16px; left: 0;
	width: 4px;
	background: var(--sui-title-gradient);
	border-radius: 0 4px 4px 0;
}
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry:after { display: none; }

/* Imagen con la fecha en una etiqueta blanca */
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image { position: relative; flex: 0 0 240px; width: 240px; margin: 0; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image > a > div:first-child { height: 150px !important; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .4s ease; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry:hover .entry-image img { transform: scale(1.05); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-date {
	top: 10px;
	left: 10px;
	width: 58px;
	padding: 6px 0 7px;
	font-family: var(--sui-font-heading);
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	color: var(--sui-ink);
	background: #fff !important;
	border-radius: 14px;
	box-shadow: 0 6px 16px rgba(31, 30, 35, .25);
	text-shadow: none;
}
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-date span {
	display: block;
	margin-top: 3px;
	font-family: var(--sui-font);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--sui-accent);
	background: none;
}

/* Texto */
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-c { flex: 1 1 auto; min-width: 0; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-title h2 { margin: 0 0 10px; font-size: 20px; font-weight: 700; line-height: 1.25; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-title h2 a { color: var(--sui-ink); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-title h2 a:hover { color: var(--sui-accent); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 14px; padding: 0; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta li { float: none; margin: 0; font-size: 14px; color: var(--sui-text); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta li:before { display: none; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta li:has(> .label:empty) { display: none; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta li i { color: var(--sui-accent); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-meta .label { padding: 3px 10px; font-size: 11px; background: var(--sui-accent); border-radius: var(--sui-radius-pill); }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-content { margin: 0; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-content .btn {
	padding: 8px 20px;
	font-weight: 700;
	color: #fff;
	background: var(--sui-accent);
	border: 0;
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 6px 16px rgba(var(--sui-accent-rgb), .25);
}
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-content .btn:after { content: ' \2192'; }
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-content .btn:hover { background: var(--sui-accent-dark); }
@media (max-width: 991px) {
	body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image { display: block !important; flex-basis: 180px; width: 180px; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry { flex-direction: column; align-items: stretch; gap: 14px; }
	body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image { flex-basis: auto; width: 100%; }
	body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-image > a > div:first-child { height: 170px !important; }
}
body.sui.sui-danxer .sui-detail-card #posts.events.small-thumbs .entry-date { height: auto !important; bottom: auto !important; right: auto !important; }
/* Portada: el vídeo arrancaba 100px más abajo (hueco de la cabecera antigua); ahora llega hasta arriba, detrás de la cabecera flotante */
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title.sui-hero .video-wrap { margin-top: 0 !important; }
}
/* Más aire alrededor de los paneles de la portada: 80px en escritorio y 50px en móvil */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-home-panel { margin-top: 50px; margin-bottom: 80px; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-home-panel { margin-top: 50px; margin-bottom: 50px; }
}
@media (max-width: 767px) {
	/* Como en escritorio: el panel va tras tarjetas flotantes y su margen superior no contaba; se flota a ancho completo */
	body.sui.sui-danxer .sui-home-panel { float: left; clear: both; width: calc(100% - 30px); margin-top: 20px; }
}
/* Datos generales del evento dentro de una tarjeta como el resto de secciones; el cartel a su altura */
body.sui.sui-danxer .sui-ev-hero { align-items: stretch; }
body.sui.sui-danxer .sui-ev-hero > .sui-ev-hero-info { margin: 0; padding: 32px 34px; }
body.sui.sui-danxer .sui-ev-hero-poster { align-self: center; }
body.sui.sui-danxer .sui-ev-hero-socials { margin: -8px 0 22px; }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-ev-hero > .sui-ev-hero-info { padding: 22px 18px; }
}
/* Compra (eventshop): filas .row sin columna dentro de otras filas ensanchaban 15px por lado cada bloque sucesivo */
body.sui .sui-shop-wrap form > .row,
body.sui .sui-shop-list .row:has(> .sui-shop-note) { margin-left: 0; margin-right: 0; }

/* Danxer: compra (eventshop) con un toque de color discreto */
body.sui.sui-danxer .sui-shop-head h3 { display: inline-block; font-weight: 800; background-image: var(--sui-title-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body.sui.sui-danxer .sui-shop-list .panel.panel-default { position: relative; overflow: hidden; }
body.sui.sui-danxer .sui-shop-list .panel.panel-default:before { content: ""; position: absolute; top: 0; left: 0; right: 0; z-index: 1; height: 4px; background: var(--sui-title-gradient); }
/* «Precios de pases/hotel…» igual que en la ficha del evento */
body.sui.sui-danxer .sui-shop .header-tipo-producto-cart { padding: 9px 14px; font-size: 15px; color: var(--sui-primary-dark); background: var(--sui-primary-soft); }
/* Cabecera de la tabla de productos: banda morada con títulos en blanco */
body.sui.sui-danxer .sui-shop-list .panel-heading {
	padding-top: 18px;
	padding-bottom: 14px;
	background: linear-gradient(90deg, var(--sui-primary-dark) 0%, var(--sui-primary) 100%) !important;
	border-bottom: 0 !important;
}
body.sui.sui-danxer .sui-shop-list .panel-heading h4 { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: rgba(255, 255, 255, .95) !important; }
/* Mismo velo de colores que los buscadores, igual de tenue */
body.sui.sui-danxer #toggle-coupon-panel {
	border-color: var(--sui-primary) !important;
	background:
		linear-gradient(90deg, rgba(0, 210, 106, .09) 0%, rgba(255, 188, 0, .09) 22%, rgba(230, 35, 163, .09) 48%, rgba(126, 42, 173, .09) 74%, rgba(70, 125, 220, .09) 100%),
		#fff !important;
}
body.sui.sui-danxer #toggle-coupon,
body.sui.sui-danxer #toggle-coupon .fa { color: var(--sui-primary) !important; }
@media (max-width: 767px) {
	/* El botón redondo del menú móvil tapaba el final del nombre del evento */
	body.sui.sui-danxer .sui-shop-head h3 { padding-right: 52px; }
}
/* Tabla de productos: sin franja de colores arriba; la línea de colores va bajo la cabecera */
body.sui.sui-danxer .sui-shop-list .panel.panel-default:before { display: none; }
body.sui.sui-danxer .sui-shop-list .panel-heading { position: relative; }
body.sui.sui-danxer .sui-shop-list .panel-heading:after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 4px;
	background: var(--sui-title-gradient);
}

/* --------------------------------------------------------------------------
   Danxer: carrito (/shop/cart) con un toque de color discreto
   -------------------------------------------------------------------------- */
/* Franja de colores arriba de la tarjeta principal */
body.sui.sui-danxer .sui-cart-wrap > .row { position: relative; overflow: hidden; }
body.sui.sui-danxer .sui-cart-wrap > .row:before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	z-index: 1;
	display: block;
	height: 5px;
	background: var(--sui-title-gradient);
}
/* Subrayado de los títulos de sección con el degradado */
body.sui.sui-danxer .sui-cart h3:after { background: var(--sui-title-gradient) !important; width: 48px; }
/* Cada entrada del resumen con una franja lateral de color */
body.sui.sui-danxer .sui-cart .sui-cart-owner { position: relative; overflow: hidden; background: #fbf7fd; }
body.sui.sui-danxer .sui-cart .sui-cart-owner:before {
	content: '';
	position: absolute;
	top: 0; bottom: 0; left: 0;
	display: block;
	width: 5px;
	background: var(--sui-accent);
}
/* Como en valoraciones: cada entrada con su color (magenta, morado, azul, verde) */
/* Cada entrada va en su propio contenedor entre otros campos: se cuentan solo los contenedores que tienen una entrada */
body.sui.sui-danxer .sui-cart :nth-child(4n+2 of :has(> .sui-cart-owner)) > .sui-cart-owner:before { background: var(--sui-primary); }
body.sui.sui-danxer .sui-cart :nth-child(4n+3 of :has(> .sui-cart-owner)) > .sui-cart-owner:before { background: #467ddc; }
body.sui.sui-danxer .sui-cart :nth-child(4n+4 of :has(> .sui-cart-owner)) > .sui-cart-owner:before { background: #00d26a; }
/* Enlaces del texto (iniciar sesión, condiciones) en magenta */
body.sui.sui-danxer .sui-cart a:not(.btn):not(.button):not(.sui-btn) { color: var(--sui-accent-dark); }

/* --------------------------------------------------------------------------
   Danxer: premio Dancers' Choice de la portada (events/salsero_dancers_choice.blade.php)
   Premio y evento en una sola tarjeta oscura con brillo dorado
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-dc {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 560px;
	gap: 40px;
	align-items: center;
	padding: 44px;
	color: #fff;
	background:
		radial-gradient(circle at 22% 35%, rgba(255, 188, 0, .22) 0%, rgba(255, 188, 0, 0) 45%),
		linear-gradient(135deg, #0d0b12 0%, #1f1e23 45%, #3b1656 100%);
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-dc-award { display: flex; flex-direction: column; align-items: center; text-align: center; }
body.sui.sui-danxer .sui-dc-laurel { display: block; width: 100%; max-width: 300px; height: auto; margin-bottom: 18px; filter: drop-shadow(0 10px 30px rgba(255, 188, 0, .25)); }
body.sui.sui-danxer .sui-dc-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	padding: 6px 16px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #ffbc00;
	background: rgba(255, 188, 0, .12);
	border: 1px solid rgba(255, 188, 0, .4);
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-dc-text { max-width: 460px; margin: 0 0 24px; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .92); }
body.sui.sui-danxer .sui-dc-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 26px;
	font-weight: 700;
	color: #ffbc00;
	background: transparent;
	border: 2px solid #ffbc00;
	border-radius: var(--sui-radius-pill);
	text-decoration: none;
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer .sui-dc-btn:hover,
body.sui.sui-danxer .sui-dc-btn:focus { color: #1f1e23; background: #ffbc00; text-decoration: none; }

/* Tarjeta del evento: los botones con position:absolute tapaban la ubicación */
body.sui.sui-danxer .sui-dc-event .feature-box { margin: 0; }
body.sui.sui-danxer .sui-dc-event [style*="position: absolute"] { position: static !important; margin-top: 14px; }

@media (max-width: 1199px) {
	body.sui.sui-danxer .sui-dc { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding: 32px; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-dc { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
	body.sui.sui-danxer .sui-dc-laurel { max-width: 220px; }
	body.sui.sui-danxer .sui-dc-text { font-size: 16px; }
}
/* La tarjeta heredaba el blanco del bloque (fechas y ubicación invisibles) */
body.sui.sui-danxer .sui-dc-event { color: var(--sui-text); }
/* Mismo ancho que las tarjetas de festivales (la versión clásica era una .row con márgenes de -15px) */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-dc { margin: 0 -15px; }
}
/* Menos aire vertical: la imagen del laurel trae mucho margen transparente (arte en y 225-781 de 1000);
   se compensa con márgenes negativos para que el laurel quede pegado a la etiqueta */
body.sui.sui-danxer .sui-dc { padding: 32px 40px; }
body.sui.sui-danxer .sui-dc-laurel { width: 320px; max-width: none; margin: -86px auto -80px; }
body.sui.sui-danxer .sui-dc-badge { margin-bottom: 12px; }
body.sui.sui-danxer .sui-dc-text { max-width: 420px; margin-bottom: 18px; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-dc { padding: 24px; }
	body.sui.sui-danxer .sui-dc-laurel { width: 240px; max-width: none; margin: -64px auto -60px; }
	body.sui.sui-danxer .sui-dc-text { font-size: 14px; }
}
/* Portada: vídeo e «Invierte en Salsero» al mismo ancho que el premio, las tarjetas de festivales y los paneles */
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-spot,
	body.sui.sui-danxer .sui-promo { margin-left: -15px; margin-right: -15px; }
}
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-spot,
	body.sui.sui-danxer .sui-promo { margin-left: 0; margin-right: 0; }
}
/* La flecha del botón salía en blanco: mismo color que el texto (dorado, y oscuro al pasar el ratón) */
body.sui.sui-danxer .sui-dc-btn .fa { color: inherit !important; }
/* Formas de pago: botones más bajos y más aire con el texto de arriba y los logos de abajo */
/* El texto de arriba es una columna flotante: el margen superior se pierde con el clear, así que el aire va como relleno */
body.sui.sui-danxer .sui-cart-pay { margin: 0 0 32px !important; padding-top: 12px; }
body.sui.sui-danxer .sui-cart-pay > .btn,
body.sui.sui-danxer .sui-cart-pay > .btn-group > .btn { min-height: 44px; padding: 6px 22px; line-height: 1.15; }
body.sui.sui-danxer .sui-cart-pay small { margin-top: 1px; font-size: 11px; line-height: 1.1; }
/* Sin la etiqueta del premio: el texto va justo debajo del laurel */
body.sui.sui-danxer .sui-dc-laurel { margin-bottom: -66px; }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-dc-laurel { margin-bottom: -48px; }
}
/* Cabecera de la ficha: las dos columnas con el mismo ancho que las del cuerpo (col-md-8 / col-md-4 de Bootstrap) */
@media (min-width: 992px) {
	body.sui.sui-danxer .sui-ev-hero { grid-template-columns: calc((100% + 30px) * 2 / 3 - 30px) calc((100% + 30px) / 3 - 30px); gap: 30px; }
}
body.sui.sui-danxer .sui-ev-excerpt-more { white-space: nowrap; }

/* --------------------------------------------------------------------------
   Danxer: ficha de evento adaptable (barra de secciones, estado de venta, programa y vídeo)
   -------------------------------------------------------------------------- */
/* Barra de secciones: solo texto, con una línea fina debajo y la sección activa subrayada */
body.sui.sui-danxer .sui-ev-nav {
	margin: -12px 0 24px;
	background: rgba(250, 250, 250, .94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
body.sui.sui-danxer .sui-ev-nav-inner {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scrollbar-width: none;
	border-bottom: 1px solid rgba(126, 42, 173, .16);
}
body.sui.sui-danxer .sui-ev-nav-inner::-webkit-scrollbar { display: none; }
body.sui.sui-danxer .sui-ev-nav-link {
	position: relative;
	flex: 0 0 auto;
	padding: 12px 0 11px;
	font-size: 13px;
	font-weight: 500;
	color: #9677ad;
	white-space: nowrap;
	text-decoration: none;
	transition: color var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-nav-link::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 2px;
	background: var(--sui-title-gradient);
	border-radius: 2px;
	transform: scaleX(0);
	transition: transform var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-nav-link:hover,
body.sui.sui-danxer .sui-ev-nav-link:focus { color: var(--sui-primary); text-decoration: none; }
body.sui.sui-danxer .sui-ev-nav-link.is-active { color: var(--sui-primary); }
body.sui.sui-danxer .sui-ev-nav-link.is-active::after { transform: scaleX(1); }
@media (min-width: 992px) {
	/* Fija bajo la cabecera flotante, solo en la columna principal */
	body.sui.sui-danxer .sui-ev-nav { position: sticky; top: 90px; z-index: 50; }
	/* La columna de la derecha queda alineada con la barra */
	body.sui.sui-danxer .sui-ev-body:has(.sui-ev-nav) .sui-ev-aside-stack { top: 90px; }
}

/* Columna derecha: precios + Dance Travel fijos juntos; sin scroll interno (el JS la suelta si no cabe) */
body.sui.sui-danxer .sui-ev-aside-stack .sui-ev-sticky { position: relative; top: auto; }
@media (min-width: 992px) {
	body.sui.sui-danxer .sui-ev-aside-stack { position: sticky; top: 110px; }
}
body.sui.sui-danxer .sui-ev-aside-stack .sui-ev-hotel { margin: 20px 0 0; padding: 22px 24px; border-top: 0; border-radius: var(--sui-radius-lg); box-shadow: 0 14px 34px rgba(31, 30, 35, .1); }
body.sui.sui-danxer .sui-ev-aside-stack .sui-ev-hotel strong { display: block; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--sui-muted); }
/* Grupos de precios: «Entradas», «Habitación», «Ropa» con el estilo del título de la tarjeta */
body.sui.sui-danxer .sui-ev-products > li.sui-ev-group + li.sui-ev-group { margin-top: 22px; }
body.sui.sui-danxer .sui-ev-group-title { margin-bottom: 8px; }
body.sui.sui-danxer .sui-ev-group.is-expanded .is-extra { display: flex !important; }
body.sui.sui-danxer .sui-ev-sale-from {
	margin: -8px 0 14px;
	font-family: var(--sui-font-heading);
	font-size: 22px;
	font-weight: 800;
	color: var(--sui-accent);
}
body.sui.sui-danxer .sui-ev-products .is-extra { display: none !important; }
body.sui.sui-danxer .sui-ev-products.is-expanded .is-extra { display: flex !important; }
body.sui.sui-danxer .sui-ev-products.is-expanded .sui-product-separator.is-extra { display: flex !important; }
body.sui.sui-danxer .sui-ev-prices-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 4px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border: 0;
	border-radius: var(--sui-radius-pill);
}
body.sui.sui-danxer .sui-ev-prices-more:hover { color: #fff; background: var(--sui-primary); }
/* Agotado: el parcial de precios trae el botón Comprar, que aquí no tiene sentido */
body.sui.sui-danxer .sui-ev-sale-agotado .sui-event-buy,
body.sui.sui-danxer .sui-ev-sale-agotado .btn-group { display: none !important; }
body.sui.sui-danxer .sui-ev-sale-closed {
	display: flex;
	gap: 10px;
	margin: 0 0 16px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--sui-text);
	background: #f6f4f9;
	border-radius: var(--sui-radius);
}
body.sui.sui-danxer .sui-ev-sale-closed .fa { margin-top: 3px; color: var(--sui-muted); }
body.sui.sui-danxer a.sui-ev-sale-change { display: block; margin-top: 14px; font-size: 14px; color: var(--sui-text); text-decoration: none; }
body.sui.sui-danxer a.sui-ev-sale-change strong { color: var(--sui-primary); }
body.sui.sui-danxer a.sui-ev-sale-change:hover strong { color: var(--sui-accent); }

@media (max-width: 991px) {
	body.sui.sui-danxer .sui-ev-nav { margin-top: -16px; }
}

/* Cabecera de la ficha: «Compártelo» a la derecha, centrado con el botón de compra (sin compra, a la izquierda) */
body.sui.sui-danxer .sui-ev-hero-actions .sui-ev-share { margin: 0; }
body.sui.sui-danxer .sui-ev-hero-actions .sui-ev-jump-buy + .sui-ev-share { margin-left: auto; }
@media (max-width: 767px) {
	body.sui.sui-danxer .sui-ev-hero-actions .sui-ev-jump-buy + .sui-ev-share { margin-left: 0; }
}

/* Sin venta de entradas: la localización ocupa la tarjeta de la columna derecha */
body.sui.sui-danxer .sui-ev-aside-location .sui-ev-map iframe { height: 240px; }
body.sui.sui-danxer .sui-ev-aside-location .sui-ev-address { margin-bottom: 0; }

/* Barra de secciones con un fondo morado muy suave */
body.sui.sui-danxer .sui-ev-nav {
	padding: 0 20px;
	background: rgba(243, 236, 248, .94);
	border-radius: var(--sui-radius);
}
body.sui.sui-danxer .sui-ev-nav-inner { border-bottom: 0; }
body.sui.sui-danxer .sui-ev-nav-link::after { bottom: 0; }

/* Venta cerrada: solo el título y el enlace de cambio de titular */
body.sui.sui-danxer .sui-ev-sale-cerrada a.sui-ev-sale-change { margin-top: 0; }

/* Cabecera de la ficha: la ubicación enlaza con la tarjeta de localización */
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link { display: flex; align-items: flex-start; gap: 12px; color: var(--sui-ink); font-weight: 400; text-decoration: none; }
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link > .fa {
	flex: 0 0 auto;
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link > span { padding-top: 6px; min-width: 0; }
/* Sin texto añadido: subrayado punteado en morado (como un enlace) que se vuelve magenta al pasar el ratón */
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link > span {
	text-decoration: underline dotted rgba(126, 42, 173, .55);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
	transition: text-decoration-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link:hover > span,
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link:focus > span { color: var(--sui-accent); text-decoration-color: var(--sui-accent); }
body.sui.sui-danxer .sui-ev-facts a.sui-ev-fact-link:hover > .fa { color: #fff; background: var(--sui-accent); }

/* «Ver n … más»: enlace a la tienda; la flecha del mismo color que el texto */
body.sui.sui-danxer a.sui-ev-prices-more,
body.sui.sui-danxer a.sui-ev-prices-more:hover,
body.sui.sui-danxer a.sui-ev-prices-more:focus { text-decoration: none; }
body.sui.sui-danxer .sui-ev-prices-more .fa { color: inherit !important; }

/* --------------------------------------------------------------------------
   Danxer: Eventos (/upcoming-events) y menú principal Eventos · Artistas · Valoraciones
   -------------------------------------------------------------------------- */
/* Más aire entre las opciones del menú */
@media (min-width: 1200px) {
	body.sui.sui-danxer #lower-menu > ul { gap: 20px; }
	body.sui.sui-danxer #lower-menu > ul > li > a { padding: 8px 18px !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	body.sui.sui-danxer #lower-menu > ul { gap: 10px; }
	body.sui.sui-danxer #lower-menu > ul > li > a { padding: 8px 14px !important; }
}
/* Cabecera tras buscar (Eventos y Festivales): icono del ticket con degradado, centrado con
   «Descubre los próximos eventos» + subtítulo, y el botón del calendario a la derecha */
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-9):has(> .col-md-1 > img) { align-items: flex-start; margin: 0 0 28px; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-9 { flex: 1 1 auto; width: auto; padding: 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child > .col-md-9 .sombra-buscador { margin: 0 !important; }
	/* Icono más pequeño tras buscar y centrado con la primera línea («Descubre los próximos eventos») */
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-9) > .col-md-1 > img { width: 40px !important; height: 40px !important; margin: -3px 14px 0 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-9) > .col-md-2 { align-self: center; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-9) > .col-md-2 { flex: 0 0 auto; width: auto; padding: 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:first-child:has(> .col-md-9) > .col-md-2 .sui-btn { margin-top: 0 !important; }
}
body.sui.sui-danxer #page-title .buscador-principal .col-md-1 > img[src*="ic_congress_white"] {
	width: 64px !important;
	height: 64px !important;
	object-fit: contain;
	object-position: -9999px 0;
	background: var(--sui-title-gradient-light);
	-webkit-mask: var(--sui-hero-icon) center / contain no-repeat;
	mask: var(--sui-hero-icon) center / contain no-repeat;
	filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .35));
}

/* Eventos, cabecera tras buscar: la imagen de portada baja de altura con una transición suave
   hasta ajustarse a su contenido, con margen suficiente bajo la cabecera flotante */
@keyframes sui-hero-encoger { from { min-height: 510px; } to { min-height: 0; } }
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title.sui-page-hero.sui-hero-busqueda {
		min-height: 0;
		padding: 150px 0 70px !important;
		animation: sui-hero-encoger .6s cubic-bezier(.22, .61, .36, 1) both;
	}
}

/* Home: buscador (ubicación + nombre del evento) más estrecho */
@media (min-width: 768px) {
	body.sui.sui-danxer .home-CTA .buscador-principal { width: 100% !important; max-width: 720px; margin-left: auto; margin-right: auto; }
}

/* --------------------------------------------------------------------------
   Danxer: ficha de evento, galería del cartel (cartel · programa · talleres · vídeo)
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-ev-stage { position: relative; overflow: hidden; border-radius: var(--sui-radius-lg); box-shadow: var(--sui-shadow-lg); }
body.sui.sui-danxer .sui-ev-stage > a { border-radius: 0; box-shadow: none; }
/* Programa, talleres o vídeo: se ven enteros sobre fondo oscuro, con la altura que tenía el cartel */
body.sui.sui-danxer .sui-ev-stage.is-media { background: #1f1e23; }
body.sui.sui-danxer .sui-ev-stage.is-media > a { height: 100%; }
body.sui.sui-danxer .sui-ev-stage.is-media > a img { height: 100%; max-height: none; object-fit: contain; }
body.sui.sui-danxer .sui-ev-stage.is-media > a:hover img { transform: none; }
/* Miniaturas */
body.sui.sui-danxer .sui-ev-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
body.sui.sui-danxer .sui-ev-thumb {
	position: relative;
	height: 64px;
	padding: 0;
	overflow: hidden;
	background: #1f1e23;
	border: 0;
	border-radius: 10px;
	opacity: .72;
	cursor: pointer;
	transition: opacity var(--sui-transition), transform var(--sui-transition);
}
body.sui.sui-danxer .sui-ev-thumb:hover,
body.sui.sui-danxer .sui-ev-thumb:focus-visible { opacity: 1; transform: translateY(-2px); }
body.sui.sui-danxer .sui-ev-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
body.sui.sui-danxer .sui-ev-thumb span {
	position: absolute; left: 0; right: 0; bottom: 0;
	padding: 14px 6px 4px;
	overflow: hidden;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: linear-gradient(180deg, rgba(31, 30, 35, 0) 0%, rgba(31, 30, 35, .85) 100%);
}
/* Activa: opaca y con borde del degradado de los títulos */
body.sui.sui-danxer .sui-ev-thumb.is-active { opacity: 1; }
body.sui.sui-danxer .sui-ev-thumb.is-active::after {
	content: "";
	position: absolute; inset: 0;
	padding: 2px;
	border-radius: 10px;
	background: var(--sui-title-gradient);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
body.sui.sui-danxer .sui-ev-thumb-play {
	position: absolute; top: 50%; left: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px;
	margin: -20px 0 0 -14px;
	padding-left: 2px;
	font-size: 11px;
	color: #fff;
	background: var(--sui-accent);
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(var(--sui-accent-rgb), .45);
}

/* Miniaturas más grandes: ocupan todo el ancho bajo el cartel (cada una en su columna) y, en escritorio,
   la columna del cartel se estira hasta la altura de la tarjeta de datos y las miniaturas llenan el hueco */
body.sui.sui-danxer .sui-ev-thumbs { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-rows: 96px; }
body.sui.sui-danxer .sui-ev-thumb { height: auto; }
body.sui.sui-danxer .sui-ev-thumb span { padding: 18px 6px 6px; font-size: 12px; }
body.sui.sui-danxer .sui-ev-thumb-play { width: 34px; height: 34px; margin: -24px 0 0 -17px; font-size: 13px; }
@media (min-width: 768px) {
	body.sui.sui-danxer .sui-ev-hero-poster:has(.sui-ev-thumbs) { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
	body.sui.sui-danxer .sui-ev-hero-poster:has(.sui-ev-thumbs) > .sui-ev-stage { flex: 0 0 auto; }
	body.sui.sui-danxer .sui-ev-hero-poster > .sui-ev-thumbs { flex: 1 1 0; min-height: 96px; max-height: 160px; grid-template-rows: minmax(96px, 1fr); }
}

/* Vídeo del evento en un modal (16:9, centrado y con fondo oscuro) */
body.sui.sui-danxer .sui-ev-video-modal .modal-dialog { width: auto; max-width: 960px; margin: 60px auto; padding: 0 16px; }
body.sui.sui-danxer .sui-ev-video-modal .modal-content { position: relative; overflow: hidden; background: #000; border: 0; border-radius: var(--sui-radius-lg); box-shadow: 0 24px 60px rgba(0, 0, 0, .5); }
body.sui.sui-danxer .sui-ev-video-modal iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
body.sui.sui-danxer .sui-ev-video-modal .close {
	position: absolute; top: -48px; right: 0;
	width: 40px; height: 40px;
	font-size: 28px; line-height: 40px; font-weight: 400;
	color: #fff; text-shadow: none; opacity: .85;
	background: rgba(255, 255, 255, .12);
	border-radius: 50%;
}
body.sui.sui-danxer .sui-ev-video-modal .modal-content { overflow: visible; }
body.sui.sui-danxer .sui-ev-video-modal iframe { border-radius: var(--sui-radius-lg); }
body.sui.sui-danxer .sui-ev-video-modal .close:hover { opacity: 1; background: var(--sui-accent); }
body.sui.sui-danxer .modal-backdrop.in { opacity: .85; }

/* Buscadores (home y listados): velo muy tenue con los colores de «bailas?» para que no se confundan con el menú blanco */
body.sui.sui-danxer .buscador-principal form {
	background:
		linear-gradient(90deg, rgba(0, 210, 106, .09) 0%, rgba(255, 188, 0, .09) 22%, rgba(230, 35, 163, .09) 48%, rgba(126, 42, 173, .09) 74%, rgba(70, 125, 220, .09) 100%),
		#fff;
}
body.sui.sui-danxer .buscador-principal form > .form-control + .form-control { border-left-color: rgba(126, 42, 173, .14); }

/* Artistas: filtros y buscador en una misma fila, centrados en vertical; los filtros arrancan
   en el borde del icono y el buscador es algo más bajo para acompañar a las píldoras */
@media (min-width: 768px) {
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) { display: flex; align-items: center; gap: 24px; margin: 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter):before,
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter):after { display: none; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) > [class*="col-"] { float: none; width: auto; padding: 0; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) > [class*="col-"]:first-child { flex: 0 0 auto; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) > [class*="col-"]:last-child { flex: 1 1 auto; min-width: 0; }
	body.sui.sui-danxer #page-title .buscador-principal #portfolio-filter.sui-filter { margin: 0; padding: 0; }
	/* El «clearfix» del listado de filtros contaba como un hueco más del flex y desplazaba las píldoras 8px */
	body.sui.sui-danxer #page-title .buscador-principal #portfolio-filter.sui-filter:before,
	body.sui.sui-danxer #page-title .buscador-principal #portfolio-filter.sui-filter:after { display: none; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) form { margin: 0; padding: 4px; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) form > .form-control,
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) form > .btn { height: 44px; }
	body.sui.sui-danxer #page-title .buscador-principal > .row:has(#portfolio-filter) form > .form-control { padding-left: 20px; }
}

/* --------------------------------------------------------------------------
   Danxer: Mis entradas (/myorders), tabla con cabecera morada y acciones en píldoras
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-orders-head { display: flex; align-items: center; justify-content: center; gap: 16px; position: relative; padding: 36px 16px 22px !important; }
body.sui.sui-danxer .sui-orders-head h3 { display: flex; align-items: center; gap: 12px; font-size: 34px; font-weight: 800; }
body.sui.sui-danxer .sui-orders-head h3 > .fa { font-size: 30px; color: var(--sui-accent); }
body.sui.sui-danxer .sui-orders-title { background-image: var(--sui-title-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body.sui.sui-danxer .sui-orders-help { position: absolute; right: 16px; top: 50%; margin-top: -4px; font-size: 15px; font-weight: 600; color: var(--sui-primary); }
body.sui.sui-danxer .sui-orders-help:hover { color: var(--sui-accent); text-decoration: none; }

/* Tarjeta de la tabla: banda morada de 48px y, debajo, la línea de colores (fondo de la tarjeta), como en la compra */
body.sui.sui-danxer .sui-orders .box-body {
	padding: 0;
	border: 0;
	background: var(--sui-title-gradient) 0 48px / 100% 4px no-repeat, var(--sui-surface);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-orders-table > thead > tr { background: linear-gradient(90deg, var(--sui-primary-dark) 0%, var(--sui-primary) 100%) 0 0 / 100% 48px no-repeat; }
body.sui.sui-danxer .sui-orders-table > thead > tr > th {
	box-sizing: border-box;
	height: 52px;
	padding: 0 16px 4px;
	vertical-align: middle;
	font-size: 12px;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, .95);
	background: transparent;
	border-bottom: 0;
}
body.sui.sui-danxer .sui-orders-table > tbody > tr > td { padding: 18px 16px; vertical-align: middle; font-size: 14px; color: var(--sui-text); border-top: 1px solid #f0edf4; }
body.sui.sui-danxer .sui-orders-table > tbody > tr:first-child > td { border-top: 0; }
body.sui.sui-danxer .sui-orders-table > tbody > tr:hover > td { background: #fbf8fd; }
body.sui.sui-danxer .sui-orders-table .sui-orders-amount { text-align: right; white-space: nowrap; }
body.sui.sui-danxer .sui-orders-table > tbody .sui-orders-amount { font-family: var(--sui-font-heading); font-size: 16px; font-weight: 800; color: var(--sui-primary-dark); }
body.sui.sui-danxer .sui-orders-id span { font-size: 13px; font-weight: 600; color: var(--sui-muted); font-variant-numeric: tabular-nums; }
body.sui.sui-danxer .sui-orders-date { font-size: 13px !important; color: var(--sui-muted) !important; white-space: nowrap; }
body.sui.sui-danxer .sui-orders-event strong { font-size: 15px; font-weight: 700; color: var(--sui-ink); }

/* Botón de descarga */
body.sui.sui-danxer a.sui-orders-pdf {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
	background: var(--sui-accent);
	border-radius: var(--sui-radius-pill);
	box-shadow: 0 6px 14px rgba(var(--sui-accent-rgb), .3);
	transition: background-color var(--sui-transition), transform var(--sui-transition);
}
body.sui.sui-danxer a.sui-orders-pdf:hover { color: #fff; text-decoration: none; background: var(--sui-accent-dark); transform: translateY(-1px); }

/* Titulares */
body.sui.sui-danxer .sui-orders-owner { display: flex; flex-direction: column; line-height: 1.35; }
body.sui.sui-danxer .sui-orders-owner + .sui-orders-owner { margin-top: 8px; }
body.sui.sui-danxer .sui-orders-owner strong { font-size: 14px; font-weight: 600; color: var(--sui-ink); }
body.sui.sui-danxer .sui-orders-owner span,
body.sui.sui-danxer .sui-orders-owner small,
body.sui.sui-danxer .sui-orders-checkin { font-size: 12px; color: var(--sui-muted); }
body.sui.sui-danxer .sui-orders-checkin { display: block; margin-top: 6px; font-style: italic; }

/* Acciones en píldoras */
body.sui.sui-danxer .sui-orders-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0 !important; }
body.sui.sui-danxer a.sui-orders-action {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 700;
	color: var(--sui-primary);
	background: var(--sui-primary-soft);
	border-radius: var(--sui-radius-pill);
	transition: background-color var(--sui-transition), color var(--sui-transition);
}
body.sui.sui-danxer a.sui-orders-action:hover { color: #fff; text-decoration: none; background: var(--sui-primary); }
body.sui.sui-danxer a.sui-orders-action.is-danger { color: #c0392b; background: #fdecea; }
body.sui.sui-danxer a.sui-orders-action.is-danger:hover { color: #fff; background: #c0392b; }
body.sui.sui-danxer a.sui-orders-action.is-info { color: #2f6db5; background: #e9f1fb; }
body.sui.sui-danxer a.sui-orders-action.is-info:hover { color: #fff; background: #2f6db5; }
body.sui.sui-danxer a.sui-orders-action.is-gift { color: var(--sui-accent); background: #fdf2fa; }
body.sui.sui-danxer a.sui-orders-action.is-gift:hover { color: #fff; background: var(--sui-accent); }
body.sui.sui-danxer a.sui-orders-action.is-icon { padding: 5px 9px; color: var(--sui-muted); background: #f4f2f7; }
body.sui.sui-danxer a.sui-orders-action.is-icon:hover { color: #fff; background: #c0392b; }

/* Pie: paginación y nota del IVA */
body.sui.sui-danxer .sui-orders .box-footer .pagination { margin: 24px 0 8px; }
body.sui.sui-danxer .sui-orders-note { margin: 22px 0 0; font-size: 13px; color: var(--sui-muted); text-align: center; }

/* Sin compras */
body.sui.sui-danxer .sui-orders-empty { margin: 20px 0 60px; padding: 48px 24px; text-align: center; background: #fff; border-radius: var(--sui-radius-lg); box-shadow: var(--sui-shadow-sm); }
body.sui.sui-danxer .sui-orders-empty > .fa { font-size: 44px; color: var(--sui-primary-light); }
body.sui.sui-danxer .sui-orders-empty h4 { margin: 14px 0 22px; font-size: 18px; color: var(--sui-ink); }

@media (max-width: 767px) {
	body.sui.sui-danxer .sui-orders-head { flex-direction: column; gap: 6px; padding: 24px 16px 14px !important; }
	body.sui.sui-danxer .sui-orders-head h3 { font-size: 26px; }
	body.sui.sui-danxer .sui-orders-help { position: static; margin: 0; }
	/* En móvil cada compra es una tarjeta (sin cabecera de tabla) */
	body.sui.sui-danxer .sui-orders .box-body { box-shadow: none; }
	body.sui.sui-danxer .sui-orders-table > tbody > tr:not(.modal) { position: relative; overflow: hidden; padding-top: 10px; border: 0; box-shadow: var(--sui-shadow-sm); }
	body.sui.sui-danxer .sui-orders-table > tbody > tr:not(.modal):before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--sui-title-gradient); }
	body.sui.sui-danxer .sui-orders-table > tbody > tr > td { padding: 10px 14px; vertical-align: top; border-top: 0; }
	body.sui.sui-danxer .sui-orders-table > tbody > tr > td + td { border-top: 1px dashed #ece8f1; }
	body.sui.sui-danxer .sui-orders-table > tbody .sui-orders-amount { text-align: left; }
	/* La fecha no se parte en escritorio, pero en móvil su etiqueta («Fecha de compra») sí debe poder hacerlo */
	body.sui.sui-danxer .sui-orders-table > tbody > tr > td.sui-orders-date { white-space: normal; }
	body.sui.sui-danxer .sui-orders-table > tbody > tr > td { grid-template-columns: 104px minmax(0, 1fr); }
	body.sui.sui-danxer .sui-orders-table > tbody > tr > td > p.sui-orders-actions { margin-top: 8px !important; }
}

/* --------------------------------------------------------------------------
   Danxer: Mis valoraciones (/myratings), una tarjeta por evento
   -------------------------------------------------------------------------- */
body.sui.sui-danxer .sui-mr { max-width: 960px; }
body.sui.sui-danxer .sui-mr-card {
	position: relative;
	display: flex;
	gap: 24px;
	margin: 0 0 24px;
	padding: 28px;
	overflow: hidden;
	background: #fff;
	border-radius: var(--sui-radius-lg);
	box-shadow: var(--sui-shadow-lg);
}
body.sui.sui-danxer .sui-mr-card:before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--sui-title-gradient); }
body.sui.sui-danxer .sui-mr-poster { flex: 0 0 140px; width: 140px; height: 176px; object-fit: cover; border-radius: var(--sui-radius); box-shadow: var(--sui-shadow-sm); }
body.sui.sui-danxer .sui-mr-body { flex: 1 1 auto; min-width: 0; }
body.sui.sui-danxer .sui-mr-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
body.sui.sui-danxer .sui-mr-name { margin: 0; font-family: var(--sui-font-heading); font-size: 22px; font-weight: 800; line-height: 1.25; color: var(--sui-ink); overflow-wrap: anywhere; }
body.sui.sui-danxer .sui-mr-actions { display: flex; flex: 0 0 auto; gap: 6px; }

/* Valoración publicada */
body.sui.sui-danxer .sui-mr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 14px; }
body.sui.sui-danxer .sui-mr-stars .fa { margin-right: 2px; font-size: 18px; color: #f5b301; }
body.sui.sui-danxer .sui-mr-date { font-size: 13px; color: var(--sui-muted); }
body.sui.sui-danxer .sui-mr-quote { margin: 0 0 16px; padding: 12px 16px; font-size: 15px; font-style: italic; line-height: 1.6; color: var(--sui-text); background: #faf8fc; border-left: 3px solid var(--sui-primary-light); border-radius: 0 var(--sui-radius) var(--sui-radius) 0; }
body.sui.sui-danxer .sui-mr-images { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
body.sui.sui-danxer .sui-mr-images img { display: block; width: 96px; height: 96px; object-fit: cover; border-radius: 10px; transition: transform var(--sui-transition); }
body.sui.sui-danxer .sui-mr-images a:hover img { transform: scale(1.04); }
body.sui.sui-danxer .sui-mr-reply { padding: 12px 16px; background: var(--sui-primary-soft); border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-mr-reply > span { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--sui-primary); }
body.sui.sui-danxer .sui-mr-reply p { margin: 6px 0 0; font-size: 14px; color: var(--sui-ink); }

/* Pendiente de valorar */
body.sui.sui-danxer .sui-mr-text { margin: 0 0 4px; color: var(--sui-text); }
body.sui.sui-danxer .sui-mr-question { margin: 0 0 16px; font-size: 16px; color: var(--sui-ink); }
body.sui.sui-danxer .sui-mr-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.sui.sui-danxer a.sui-mr-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 14px 6px;
	font-size: 14px;
	font-weight: 700;
	color: var(--sui-primary);
	text-align: center;
	background: var(--sui-primary-soft);
	border: 2px solid transparent;
	border-radius: var(--sui-radius);
	transition: border-color var(--sui-transition), transform var(--sui-transition), background-color var(--sui-transition);
}
body.sui.sui-danxer a.sui-mr-option:hover { text-decoration: none; background: #fff; border-color: var(--sui-primary); transform: translateY(-2px); }
body.sui.sui-danxer .sui-mr-hint { margin: 14px 0 0; font-size: 13px; color: var(--sui-muted); text-align: center; }

/* Fuera de plazo */
body.sui.sui-danxer .sui-mr-unavailable { display: flex; gap: 10px; margin: 0; padding: 12px 14px; font-size: 14px; line-height: 1.5; color: var(--sui-text); background: #f6f4f9; border-radius: var(--sui-radius); }
body.sui.sui-danxer .sui-mr-unavailable .fa { margin-top: 3px; color: var(--sui-muted); }

@media (max-width: 767px) {
	body.sui.sui-danxer .sui-mr-card { gap: 14px; padding: 20px 16px; }
	body.sui.sui-danxer .sui-mr-poster { flex-basis: 64px; width: 64px; height: 80px; }
	body.sui.sui-danxer .sui-mr-name { font-size: 18px; }
	body.sui.sui-danxer .sui-mr-options { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-left: -78px; }
	body.sui.sui-danxer .sui-mr-hint { margin-left: -78px; }
}

/* Mis entradas y Mis valoraciones: título más cerca del menú (unos 36px por debajo) */
body.sui.sui-danxer .sui-orders-head { padding-top: 16px !important; }
body.sui.sui-danxer .sui-ratings.sui-mr { padding-top: 20px; }
