/* =========================================================================
   Ticketera 2026 — estilos del tema
   Los colores de marca, cabecera y pie llegan como variables desde PHP
   (inc/configuracion.php). Aquí: tokens de claro/oscuro y componentes.
   No hay reinicio global de box-sizing: BeTheme trabajaba con content-box y
   los widgets de Tickera/Elementor dependen de eso.
   ========================================================================= */

/* ---------- Tokens: modo claro ---------- */
:root {
	--t26-enlace: var(--t26-enlace-claro, #007a9f);
	--t26-fondo: #ffffff;
	--t26-superficie: #ffffff;
	--t26-superficie-2: #f4f6f9;
	--t26-campo: #ffffff;
	--t26-texto: #000000;
	--t26-titulos: #0b0f1a;
	--t26-texto-suave: #4b5563;
	--t26-borde: #dde2ea;
	--t26-exito: #15803d;
	--t26-error: #b91c1c;
	--t26-aviso: #b45309;
	--t26-radio: 14px;
	--t26-radio-chico: 10px;
	--t26-sombra: 0 4px 24px rgba(15, 23, 42, .07);
	--t26-sombra-alta: 0 20px 50px rgba(15, 23, 42, .22);
	--t26-ancho: 1240px;
	--t26-margen: 20px;
	--t26-alto-cabecera: 72px;
	--t26-alto-cabecera-fija: 0px;
	color-scheme: light;
}

/* ---------- Tokens: modo oscuro (elegido o automático) ---------- */
html[data-tema="oscuro"] {
	--t26-enlace: var(--t26-enlace-oscuro, #4fd1f0);
	--t26-fondo: #0b0f1a;
	--t26-superficie: #121826;
	--t26-superficie-2: #1a2232;
	--t26-campo: #0f1522;
	--t26-texto: #e8ecf3;
	--t26-titulos: #f5f7fb;
	--t26-texto-suave: #a7b0c0;
	--t26-borde: #2a3448;
	--t26-exito: #22c55e;
	--t26-error: #f87171;
	--t26-aviso: #fbbf24;
	--t26-sombra: 0 4px 24px rgba(0, 0, 0, .35);
	--t26-sombra-alta: 0 20px 50px rgba(0, 0, 0, .55);
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	html[data-tema="auto"] {
		--t26-enlace: var(--t26-enlace-oscuro, #4fd1f0);
		--t26-fondo: #0b0f1a;
		--t26-superficie: #121826;
		--t26-superficie-2: #1a2232;
		--t26-campo: #0f1522;
		--t26-texto: #e8ecf3;
		--t26-titulos: #f5f7fb;
		--t26-texto-suave: #a7b0c0;
		--t26-borde: #2a3448;
		--t26-exito: #22c55e;
		--t26-error: #f87171;
		--t26-aviso: #fbbf24;
		--t26-sombra: 0 4px 24px rgba(0, 0, 0, .35);
		--t26-sombra-alta: 0 20px 50px rgba(0, 0, 0, .55);
		color-scheme: dark;
	}
}

@media (max-width: 1023px) {
	:root { --t26-alto-cabecera: 60px; }
}

@media (max-width: 600px) {
	:root { --t26-margen: 16px; }
}

.t26-cabecera-fija { --t26-alto-cabecera-fija: var(--t26-alto-cabecera); }

/* ---------- Base (equivalente a la tipografía que tenían los sitios en BeTheme) ---------- */
html { -webkit-text-size-adjust: 100%; }

html.t26-sin-scroll { overflow: hidden; }

body {
	margin: 0;
	background: var(--t26-fondo);
	color: var(--t26-texto);
	font-family: var(--t26-fuente);
	font-size: 15px;
	line-height: 28px;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--t26-fuente);
	color: var(--t26-titulos);
	margin: 0 0 15px;
}

h1 { font-size: 50px; line-height: 60px; font-weight: 500; }
h2 { font-size: 40px; line-height: 50px; font-weight: 500; }
h3 { font-size: 30px; line-height: 40px; font-weight: 400; }
h4 { font-size: 20px; line-height: 30px; font-weight: 600; }
h5 { font-size: 18px; line-height: 30px; font-weight: 400; }
h6 { font-size: 15px; line-height: 26px; font-weight: 700; }

@media (max-width: 767px) {
	h1 { font-size: 36px; line-height: 44px; }
	h2 { font-size: 30px; line-height: 38px; }
	h3 { font-size: 24px; line-height: 32px; }
	h4 { font-size: 18px; line-height: 28px; }
}

p { margin: 0 0 15px; }

a { color: var(--t26-enlace); text-decoration: none; }
a:hover { color: var(--t26-titulos); }

img { max-width: 100%; height: auto; }

hr { border: 0; border-top: 1px solid var(--t26-borde); margin: 24px 0; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--t26-marca);
	outline-offset: 2px;
}

/* En la cabecera, el foco con el color de su texto: si la cabecera es del color de marca,
   el contorno de marca no se veía. */
.t26-cabecera :focus-visible { outline-color: var(--t26-cabecera-texto, #ffffff); }

/* ...menos en los desplegables (menú de cuenta y submenús), que tienen fondo propio. */
.t26-cuenta__menu :focus-visible,
.t26-nav__lista .sub-menu :focus-visible { outline-color: var(--t26-marca); }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.t26-saltar:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	left: 12px;
	top: 12px;
	z-index: 100000;
	padding: 12px 18px;
	background: var(--t26-superficie);
	color: var(--t26-texto);
	border-radius: var(--t26-radio-chico);
	box-shadow: var(--t26-sombra-alta);
}

/* Tablas: mismos valores base que BeTheme (los widgets de compra los usan). */
.t26-contenido table {
	width: 100%;
	margin-bottom: 15px;
	border-collapse: collapse;
	border-spacing: 0;
}

.t26-contenido table th,
.t26-contenido table td {
	padding: 10px;
	text-align: center;
	border: 1px solid var(--t26-borde);
	vertical-align: middle;
}

.t26-contenido table th {
	font-weight: 700;
	background: var(--t26-superficie-2);
}

/* Botones y campos usan la fuente del sitio (BeTheme hacía lo mismo). */
:where(button, input, select, textarea) { font-family: inherit; }

/* Campos de formulario genéricos dentro del contenido. */
.t26-contenido :where(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], input[type="url"], input[type="date"], select, textarea) {
	font: inherit;
	color: var(--t26-texto);
	background-color: var(--t26-campo);
	border: 1px solid var(--t26-borde);
	border-radius: 8px;
	padding: 10px 12px;
	max-width: 100%;
	line-height: 1.4;
}

/* ---------- Contenedor y estructura ---------- */
.t26-contenedor {
	width: 100%;
	max-width: calc(var(--t26-ancho) + 2 * var(--t26-margen));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--t26-margen);
	padding-right: var(--t26-margen);
	box-sizing: border-box;
}

