/* Tickelsa Core — estilos públicos (frontend) */
.tickelsa-events{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:20px;
	padding:0;
	margin:0;
	list-style:none;
}
.tickelsa-events__item{
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid #e3e3e3;
	border-radius:10px;
	overflow:hidden;
	transition:transform .15s ease, box-shadow .15s ease;
}
.tickelsa-events__item:hover{
	transform:translateY(-2px);
	box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.tickelsa-events__thumb{display:block;line-height:0;}
.tickelsa-events__thumb img{width:100%;height:auto;display:block;object-fit:cover;}
.tickelsa-events__body{padding:16px;display:flex;flex-direction:column;gap:8px;}
.tickelsa-events__title{font-size:1.1em;margin:0;line-height:1.25;}
.tickelsa-events__title a{text-decoration:none;color:inherit;}
.tickelsa-events__date,
.tickelsa-events__venue{margin:0;color:#555;font-size:.92em;}
.tickelsa-events__excerpt{font-size:.95em;color:#444;}
.tickelsa-events__item--sold_out .tickelsa-events__title::after{content:" · agotado";color:#b00;font-weight:normal;font-size:.85em;}
.tickelsa-events__item--cancelled{opacity:.6;}

/* Grilla de eventos (widget Elementor) */
.tkls-event-cards{width:100%;}
.tkls-event-cards__heading{margin:0 0 24px;line-height:1.2;}
.tkls-event-cards__grid{width:100%;}
.tkls-event-cards__card{
	display:flex;
	flex-direction:column;
	min-width:0;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e8e8ef;
	border-radius:12px;
	overflow:hidden;
	transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tkls-event-cards__media{display:block;line-height:0;text-decoration:none;}
.tkls-event-cards__media img{width:100%;height:220px;object-fit:cover;display:block;}
.tkls-event-cards__body{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:20px;text-align:center;}
.tkls-event-cards__title{margin:0;}
.tkls-event-cards__title-link{display:inline-block;max-width:100%;text-decoration:none;}
.elementor-widget-tickelsa-event-list .tkls-event-cards__title-link{font:inherit;color:inherit;}
.elementor-widget-tickelsa-event-list .tkls-event-cards__price{margin:0;}
.elementor-widget-tickelsa-event-list .tkls-event-cards__price .woocommerce-Price-amount,
.elementor-widget-tickelsa-event-list .tkls-event-cards__price .woocommerce-Price-amount *{font:inherit;color:inherit;}
.tkls-event-cards__date{margin:0;}
.tkls-event-cards__button-wrap{margin-top:auto;display:block;}
.tkls-event-cards__button{
	display:block;
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	text-decoration:none;
	background:#4b19d4;
	color:#fff;
	font-weight:700;
	border:0;
	border-radius:0 0 12px 12px;
	transition:background-color .2s ease, color .2s ease;
}
.tkls-event-cards__empty{margin:0;}
.tkls-event-cards__card--sold_out .tkls-event-cards__title::after{content:" · agotado";font-size:.75em;font-weight:400;text-transform:none;}
.tkls-event-cards__card--cancelled{opacity:.65;}

/* Detalle */
.tickelsa-event{max-width:920px;margin:0 auto;}
.tickelsa-event__header{margin-bottom:16px;}
.tickelsa-event__thumb{margin-top:12px;line-height:0;}
.tickelsa-event__thumb img{width:100%;height:auto;border-radius:10px;}
.tickelsa-event__meta{
	display:grid;
	grid-template-columns:max-content 1fr;
	gap:6px 16px;
	margin:16px 0;
	padding:16px;
	background:#fafafa;
	border:1px solid #ececec;
	border-radius:8px;
}
.tickelsa-event__meta dt{font-weight:600;color:#444;}
.tickelsa-event__meta dd{margin:0;}

.tickelsa-event__tickets{margin-top:24px;}
.tickelsa-event__tickets-list{
	list-style:none;padding:0;margin:0;
	display:grid;gap:12px;
}
.tickelsa-event__ticket{
	display:flex;flex-wrap:wrap;align-items:center;gap:12px;
	padding:14px 16px;border:1px solid #ececec;border-radius:8px;background:#fff;
}
.tickelsa-event__ticket-title{flex:1 1 auto;font-weight:600;text-decoration:none;color:inherit;min-width:0;}
.tickelsa-event__ticket-price{color:#222;font-size:.95em;}
.tickelsa-event__ticket-buy{flex-shrink:0;}
.tickelsa-event__ticket-unavailable{color:#888;font-style:italic;}
.tickelsa-event__ticket-form{display:flex;align-items:center;gap:8px;margin:0;}
.tickelsa-event__ticket-qty{width:64px;padding:6px 8px;text-align:center;}
/* Oculta el enlace "Ver carrito" que WooCommerce inyecta tras añadir vía AJAX. */
.tickelsa-event .added_to_cart,
.tickelsa-event__ticket .added_to_cart,
.tickelsa-event__ticket-form + .added_to_cart{display:none !important;}

.tickelsa-event__ticket-fees{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;flex-basis:100%;font-size:.78em;color:#666;}
.tickelsa-event__ticket-fee{display:flex;gap:6px;}
.tickelsa-event__ticket-fee-label{color:#666;}
.tickelsa-event__ticket-fee-amount{color:#222;font-weight:500;}

/* Tabla de tickets del evento (un único botón global). */
.tkls-event-tickets{
	--tkls-et-border:#e5e7eb;
	--tkls-et-muted:#94a3b8;
	--tkls-et-text:#0f172a;
	--tkls-et-fee:#3b82f6;
	--tkls-et-primary:var(--tkls-cart-primary-bg,#d63384);
	--tkls-et-primary-hover:var(--tkls-cart-primary-hover-bg,#b8266c);
	--tkls-et-cols:minmax(0,1fr) minmax(280px,38%) 112px;
	margin:24px 0;
	padding:18px 22px 20px;
	background:#fff;
	border:1px solid var(--tkls-et-border);
	border-radius:14px;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
	font-family:inherit;
	color:var(--tkls-et-text);
}
.tkls-event-tickets__form{margin:0;}
.tkls-event-tickets__head{
	display:grid;
	grid-template-columns:var(--tkls-et-cols);
	gap:16px;
	padding:8px 4px 12px;
	border-bottom:1px solid var(--tkls-et-border);
	font-size:.78em;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--tkls-et-muted);
}
.tkls-event-tickets__col-price,
.tkls-event-tickets__col-qty{text-align:right;}
.tkls-event-tickets__list{list-style:none;margin:0;padding:0;}
.tkls-event-tickets__row{
	display:grid;
	grid-template-columns:var(--tkls-et-cols);
	gap:16px;
	align-items:center;
	padding:14px 4px;
	border-bottom:1px solid #f1f5f9;
}
.tkls-event-tickets__row:last-child{border-bottom:0;}
.tkls-event-tickets__info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.tkls-event-tickets__name{font-size:.98em;font-weight:600;color:var(--tkls-et-text);line-height:1.3;}
.tkls-event-tickets__desc{font-size:.83em;color:var(--tkls-et-muted);line-height:1.45;}
.tkls-event-tickets__price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;min-width:0;}
.tkls-event-tickets__price-amount{font-size:.98em;font-weight:600;color:var(--tkls-et-text);white-space:nowrap;}
.tkls-event-tickets__price-amount .amount{color:inherit;}
.tkls-event-tickets__fee{font-size:.78em;color:var(--tkls-et-fee);font-weight:500;text-align:right;line-height:1.35;}
.tkls-event-tickets__qty-wrap{display:flex;justify-content:flex-end;}
.tkls-event-tickets__qty{
	display:inline-flex;align-items:center;
	border:1px solid var(--tkls-et-border);
	border-radius:8px;
	overflow:hidden;background:#fff;
}
.tkls-event-tickets__qty-btn{
	background:#f8fafc;border:0;width:32px;height:32px;cursor:pointer;
	color:#475569;font-size:14px;line-height:1;
	display:inline-flex;align-items:center;justify-content:center;
	transition:background .15s ease,color .15s ease;
}
.tkls-event-tickets__qty-btn:hover:not(:disabled){background:#eef2f7;color:var(--tkls-et-text);}
.tkls-event-tickets__qty-btn:disabled{opacity:.35;cursor:not-allowed;}
.tkls-event-tickets__qty-btn:focus,
.tkls-event-tickets__qty-btn:focus-visible{outline:0;box-shadow:none;}
.tkls-event-tickets__qty-value{
	min-width:36px;text-align:center;font-size:.95em;font-weight:600;
	color:var(--tkls-et-text);font-variant-numeric:tabular-nums;
	user-select:none;
}
.tkls-event-tickets__unavailable{color:var(--tkls-et-muted);font-style:italic;font-size:.85em;}
.tkls-event-tickets__footer{
	display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
	padding-top:16px;margin-top:14px;border-top:1px solid var(--tkls-et-border);
}
.tkls-event-tickets__footer-left{flex:0 0 auto;display:flex;align-items:center;}
.tkls-event-tickets__footer-actions{flex:0 0 auto;display:flex;align-items:center;margin-left:auto;}
.tkls-event-tickets__legend{flex:1 1 180px;color:var(--tkls-et-fee);font-size:.82em;font-weight:600;text-align:center;margin:0;}
.tkls-event-tickets__submit{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	min-width:170px;height:40px;padding:0 22px;
	background:var(--tkls-et-primary);color:#fff;border:0;border-radius:999px;
	font-weight:600;font-size:.95em;letter-spacing:.01em;cursor:pointer;
	transition:background .15s ease,opacity .15s ease,transform .05s ease;
}
.tkls-event-tickets__submit:not(:disabled):hover{background:var(--tkls-et-primary-hover);}
.tkls-event-tickets__submit:not(:disabled):active{transform:translateY(1px);}
.tkls-event-tickets__submit:disabled{background:#cbd5e1;color:#fff;cursor:not-allowed;}
.tkls-event-tickets__submit.is-loading{cursor:progress;opacity:.85;background:var(--tkls-et-primary);color:#fff;}
@media (max-width:768px){
	.tkls-event-tickets{padding:14px 14px 16px;}
	.tkls-event-tickets__head{display:none;}
	.tkls-event-tickets__row{
		grid-template-columns:1fr auto;
		grid-template-areas:"info qty" "price qty";
		row-gap:8px;column-gap:14px;
		padding:14px 0;
	}
	.tkls-event-tickets__info{grid-area:info;min-width:0;}
	.tkls-event-tickets__name{font-size:1em;word-break:break-word;}
	.tkls-event-tickets__desc{font-size:.85em;word-break:break-word;}
	.tkls-event-tickets__price{
		grid-area:price;align-items:flex-start;text-align:left;
		flex-direction:row;flex-wrap:wrap;gap:6px 10px;
	}
	.tkls-event-tickets__qty-wrap{grid-area:qty;align-self:center;}
	.tkls-event-tickets__qty-btn{width:36px;height:36px;font-size:16px;}
	.tkls-event-tickets__qty-value{min-width:40px;font-size:1em;}
	.tkls-event-tickets__footer{
		flex-direction:column;align-items:stretch;gap:12px;
	}
	.tkls-event-tickets__footer-left{justify-content:flex-start;}
	.tkls-event-tickets__footer-actions{margin-left:0;width:100%;}
	.tkls-event-tickets__legend{text-align:center;order:2;}
	.tkls-event-tickets__submit{width:100%;height:48px;font-size:1em;}
}
@media (max-width:420px){
	.tkls-event-tickets{padding:12px;margin:16px 0;}
	.tkls-event-tickets__row{
		grid-template-columns:1fr;
		grid-template-areas:"info" "price" "qty";
		row-gap:10px;
	}
	.tkls-event-tickets__price,
	.tkls-event-tickets__qty-wrap{justify-content:flex-start;}
	.tkls-event-tickets__price{align-items:flex-start;}
}

/* Bloque de introducción del widget Elementor (título + descripción) */
.tkls-event-tickets__intro{margin:0 0 14px;}
.tkls-event-tickets__intro-title{margin:0 0 4px;font-size:1.25rem;font-weight:700;color:#0f172a;line-height:1.3;}
.tkls-event-tickets__intro-text{margin:0;color:#64748b;font-size:.95rem;line-height:1.5;}
@media (max-width:480px){
	.tkls-event-tickets__intro-title{font-size:1.1rem;}
	.tkls-event-tickets__intro-text{font-size:.9rem;}
}

/* Mis tickets */
.tickelsa-my-events{
	list-style:none;padding:0;margin:0;
	display:grid;gap:14px;
}
.tickelsa-my-event{
	display:flex;flex-wrap:wrap;align-items:center;gap:14px;
	padding:14px;border:1px solid #ddd;border-radius:10px;background:#fff;
}
.tickelsa-my-event__thumb{width:96px;height:96px;object-fit:cover;border-radius:8px;flex-shrink:0;}
.tickelsa-my-event__body{flex:1 1 220px;min-width:0;}
.tickelsa-my-event__title{font-weight:600;font-size:1.05em;margin-bottom:4px;}
.tickelsa-my-event__meta{font-size:.92em;color:#555;}
.tickelsa-my-event__link{flex-shrink:0;}

.tickelsa-my-tickets{
	list-style:none;padding:0;margin:0;
	display:grid;gap:16px;
}
.tickelsa-my-ticket{
	display:flex;flex-wrap:wrap;gap:16px;align-items:center;
	padding:16px;border:1px solid #ddd;border-radius:10px;background:#fff;
}
.tickelsa-my-ticket__qr{
	width:128px;height:128px;flex-shrink:0;background:#fff;
	border:1px solid #eee;border-radius:6px;
}
.tickelsa-my-ticket__body{flex:1 1 220px;min-width:0;}
.tickelsa-my-ticket__event{font-weight:600;font-size:1.05em;}
.tickelsa-my-ticket__code{
	display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
	background:#f1f1f1;padding:2px 8px;border-radius:4px;font-size:.95em;
}
.tickelsa-my-ticket__status{font-size:.9em;color:#555;}
.tickelsa-my-ticket__status--used{color:#b07a00;}
.tickelsa-my-ticket__status--refunded,
.tickelsa-my-ticket__status--void{color:#b00;}
.tickelsa-my-ticket__actions{margin-top:8px;}

@media (max-width:540px){
	.tickelsa-event__meta{grid-template-columns:1fr;}
	.tickelsa-event__ticket{flex-direction:column;align-items:flex-start;}
	.tickelsa-my-ticket{flex-direction:column;align-items:flex-start;}
	.tickelsa-my-ticket__qr{width:100%;height:auto;max-width:240px;}
	.tickelsa-my-event{flex-direction:column;align-items:flex-start;}
	.tickelsa-my-event__thumb{width:100%;max-width:240px;height:auto;}
}

/* Banner de tickets en my-account ver pedido */
.tickelsa-order-banner{margin:24px 0;padding:20px;border:1px solid #d6efdc;background:#f1fbf4;border-radius:8px}
.tickelsa-order-banner__title{margin:0 0 6px;font-size:1.15em}
.tickelsa-order-banner__text{margin:0 0 12px;color:#2c5d3a}
.tickelsa-order-banner__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tickelsa-order-banner__link{display:inline-block}

/* Tabla de tickets en thank you / admin */
.tickelsa-order-tickets{margin:24px 0}
.tickelsa-order-tickets__title{margin:0 0 12px}
.tickelsa-order-tickets__table{width:100%;border-collapse:collapse}
.tickelsa-order-tickets__table th,.tickelsa-order-tickets__table td{padding:8px;border-bottom:1px solid #eee;vertical-align:middle}
.tickelsa-order-tickets__table img{display:block}

/* Lista simplificada de tickets (thank you, my-account event detail) */
.tickelsa-tickets-list{margin:24px 0}
.tickelsa-tickets-list__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.tickelsa-tickets-list__title{margin:0}
.tickelsa-tickets-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tickelsa-tickets-list__item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #e2e2e2;border-radius:8px;background:#fff}
.tickelsa-tickets-list__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.tickelsa-tickets-list__name{font-weight:600;font-size:1.05em}
.tickelsa-tickets-list__code code{font-size:0.95em;color:#555;background:transparent;padding:0}
@media (max-width:540px){
.tickelsa-tickets-list__item{flex-direction:column;align-items:stretch}
.tickelsa-tickets-list__download{align-self:flex-start}
}

/* Card de ticket con QR (Mi cuenta detalle, Thank-you) */
.tkls-ticket-cards{display:flex;flex-direction:column;gap:16px;margin:0 0 24px;padding:0;list-style:none}
.tkls-ticket-cards > li{list-style:none;margin:0;padding:0}
.tkls-ticket-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:hidden}
.tkls-ticket-card__header{padding:16px 20px 0}
.tkls-ticket-card__title{margin:0;font-size:1rem;font-weight:700;color:#0f172a;letter-spacing:-0.01em;line-height:1.3}
.tkls-ticket-card__body{display:flex;align-items:flex-start;gap:20px;padding:16px 20px 20px}
.tkls-ticket-card__qr-col{flex:0 0 auto;text-align:center;min-width:0}
.tkls-ticket-card__qr{display:block;width:160px;height:160px;background:#fff;border:0;border-radius:8px}
.tkls-ticket-card__code{margin-top:10px;font-size:.8rem;color:#94a3b8;font-family:Menlo,Consolas,ui-monospace,monospace;letter-spacing:.04em;word-break:break-all}
.tkls-ticket-card__info-col{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px;color:#1f2937;font-size:.95rem;line-height:1.5}
.tkls-ticket-card__event{font-size:1rem;font-weight:700;color:#0f172a;margin:0}
.tkls-ticket-card__valid{color:#64748b;margin:0}
.tkls-ticket-card__badge{display:inline-block;font-weight:600;font-size:.85rem;padding:10px 14px;border-radius:8px;text-align:center}
.tkls-ticket-card__badge--active{background:#d1fae5;color:#047857}
.tkls-ticket-card__badge--inactive{background:#fee2e2;color:#b91c1c}
.tkls-ticket-card__download{align-self:flex-start}
@media (max-width:540px){
.tkls-ticket-card__body{flex-direction:column;align-items:stretch;gap:14px}
.tkls-ticket-card__qr-col{align-self:center}
.tkls-ticket-card__qr{width:180px;height:180px}
.tkls-ticket-card__badge,.tkls-ticket-card__download{align-self:stretch;text-align:center}
}

/* Tickelsa � Thank you page tickets loader */
.tickelsa-tickets-loader{margin:24px 0;padding:0}
.tickelsa-tickets-loader__inner{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.05);padding:32px 28px;text-align:center;max-width:560px;margin:0 auto}
.tickelsa-tickets-loader__spinner{width:48px;height:48px;margin:0 auto 18px;border-radius:50%;border:4px solid #e5e7eb;border-top-color:#2563eb;animation:tklsSpin 0.9s linear infinite}
@keyframes tklsSpin{to{transform:rotate(360deg)}}
.tickelsa-tickets-loader__title{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:#0f172a}
.tickelsa-tickets-loader__text{margin:0 0 20px;color:#475569;font-size:.95rem;line-height:1.5}
.tickelsa-tickets-loader__bar{position:relative;width:100%;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:0 0 12px}
.tickelsa-tickets-loader__bar-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:999px;transition:width .4s ease}
.tickelsa-tickets-loader__status{margin:0;color:#64748b;font-size:.85rem;font-variant-numeric:tabular-nums}
.tickelsa-tickets-loader--error .tickelsa-tickets-loader__spinner{border-top-color:#dc2626;animation:none}
.tickelsa-tickets-loader--error .tickelsa-tickets-loader__bar-fill{background:#dc2626}
.tickelsa-tickets-loader--error .tickelsa-tickets-loader__status{color:#b91c1c;font-weight:600}


/* ===== Mirror seats.io en la tabla de tickets (modo coexist) ===== */
.tkls-event-tickets__seatsio{margin:0 0 14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
.tkls-event-tickets__seatsio *,.tkls-event-tickets__seatsio *::before,.tkls-event-tickets__seatsio *::after{font-family:inherit;}
.tkls-event-tickets__seatsio[hidden]{display:none;}
.tkls-event-tickets__seatsio-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;}
.tkls-event-tickets__seatsio-title{font-weight:700;color:#0f172a;font-size:.95rem;}
.tkls-event-tickets__seatsio-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:700;}
.tkls-event-tickets__seatsio-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.tkls-event-tickets__seatsio-item{display:grid;grid-template-columns:14px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;}
.tkls-event-tickets__seatsio-swatch{width:14px;height:14px;border-radius:50%;display:inline-block;}
.tkls-event-tickets__seatsio-info{display:flex;flex-direction:column;min-width:0;}
.tkls-event-tickets__seatsio-seat{font-weight:600;color:#0f172a;font-size:.92rem;line-height:1.2;word-break:break-word;}
.tkls-event-tickets__seatsio-cat{font-size:.78rem;color:#64748b;margin-top:2px;}
.tkls-event-tickets__seatsio-prices{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;}
.tkls-event-tickets__seatsio-price{font-weight:700;color:#0f172a;font-size:.95rem;line-height:1.2;}
.tkls-event-tickets__seatsio-fee{font-size:.78rem;color:#64748b;line-height:1.2;}
.tkls-event-tickets__seatsio-remove{appearance:none;border:1px solid #e2e8f0;background:#fff;color:#64748b;width:32px;height:32px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .12s ease;}
.tkls-event-tickets__seatsio-remove svg{display:block;width:14px;height:14px;}
.tkls-event-tickets__seatsio-remove:hover{color:#b91c1c;border-color:#fecaca;background:#fef2f2;}
.tkls-event-tickets__seatsio-remove:active{transform:scale(.92);}
.tkls-event-tickets__seatsio-remove:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}
@media (max-width:480px){
.tkls-event-tickets__seatsio-item{grid-template-columns:14px 1fr auto;grid-template-areas:"sw info rm" "sw prices rm";row-gap:4px;}
.tkls-event-tickets__seatsio-swatch{grid-area:sw;}
.tkls-event-tickets__seatsio-info{grid-area:info;}
.tkls-event-tickets__seatsio-prices{grid-area:prices;align-items:flex-start;}
.tkls-event-tickets__seatsio-remove{grid-area:rm;}
}

/* Widgets multimedia / embeds de evento */
.tkls-event-media-file__img,
.tkls-event-media-file__video{display:block;max-width:100%;height:auto;}
.tkls-event-media-file__audio{width:100%;}
.tkls-event-media-file__link{display:inline-block;}
.tkls-event-embed-widget__frame{width:100%;border:0;display:block;}
.tkls-event-embed-widget--ratio{position:relative;width:100%;padding-bottom:56.25%;height:0!important;}
.tkls-event-embed-widget--ratio .tkls-event-embed-widget__frame{position:absolute;inset:0;width:100%;height:100%!important;}
.tkls-event-embed-widget--spotify .tkls-event-embed-widget__frame{width:100%;height:152px!important;min-height:152px;border-radius:12px;border:0;}
.tkls-event-image-widget__img{display:block;max-width:100%;height:auto;}

/* Banner de ventas interrumpidas (panel → sales_paused) */
.tkls-sales-pause{
	margin:20px 0;
	padding:28px 24px 32px;
	border:1px solid #eceff5;
	background:#f7f8fb;
	border-radius:16px;
	font-family:'Montserrat',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	color:#14172b;
	box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.tkls-sales-pause__inner{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;}
.tkls-sales-pause__icon{
	width:100px;
	height:80px;
	margin:0 auto 2px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.tkls-sales-pause__icon img,.tkls-sales-pause__icon svg{display:block;width:100px;height:80px;}
.tkls-sales-pause__message{width:100%;max-width:52rem;font-size:1rem;line-height:1.65;color:#14172b;}
.tkls-sales-pause__message p{margin:0 0 .75em;}
.tkls-sales-pause__message p:last-child{margin-bottom:0;}
.tkls-sales-pause__message strong,.tkls-sales-pause__message b{font-weight:700;color:#14172b;}
.tkls-sales-pause__message a{color:#b91c1c;text-decoration:underline;}
.tkls-sales-pause__message ul,.tkls-sales-pause__message ol{margin:.5em 0;padding-left:1.25em;text-align:left;display:inline-block;}
.tkls-sales-pause__countdown{
	display:flex;flex-direction:column;gap:14px;align-items:center;
	width:100%;max-width:640px;
}
.tkls-sales-pause__countdown-label{
	margin:0;
	font-size:.78rem;font-weight:700;color:#ef4444;letter-spacing:.14em;text-transform:uppercase;
}
.tkls-sales-pause__countdown-grid{
	display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
}
.tkls-sales-pause__countdown-unit{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
	min-width:78px;padding:16px 18px 14px;
	background:#fff;border-radius:14px;
	box-shadow:0 4px 16px rgba(15,23,42,.06);
}
.tkls-sales-pause__countdown-number{
	font-size:clamp(1.8rem,4vw,2.35rem);font-weight:800;color:#14172b;line-height:1;
	font-variant-numeric:tabular-nums;
}
.tkls-sales-pause__countdown-unit-label{
	font-size:.72rem;font-weight:600;color:#94a0b9;letter-spacing:.12em;text-transform:uppercase;
}
.tkls-sales-pause__countdown-sep{
	display:inline-flex;flex-direction:column;gap:6px;align-self:center;
	padding-bottom:22px;
}
.tkls-sales-pause__countdown-sep i{
	display:block;width:5px;height:5px;border-radius:50%;background:#ef4444;
}
@media (max-width:640px){
.tkls-sales-pause{padding:22px 16px 26px;margin:16px 0;}
.tkls-sales-pause__message{font-size:.95rem;}
.tkls-sales-pause__countdown-grid{gap:8px;}
.tkls-sales-pause__countdown-unit{min-width:68px;padding:14px 12px 12px;}
.tkls-sales-pause__countdown-sep{padding-bottom:18px;}
}

/* Precios duales USD + bolívares (toggle: por defecto Bs.) */
html.tkls-price-mode-ves .tkls-price__usd,
html.tkls-price-mode-ves .tkls-price__sep,
html[data-tkls-price-mode="ves"] .tkls-price__usd,
html[data-tkls-price-mode="ves"] .tkls-price__sep{display:none !important;}
html.tkls-price-mode-usd .tkls-price__ves,
html.tkls-price-mode-usd .tkls-price__sep,
html[data-tkls-price-mode="usd"] .tkls-price__ves,
html[data-tkls-price-mode="usd"] .tkls-price__sep{display:none !important;}
.tkls-price{display:inline;white-space:nowrap;}
.tkls-price__label{font-weight:600;color:#0f172a;}
.tkls-price__sep{color:#64748b;font-weight:400;}
.tkls-price__usd{font-weight:600;color:#0f172a;}
.tkls-price__ves{font-weight:600;color:#0f172a;}
.tkls-price-toggle{
	position:static;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 14px;
	border:1px solid #cbd5e1;
	border-radius:999px;
	background:#fff;
	color:#0f172a;
	font-size:13px;
	font-weight:600;
	line-height:1.2;
	cursor:pointer;
	box-shadow:none;
}
.tkls-price-toggle:hover{background:#f8fafc;}
.tkls-price-toggle:focus-visible{outline:2px solid #4b19d4;outline-offset:2px;}

/* Cupones de descuento en la página del evento (variables globales Elementor) */
.tkls-event-discount{
	--tkls-discount-color-primary:var(--e-global-color-primary,#4a12cd);
	--tkls-discount-color-secondary:var(--e-global-color-secondary,#f39200);
	--tkls-discount-color-text:var(--e-global-color-text,#141414);
	--tkls-discount-color-accent:var(--e-global-color-accent,#4a12cd);
	--tkls-discount-font-text:var(--e-global-typography-text-font-family,inherit);
	--tkls-discount-weight-text:var(--e-global-typography-text-font-weight,inherit);
	--tkls-discount-font-primary:var(--e-global-typography-primary-font-family,var(--tkls-discount-font-text));
	--tkls-discount-weight-primary:var(--e-global-typography-primary-font-weight,600);
	--tkls-discount-font-accent:var(--e-global-typography-accent-font-family,var(--tkls-discount-font-text));
	--tkls-discount-weight-accent:var(--e-global-typography-accent-font-weight,700);
	margin:0 0 16px;
	padding:14px 18px;
	background:color-mix(in srgb,var(--tkls-discount-color-secondary) 12%,#fff);
	border:1px solid color-mix(in srgb,var(--tkls-discount-color-secondary) 35%,#fff);
	border-radius:12px;
	color:var(--tkls-discount-color-text);
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-text);
}
.tkls-event-discount *,
.tkls-event-discount *::before,
.tkls-event-discount *::after{
	font-family:inherit;
}
.tkls-event-discount.is-active{
	border-color:color-mix(in srgb,var(--tkls-discount-color-accent) 55%,#fff);
	box-shadow:0 0 0 1px color-mix(in srgb,var(--tkls-discount-color-accent) 20%,transparent);
}
.tkls-event-discount__inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 16px;
}
.tkls-event-discount__copy{
	display:flex;
	flex-direction:column;
	gap:4px;
	min-width:0;
}
.tkls-event-discount__title{
	font-family:var(--tkls-discount-font-primary);
	font-weight:var(--tkls-discount-weight-primary);
	font-size:.95rem;
	color:var(--tkls-discount-color-primary);
}
.tkls-event-discount__hint,
.tkls-event-discount__applied{
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-text);
	font-size:.85rem;
	color:var(--tkls-discount-color-text);
}
.tkls-event-discount__applied{
	font-weight:var(--tkls-discount-weight-primary);
	color:var(--tkls-discount-color-accent);
}
.tkls-event-discount__btn{
	flex-shrink:0;
	padding:10px 16px;
	border:0;
	border-radius:999px;
	background:var(--tkls-discount-color-accent);
	color:#fff;
	font-family:var(--tkls-discount-font-accent);
	font-weight:var(--tkls-discount-weight-accent);
	font-size:.88rem;
	cursor:pointer;
	transition:background-color .15s ease,opacity .15s ease;
}
.tkls-event-discount__btn:hover{
	background:var(--tkls-discount-color-primary);
}
.tkls-event-tickets__row.is-promo,
.tkls-event-tickets__seatsio-item.is-promo,
.tkls-seatsio-summary__item.is-promo{
	background:color-mix(in srgb,var(--e-global-color-accent,#4a12cd) 10%,transparent);
	/*box-shadow:inset 3px 0 0 var(--e-global-color-accent,#4a12cd);*/
	padding-left: 12px;
}
.tkls-event-tickets__row.is-promo .tkls-event-tickets__price-amount ins{
	color:var(--e-global-color-primary,#4a12cd);
	font-weight:var(--e-global-typography-primary-font-weight,700);
	text-decoration:none;
}
.tkls-event-tickets__row.is-promo .tkls-event-tickets__price-amount del{
	opacity:.65;
	color:var(--e-global-color-text,#141414);
}

.tkls-event-discount-modal{
	--tkls-discount-color-primary:var(--e-global-color-primary,#4a12cd);
	--tkls-discount-color-secondary:var(--e-global-color-secondary,#f39200);
	--tkls-discount-color-text:var(--e-global-color-text,#141414);
	--tkls-discount-color-accent:var(--e-global-color-accent,#4a12cd);
	--tkls-discount-font-text:var(--e-global-typography-text-font-family,inherit);
	--tkls-discount-weight-text:var(--e-global-typography-text-font-weight,inherit);
	--tkls-discount-font-primary:var(--e-global-typography-primary-font-family,var(--tkls-discount-font-text));
	--tkls-discount-weight-primary:var(--e-global-typography-primary-font-weight,600);
	--tkls-discount-font-accent:var(--e-global-typography-accent-font-family,var(--tkls-discount-font-text));
	--tkls-discount-weight-accent:var(--e-global-typography-accent-font-weight,700);
	position:fixed;
	inset:0;
	z-index:100001;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
	color:var(--tkls-discount-color-text);
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-text);
}
.tkls-event-discount-modal *,
.tkls-event-discount-modal *::before,
.tkls-event-discount-modal *::after{
	font-family:inherit;
}
.tkls-event-discount-modal[hidden]{display:none !important;}
.tkls-event-discount-modal__backdrop{
	position:absolute;
	inset:0;
	background:color-mix(in srgb,var(--tkls-discount-color-text) 45%,transparent);
}
.tkls-event-discount-modal__panel{
	position:relative;
	width:min(100%,420px);
	padding:20px 22px 18px;
	background:#fff;
	border:1px solid color-mix(in srgb,var(--tkls-discount-color-secondary) 30%,#fff);
	border-radius:14px;
	box-shadow:0 20px 50px color-mix(in srgb,var(--tkls-discount-color-text) 18%,transparent);
}
.tkls-event-discount-modal__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:8px;
}
.tkls-event-discount-modal__title{
	margin:0;
	font-family:var(--tkls-discount-font-primary);
	font-weight:var(--tkls-discount-weight-primary);
	font-size:1.1rem;
	color:var(--tkls-discount-color-primary);
}
.tkls-event-discount-modal__close{
	border:0;
	background:transparent;
	font-size:1.5rem;
	line-height:1;
	cursor:pointer;
	color:var(--tkls-discount-color-text);
	opacity:.65;
}
.tkls-event-discount-modal__hint{
	margin:0 0 12px;
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-text);
	font-size:.85rem;
	color:var(--tkls-discount-color-text);
	opacity:.85;
}
.tkls-event-discount-modal__label{
	display:flex;
	flex-direction:column;
	gap:6px;
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-primary);
	font-size:.88rem;
	color:var(--tkls-discount-color-text);
}
.tkls-event-discount-modal__input{
	width:100%;
	box-sizing:border-box;
	padding:12px 14px;
	border:1px solid color-mix(in srgb,var(--tkls-discount-color-text) 20%,#fff);
	border-radius:10px;
	font-family:var(--tkls-discount-font-accent);
	font-weight:var(--tkls-discount-weight-accent);
	font-size:1rem;
	color:var(--tkls-discount-color-text);
	letter-spacing:.08em;
	text-transform:uppercase;
}
.tkls-event-discount-modal__input:focus-visible{
	outline:2px solid var(--tkls-discount-color-accent);
	outline-offset:2px;
}
.tkls-event-discount-modal__error{
	margin:10px 0 0;
	font-family:var(--tkls-discount-font-text);
	font-weight:var(--tkls-discount-weight-text);
	font-size:.85rem;
	color:var(--tkls-discount-color-primary);
}
.tkls-event-discount-modal__actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
	margin-top:16px;
}
.tkls-event-discount-modal__apply,
.tkls-event-discount-modal__remove{
	padding:10px 16px;
	border-radius:999px;
	font-family:var(--tkls-discount-font-accent);
	font-weight:var(--tkls-discount-weight-accent);
	cursor:pointer;
}
.tkls-event-discount-modal__apply{
	border:0;
	background:var(--tkls-discount-color-accent);
	color:#fff;
}
.tkls-event-discount-modal__apply:hover{
	background:var(--tkls-discount-color-primary);
}
.tkls-event-discount-modal__remove{
	border:1px solid color-mix(in srgb,var(--tkls-discount-color-primary) 35%,#fff);
	background:#fff;
	color:var(--tkls-discount-color-primary);
}
body.tkls-event-discount-modal-open{overflow:hidden;}