/* Contenido de Elementor más ancho que la pantalla (imágenes, pestañas): se
   recorta como hacía BeTheme, sin barra horizontal. "clip" no crea un
   contenedor de desplazamiento, así que no rompe los elementos sticky. */
.t26-contenido { min-height: 50vh; overflow-x: clip; }

.t26-pagina__contenido {
	padding-top: 40px;
	padding-bottom: 64px;
}

.t26-pagina--sin-espacio .t26-pagina__contenido,
.t26-pagina--en-blanco {
	padding-top: 0;
	padding-bottom: 0;
}

.t26-pagina__contenido::after {
	content: '';
	display: table;
	clear: both;
}

.t26-titulo-pagina {
	background: var(--t26-superficie-2);
	border-bottom: 1px solid var(--t26-borde);
	padding: 28px 0;
}

.t26-titulo-pagina__texto {
	margin: 0;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 600;
}

@media (max-width: 767px) {
	.t26-titulo-pagina { padding: 20px 0; }
	.t26-titulo-pagina__texto { font-size: 26px; }
	.t26-pagina__contenido { padding-top: 24px; padding-bottom: 48px; }
}

/* ---------- Botones del tema ---------- */
.t26-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border: 1.5px solid transparent;
	border-radius: var(--t26-radio-chico);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.t26-boton--primario,
.t26-boton--primario:visited {
	background: var(--t26-marca);
	border-color: var(--t26-marca);
	color: var(--t26-marca-texto);
}

.t26-boton--primario:hover,
.t26-boton--primario:focus-visible {
	background: var(--t26-marca-hover);
	border-color: var(--t26-marca-hover);
	color: var(--t26-marca-texto);
}

.t26-boton--secundario,
.t26-boton--secundario:visited {
	background: transparent;
	border-color: var(--t26-borde);
	color: var(--t26-texto);
}

.t26-boton--secundario:hover,
.t26-boton--secundario:focus-visible {
	background: var(--t26-superficie-2);
	color: var(--t26-texto);
}

.t26-boton--chico { padding: 8px 14px; font-size: 14px; }
.t26-boton--ancho { width: 100%; }

.t26-icono-boton {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: var(--t26-radio-chico);
	background: transparent;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	flex-shrink: 0;
	transition: background-color .2s ease;
}

/* =========================================================================
   Cabecera
   ========================================================================= */
.t26-cabecera {
	position: relative;
	z-index: 90; /* debajo del contador de compra (100) y del 3DS de PowerTranz (1000) */
	background: var(--t26-cabecera-fondo, #0b0f1a);
	color: var(--t26-cabecera-texto, #ffffff);
	border-bottom: 1px solid rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .08);
}

.t26-cabecera-fija .t26-cabecera {
	position: sticky;
	top: 0;
}

.admin-bar.t26-cabecera-fija .t26-cabecera { top: 32px; }

@media (max-width: 782px) {
	.admin-bar.t26-cabecera-fija .t26-cabecera { top: 46px; }
}

@media (max-width: 600px) {
	.admin-bar.t26-cabecera-fija .t26-cabecera { top: 0; }
}

.t26-cabecera *,
.t26-cabecera *::before,
.t26-cabecera *::after { box-sizing: border-box; }

.t26-cabecera__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: var(--t26-alto-cabecera);
}

.t26-cabecera .t26-icono-boton:hover,
.t26-cabecera .t26-icono-boton:focus-visible {
	background: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .1);
	color: var(--t26-cabecera-texto, #ffffff);
}

.t26-cabecera .t26-icono-boton { color: var(--t26-cabecera-texto, #ffffff); }

.t26-logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	min-width: 0;
	color: var(--t26-cabecera-texto, #ffffff);
	text-decoration: none;
}

.t26-logo:hover { color: var(--t26-cabecera-texto, #ffffff); }

.t26-logo__img {
	display: block;
	width: auto;
	height: auto;
	max-height: 46px;
	max-width: 200px;
}

.t26-logo__texto {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 1023px) {
	.t26-logo__img { max-height: 36px; max-width: 150px; }
	.t26-logo__texto { font-size: 17px; max-width: 46vw; }
}

/* Teléfonos angostos (320–375 px, con el botón claro/oscuro): el logo cede espacio en
   vez de empujar la cabecera fuera de la pantalla. */
@media (max-width: 400px) {
	.t26-cabecera__barra { gap: 8px; }
	.t26-logo { flex-shrink: 1; }
	.t26-logo__img { max-width: 100%; }
}

/* Menú de escritorio */
.t26-nav { display: none; flex: 1; min-width: 0; }

.t26-nav__lista,
.t26-nav__lista .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.t26-nav__lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
}

.t26-nav__lista li { position: relative; }

.t26-nav__lista a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border-radius: 8px;
	color: var(--t26-cabecera-texto, #ffffff);
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	text-decoration: none;
	opacity: .92;
	transition: background-color .2s ease, opacity .2s ease, color .2s ease;
}

.t26-nav__lista a:hover,
.t26-nav__lista a:focus-visible {
	background: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .1);
	color: var(--t26-cabecera-texto, #ffffff);
	opacity: 1;
}

.t26-nav__lista > .current-menu-item > a,
.t26-nav__lista > .current-menu-ancestor > a,
.t26-nav__lista > .current_page_item > a {
	color: var(--t26-cabecera-activo, var(--t26-marca));
	opacity: 1;
}

.t26-nav__lista > .menu-item-has-children > a::after {
	content: '';
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: .75;
}

.t26-nav__lista .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	min-width: 230px;
	padding: 8px;
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: 12px;
	box-shadow: var(--t26-sombra-alta);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.t26-nav__lista .sub-menu .sub-menu { top: -8px; left: 100%; }

.t26-nav__lista li:hover > .sub-menu,
.t26-nav__lista li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.t26-nav__lista .sub-menu a {
	color: var(--t26-texto);
	opacity: 1;
	padding: 9px 12px;
	font-size: 14px;
}

.t26-nav__lista .sub-menu a:hover,
.t26-nav__lista .sub-menu a:focus-visible {
	background: var(--t26-superficie-2);
	color: var(--t26-texto);
}

/* Acciones (modo, cuenta, carrito) */
.t26-cabecera__acciones {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	flex-shrink: 0;
}

.t26-cabecera__menu { margin-left: -8px; }

@media (min-width: 1024px) {
	.t26-nav { display: block; }
	.t26-cabecera__menu { display: none; }
	.t26-cabecera__barra { gap: 24px; }
	.t26-cabecera__acciones { margin-left: 0; }
}

.t26-modo__luna { display: none; }
.t26-modo-oscuro-activo .t26-modo__sol { display: none; }
.t26-modo-oscuro-activo .t26-modo__luna { display: block; }
.t26-modo__texto-claro { display: none; }
.t26-modo-oscuro-activo .t26-modo__texto-claro { display: inline; }
.t26-modo-oscuro-activo .t26-modo__texto-oscuro { display: none; }

/* Cuenta */
.t26-cuenta {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
}

.t26-cuenta__entrar {
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--t26-cabecera-texto, #ffffff);
	font-size: 15px;
	font-weight: 500;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
}

.t26-cuenta__entrar:hover,
.t26-cuenta__entrar:focus-visible {
	background: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .1);
	color: var(--t26-cabecera-texto, #ffffff);
}

.t26-cuenta__registro { white-space: nowrap; }

.t26-cuenta__icono { display: none; }

.t26-cuenta__boton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 220px;
	padding: 4px 10px 4px 4px;
	border: 1px solid rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .16);
	border-radius: 999px;
	background: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .06);
	color: var(--t26-cabecera-texto, #ffffff);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	cursor: pointer;
}

.t26-cuenta__boton:hover,
.t26-cuenta__boton[aria-expanded="true"] {
	background: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .12);
}

.t26-cuenta__nombre {
	max-width: 130px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.t26-cuenta__flecha { transition: transform .2s ease; }
.t26-cuenta__boton[aria-expanded="true"] .t26-cuenta__flecha { transform: rotate(180deg); }

.t26-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--t26-marca);
	color: var(--t26-marca-texto);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	flex-shrink: 0;
}

.t26-cuenta__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 20;
	min-width: 210px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: 12px;
	box-shadow: var(--t26-sombra-alta);
}

.t26-cuenta__menu[hidden] { display: none; }

.t26-cuenta__menu a {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--t26-texto);
	font-size: 15px;
	line-height: 20px;
	text-decoration: none;
}

.t26-cuenta__menu a:hover,
.t26-cuenta__menu a:focus-visible {
	background: var(--t26-superficie-2);
	color: var(--t26-texto);
}

@media (max-width: 640px) {
	.t26-cuenta__entrar,
	.t26-cuenta__registro,
	.t26-cuenta__nombre,
	.t26-cuenta__flecha { display: none; }
	.t26-cuenta__icono { display: inline-flex; }
	.t26-cuenta__boton { padding: 3px; }
}

/* Carrito en la cabecera */
.t26-carrito-contador {
	position: absolute;
	top: 3px;
	right: 1px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--t26-marca);
	color: var(--t26-marca-texto);
	font-size: 11px;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 0 0 2px var(--t26-cabecera-fondo, #0b0f1a);
}

.t26-carrito-contador[data-cantidad="0"] { display: none; }

/* =========================================================================
   Paneles laterales (menú móvil y carrito)
   ========================================================================= */
.t26-panel[hidden] { display: none; }

.t26-panel {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 995; /* debajo del 3DS de PowerTranz (1000) */
}

/* El botón flotante de WhatsApp (Joinchat, z-index 9000) quedaba encima del panel abierto. */
html.t26-sin-scroll .joinchat { visibility: hidden; }

.t26-panel *,
.t26-panel *::before,
.t26-panel *::after { box-sizing: border-box; }

.t26-panel__fondo {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 15, .55);
	opacity: 0;
	transition: opacity .26s ease;
}

.t26-panel__caja {
	position: absolute;
	top: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	background: var(--t26-superficie);
	color: var(--t26-texto);
	box-shadow: var(--t26-sombra-alta);
	outline: none;
	overflow: hidden;
	transition: transform .26s ease;
}

/* Pantallas bajas (teléfono en horizontal): todo el panel se desplaza, para que el pie
   del carrito (totales y botones) no quede cortado. */
@media (max-height: 520px) {
	.t26-panel__caja { overflow-y: auto; }
	.t26-panel__caja .t26-carrito-cuerpo { flex: none; min-height: auto; }
	.t26-panel__caja .t26-carrito-lista { flex: none; overflow: visible; }
}

.t26-panel--derecha .t26-panel__caja { right: 0; transform: translateX(100%); }
.t26-panel--izquierda .t26-panel__caja { left: 0; width: min(360px, 88vw); transform: translateX(-100%); }

.t26-panel.esta-abierto .t26-panel__fondo { opacity: 1; }
.t26-panel.esta-abierto .t26-panel__caja { transform: none; }

.t26-panel__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 12px 12px 20px;
	border-bottom: 1px solid var(--t26-borde);
	flex-shrink: 0;
}

.t26-panel__titulo {
	margin: 0;
	color: var(--t26-titulos);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.t26-panel__cerrar { color: var(--t26-texto); }
.t26-panel__cerrar:hover,
.t26-panel__cerrar:focus-visible { background: var(--t26-superficie-2); }

.t26-panel__contenido {
	flex: 1;
	overflow-y: auto;
	padding: 12px 20px 24px;
	-webkit-overflow-scrolling: touch;
}

/* Menú móvil */
.t26-menu-movil__lista,
.t26-menu-movil__lista .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.t26-menu-movil__lista .sub-menu { padding-left: 14px; border-left: 2px solid var(--t26-borde); margin: 0 0 6px 12px; }

.t26-menu-movil__lista a {
	display: block;
	padding: 12px 8px;
	border-radius: 8px;
	color: var(--t26-texto);
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
	text-decoration: none;
}

.t26-menu-movil__lista a:hover,
.t26-menu-movil__lista a:focus-visible { background: var(--t26-superficie-2); color: var(--t26-texto); }

.t26-menu-movil__lista .current-menu-item > a { color: var(--t26-enlace); }

.t26-panel-cuenta {
	display: grid;
	gap: 10px;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--t26-borde);
}

.t26-panel-cuenta__saludo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-weight: 600;
}

.t26-panel-cuenta__lista { list-style: none; margin: 0; padding: 0; }

.t26-panel-cuenta__lista a {
	display: block;
	padding: 10px 8px;
	border-radius: 8px;
	color: var(--t26-texto);
	text-decoration: none;
	line-height: 22px;
}

.t26-panel-cuenta__lista a:hover { background: var(--t26-superficie-2); color: var(--t26-texto); }

.t26-panel__modo { margin-top: 16px; }

/* Carrito lateral */
.t26-carrito-cuerpo {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

.t26-carrito-lista {
	flex: 1;
	margin: 0;
	padding: 4px 20px;
	list-style: none;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.t26-carrito-item {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--t26-borde);
}

.t26-carrito-item:last-child { border-bottom: 0; }

.t26-carrito-item__info { min-width: 0; }

.t26-carrito-item__nombre {
	margin: 0 0 4px;
	color: var(--t26-titulos);
	font-weight: 600;
	line-height: 1.35;
}

/* Sillas de Seating Charts (vienen con un <br> suelto antes y la ✕ flotando a la izquierda). */
.t26-carrito-item__info > br { display: none; }

.t26-carrito-item .tc-cart-seat-wrap {
	margin: 0 0 4px;
	font-size: 13px;
	line-height: 1.4;
}

.t26-carrito-item .tc-single-cart-seat {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.t26-carrito-item .tc_cart_seat_remove {
	float: none;
	margin: 0;
	color: var(--t26-texto-suave);
	cursor: pointer;
}

.t26-carrito-item .tc_cart_seat_remove:hover { color: var(--t26-error); }

.t26-carrito-item dl.variation {
	margin: 0 0 4px;
	color: var(--t26-texto-suave);
	font-size: 13px;
	line-height: 1.45;
}

.t26-carrito-item dl.variation dt,
.t26-carrito-item dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
	float: none;
}

.t26-carrito-item dl.variation dd p { display: inline; margin: 0; }
.t26-carrito-item dl.variation dd::after { content: ''; display: block; }

.t26-carrito-item__precio {
	margin: 0;
	color: var(--t26-texto-suave);
	font-size: 13px;
	line-height: 1.4;
}

.t26-carrito-item__lado {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	flex-shrink: 0;
}

.t26-carrito-item__subtotal { font-weight: 700; line-height: 1.35; }

.t26-panel .t26-carrito-item a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	color: var(--t26-texto-suave) !important;
	background: transparent;
	text-decoration: none;
	font-size: 0;
}

.t26-panel .t26-carrito-item a.remove:hover,
.t26-panel .t26-carrito-item a.remove:focus-visible {
	background: rgba(185, 28, 28, .1);
	color: var(--t26-error) !important;
}

.t26-carrito-pie {
	flex-shrink: 0;
	padding: 14px 20px 20px;
	border-top: 1px solid var(--t26-borde);
	background: var(--t26-superficie-2);
}

.t26-carrito-fila,
.t26-carrito-pie .mfn-chft-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 3px 0;
	font-size: 14px;
	line-height: 1.5;
}

.t26-carrito-pie .mfn-chft-row span { text-align: right; }

.t26-carrito-fila__valor { text-align: right; }
.t26-carrito-fila__valor small { display: block; font-size: 12px; color: var(--t26-texto-suave); }

.t26-carrito-fila--total {
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px dashed var(--t26-borde);
	color: var(--t26-titulos);
	font-size: 17px;
	font-weight: 700;
}

.t26-carrito-acciones {
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

.t26-carrito-vacio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 48px 24px;
	color: var(--t26-texto-suave);
	text-align: center;
}

.t26-carrito-vacio p { margin: 0; font-size: 16px; }

.t26-carrito-cargando {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 48px 24px;
	color: var(--t26-texto-suave);
	text-align: center;
}

.t26-carrito-cargando a { font-size: 14px; }

.t26-con-carrito .t26-carrito-cuerpo--pendiente .t26-carrito-cargando { display: flex; }
.t26-con-carrito .t26-carrito-cuerpo--pendiente .t26-carrito-vacio { display: none; }
.t26-carrito-error .t26-carrito-cuerpo--pendiente .t26-girando { display: none; }

.t26-girando {
	width: 22px;
	height: 22px;
	border: 3px solid var(--t26-borde);
	border-top-color: var(--t26-marca);
	border-radius: 50%;
	animation: t26-girar .8s linear infinite;
}

@keyframes t26-girar { to { transform: rotate(360deg); } }

/* =========================================================================
   Pie
   ========================================================================= */
.t26-pie {
	background: var(--t26-pie-fondo, #0b0f1a);
	color: var(--t26-pie-texto, #c9d1dc);
}

.t26-pie a { color: var(--t26-pie-enlace, #4fd1f0); }
.t26-pie a:hover { color: var(--t26-pie-titulos, #ffffff); }

.t26-pie__widgets {
	display: grid;
	/* minmax(0, 1fr): sin esto la columna crece con el contenido de Elementor
	   y la página se desborda a lo ancho. */
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	padding-top: 40px;
	padding-bottom: 32px;
}

.t26-pie__columna { min-width: 0; }

/* Una sola columna = la plantilla de Elementor del pie: sin relleno (como BeTheme). */
.t26-pie__widgets--1 { padding-top: 0; padding-bottom: 0; }

@media (min-width: 768px) {
	.t26-pie__widgets--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t26-pie__widgets--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.t26-pie__widgets--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.t26-widget + .t26-widget { margin-top: 24px; }

.t26-widget__titulo {
	margin: 0 0 12px;
	color: var(--t26-pie-titulos, #ffffff);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}

.t26-pie__base {
	border-top: 1px solid var(--t26-pie-borde, rgba(255, 255, 255, .1));
	font-size: 14px;
	line-height: 1.5;
}

.t26-pie__base-interior {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 18px;
	padding-bottom: 18px;
}

.t26-pie__texto { margin: 0; }

.t26-pie__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* =========================================================================
   Pie global (el mismo en toda la red; datos en inc/pie-global-datos.php)
   Usa los colores de la cabecera para enmarcar la página igual en todos los sitios.
   ========================================================================= */
.t26-pie-global {
	background: var(--t26-cabecera-fondo, #0b0f1a);
	color: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .78);
	font-size: 15px;
	line-height: 1.6;
}

.t26-pie-global *,
.t26-pie-global *::before,
.t26-pie-global *::after { box-sizing: border-box; }

.t26-pie-global a { color: rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .88); text-decoration: none; }
.t26-pie-global a:hover,
.t26-pie-global a:focus-visible { color: var(--t26-cabecera-activo, var(--t26-marca)); }

.t26-pie-global__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px 32px;
	padding-top: 56px;
	padding-bottom: 44px;
}

@media (min-width: 640px) {
	.t26-pie-global__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t26-pie-global__marca { grid-column: 1 / -1; }
}

@media (min-width: 1024px) {
	.t26-pie-global__rejilla {
		grid-template-columns: minmax(0, 1.5fr);
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
	}
	.t26-pie-global__marca { grid-column: auto; }
}

.t26-pie-global .t26-logo__img { max-height: 46px; max-width: 200px; }

.t26-pie-global__descripcion {
	max-width: 340px;
	margin: 16px 0 18px;
}

.t26-pie-global__redes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.t26-pie-global__redes a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .2);
	border-radius: 50%;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.t26-pie-global__redes a:hover,
.t26-pie-global__redes a:focus-visible {
	background: var(--t26-marca);
	border-color: var(--t26-marca);
	color: var(--t26-marca-texto);
}

.t26-pie-global__titulo {
	margin: 0 0 14px;
	color: var(--t26-cabecera-texto, #ffffff);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.t26-pie-global__lista,
.t26-pie-global__datos {
	margin: 0;
	padding: 0;
	list-style: none;
}

.t26-pie-global__lista li { margin: 0 0 10px; }

.t26-pie-global__datos li {
	display: flex;
	gap: 10px;
	margin: 0 0 12px;
}

.t26-pie-global__datos svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--t26-cabecera-activo, var(--t26-marca));
}

.t26-pie-global__datos span a { display: inline-block; margin-top: 2px; font-weight: 600; }

.t26-pie-global__base {
	border-top: 1px solid rgba(var(--t26-cabecera-texto-rgb, 255, 255, 255), .1);
	font-size: 13px;
}

.t26-pie-global__base p {
	margin: 0;
	padding: 18px 0;
}

/* =========================================================================
   Listados y 404
   ========================================================================= */
.t26-listado {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	margin-bottom: 32px;
}

.t26-tarjeta {
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: var(--t26-radio);
	padding: 0 0 18px;
	overflow: hidden;
}

.t26-tarjeta__imagen img { display: block; width: 100%; height: auto; }
.t26-tarjeta__titulo { margin: 16px 18px 8px; font-size: 20px; line-height: 1.3; }
.t26-tarjeta__titulo a { color: var(--t26-titulos); }
.t26-tarjeta__resumen { margin: 0 18px; color: var(--t26-texto-suave); }

.t26-error-404 { text-align: center; max-width: 640px; }
.t26-error-404__codigo { margin: 0; font-size: 96px; line-height: 1; font-weight: 700; color: var(--t26-marca); }
.t26-error-404__acciones { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 24px; }

/* =========================================================================
   WooCommerce
   ========================================================================= */

/* Avisos */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--t26-superficie-2);
	color: var(--t26-texto);
	border-radius: 12px;
	line-height: 1.5;
}

.woocommerce-error { border-top-color: var(--t26-error); }
.woocommerce-message { border-top-color: var(--t26-exito); }
.woocommerce-info { border-top-color: var(--t26-marca); }

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: var(--t26-enlace); }

/* "¡Casi listo!" al venir del checkout */
.woocommerce-info.custom-login-message {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border-top: 0;
	border-left: 4px solid var(--t26-marca);
	background: rgba(var(--t26-marca-rgb), .1);
	box-shadow: none;
}

.woocommerce-info.custom-login-message::before { content: none !important; }
.custom-login-message__icono { flex-shrink: 0; color: var(--t26-enlace); }
.custom-login-message strong { color: var(--t26-titulos); }

/* Base de los <button> de plugins (Tickera, Seating Charts, Elementor...). BeTheme
   se la daba a todos los botones; sin ella salían con el estilo del navegador
   (p. ej. "Ver Mapa" de los mapas de asientos, 1px 6px y borde en relieve).
   Misma especificidad que la regla de BeTheme: las reglas con clase del plugin
   siguen mandando (los − / + del widget, las pestañas de Elementor...). */
button:where(:not(.t26-ui)),
input:where([type="button"], [type="reset"], [type="submit"]):where(:not(.t26-ui)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 11px 20px;
	border: 0;
	border-radius: var(--t26-radio-chico);
	font-family: inherit;
	font-size: 15px;
	line-height: 18px;
	cursor: pointer;
}

/* El display de arriba le ganaría al atributo hidden del navegador. */
button[hidden],
input[hidden] { display: none; }

/* Botones de WooCommerce en cualquier página (también los de los widgets de
   compra, dentro de "tickera woocommerce"): fondo de marca como con BeTheme,
   en vez del gris de WooCommerce. El texto blanco lo pone el tema hijo; los
   colores configurados en el widget de Elementor tienen más especificidad y
   siguen mandando. */
body.t26 .woocommerce :is(a.button, button.button, input.button) {
	background-color: var(--t26-marca);
	border-color: var(--t26-marca);
	padding: 11px 20px;
	line-height: 18px;
}

body.t26 .woocommerce :is(a.button, button.button, input.button):hover {
	background-color: var(--t26-marca-oscura);
	border-color: var(--t26-marca-oscura);
}

/* Botones de WooCommerce con el color de marca y texto legible, solo en las
   páginas de WooCommerce: los widgets de compra (dentro de "tickera
   woocommerce" en las páginas del evento) conservan sus propios colores.
   El color lleva !important para ganarle al texto blanco forzado que el tema
   hijo pone a todos los botones (ocultar_formulariodecupones). */
body.t26:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product) .woocommerce :is(a.button, button.button, input.button),
body.t26 .mis-botones-thankyou .button {
	background-color: var(--t26-marca);
	border: 0;
	border-radius: var(--t26-radio-chico);
	color: var(--t26-marca-texto) !important;
	font-family: inherit;
	font-weight: 600;
	line-height: 1.2;
	padding: 12px 20px;
	text-decoration: none;
	transition: background-color .2s ease;
}

body.t26:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product) .woocommerce :is(a.button, button.button, input.button):hover,
body.t26 .mis-botones-thankyou .button:hover {
	background-color: var(--t26-marca-hover);
	color: var(--t26-marca-texto) !important;
}

body.t26:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .single-product) .woocommerce button.button:disabled {
	background-color: var(--t26-marca);
	color: var(--t26-marca-texto) !important;
	opacity: .5;
}

/* Botón cargando (agregar al carrito) */
body.t26 .button.loading { opacity: .7; }

/* Campos */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .t26-form select {
	background-color: var(--t26-campo);
	color: var(--t26-texto);
	border: 1px solid var(--t26-borde);
	border-radius: var(--t26-radio-chico);
	padding: 11px 14px;
	font: inherit;
	line-height: 1.4;
}

.woocommerce form .form-row label { line-height: 1.5; }

/* select2 esconde el <select> original con position:absolute, y el select2.css de WooCommerce no le
   fija el ancho: el width:100% lo estiraba al ancho de la ventana (barra horizontal en el checkout). */
body.t26 select.select2-hidden-accessible {
	width: 1px !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.select2-container--default .select2-selection--single {
	background-color: var(--t26-campo);
	border-color: var(--t26-borde);
	border-radius: var(--t26-radio-chico);
}

.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--t26-texto); }

.select2-dropdown {
	background-color: var(--t26-superficie);
	color: var(--t26-texto);
	border-color: var(--t26-borde);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	background-color: var(--t26-campo);
	color: var(--t26-texto);
	border-color: var(--t26-borde);
}

/* Opción ya elegida: select2 la pinta #ddd fijo (en modo oscuro, texto claro sobre gris claro). */
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background-color: var(--t26-superficie-2);
	color: var(--t26-texto);
}

/* Flechas de los desplegables: WooCommerce las dibuja negras; en modo oscuro casi no se veían. */
html[data-tema="oscuro"] .woocommerce form .form-row select,
html[data-tema="oscuro"] .select2-container .select2-selection--single .select2-selection__arrow b {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8ecf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
	html[data-tema="auto"] .woocommerce form .form-row select,
	html[data-tema="auto"] .select2-container .select2-selection--single .select2-selection__arrow b {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8ecf3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	}
}

/* Capas de plugins con fondo blanco fijo (PowerTranz "Por favor espere...", mapa y
   ventanas de Seating Charts): texto oscuro propio; en modo oscuro heredaban el claro. */
#pf-overlay,
.tc_seating_map,
.tc-modal,
.tc-modal-woobridge,
.tc-added-to-cart {
	color: #1f2937;
}

/* Formulario de tarjeta de PowerTranz: su borde negro fijo no se veía en modo oscuro. */
html[data-tema="oscuro"] fieldset[id^="wc-"][id$="-credit-card-form"] { border-color: var(--t26-borde) !important; }

@media (prefers-color-scheme: dark) {
	html[data-tema="auto"] fieldset[id^="wc-"][id$="-credit-card-form"] { border-color: var(--t26-borde) !important; }
}

/* Métodos de pago fuera del asistente (p. ej. "Pagar pedido") */
body.t26 #payment {
	background: var(--t26-superficie-2);
	color: var(--t26-texto);
	border-radius: var(--t26-radio);
}

body.t26 #payment div.payment_box {
	background: var(--t26-superficie);
	color: var(--t26-texto);
}

body.t26 #payment div.payment_box::before { border-bottom-color: var(--t26-superficie); }
body.t26 #payment ul.payment_methods { border-bottom-color: var(--t26-borde); }

/* Cupón de banco: el código heredado trae fondo y borde claros en línea; sin esto, en modo oscuro el texto no se leía. */
body.t26 .custom-coupon-wrapper {
	background: var(--t26-superficie-2) !important;
	border-color: var(--t26-borde) !important;
	border-radius: var(--t26-radio-chico);
	color: var(--t26-texto);
}

/* Tablas de WooCommerce */
.woocommerce table.shop_table {
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: var(--t26-radio);
	color: var(--t26-texto);
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--t26-borde);
	text-align: left;
	line-height: 1.5;
}

.woocommerce table.shop_table thead th {
	background: var(--t26-superficie-2);
	color: var(--t26-texto-suave);
	font-size: 13px;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td { border-left: 0; border-right: 0; }

.woocommerce table.shop_table td.product-name .variation { font-size: 13px; color: var(--t26-texto-suave); }

/* Seating Charts carga una regla global ".product-name{display:block}" que
   rompe la celda en escritorio; en celular WooCommerce ya apila las celdas. */
@media (min-width: 769px) {
	.woocommerce table.shop_table th.product-name,
	.woocommerce table.shop_table td.product-name { display: table-cell; }
}

@media (min-width: 769px) {
	.woocommerce table.shop_table td.product-remove { width: 48px; text-align: center; }
}

@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive tr td.product-remove { text-align: right; }
}

.woocommerce table.shop_table a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	font-size: 22px;
	line-height: 1;
	color: var(--t26-texto-suave) !important;
}

.woocommerce table.shop_table a.remove:hover {
	background: rgba(185, 28, 28, .1);
	color: var(--t26-error) !important;
}

.cantidad-simple-fija { font-weight: 700; }

/* Carrito: tabla a la izquierda y totales a la derecha en escritorio */
.woocommerce-cart .t26-pagina:not(.t26-pagina--elementor) .t26-pagina__contenido > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

@media (min-width: 992px) {
	.woocommerce-cart .t26-pagina:not(.t26-pagina--elementor) .t26-pagina__contenido > .woocommerce {
		grid-template-columns: minmax(0, 1fr) 380px;
	}

	.woocommerce-cart .t26-pagina:not(.t26-pagina--elementor) .t26-pagina__contenido > .woocommerce > * { grid-column: 1 / -1; }
	.woocommerce-cart .t26-pagina:not(.t26-pagina--elementor) .t26-pagina__contenido > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .t26-pagina:not(.t26-pagina--elementor) .t26-pagina__contenido > .woocommerce > .cart-collaterals { grid-column: 2; }
}

.woocommerce-cart .woocommerce-cart-form table.shop_table { margin-bottom: 0; }

.woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 20px;
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: var(--t26-radio);
	box-shadow: var(--t26-sombra);
	box-sizing: border-box;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table { border: 0; border-radius: 0; box-shadow: none; }

.woocommerce-cart .cart-collaterals .cart_totals tr th,
.woocommerce-cart .cart-collaterals .cart_totals tr td { border-top-color: var(--t26-borde); }
.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td { font-size: 18px; }

.woocommerce .cart-collaterals .cross-sells { float: none; width: 100%; }

.woocommerce .wc-proceed-to-checkout { padding-bottom: 0; }

body.t26 .woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	margin-bottom: 0;
	padding: 16px 20px;
	font-size: 17px;
	text-align: center;
}

.woocommerce .cart .actions .coupon .input-text { min-width: 160px; }

/* Botones − / + de cantidad (mismo marcado que ponía BeTheme) */
.woocommerce .quantity {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	vertical-align: middle;
}

/* input.qty: la regla de WooCommerce ".woocommerce .quantity .qty" (ancho 3.6em) le ganaba
   al ancho y el número quedaba tapado por el relleno de los botones − / +. */
.woocommerce .quantity input,
.woocommerce .quantity input.qty {
	box-sizing: border-box;
	width: 112px;
	min-height: 42px;
	margin: 0;
	padding: 8px 32px;
	text-align: center;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce .quantity input::-webkit-inner-spin-button,
.woocommerce .quantity input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce .quantity a.quantity-change {
	position: absolute;
	top: 4px;
	bottom: 4px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	border-radius: 6px;
	color: var(--t26-texto);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	user-select: none;
}

.woocommerce .quantity a.quantity-change:hover { background: rgba(127, 127, 127, .14); }
.woocommerce .quantity a.quantity-change.minus { left: 4px; }
.woocommerce .quantity a.quantity-change.plus { right: 4px; }

.woocommerce .quantity:has(input[readonly]) a.quantity-change,
.woocommerce .quantity:has(input[type="hidden"]) a.quantity-change { display: none; }

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--t26-superficie);
	border: 1px solid var(--t26-borde);
	border-radius: var(--t26-radio);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	border-radius: var(--t26-radio-chico);
	color: var(--t26-texto);
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--t26-superficie-2); }

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(var(--t26-marca-rgb), .14);
	color: var(--t26-enlace);
	font-weight: 600;
}

/* El plugin de "Mis Compras" pone un ícono de la fuente de BeTheme, que ya no existe. */
.woocommerce-MyAccount-navigation li a::before { content: none !important; }

@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 20px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 8px 12px; font-size: 14px; }
}

/* Pedido recibido */
.woocommerce ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding: 16px;
	background: var(--t26-superficie-2);
	border-radius: var(--t26-radio);
	list-style: none;
}

.woocommerce ul.order_details li { border-right-color: var(--t26-borde); }

.mis-botones-thankyou {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin: 24px 0;
	padding: 28px 16px;
	background: var(--t26-superficie-2);
	border-radius: var(--t26-radio);
}

body.t26 .mis-botones-thankyou .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	font-size: 18px;
}

/* Medidor de contraseña y textos de privacidad */
/* WooCommerce pinta fondos pastel sin color de texto: en modo oscuro el texto claro no se leía. */
.woocommerce-password-strength { border-radius: 8px; margin-top: 8px; font-size: 14px; color: #1f2937; }
.woocommerce-password-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--t26-texto-suave); }
.woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.5; color: var(--t26-texto-suave); margin: 4px 0 16px; }
.woocommerce-privacy-policy-text p { margin: 0; }

/* =========================================================================
   Inicio de sesión y registro (shortcodes y widgets "TicketeraCR" de Elementor)
   Las variables --tcr-auth-* las puede cambiar el widget; si no, valen las del tema.
   ========================================================================= */
.tcr-auth-wrap {
	display: flex;
	justify-content: center;
	padding: 24px 0 48px;
}

.tcr-auth-wrap *,
.tcr-auth-wrap *::before,
.tcr-auth-wrap *::after { box-sizing: border-box; }

.tcr-auth-card {
	position: relative;
	width: 100%;
	max-width: 460px;
	padding: 36px 32px 28px;
	background: var(--tcr-auth-card-bg, var(--t26-superficie));
	color: var(--tcr-auth-card-text, var(--t26-texto));
	border: 1px solid var(--t26-borde);
	border-radius: var(--tcr-auth-card-radius, 18px);
	box-shadow: var(--t26-sombra);
	overflow: hidden;
}

.t26-acceso--registro .tcr-auth-card { max-width: 640px; }

.tcr-auth-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--tcr-auth-accent1, var(--t26-marca)), var(--tcr-auth-accent2, var(--t26-marca-hover)));
}

.tcr-auth-eyebrow {
	margin: 0 0 6px;
	color: var(--t26-texto-suave);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.tcr-auth-card h2 {
	margin: 0 0 6px;
	color: inherit;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.tcr-auth-sub {
	margin: 0 0 20px;
	color: var(--t26-texto-suave);
	font-size: 15px;
	line-height: 1.5;
}

.tcr-auth-card .woocommerce-notices-wrapper:empty { display: none; }
.tcr-auth-card .woocommerce-error,
.tcr-auth-card .woocommerce-message,
.tcr-auth-card .woocommerce-info { margin-bottom: 18px; }

.t26-form .form-row {
	float: none;
	width: auto;
	margin: 0 0 14px;
	padding: 0;
}

.t26-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.t26-form .required {
	color: var(--tcr-auth-accent2, var(--t26-error));
	border: 0;
	text-decoration: none;
}

.tcr-auth-card .t26-form input.input-text,
.tcr-auth-card .t26-form select {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 11px 14px;
	background: var(--tcr-auth-input-bg, var(--t26-campo));
	color: var(--tcr-auth-input-text, var(--t26-texto));
	border: 1.5px solid var(--tcr-auth-input-border, var(--t26-borde));
	border-radius: var(--tcr-auth-input-radius, 10px);
	font: inherit;
	font-size: 15px;
	line-height: 1.4;
}

.tcr-auth-card .t26-form input.input-text:focus,
.tcr-auth-card .t26-form select:focus {
	outline: none;
	border-color: var(--tcr-auth-accent1, var(--t26-marca));
	box-shadow: 0 0 0 3px rgba(var(--t26-marca-rgb), .2);
}

.t26-clave { position: relative; display: block; }
.t26-clave input.input-text { padding-right: 50px; }

.t26-clave__ver {
	position: absolute;
	top: 50%;
	right: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--t26-texto-suave);
	cursor: pointer;
	transform: translateY(-50%);
}

.t26-clave__ver:hover { background: var(--t26-superficie-2); color: var(--t26-texto); }
.t26-clave__ver[aria-pressed="true"] { color: var(--tcr-auth-accent1, var(--t26-marca)); }

.t26-form__fila {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 4px 0 18px;
	font-size: 14px;
	line-height: 1.4;
}

.t26-form label.t26-casilla {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-weight: 500;
}

.t26-form__enlace,
.tcr-auth-alt a { color: var(--tcr-auth-link, var(--t26-enlace)); font-weight: 600; }

.tcr-auth-card .tcr-auth-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 20px;
	border: 0;
	border-radius: var(--tcr-auth-btn-radius, 10px);
	background: var(--tcr-auth-btn-bg, var(--t26-marca));
	color: var(--tcr-auth-btn-text, var(--t26-marca-texto));
	font: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s ease, opacity .2s ease;
}

.tcr-auth-card .tcr-auth-btn:hover,
.tcr-auth-card .tcr-auth-btn:focus-visible { background: var(--tcr-auth-btn-hover, var(--t26-marca-hover)); }

.tcr-auth-card .tcr-auth-btn:disabled { opacity: .55; cursor: not-allowed; }

.tcr-auth-alt {
	margin: 18px 0 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}

.t26-acceso__acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

/* Cloudflare Turnstile (espacio reservado para que el formulario no salte) */
.t26-turnstile { min-height: 65px; margin: 4px 0 14px; }

/* Grupos del registro (también en el registro de Mi cuenta) */
.t26-grupo {
	min-width: 0;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

.t26-grupo__titulo {
	margin: 0 0 10px;
	padding: 0;
	color: var(--t26-texto-suave);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.4;
	text-transform: uppercase;
}

.t26-grupo .t26-grupo__campos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
}

.t26-grupo .t26-grupo__campos .form-row {
	float: none;
	width: auto;
	margin: 0 0 14px;
	padding: 0;
}

.t26-grupo .t26-grupo__campos .form-row-wide,
.t26-grupo .t26-grupo__nota { grid-column: 1 / -1; }

.t26-grupo__nota { margin: 0 0 12px; color: var(--t26-texto-suave); font-size: 14px; line-height: 1.5; }

/* En el formulario de Mi cuenta (plantilla de WooCommerce) los campos ocupan todo el ancho. */
.woocommerce form.register .t26-grupo .t26-grupo__campos input.input-text,
.woocommerce form.register .t26-grupo .t26-grupo__campos select { width: 100%; box-sizing: border-box; }

@media (max-width: 560px) {
	.tcr-auth-card { padding: 30px 20px 24px; border-radius: 14px; }
	.tcr-auth-card h2 { font-size: 24px; }
	.t26-grupo .t26-grupo__campos { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================================
   Elementor
   ========================================================================= */
.t26-pagina--elementor .t26-pagina__contenido::after { display: none; }

/* =========================================================================
   Movimiento reducido
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
	.t26-panel__fondo,
	.t26-panel__caja,
	.t26-nav__lista .sub-menu,
	.t26-boton,
	.t26-cuenta__flecha { transition: none; }
	.t26-girando { animation-duration: 2s; }
}

.restore-item, .tc-single-cart-seat .tc_cart_seat_remove{
display: none !important;

}


