.elementor-kit-4{--e-global-color-primary:#FF7A1A;--e-global-color-secondary:#16202C;--e-global-color-text:#000000;--e-global-color-accent:#EAECF1;--e-global-color-tm-black:#000000;--e-global-color-tm-navy:#1A2432;--e-global-color-tm-orange:#FF7A1A;--e-global-color-tm-gray:#EAECF1;--e-global-color-tm-white:#FFFFFF;--e-global-color-tm-navy-mid:#16202C;--e-global-color-tm-orange-h:#E56A0E;--e-global-color-tm-navy-dark:#0F1720;--e-global-color-tm-secondary-text:#9CA3AF;--e-global-color-tm-success:#00D084;--e-global-color-27d475c:#1C2534;--e-global-typography-primary-font-family:"Unbounded";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Unbounded";--e-global-typography-accent-font-weight:700;color:#000000;font-family:"Manrope", Unbounded, Manrope, sans-serif;font-size:16px;font-weight:400;line-height:1.6em;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:#FB7A2F;}.elementor-kit-4 a:hover{color:#E56518;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//*
 * Snippet: tm-global-css
 * Scope: Site-wide — design tokens, base styles y componentes CSS de Ticketmax
 */

/* ── Design Tokens ────────────────────────────────────────────── */
:root {
  --tm-black:       #000000;
  --tm-navy:        #1A2432;
  --tm-navy-mid:    #16202C;
  --tm-navy-dark:   #0F1720;
  --tm-orange:      #FF7A1A;
  --tm-orange-h:    #E56A0E;
  --tm-gray:        #EAECF1;
  --tm-gray-mid:    #D0D4DC;
  --tm-white:       #FFFFFF;
  --tm-secondary-text: #9CA3AF;
  --tm-border:      rgba(255,255,255,.08);
  --tm-success:     #00D084;
  --tm-surface:     #16202C;
  --tm-card:        #1A2432;
  --tm-shadow-sm:   0 2px 8px rgba(0,0,0,0.12);
  --tm-shadow-md:   0 4px 16px rgba(0,0,0,0.18);
  --tm-shadow-lg:   0 8px 32px rgba(0,0,0,0.24);
  --tm-shadow-xl:   0 16px 48px rgba(0,0,0,0.30);
  --tm-radius-xs:   6px;
  --tm-radius-sm:   8px;
  --tm-radius:      12px;
  --tm-radius-lg:   16px;
  --tm-radius-xl:   24px;
  --tm-radius-pill: 9999px;
  --tm-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --tm-transition:  0.25s var(--tm-ease);
  --tm-fs-xs:   0.75rem;   --tm-fs-sm:  0.875rem;
  --tm-fs-base: 1rem;      --tm-fs-md:  1.125rem;
  --tm-fs-lg:   1.25rem;   --tm-fs-xl:  1.5rem;
  --tm-fs-2xl:  2rem;      --tm-fs-3xl: clamp(2rem, 5vw, 3rem);
  --tm-fs-hero: clamp(2.5rem, 8vw, 5rem);
  --tm-lh: 1.6;  --tm-lh-tight: 1.2;
}

/* ── Base ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: 'Manrope', sans-serif; font-size: var(--tm-fs-base); line-height: var(--tm-lh); color: var(--tm-black); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family: 'Unbounded', sans-serif; line-height: var(--tm-lh-tight); font-weight: 700; }
a { color: var(--tm-orange); transition: color var(--tm-transition); }
a:hover { color: var(--tm-orange-h); }

/* ── Section Helpers ──────────────────────────────────────────── */
.tm-section-dark  { background: var(--tm-black)  !important; }
.tm-section-navy  { background: var(--tm-navy)   !important; }
.tm-section-light { background: var(--tm-gray)   !important; }
.tm-text-light    { color: var(--tm-white)        !important; }
.tm-text-orange   { color: var(--tm-orange)       !important; }

/* ── Buttons ──────────────────────────────────────────────────── */
.tm-btn-primary,.elementor-button.tm-btn-primary {
  background: var(--tm-orange); color: var(--tm-white);
  border-radius: var(--tm-radius-sm); border: none;
  font-family: 'Unbounded',sans-serif; font-weight: 600;
  padding: 14px 28px; cursor: pointer;
  transition: background var(--tm-transition), box-shadow var(--tm-transition), transform var(--tm-transition);
  box-shadow: var(--tm-shadow-sm);
}
.tm-btn-primary:hover,.elementor-button.tm-btn-primary:hover {
  background: var(--tm-orange-h); box-shadow: var(--tm-shadow-md); transform: translateY(-2px);
}
.tm-btn-secondary,.elementor-button.tm-btn-secondary {
  background: transparent; color: var(--tm-white);
  border: 2px solid var(--tm-white); border-radius: var(--tm-radius-sm);
  font-family: 'Unbounded',sans-serif; font-weight: 600; padding: 12px 26px;
  transition: background var(--tm-transition), color var(--tm-transition);
}
.tm-btn-secondary:hover,.elementor-button.tm-btn-secondary:hover { background: var(--tm-white); color: var(--tm-navy); }

/* ── Event Card ───────────────────────────────────────────────── */
.tm-event-card { background: var(--tm-white); border-radius: var(--tm-radius); overflow: hidden; box-shadow: var(--tm-shadow-sm); transition: box-shadow var(--tm-transition), transform var(--tm-transition); }
.tm-event-card:hover { box-shadow: var(--tm-shadow-lg); transform: translateY(-4px); }
.tm-event-card .tm-event-card__image img { width: 100%; height: 200px; object-fit: cover; }
.tm-event-card .tm-event-card__body { padding: 20px; }
.tm-event-card .tm-event-card__date { font-size: var(--tm-fs-xs); color: var(--tm-orange); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.tm-event-card .tm-event-card__title { font-family: 'Unbounded',sans-serif; font-size: var(--tm-fs-lg); font-weight: 700; margin-bottom: 8px; }
.tm-event-card .tm-event-card__price { font-size: var(--tm-fs-md); font-weight: 600; color: var(--tm-navy); }

/* ── Metric Card ──────────────────────────────────────────────── */
.tm-metric-card { background: var(--tm-white); border-radius: var(--tm-radius); padding: 24px; box-shadow: var(--tm-shadow-sm); border-left: 4px solid var(--tm-orange); }
.tm-metric-card__value { font-family: 'Unbounded',sans-serif; font-size: var(--tm-fs-2xl); font-weight: 700; color: var(--tm-navy); }
.tm-metric-card__label { font-size: var(--tm-fs-sm); color: #6B7280; margin-top: 4px; }

/* ── Pricing Card ─────────────────────────────────────────────── */
.tm-pricing-card { background: var(--tm-white); border-radius: var(--tm-radius-lg); padding: 32px 24px; box-shadow: var(--tm-shadow-sm); border: 2px solid var(--tm-gray); text-align: center; transition: box-shadow var(--tm-transition), border-color var(--tm-transition); }
.tm-pricing-card.tm-pricing-card--featured { border-color: var(--tm-orange); box-shadow: var(--tm-shadow-lg); background: var(--tm-navy); color: var(--tm-white); }
.tm-pricing-card__price { font-family: 'Unbounded',sans-serif; font-size: var(--tm-fs-3xl); font-weight: 700; }
.tm-pricing-card--featured .tm-pricing-card__price { color: var(--tm-orange); }

/* ── How It Works ─────────────────────────────────────────────── */
.tm-step { text-align: center; padding: 24px 16px; }
.tm-step__number { width: 56px; height: 56px; background: var(--tm-orange); color: var(--tm-white); border-radius: var(--tm-radius-pill); display: flex; align-items: center; justify-content: center; font-family: 'Unbounded',sans-serif; font-size: var(--tm-fs-xl); font-weight: 700; margin: 0 auto 16px; }

/* ── Paywall ──────────────────────────────────────────────────── */
.tm-paywall { background: var(--tm-navy); border-radius: var(--tm-radius); padding: 40px 32px; text-align: center; color: var(--tm-white); margin: 32px 0; }
.tm-paywall h3 { font-size: var(--tm-fs-xl); margin-bottom: 12px; }
.tm-paywall p { color: rgba(255,255,255,.75); margin-bottom: 24px; }

/* ── Premium Badge ────────────────────────────────────────────── */
.tm-premium-badge { display: inline-flex; align-items: center; gap: 6px; background: var(--tm-orange); color: var(--tm-white); font-size: var(--tm-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 4px 10px; border-radius: var(--tm-radius-pill); }

/* ── WooCommerce Overrides ────────────────────────────────────── */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button { background: var(--tm-orange) !important; color: var(--tm-white) !important; border-radius: var(--tm-radius-sm) !important; font-family: 'Unbounded',sans-serif !important; font-weight: 600 !important; }
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover { background: var(--tm-orange-h) !important; }

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 767px) {
  .tm-step,.tm-pricing-card { margin-bottom: 24px; }
}
/* ── Auth Forms (Login / Register) ───────────────────────────────
 * Used on: page "Regístrate como Organizador" (/registro-organizador/)
 * and any [woocommerce_my_account] output. Styles the native WC
 * login/register forms + Nextend Social Login buttons in Material style.
 * ────────────────────────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
  background: var(--tm-white);
  border: none;
  border-radius: var(--tm-radius-lg);
  box-shadow: var(--tm-shadow-md);
  padding: 32px 28px;
  max-width: 480px;
  margin: 0 auto 24px;
}
.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.woocommerce-form-register .form-row { margin-bottom: 18px; }
.woocommerce form .woocommerce-form-login__rememberme { font-size: var(--tm-fs-sm); }
.woocommerce form label { font-weight: 600; font-size: var(--tm-fs-sm); color: var(--tm-navy); margin-bottom: 6px; display: inline-block; }
.woocommerce form .woocommerce-Input,
.woocommerce form input.input-text,
.woocommerce form input[type="password"],
.woocommerce form input[type="email"],
.woocommerce form input[type="text"] {
  width: 100%; border: 1.5px solid var(--tm-gray-mid); border-radius: var(--tm-radius-sm);
  padding: 12px 14px; font-family: 'Manrope', sans-serif; font-size: var(--tm-fs-base);
  transition: border-color var(--tm-transition), box-shadow var(--tm-transition);
}
.woocommerce form .woocommerce-Input:focus,
.woocommerce form input:focus {
  outline: none; border-color: var(--tm-orange);
  box-shadow: 0 0 0 3px rgba(251,122,47,.15);
}
.woocommerce form .woocommerce-Button,
.woocommerce form button[type="submit"] {
  width: 100%; padding: 14px; border-radius: var(--tm-radius-sm) !important;
}
.woocommerce-account .woocommerce-LostPassword a { color: var(--tm-orange); font-weight: 600; }
.woocommerce-account .woocommerce-form-login-toggle,
.woocommerce-account .woocommerce-form-register-toggle,
.woocommerce-account .u-columns.woocommerce-Addresses { display: none; }

/* Nextend Social Login buttons — inherits plugin-driven markup, just restyle */
.woocommerce-account .nsl-container { margin: 20px 0; }
.woocommerce-account .nsl-container .nsl-button {
  border-radius: var(--tm-radius-sm) !important;
  box-shadow: var(--tm-shadow-sm) !important;
  font-family: 'Manrope', sans-serif !important;
}
/* ── My Account Navigation ────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--tm-white);
  border-radius: var(--tm-radius-lg);
  box-shadow: var(--tm-shadow-sm);
  padding: 12px;
  margin-bottom: 24px;
  max-width: 480px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 10px 18px;
  border-radius: var(--tm-radius-pill);
  font-family: 'Unbounded', sans-serif;
  font-weight: 600;
  font-size: var(--tm-fs-sm);
  color: var(--tm-navy);
  background: var(--tm-gray);
  text-decoration: none;
  transition: background var(--tm-transition), color var(--tm-transition);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--tm-gray-mid);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--tm-orange);
  color: var(--tm-white);
}

/* ── Shop / Event Product Loop (WooCommerce [products] shortcode) ──
 * Reuses the .tm-event-card visual language on WooCommerce's native
 * product loop markup, so the Eventos page = WC's own product query,
 * no custom PHP loop needed.
 * ────────────────────────────────────────────────────────────── */
.woocommerce ul.products {
  margin: 32px 0 !important;
  list-style: none;
}
.woocommerce ul.products li.product {
  background: var(--tm-white);
  border-radius: var(--tm-radius);
  overflow: hidden;
  box-shadow: var(--tm-shadow-sm);
  transition: box-shadow var(--tm-transition), transform var(--tm-transition);
  padding: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--tm-shadow-lg);
  transform: translateY(-4px);
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block; color: inherit; text-decoration: none;
}
.woocommerce ul.products li.product img {
  width: 100%; height: 190px; object-fit: cover;
  border-radius: 0 !important; margin: 0 !important; display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-lg); font-weight: 700;
  color: var(--tm-black);
  margin: 16px 20px 4px !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product .price {
  display: block;
  margin: 0 20px 20px !important;
  font-size: var(--tm-fs-md); font-weight: 600;
  color: var(--tm-orange) !important;
}
.woocommerce ul.products li.product .button {
  margin: 0 20px 20px !important;
  width: calc(100% - 40px);
}

/* Empty state when no events are published yet */
.woocommerce-info.woocommerce-no-products-found,
p.woocommerce-info {
  background: var(--tm-gray);
  border: none;
  border-radius: var(--tm-radius);
  padding: 40px 32px;
  text-align: center;
  font-size: var(--tm-fs-md);
  color: var(--tm-navy);
  max-width: 640px;
  margin: 40px auto !important;
}

/* Eventos page intro */
.tm-eventos-intro {
  max-width: 720px;
  margin: 0 auto 8px;
  text-align: center;
}
.tm-eventos-intro h1 {
  font-size: var(--tm-fs-3xl);
  margin-bottom: 12px;
}
.tm-eventos-intro p {
  color: #6B7280;
  font-size: var(--tm-fs-md);
}
/* ── Phase 0: Dark App-Style Design System (Circl-inspired) ──────
 * New component classes only — does not modify any existing rule.
 * Dark surfaces reuse --tm-navy-mid/--tm-navy-dark (previously unused).
 * Accent stays --tm-orange (brand color), not Circl's pink.
 * ────────────────────────────────────────────────────────────── */

.tm-surface-dark {
  background: var(--tm-navy-dark) !important;
}

/* Search bar */
.tm-search-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 640px;
  margin: 0 auto;
  background: var(--tm-navy-mid);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--tm-radius-pill);
  padding: 16px 24px;
  transition: border-color var(--tm-transition), box-shadow var(--tm-transition);
}
.tm-search-bar:focus-within {
  border-color: var(--tm-orange);
  box-shadow: 0 0 0 3px rgba(251,122,47,.15);
}
.tm-search-bar__icon {
  color: rgba(255,255,255,.5);
  flex-shrink: 0;
  display: flex;
}
.tm-search-bar input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--tm-white);
  font-family: 'Manrope', sans-serif;
  font-size: var(--tm-fs-md);
  width: 100%;
}
.tm-search-bar input::placeholder {
  color: rgba(255,255,255,.45);
}

/* Quick filter pills */
.tm-filter-pills {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
}
.tm-filter-pill {
  display: inline-block;
  padding: 10px 22px;
  border-radius: var(--tm-radius-pill);
  border: 1px solid rgba(255,255,255,.18);
  background: transparent;
  color: var(--tm-white);
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: var(--tm-fs-sm);
  text-decoration: none;
  transition: background var(--tm-transition), border-color var(--tm-transition);
}
.tm-filter-pill:hover {
  border-color: var(--tm-orange);
  color: var(--tm-orange);
}
.tm-filter-pill--active {
  background: var(--tm-orange);
  border-color: var(--tm-orange);
  color: var(--tm-white);
}

/* Photo-forward event card (new variant, additive to .tm-event-card) */
.tm-event-card--photo {
  position: relative;
  border-radius: var(--tm-radius);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background-size: cover;
  background-position: center;
  box-shadow: var(--tm-shadow-md);
  transition: transform var(--tm-transition), box-shadow var(--tm-transition);
  display: block;
  color: var(--tm-white);
  text-decoration: none;
}
.tm-event-card--photo:hover {
  transform: translateY(-4px);
  box-shadow: var(--tm-shadow-xl);
}
.tm-badge-verified {
  position: absolute;
  top: 14px; left: 14px;
  background: rgba(251,122,47,.9);
  color: var(--tm-white);
  font-size: var(--tm-fs-xs);
  font-weight: 700;
  padding: 5px 12px;
  border-radius: var(--tm-radius-pill);
  z-index: 2;
}
.tm-save-btn {
  position: absolute;
  top: 12px; right: 12px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center;
  color: var(--tm-white);
  z-index: 2;
  border: none;
  cursor: pointer;
}
.tm-save-btn:hover { background: rgba(0,0,0,.65); }
.tm-event-card__title-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 60px 18px 18px;
  background: linear-gradient(to top, rgba(0,0,0,.92) 10%, rgba(0,0,0,0) 100%);
  z-index: 1;
}
.tm-event-card__title-overlay h3 {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-lg);
  font-weight: 700;
  color: var(--tm-white);
  margin: 0 0 8px;
}
.tm-event-card__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tm-fs-sm);
  color: rgba(255,255,255,.8);
  margin-bottom: 4px;
}
.tm-event-card__meta svg { flex-shrink: 0; width: 14px; height: 14px; }
.tm-event-card__price {
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
  font-size: var(--tm-fs-md);
  color: var(--tm-orange);
  margin-top: 8px;
}
.tm-tag-pill {
  display: inline-block;
  background: rgba(255,255,255,.12);
  color: var(--tm-white);
  font-size: var(--tm-fs-xs);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: var(--tm-radius-pill);
  margin: 8px 6px 0 0;
}

/* Featured carousel wrapper */
.tm-carousel-wrap__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
}
.tm-carousel-wrap__title {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-2xl);
  font-weight: 700;
  color: var(--tm-white);
  margin: 0;
}
.tm-carousel-wrap__controls {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tm-carousel-arrow {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--tm-navy-mid);
  border: none;
  color: var(--tm-white);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background var(--tm-transition);
}
.tm-carousel-arrow:hover { background: var(--tm-orange); }
.tm-carousel-wrap__seeall {
  color: var(--tm-orange);
  font-weight: 600;
  font-size: var(--tm-fs-sm);
  text-decoration: none;
}

/* Bottom floating nav bar (mobile app pattern) */
.tm-bottom-nav {
  display: flex;
  align-items: stretch;
  justify-content: space-around;
  background: var(--tm-navy-dark);
  border-top: 1px solid rgba(255,255,255,.08);
}
.tm-bottom-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 1;
  padding: 10px 4px 8px;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  position: relative;
}
.tm-bottom-nav__item svg { width: 22px; height: 22px; }
.tm-bottom-nav__item--active { color: var(--tm-white); }
.tm-bottom-nav__item--active::after {
  content: '';
  position: absolute;
  top: 4px;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--tm-orange);
}
/* Prevent bottom nav from covering page content on mobile */
@media (max-width: 767px) {
  body.tm-has-bottom-nav {
    padding-bottom: 64px;
  }
}
/* ── Photo-Overlay Event Card (upgrades the existing WC loop card) ──
 * Applies the Circl-inspired full-bleed photo + bottom text-overlay
 * treatment on top of WooCommerce's native product-loop markup, using
 * hook-injected content from the tm-event-card-hooks snippet (save
 * button, location/date meta, tag pills). Overrides/extends the base
 * .woocommerce ul.products li.product rules already defined above.
 * ────────────────────────────────────────────────────────────── */
.woocommerce ul.products li.product {
  position: relative;
  aspect-ratio: 3 / 4;
  height: auto;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.woocommerce ul.products li.product img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.woocommerce ul.products li.product .tm-save-btn {
  position: absolute;
  top: 12px; right: 12px;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center;
  color: var(--tm-white);
  z-index: 3;
  border: none;
  cursor: pointer;
}
.woocommerce ul.products li.product .tm-save-btn:hover { background: rgba(0,0,0,.65); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  margin: 0 !important;
  padding: 68px 16px 8px !important;
  background: linear-gradient(to top, rgba(0,0,0,.92) 20%, rgba(0,0,0,0) 100%);
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-lg);
  font-weight: 700;
  color: var(--tm-white) !important;
  text-align: left;
}
.woocommerce ul.products li.product .tm-event-card__meta {
  position: absolute;
  left: 16px; right: 16px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--tm-fs-sm);
  color: rgba(255,255,255,.85);
  background: rgba(0,0,0,.92);
}
.woocommerce ul.products li.product .tm-event-card__meta svg { flex-shrink: 0; width: 13px; height: 13px; }
.woocommerce ul.products li.product .tm-event-card__meta:nth-of-type(1) { bottom: 62px; }
.woocommerce ul.products li.product .tm-event-card__meta:nth-of-type(2) { bottom: 38px; }
.woocommerce ul.products li.product .tm-tag-pill {
  position: absolute;
  left: 16px;
  bottom: 8px;
  z-index: 2;
  display: inline-block;
  background: rgba(255,255,255,.15);
  color: var(--tm-white);
  font-size: 10px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: var(--tm-radius-pill);
}
.woocommerce ul.products li.product .price {
  position: absolute;
  right: 16px;
  bottom: 8px;
  z-index: 2;
  margin: 0 !important;
  color: var(--tm-orange) !important;
  font-weight: 700 !important;
}
.woocommerce ul.products li.product .button {
  display: none !important; /* CTA lives on the single event page, not the card */
}
/* Bottom nav needs to actually be pinned — Phase 0 defined the look, this adds positioning */
.tm-bottom-nav {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 999;
}
@media (min-width: 768px) {
  .elementor-hidden-desktop { display: none !important; }
}
/* ── AJAX Search Results Panel (hero search bar) ─────────────────── */
.tm-search-results {
  display: none;
  max-width: 640px;
  margin: 12px auto 0;
  background: var(--tm-navy-mid);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--tm-radius);
  padding: 16px;
  max-height: 420px;
  overflow-y: auto;
}
.tm-search-results--open { display: block; }
.tm-search-results .tm-search-results__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.tm-search-results .products.tm-search-results__grid li.product {
  aspect-ratio: 3 / 4;
}
.tm-search-results .woocommerce-loop-product__title {
  font-size: var(--tm-fs-sm) !important;
  padding: 40px 10px 6px !important;
}
.tm-search-results__empty {
  color: rgba(255,255,255,.6);
  text-align: center;
  padding: 12px;
  font-size: var(--tm-fs-sm);
  margin: 0;
}
/* ── Event Submission Form (Crear Evento page) ────────────────── */
.tm-event-form-wrap {
  max-width: 640px;
  margin: 0 auto;
}
.tm-event-form {
  background: var(--tm-white);
  border-radius: var(--tm-radius-lg);
  box-shadow: var(--tm-shadow-md);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 40px;
}
.tm-event-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: var(--tm-fs-sm);
  color: var(--tm-navy);
}
.tm-event-form__row {
  display: flex;
  gap: 16px;
}
.tm-event-form__row label { flex: 1; }
.tm-event-form input[type="text"],
.tm-event-form input[type="number"],
.tm-event-form input[type="date"],
.tm-event-form input[type="time"],
.tm-event-form input[type="file"],
.tm-event-form textarea {
  border: 1.5px solid var(--tm-gray-mid);
  border-radius: var(--tm-radius-sm);
  padding: 12px 14px;
  font-family: 'Manrope', sans-serif;
  font-size: var(--tm-fs-base);
  font-weight: 400;
  color: var(--tm-black);
  transition: border-color var(--tm-transition), box-shadow var(--tm-transition);
}
.tm-event-form input:focus,
.tm-event-form textarea:focus {
  outline: none;
  border-color: var(--tm-orange);
  box-shadow: 0 0 0 3px rgba(251,122,47,.15);
}
.tm-event-form button[type="submit"] {
  border: none;
  cursor: pointer;
  margin-top: 8px;
}
.tm-event-form__notice {
  padding: 14px 18px;
  border-radius: var(--tm-radius-sm);
  font-weight: 600;
  margin-bottom: 20px;
}
.tm-event-form__notice--success { background: #E8F5E9; color: #1B5E20; }
.tm-event-form__notice--error { background: #FDECEA; color: #B3261E; }
.tm-event-form__list-title {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-xl);
  margin-bottom: 16px;
}
.tm-event-form__empty { color: #6B7280; }
.tm-my-events-list { list-style: none; margin: 0; padding: 0; }
.tm-my-events-list li {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--tm-white);
  border-radius: var(--tm-radius);
  box-shadow: var(--tm-shadow-sm);
  padding: 14px 18px;
  margin-bottom: 10px;
}
.tm-my-events-list__title { font-weight: 700; font-family: 'Unbounded', sans-serif; flex: 1; }
.tm-my-events-list__price { color: var(--tm-orange); font-weight: 600; }
.tm-my-events-list a {
  font-size: var(--tm-fs-sm);
  font-weight: 600;
  color: var(--tm-navy);
  text-decoration: none;
  padding: 6px 12px;
  border-radius: var(--tm-radius-pill);
  background: var(--tm-gray);
}
.tm-my-events-list a:hover { background: var(--tm-gray-mid); }

@media (max-width: 600px) {
  .tm-event-form__row { flex-direction: column; }
}

/* ── Global Dark Theme Baseline (site-wide) ────────────────────────
 * Homepage/Eventos hero sections etc. already set explicit dark
 * container backgrounds. This makes the *default* page chrome
 * (My Account, Cart, Checkout, Shop archive, plain WP page content)
 * dark too, so nothing reverts to a stray white page.
 * ────────────────────────────────────────────────────────────── */
body { background: var(--tm-navy-dark) !important; color: var(--tm-white); }
.page-header { background: transparent; padding: 56px 24px 16px; text-align: center; }
.page-header .entry-title,
h1.entry-title {
  color: var(--tm-white) !important;
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
  font-size: var(--tm-fs-3xl);
  margin: 0;
}
.page-content { max-width: 1040px; margin: 0 auto; padding: 8px 24px 96px; }
.tm-eventos-intro p { color: rgba(255,255,255,0.6) !important; }

/* WooCommerce / Elementor form fields — dark inputs everywhere */
.woocommerce form .woocommerce-Input,
.woocommerce form input.input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="password"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="number"],
.woocommerce form textarea,
.woocommerce form select,
.select2-container .select2-selection--single,
.elementor-field-group .elementor-field {
  background-color: rgba(255,255,255,0.06) !important;
  border: 1.5px solid rgba(255,255,255,0.18) !important;
  color: var(--tm-white) !important;
  border-radius: var(--tm-radius-sm);
}
.select2-container .select2-selection--single .select2-selection__rendered { color: var(--tm-white) !important; }
.select2-dropdown { background: var(--tm-navy-mid) !important; border-color: rgba(255,255,255,0.18) !important; }
.select2-results__option { color: var(--tm-white); }
.select2-results__option--highlighted { background: var(--tm-orange) !important; }
.woocommerce form label { color: rgba(255,255,255,0.85); }
.woocommerce form .woocommerce-Input::placeholder,
.elementor-field-group .elementor-field::placeholder { color: rgba(255,255,255,0.35); }
.woocommerce form .woocommerce-Input:focus,
.woocommerce form input:focus,
.elementor-field-group .elementor-field:focus {
  outline: none; border-color: var(--tm-orange) !important;
  box-shadow: 0 0 0 3px rgba(251,122,47,.15);
}
.woocommerce-account .u-columns.woocommerce-Addresses,
.woocommerce-account .woocommerce-form-login-toggle,
.woocommerce-account .woocommerce-form-register-toggle { color: rgba(255,255,255,0.85); }
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2,
.woocommerce-account h2, .woocommerce-account h3 { color: var(--tm-white); font-family: 'Unbounded', sans-serif; }

/* Notices (login errors, order messages, form success) */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  background-color: var(--tm-navy-mid) !important;
  color: var(--tm-white) !important;
  border-top: 3px solid var(--tm-orange) !important;
}
.woocommerce-message a, .woocommerce-info a { color: var(--tm-orange); }

/* Cart / Checkout tables */
.woocommerce table.shop_table { color: var(--tm-white); background: transparent; }
.woocommerce table.shop_table th { color: rgba(255,255,255,0.55); font-weight: 600; }
.woocommerce table.shop_table td { border-top-color: rgba(255,255,255,0.1) !important; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order { color: var(--tm-white); }
.woocommerce a.remove { color: rgba(255,255,255,0.5) !important; }
.woocommerce a.remove:hover { color: var(--tm-orange) !important; background: transparent !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--tm-navy-mid) !important; color: rgba(255,255,255,0.85); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--tm-navy-mid) !important; }

/* Product single page: tabs, related products heading */
.woocommerce div.product .woocommerce-tabs ul.tabs li { color: rgba(255,255,255,0.6); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--tm-white); }
.woocommerce div.product .woocommerce-tabs .panel { color: rgba(255,255,255,0.85); }


/* ── Dashboard page ────────────────────────────────────────────── */
.tm-dashboard-status .tm-status {
  display: inline-block; padding: 6px 16px; border-radius: var(--tm-radius-pill);
  font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: var(--tm-fs-sm);
}
.tm-status--premium { background: var(--tm-orange); color: #FFFFFF; }
.tm-status--basic { background: rgba(255,255,255,0.12); color: #FFFFFF; }
.tm-status--free, .tm-status--guest { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.6); }

.tm-dashboard-stats-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px;
}
.tm-dashboard-card {
  background: var(--tm-navy-mid); border-radius: var(--tm-radius-lg);
  padding: 24px; box-shadow: var(--tm-shadow-sm);
}
.tm-dashboard-card h4 {
  color: #FFFFFF; font-family: 'Unbounded', sans-serif; font-weight: 600;
  font-size: var(--tm-fs-md); margin: 0 0 16px;
}
.tm-dashboard-stat { display: flex; flex-direction: column; gap: 6px; }
.tm-dashboard-stat__value {
  font-family: 'Unbounded', sans-serif; font-weight: 700;
  font-size: var(--tm-fs-2xl); color: var(--tm-orange);
}
.tm-dashboard-stat__label { color: rgba(255,255,255,0.6); font-size: var(--tm-fs-sm); }

.tm-paywall {
  background: var(--tm-navy-mid); border: 1.5px dashed rgba(251,122,47,0.5);
  border-radius: var(--tm-radius-lg); padding: 32px; text-align: center; margin-top: 8px;
}
.tm-paywall h3 { color: #FFFFFF; font-family: 'Unbounded', sans-serif; margin: 0 0 8px; }
.tm-paywall p { color: rgba(255,255,255,0.65); margin: 0 0 20px; }
.tm-btn-primary {
  display: inline-block; background: var(--tm-orange); color: #FFFFFF !important;
  font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: var(--tm-fs-sm);
  padding: 12px 28px; border-radius: var(--tm-radius-sm); text-decoration: none;
  transition: background var(--tm-transition);
}
.tm-btn-primary:hover { background: var(--tm-orange-h); }

.tm-dashboard-scanner-wrap h3 { color: #FFFFFF; font-family: 'Unbounded', sans-serif; margin-bottom: 16px; }

/* Ticket list shortcode output — give it a card look on dark bg */
.tm-dashboard-ticket-list { color: rgba(255,255,255,0.85); }
.tm-dashboard-ticket-list table { width: 100%; border-collapse: collapse; }
.tm-dashboard-ticket-list th { color: rgba(255,255,255,0.5); text-align: left; padding: 8px; font-weight: 600; }
.tm-dashboard-ticket-list td { padding: 12px 8px; border-top: 1px solid rgba(255,255,255,0.08); }


/* ── Non-event product pages (e.g. subscription plans) ──────────
 * Hide the event-only widgets from the shared Single Event template
 * when the product isn't in the Eventos category.
 * ────────────────────────────────────────────────────────────── */
.tm-non-event-product .tm-event-ticket-detail,
.tm-non-event-product .tm-event-related-title,
.tm-non-event-product .tm-event-related-products {
  display: none !important;
}


/* ── Toast (used for "coming soon" bottom-nav feedback) ──────────── */
.tm-toast {
  position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%) translateY(12px);
  background: var(--tm-navy); color: #FFFFFF; font-family: 'Manrope', sans-serif;
  font-size: var(--tm-fs-sm); font-weight: 600; padding: 10px 20px; border-radius: var(--tm-radius-pill);
  box-shadow: var(--tm-shadow-lg); opacity: 0; pointer-events: none; z-index: 1000;
  transition: opacity var(--tm-transition), transform var(--tm-transition);
}
.tm-toast--visible { opacity: 1; transform: translateX(-50%) translateY(0); }
@media (min-width: 768px) { .tm-toast { bottom: 24px; } }


/* ── Fix: product tabs had light-gray core WC background with light
 * text on top of it (invisible/low-contrast) after the global dark
 * pass only recolored text, not the tab background. ────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background-color: var(--tm-navy-mid) !important;
  border-color: rgba(255,255,255,0.15) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--tm-navy-dark) !important;
  border-bottom-color: var(--tm-navy-dark) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: rgba(255,255,255,0.7) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #FFFFFF !important;
}

/* ── Fix: duplicate "related products" heading — our own custom
 * heading widget already says "Eventos relacionados"; hide the
 * native WooCommerce-generated one to avoid the double header. ── */
.related.products > h2 { display: none; }


/* ── Header cart icon on mobile: hide the price subtotal text so the
 * icon-only widget fits its allotted flex width instead of forcing
 * the header into a second row (min-width:auto flex overflow). ── */
@media (max-width: 767px) {
  #elementor-menu-cart__toggle_button .elementor-button-text { display: none; }
  #elementor-menu-cart__toggle_button { padding: 8px !important; min-width: 0 !important; }
}

/* ── Single Event page: breadcrumb links + rating readable on dark ── */
.woocommerce-breadcrumb a { color: rgba(255,255,255,0.6); }
.woocommerce-breadcrumb a:hover { color: var(--tm-orange); }


/* ── Single Event page: location/date detail (tm_event_meta shortcode) ── */
.tm-event-meta-detail { margin: 4px 0 20px; display: flex; flex-direction: column; gap: 8px; }
.tm-event-meta-detail__row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--tm-fs-base);
  color: rgba(255,255,255,.85);
}
.tm-event-meta-detail__row svg { flex-shrink: 0; width: 18px; height: 18px; color: var(--tm-orange); }

/* ── Mis Eventos: delete action (destructive, distinct from Editar/Ver) ── */
.tm-my-events-list__delete { background: rgba(220,38,38,0.12); color: #DC2626; }
.tm-my-events-list__delete:hover { background: rgba(220,38,38,0.22); color: #DC2626; }


/* ── Fix: event card meta (location/date) was invisible — it used
 * light/white text (correct for the dark single-event page) but these
 * shop-loop cards have an explicit WHITE background, so the same white
 * text on white background was unreadable. Scope a dark override here. ── */
.woocommerce ul.products li.product .tm-event-card__meta {
  color: #6B7280 !important;
  margin: 0 20px 4px !important;
}
.woocommerce ul.products li.product .tm-event-card__meta:first-of-type { margin-top: 4px !important; }
.woocommerce ul.products li.product .tm-event-card__meta svg { color: var(--tm-orange); }
.woocommerce ul.products li.product .tm-tag-pill {
  background: var(--tm-gray) !important;
  color: var(--tm-navy) !important;
  margin: 8px 20px 0 !important;
}

/* ── "Starts soon" ribbon + WooCommerce's native sale ribbon ── */
.woocommerce ul.products li.product { position: relative; }
.tm-event-card__ribbon,
.woocommerce ul.products li.product span.onsale {
  position: absolute;
  top: 12px; left: 12px;
  z-index: 2;
  background: var(--tm-orange);
  color: var(--tm-white);
  font-family: 'Unbounded', sans-serif;
  font-size: var(--tm-fs-xs);
  font-weight: 700;
  padding: 5px 12px;
  border-radius: var(--tm-radius-pill);
  box-shadow: var(--tm-shadow-sm);
  text-transform: uppercase;
  letter-spacing: .02em;
}
.woocommerce ul.products li.product span.onsale {
  background: var(--tm-navy);
  top: auto;
  bottom: 12px;
  right: 12px;
  left: auto;
}


/* ── FINAL event card layout ────────────────────────────────────
 * This site accumulated two competing card designs over time: an
 * earlier "image (190px) + white content below" version, and a later
 * "full-bleed absolute-overlay photo tile" version — both targeting
 * the same .woocommerce ul.products li.product .elementor-kit-4s. Neither
 * fully overrode the other's positioning, producing a broken hybrid
 * (image on top, dead white space below, invisible overlay text).
 * This block is the single source of truth going forward: simple,
 * robust, image-top + readable content-below, using !important on
 * every property that a prior rule touched so it wins regardless of
 * source order or specificity. ── */
.woocommerce ul.products li.product {
  position: relative !important;
  aspect-ratio: unset !important;
  height: auto !important;
  background: var(--tm-white) !important;
  border-radius: var(--tm-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--tm-shadow-sm) !important;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  position: static !important;
  inset: auto !important;
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  position: static !important;
  background: none !important;
  padding: 16px 20px 0 !important;
  margin: 0 !important;
  font-family: 'Unbounded', sans-serif !important;
  font-size: var(--tm-fs-lg) !important;
  font-weight: 700 !important;
  color: var(--tm-black) !important;
  text-align: left !important;
}
.woocommerce ul.products li.product .tm-event-card__meta {
  position: static !important;
  left: auto !important; right: auto !important; bottom: auto !important;
  background: none !important;
  color: #6B7280 !important;
  margin: 4px 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: var(--tm-fs-sm) !important;
}
.woocommerce ul.products li.product .tm-event-card__meta svg {
  color: var(--tm-orange) !important;
  width: 14px !important; height: 14px !important;
}
.woocommerce ul.products li.product .tm-tag-pill {
  position: static !important;
  left: auto !important; bottom: auto !important;
  display: inline-block !important;
  background: var(--tm-gray) !important;
  color: var(--tm-navy) !important;
  margin: 8px 0 0 20px !important;
}
.woocommerce ul.products li.product .price {
  position: static !important;
  right: auto !important; bottom: auto !important;
  display: block !important;
  margin: 12px 20px 20px !important;
  color: var(--tm-orange) !important;
  font-weight: 700 !important;
  font-size: var(--tm-fs-md) !important;
}
.woocommerce ul.products li.product .button { display: none !important; }
.woocommerce ul.products li.product .tm-save-btn {
  position: absolute !important;
  top: 12px !important; right: 12px !important;
  z-index: 3 !important;
}
.tm-event-card__ribbon,
.woocommerce ul.products li.product span.onsale {
  position: absolute !important;
  z-index: 3 !important;
  font-family: 'Unbounded', sans-serif !important;
  font-size: var(--tm-fs-xs) !important;
  font-weight: 700 !important;
  padding: 5px 12px !important;
  border-radius: var(--tm-radius-pill) !important;
  box-shadow: var(--tm-shadow-sm) !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}
.tm-event-card__ribbon {
  top: 12px !important; left: 12px !important;
  background: var(--tm-orange) !important;
  color: var(--tm-white) !important;
}
.woocommerce ul.products li.product span.onsale {
  top: auto !important; left: auto !important;
  bottom: 12px !important; right: 12px !important;
  background: var(--tm-navy) !important;
  color: var(--tm-white) !important;
}


/* ── Fix: event flyer images were being cropped by object-fit:cover on
 * a fixed-aspect card. Flyers can be any aspect ratio (square ads,
 * portrait posters, etc.), so show the whole image (contain) on a
 * branded letterbox background instead of cutting off the top/bottom. ── */
.tm-event-gallery img {
  object-fit: contain !important;
  background: var(--tm-navy-dark) !important;
}


/* ── Header redesign: premium glass header (Header + Hero pass) ──
 * Structure/colors/gradient are all native Elementor settings (Container,
 * Global Colors, Button background group). Only two things below have no
 * native Elementor control and are added as minimal, scoped CSS: ── */
.tm-header {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background var(--tm-transition), box-shadow var(--tm-transition);
  box-shadow: var(--tm-shadow-md);
}
.tm-header-cta-btn {
  transition: box-shadow var(--tm-transition), transform var(--tm-transition) !important;
}
.tm-header-cta-btn:hover {
  box-shadow: 0 0 24px rgba(255,122,26,.45);
  transform: translateY(-1px);
}
/* WooCommerce/Elementor don't expose a control for the cart quantity badge */
.tm-header-cart .elementor-button-icon-qty {
  background: var(--tm-orange) !important;
  color: #FFFFFF !important;
}

/* TMX-FASE2-START (header/footer/nav — no editar a mano dentro de los marcadores) */
/* ---------- HEADER ---------- */
.elementor-element-tmxhdr01{
  background:var(--tm-black)!important;
  border-bottom:1px solid var(--tm-border);
  padding:8px 24px!important;
  min-height:64px;
  gap:18px;
  box-shadow:var(--tm-shadow-sm);
}
.elementor-element-tmxhdr01.elementor-sticky--effects{
  background:rgba(0,0,0,.94)!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
/* Layout horizontal robusto: evitar que los contenedores hijos tomen width:100% y se apilen */
.elementor-element-tmxhdr01{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;}
.elementor-element-tmxhdr01 > .elementor-element{width:auto!important;}
.elementor-element-tmxlogo1{flex:0 0 auto!important;align-items:center;}
.elementor-element-tmxsrchc{flex:1 1 auto!important;}
.elementor-element-tmxnavc1{flex:0 0 auto!important;}
.elementor-element-tmxactsc{flex:0 0 auto!important;}
.tmx-logo img{max-height:40px;width:auto;display:block;}
/* Hamburguesa del nav principal en blanco sobre header negro */
.tmx-mainnav .elementor-menu-toggle{color:var(--tm-white)!important;}
.tmx-mainnav .elementor-menu-toggle svg{fill:var(--tm-white)!important;}
/* Contador del carrito en color de marca */
.tmx-cart .elementor-menu-cart__toggle .elementor-button-icon[data-counter]:after,
.tmx-cart .elementor-menu-cart__products-count,
.tmx-cart .elementor-button__icon-count{background-color:var(--tm-orange)!important;color:#fff!important;}
/* Buscador */
.elementor-element-tmxsrchc{flex:1 1 auto;max-width:440px;}
.tmx-search{display:flex;align-items:center;gap:8px;background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:var(--tm-radius-pill);padding:5px 6px 5px 14px;width:100%;transition:border-color var(--tm-transition);}
.tmx-search:focus-within{border-color:var(--tm-orange);}
.tmx-search__ico{display:flex;color:var(--tm-secondary-text);flex:0 0 auto;}
.tmx-search__ico svg{width:18px;height:18px;}
.tmx-search__input{flex:1 1 auto;min-width:0;background:transparent;border:0;outline:0;color:var(--tm-white);font-size:var(--tm-fs-sm);}
.tmx-search__input::placeholder{color:var(--tm-secondary-text);}
.tmx-search__btn{flex:0 0 auto;background:var(--tm-orange);color:#fff;border:0;border-radius:var(--tm-radius-pill);padding:8px 18px;font-weight:600;font-size:var(--tm-fs-sm);cursor:pointer;transition:background var(--tm-transition);}
.tmx-search__btn:hover{background:var(--tm-orange-h);}
/* Nav principal */
.tmx-mainnav .elementor-nav-menu>li>a{color:var(--tm-white)!important;font-weight:500;font-size:var(--tm-fs-sm);border-radius:var(--tm-radius-sm);}
.tmx-mainnav .elementor-nav-menu>li>a:hover,
.tmx-mainnav .elementor-nav-menu .current-menu-item>a{color:var(--tm-orange)!important;}
.tmx-mainnav .elementor-nav-menu--dropdown{background:var(--tm-card)!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;}
.tmx-mainnav .elementor-nav-menu--dropdown a{color:var(--tm-white)!important;}
.tmx-mainnav .elementor-nav-menu--dropdown a:hover{background:var(--tm-surface)!important;color:var(--tm-orange)!important;}
.tmx-mainnav .elementor-nav-menu--dropdown > .menu-item{border-bottom:1px solid var(--tm-border);}
.tmx-mainnav .elementor-nav-menu--dropdown > .menu-item:last-child{border-bottom:0;}
/* Acciones */
.elementor-element-tmxactsc{align-items:center;}
.tmx-headacts{display:flex;align-items:center;gap:4px;}
.tmx-iconlink{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--tm-white);text-decoration:none;font-size:11px;line-height:1;padding:6px 8px;min-width:44px;min-height:44px;justify-content:center;border-radius:var(--tm-radius-sm);transition:color var(--tm-transition),background var(--tm-transition);}
.tmx-iconlink svg{width:20px;height:20px;}
.tmx-iconlink:hover{color:var(--tm-orange);background:var(--tm-surface);}
.tmx-searchtoggle{display:none;background:transparent;border:0;color:var(--tm-white);cursor:pointer;padding:0;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--tm-radius-sm);}
.tmx-searchtoggle svg{width:22px;height:22px;}
.tmx-searchtoggle:hover{color:var(--tm-orange);background:var(--tm-surface);}
/* CTA */
.tmx-btn--cta .elementor-button{background:var(--tm-orange)!important;color:#fff!important;border-radius:var(--tm-radius-pill)!important;font-weight:600!important;padding:10px 20px!important;transition:transform var(--tm-transition),background var(--tm-transition)!important;}
.tmx-btn--cta .elementor-button:hover{background:var(--tm-orange-h)!important;transform:translateY(-1px);}
/* Carrito */
.tmx-cart .elementor-menu-cart__toggle .elementor-button{background:transparent!important;color:var(--tm-white)!important;padding:6px!important;border:0!important;box-shadow:none!important;}
.tmx-cart .elementor-menu-cart__toggle svg,.tmx-cart .elementor-menu-cart__toggle i{color:var(--tm-white)!important;font-size:22px;}
.tmx-cart .elementor-menu-cart__toggle .elementor-button-text{display:none!important;}

/* ---------- RESPONSIVE HEADER ---------- */
@media(max-width:1024px){
  .elementor-element-tmxsrchc{display:none;}
  .tmx-iconlink span{display:none;}
  .tmx-searchtoggle{display:flex;}
  .elementor-element-tmxnavc1{margin-left:auto!important;}
  /* El panel del menú móvil ocupa TODO el ancho (evita que se corte a la derecha) */
  
  .tmx-mainnav .elementor-nav-menu--dropdown a{padding:14px 20px!important;font-size:var(--tm-fs-md)!important;border-bottom:1px solid var(--tm-border)!important;}
  /* Overlay de búsqueda al abrir */
  body.tmx-search-open .elementor-element-tmxsrchc{display:block;position:fixed;top:0;left:0;right:0;background:var(--tm-black);padding:12px 14px;z-index:1001;box-shadow:var(--tm-shadow-lg);max-width:none;}
  body.tmx-search-open .elementor-element-tmxsrchc .tmx-search{max-width:none;}
}
@media(max-width:767px){
  .elementor-element-tmxhdr01{padding:6px 14px!important;gap:10px;min-height:56px;}
  .tmx-logo img{max-height:32px;}
  .tmx-btn--cta{display:none!important;}
  .tmx-headacts{display:none;}
}

/* ---------- FOOTER ---------- */
.elementor-element-tmxftr01{background:var(--tm-navy-dark)!important;border-top:1px solid var(--tm-border);}
.elementor-element-tmxftbrand{max-width:520px;}
.tmx-foot__logo img{max-height:38px;width:auto;}
.tmx-foot__tagline p{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;margin:8px 0 0!important;line-height:var(--tm-lh);}
.elementor-element-tmxftcols{gap:24px;}
/* Título de columna: apuntar al <h4> real, no al wrapper */
.tmx-foot__title .elementor-heading-title{color:var(--tm-white)!important;font-size:1rem!important;font-weight:700!important;letter-spacing:.03em;margin:0 0 4px!important;line-height:1.3!important;}
/* Matar el fondo blanco por defecto del widget nav-menu (bug dark-theme) */
.tmx-foot__nav,
.tmx-foot__nav nav,
.tmx-foot__nav .elementor-nav-menu--main,
.tmx-foot__nav .elementor-nav-menu--dropdown,
.tmx-foot__nav .elementor-nav-menu,
.tmx-foot__nav .elementor-nav-menu li{background:transparent!important;border:0!important;box-shadow:none!important;}
.tmx-foot__nav .elementor-nav-menu a{color:var(--tm-secondary-text)!important;background:transparent!important;font-size:var(--tm-fs-sm)!important;padding:5px 0!important;border:0!important;transition:color var(--tm-transition);}
.tmx-foot__nav .elementor-nav-menu a:hover{color:var(--tm-orange)!important;background:transparent!important;}
.elementor-element-tmxftlegal{border-top:1px solid var(--tm-border);padding-top:16px!important;}
.tmx-foot__copy p,.tmx-foot__loc p{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-xs)!important;margin:0!important;}
@media(max-width:767px){
  .elementor-element-tmxftcols{flex-direction:column;gap:22px;}
  .elementor-element-tmxftbrand{flex-direction:column;align-items:flex-start;}
  .elementor-element-tmxftlegal{flex-direction:column;align-items:flex-start;gap:4px;}
  .elementor-element-tmxftr01{padding-bottom:84px!important;}
}

/* ---------- BOTTOM NAV MÓVIL ---------- */
.elementor-element-tmxbnwrap{display:none;}
.tmx-bottomnav{display:flex;justify-content:space-around;align-items:stretch;background:var(--tm-black);border-top:1px solid var(--tm-border);}
.tmx-bottomnav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;color:var(--tm-secondary-text);text-decoration:none;font-size:11px;line-height:1;background:transparent;border:0;cursor:pointer;min-height:56px;transition:color var(--tm-transition);}
.tmx-bottomnav__item:hover,.tmx-bottomnav__item:focus{color:var(--tm-orange);}
.tmx-bottomnav__ic{display:flex;}
.tmx-bottomnav__ic svg{width:22px;height:22px;}
@media(max-width:767px){
  .elementor-element-tmxbnwrap{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1000;box-shadow:0 -2px 12px rgba(0,0,0,.3);}
}

/* fix barra inferior al ras */
body .elementor-element-tmxbnwrap{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;}
body .elementor-element-tmxbnwrap > .elementor-element,body .elementor-element-tmxbnwrap .elementor-widget-container{padding:0!important;margin:0!important;}
@media(max-width:767px){body .elementor-element-tmxbnwrap{bottom:0!important;left:0!important;right:0!important;}}

/* header sticky nativo: position:fixed rebota con la barra de URL de Chrome Android */
header[data-elementor-type=header]{position:sticky!important;top:0!important;z-index:9999!important;}
body{padding-top:0!important;}
body.admin-bar header[data-elementor-type=header]{top:32px!important;}
@media(max-width:782px){body.admin-bar header[data-elementor-type=header]{top:46px!important;}}
@media(max-width:600px){body.admin-bar header[data-elementor-type=header]{top:0!important;}}
/* TMX-FASE2-END */

/* TMX-FASE3-START */
.tmx-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;}
.tmx-event-card{display:flex;flex-direction:column;background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);overflow:hidden;text-decoration:none;transition:transform var(--tm-transition),box-shadow var(--tm-transition),border-color var(--tm-transition);}
.tmx-event-card:hover{transform:translateY(-4px);box-shadow:var(--tm-shadow-lg);border-color:var(--tm-orange);}
.tmx-event-card__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--tm-surface);}
.tmx-event-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--tm-ease);}
.tmx-event-card:hover .tmx-event-card__media img{transform:scale(1.05);}
.tmx-event-card__badge{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:var(--tm-radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.tmx-event-card__date{position:absolute;top:12px;right:12px;background:var(--tm-orange);color:#fff;border-radius:var(--tm-radius-sm);padding:6px 9px;text-align:center;line-height:1;display:flex;flex-direction:column;gap:2px;}
.tmx-event-card__date strong{font-size:16px;font-weight:800;}
.tmx-event-card__date span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;}
.tmx-event-card__soldout{position:absolute;top:12px;right:12px;background:#555;color:#fff;font-size:11px;font-weight:700;padding:5px 10px;border-radius:var(--tm-radius-pill);text-transform:uppercase;}
.tmx-event-card.is-soldout .tmx-event-card__media img{filter:grayscale(.6);opacity:.7;}
.tmx-event-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.tmx-event-card__title{color:var(--tm-white)!important;font-size:1.05rem!important;font-weight:700!important;margin:0!important;line-height:1.3!important;}
.tmx-event-card__meta{color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);}
.tmx-event-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--tm-border);}
.tmx-event-card__price{color:var(--tm-orange);font-weight:700;font-size:var(--tm-fs-md);}
.tmx-event-card__price .amount,.tmx-event-card__price bdi{color:var(--tm-orange)!important;}
.tmx-event-card__cta{color:var(--tm-white);font-size:var(--tm-fs-sm);font-weight:600;}
.tmx-empty{color:var(--tm-secondary-text);text-align:center;padding:32px;border:1px dashed var(--tm-border);border-radius:var(--tm-radius);width:100%;}
.tmx-cat-chips{display:flex;flex-wrap:wrap;gap:10px;}
.tmx-cat-chip{background:var(--tm-surface);border:1px solid var(--tm-border);color:var(--tm-white);padding:9px 18px;border-radius:var(--tm-radius-pill);text-decoration:none;font-size:var(--tm-fs-sm);font-weight:500;transition:transform var(--tm-transition),background var(--tm-transition),border-color var(--tm-transition);}
.tmx-cat-chip:hover{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff;transform:translateY(-2px);}
/* Botones genéricos */
.tmx-btn{display:inline-block;padding:12px 26px;border-radius:var(--tm-radius-pill);font-weight:600;text-decoration:none;transition:transform var(--tm-transition),background var(--tm-transition),border-color var(--tm-transition),color var(--tm-transition);}
.tmx-btn--primary{background:var(--tm-orange);color:#fff;}
.tmx-btn--primary:hover{background:var(--tm-orange-h);transform:translateY(-2px);color:#fff;}
.tmx-btn--ghost{background:transparent;color:var(--tm-white);border:1px solid var(--tm-border);}
.tmx-btn--ghost:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
/* Secciones */
.elementor-element-tmxhero{padding:0!important;}
.elementor-element-tmxsdest,.elementor-element-tmxsprox,.elementor-element-tmxsorg{background:var(--tm-navy-dark)!important;}
.elementor-element-tmxscats,.elementor-element-tmxshow{background:var(--tm-navy-mid)!important;}
.tmx-sec{padding:48px 20px!important;}
.tmx-sec__title .elementor-heading-title{color:var(--tm-white)!important;font-size:clamp(1.6rem,4vw,2.2rem)!important;font-weight:800!important;margin:0!important;line-height:1.15!important;}
.tmx-sec__sub .elementor-heading-title{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-md)!important;font-weight:400!important;margin:2px 0 6px!important;}
/* Hero */
.tmx-hero{padding:64px 20px;text-align:center;background:linear-gradient(135deg,var(--tm-navy) 0%,var(--tm-navy-dark) 100%);}
.tmx-hero__inner{max-width:820px;margin:0 auto;}
.tmx-hero__title{color:var(--tm-white)!important;font-size:clamp(2rem,6vw,3.4rem)!important;font-weight:800!important;line-height:1.1!important;margin:0 0 16px!important;}
.tmx-hero__title span{color:var(--tm-orange);}
.tmx-hero__sub{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-md)!important;max-width:600px;margin:0 auto 28px!important;line-height:1.5;}
.tmx-hero__search{display:flex;gap:8px;max-width:560px;margin:0 auto 20px;background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-pill);padding:6px 6px 6px 18px;}
.tmx-hero__search input[type=search]{flex:1;background:transparent;border:0;outline:0;color:var(--tm-white);font-size:var(--tm-fs-base);min-width:0;}
.tmx-hero__search input::placeholder{color:var(--tm-secondary-text);}
.tmx-hero__search button{background:var(--tm-orange);color:#fff;border:0;border-radius:var(--tm-radius-pill);padding:12px 22px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--tm-transition);}
.tmx-hero__search button:hover{background:var(--tm-orange-h);}
.tmx-hero__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
@media(max-width:600px){.tmx-hero{padding:44px 16px;} .tmx-hero__search button{padding:12px 16px;}}
/* Cómo funciona */
.tmx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:100%;}
.tmx-step{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);padding:26px 22px;text-align:center;}
.tmx-step__n{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;background:var(--tm-orange);color:#fff;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;}
.tmx-step h3{color:var(--tm-white);font-size:1.15rem;margin:0 0 8px;}
.tmx-step p{color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);margin:0;line-height:1.5;}
/* Organizadores CTA */
.tmx-orgcta{background:linear-gradient(135deg,var(--tm-orange) 0%,var(--tm-orange-h) 100%);border-radius:var(--tm-radius-xl);padding:40px 24px;text-align:center;}
.tmx-orgcta__in{max-width:620px;margin:0 auto;}
.tmx-orgcta h2{color:#fff;font-size:clamp(1.5rem,4vw,2rem);margin:0 0 10px;}
.tmx-orgcta p{color:rgba(255,255,255,.92);margin:0 0 20px;font-size:var(--tm-fs-md);}
.tmx-orgcta .tmx-btn--primary{background:#fff;color:var(--tm-navy-dark);}
.tmx-orgcta .tmx-btn--primary:hover{background:var(--tm-navy-dark);color:#fff;}

/* fix color texto botones */
.tmx-btn--primary,.tmx-btn--primary:hover{color:#fff!important;}
.tmx-btn--ghost{color:var(--tm-white)!important;}
.tmx-btn--ghost:hover{color:var(--tm-orange)!important;}
.tmx-orgcta .tmx-btn--primary{color:var(--tm-navy-dark)!important;}
.tmx-orgcta .tmx-btn--primary:hover{color:#fff!important;}
/* TMX-FASE3-END */

/* tmx-nooverflow */
html,body{overflow-x:clip;max-width:100%;}

/* TMX-FASE4-START */
.tmx-catalog{width:100%;}
.tmx-filters{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);margin-bottom:8px;}
.tmx-filters>summary{list-style:none;cursor:pointer;padding:14px 18px;color:var(--tm-white);font-weight:600;display:flex;align-items:center;gap:8px;}
.tmx-filters>summary::-webkit-details-marker{display:none;}
.tmx-filters>summary::after{content:"▾";margin-left:auto;color:var(--tm-secondary-text);}
.tmx-filters[open]>summary::after{content:"▴";}
.tmx-filters__inner{padding:0 18px 18px;display:flex;flex-direction:column;gap:14px;}
.tmx-chips{display:flex;flex-wrap:wrap;gap:8px;}
.tmx-filters .tmx-cat-chip{cursor:pointer;font-family:inherit;}
.tmx-cat-chip.is-active{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff;}
.tmx-filters__controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.tmx-filters__controls select{background:var(--tm-surface);color:var(--tm-white);border:1px solid var(--tm-border);border-radius:var(--tm-radius-pill);padding:10px 16px;font-size:var(--tm-fs-sm);cursor:pointer;min-height:44px;}
.tmx-filters__apply{padding:10px 20px!important;}
.tmx-catalog__count{color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);margin:14px 0;}
.tmx-pager{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.tmx-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:var(--tm-radius-sm);background:var(--tm-card);border:1px solid var(--tm-border);color:var(--tm-white);text-decoration:none;}
.tmx-pager .page-numbers.current{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff;}
.tmx-pager a.page-numbers:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-empty .tmx-btn{margin-top:14px;}
/* Desktop: filtros siempre visibles, sin summary */
@media(min-width:768px){
  .tmx-filters>summary{display:none;}
  .tmx-filters>.tmx-filters__inner{display:flex!important;padding:16px 18px;}
  .tmx-filters__controls{margin-left:auto;}
}
/* TMX-FASE4-END */

/* TMX-CART-START */
.elementor-menu-cart__container,.elementor-menu-cart__main{background:var(--tm-card)!important;color:var(--tm-white)!important;}
.elementor-menu-cart__container{box-shadow:var(--tm-shadow-xl)!important;}
.elementor-menu-cart__container a:not(.elementor-button){color:var(--tm-white)!important;}
.elementor-menu-cart__close-button,.elementor-menu-cart__close-button svg{color:var(--tm-white)!important;fill:var(--tm-white)!important;}
.elementor-menu-cart__products,.elementor-menu-cart__product{border-color:var(--tm-border)!important;color:var(--tm-white)!important;}
.elementor-menu-cart__product .elementor-menu-cart__product-name a{color:var(--tm-white)!important;}
.elementor-menu-cart__product-price,.elementor-menu-cart__product .quantity{color:var(--tm-secondary-text)!important;}
.elementor-menu-cart__subtotal,.woocommerce-mini-cart__total{color:var(--tm-white)!important;border-color:var(--tm-border)!important;}
.woocommerce-mini-cart__empty-message{color:var(--tm-secondary-text)!important;padding:24px 0;text-align:center;}
.elementor-menu-cart__footer-buttons .elementor-button{border-radius:var(--tm-radius-pill)!important;}
.elementor-menu-cart__footer-buttons .elementor-button:last-child{background:var(--tm-orange)!important;color:#fff!important;}
.elementor-menu-cart__remove-button,.elementor-menu-cart__remove-button:before{color:var(--tm-secondary-text)!important;}
.dialog-widget-content,.elementor-menu-cart__container .dialog-widget-content{background:var(--tm-card)!important;}


.elementor-element-tmxhdr01{overflow:visible!important;}
/* TMX-CART-END */

/* TMX-FASE5-START */
.tmx-ep{max-width:1100px;margin:0 auto;}
.tmx-ep__bc,.tmx-ep__bc a,.woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;}
.woocommerce-breadcrumb a:hover{color:var(--tm-orange)!important;}
.tmx-ep__hero{margin-bottom:24px;}
.tmx-ep__img{position:relative;aspect-ratio:16/9;border-radius:var(--tm-radius-lg);overflow:hidden;background:var(--tm-surface);}
.tmx-ep__img img{width:100%;height:100%;object-fit:cover;}
.tmx-ep__cat{position:absolute;top:16px;left:16px;background:rgba(0,0,0,.6);color:#fff;padding:6px 12px;border-radius:var(--tm-radius-pill);font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.tmx-ep__state{position:absolute;top:16px;right:16px;padding:6px 12px;border-radius:var(--tm-radius-pill);font-size:12px;font-weight:700;color:#fff;}
.tmx-ep__state.is-soldout,.tmx-ep__state.is-past{background:#555;}
.tmx-ep__state.is-low{background:var(--tm-orange);}
.tmx-ep__grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;}
.tmx-ep__title{color:var(--tm-white)!important;font-size:clamp(1.8rem,4vw,2.6rem)!important;font-weight:800!important;margin:0 0 16px!important;line-height:1.15!important;}
.tmx-ep__meta{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px;}
.tmx-ep__meta li{display:flex;align-items:center;gap:12px;color:var(--tm-white);font-size:var(--tm-fs-base);}
.tmx-ep__meta svg{width:20px;height:20px;color:var(--tm-orange);flex:0 0 auto;}
.tmx-ep__section{margin-bottom:28px;}
.tmx-ep__section h2{color:var(--tm-white);font-size:1.3rem;margin:0 0 12px;}
.tmx-ep__desc{color:var(--tm-secondary-text);line-height:1.7;}
.tmx-ep__desc p{margin:0 0 12px;}
.tmx-faq{border:1px solid var(--tm-border);border-radius:var(--tm-radius);margin-bottom:10px;background:var(--tm-card);}
.tmx-faq>summary{cursor:pointer;padding:14px 16px;color:var(--tm-white);font-weight:600;list-style:none;display:flex;align-items:center;}
.tmx-faq>summary::-webkit-details-marker{display:none;}
.tmx-faq>summary::after{content:"+";margin-left:auto;color:var(--tm-orange);font-size:20px;line-height:1;}
.tmx-faq[open]>summary::after{content:"2013";}
.tmx-faq p{margin:0;padding:0 16px 14px;color:var(--tm-secondary-text);line-height:1.6;}
.tmx-share{display:flex;gap:10px;flex-wrap:wrap;}
.tmx-share__btn{background:var(--tm-surface);border:1px solid var(--tm-border);color:var(--tm-white);padding:10px 18px;border-radius:var(--tm-radius-pill);text-decoration:none;font-weight:600;font-size:var(--tm-fs-sm);}
.tmx-share__btn:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-ep__side{position:sticky;top:84px;}
.tmx-buy{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);padding:22px;}
.tmx-buy__price{color:var(--tm-orange);font-size:1.6rem;font-weight:800;margin-bottom:16px;}
.tmx-buy__price .amount,.tmx-buy__price bdi{color:var(--tm-orange)!important;}
.tmx-buy__state{margin-bottom:12px;font-weight:700;}
.tmx-buy__state.is-low{color:var(--tm-orange);}
.tmx-buy__state.is-soldout,.tmx-buy__state.is-past{color:var(--tm-secondary-text);}
.tmx-buy .quantity input,.tmx-buy input[type=number],.tmx-buy select{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;border-radius:var(--tm-radius-sm)!important;padding:10px!important;}
.tmx-buy label{color:var(--tm-white)!important;}
.tmx-buy .single_add_to_cart_button,.tmx-buy button[type=submit]{width:100%!important;background:var(--tm-orange)!important;color:#fff!important;border:0!important;border-radius:var(--tm-radius-pill)!important;padding:14px!important;font-weight:700!important;font-size:var(--tm-fs-md)!important;margin-top:12px!important;cursor:pointer;transition:background var(--tm-transition);float:none!important;}
.tmx-buy .single_add_to_cart_button:hover{background:var(--tm-orange-h)!important;}
.tmx-buy form.cart{margin:0!important;display:block!important;}
.tmx-buy .quantity{margin:0 0 4px!important;display:block!important;}
.tmx-buy__trust{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--tm-border);display:flex;flex-direction:column;gap:10px;}
.tmx-buy__trust li{display:flex;align-items:center;gap:10px;color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);}
.tmx-buy__trust svg{width:16px;height:16px;color:var(--tm-success);flex:0 0 auto;}
.tmx-buybar{display:none;}
.tmx-buybar__price{color:var(--tm-white);font-weight:700;}
.tmx-buybar__price .amount,.tmx-buybar__price bdi{color:var(--tm-orange)!important;}
.tmx-btn--cta2{background:var(--tm-orange);color:#fff;padding:12px 22px;border-radius:var(--tm-radius-pill);font-weight:700;text-decoration:none;white-space:nowrap;}
@media(max-width:900px){
  .tmx-ep__grid{grid-template-columns:1fr;}
  .tmx-ep__side{position:static;margin-top:8px;}
  .tmx-buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--tm-black);border-top:1px solid var(--tm-border);padding:12px 16px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -2px 12px rgba(0,0,0,.3);}
  body.single-product .elementor-element-tmxbnwrap{display:none!important;}
}

/* fase5 fixes: btn cta2 + share icons */
.tmx-btn--cta2,.tmx-btn--cta2:hover{color:#fff!important;}
.tmx-share__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:48px;height:48px;padding:0!important;}
.tmx-share__btn svg{width:22px;height:22px;}
.tmx-share__btn[aria-label*=WhatsApp]:hover{background:#25D366!important;border-color:#25D366!important;color:#fff!important;}
.tmx-share__btn[aria-label*=Facebook]:hover{background:#1877F2!important;border-color:#1877F2!important;color:#fff!important;}
/* TMX-FASE5-END */

/* TMX-FASE7-START */
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-checkout h3#order_review_heading,.woocommerce-cart article h1,.woocommerce-checkout article h1{color:var(--tm-white)!important;}
/* Tablas */
.woocommerce table.shop_table{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;color:var(--tm-white)!important;overflow:hidden;}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{color:var(--tm-white)!important;border-color:var(--tm-border)!important;background:transparent!important;}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td{color:var(--tm-white)!important;}
.woocommerce table.shop_table a{color:var(--tm-white)!important;}
.woocommerce table.shop_table a:hover{color:var(--tm-orange)!important;}
.woocommerce .cart_item .product-price,.woocommerce .cart_item .product-subtotal,.woocommerce .order-total .amount{color:var(--tm-orange)!important;}
.woocommerce .quantity input.qty{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;border-radius:var(--tm-radius-sm)!important;}
/* Formularios */
.woocommerce form .form-row label,.woocommerce-checkout label,.woocommerce-billing-fields label,.woocommerce-additional-fields label{color:var(--tm-white)!important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=email],.woocommerce-checkout input[type=tel],.woocommerce-checkout textarea,.select2-container--default .select2-selection--single{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;border-radius:var(--tm-radius-sm)!important;min-height:44px;}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--tm-white)!important;line-height:42px!important;}
.select2-dropdown{background:var(--tm-card)!important;color:var(--tm-white)!important;border-color:var(--tm-border)!important;}
.select2-results__option{color:var(--tm-white)!important;}
.select2-results__option--highlighted{background:var(--tm-orange)!important;}
/* Order review + payment (fondos claros hardcodeados) */
.woocommerce-checkout #order_review,.woocommerce-checkout #payment,.woocommerce-checkout #order_review_heading{background:var(--tm-card)!important;color:var(--tm-white)!important;}
.woocommerce-checkout #order_review{border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:8px 16px!important;}
.woocommerce-checkout #payment{border-radius:var(--tm-radius-lg)!important;}
.woocommerce-checkout #payment ul.payment_methods{border-color:var(--tm-border)!important;}
.woocommerce-checkout #payment div.payment_box{background:var(--tm-surface)!important;color:var(--tm-secondary-text)!important;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--tm-surface)!important;}
.woocommerce-checkout #payment label{color:var(--tm-white)!important;}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total .amount{color:var(--tm-orange)!important;}
/* Botones */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order,.woocommerce .wc-proceed-to-checkout a.checkout-button{background:var(--tm-orange)!important;color:#fff!important;border-radius:var(--tm-radius-pill)!important;font-weight:700!important;padding:14px 28px!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover,.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--tm-orange-h)!important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;font-size:var(--tm-fs-md)!important;}
.woocommerce button.button[name=update_cart]{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;}
/* Cupón en acordeón visual */
.woocommerce-cart .coupon{display:flex;gap:8px;flex-wrap:wrap;}
.woocommerce-cart .coupon input.input-text{min-width:160px;}
/* Notices */
.woocommerce-info,.woocommerce-message,.woocommerce-noreviews,.woocommerce-error{background:var(--tm-surface)!important;color:var(--tm-white)!important;border-top:3px solid var(--tm-orange)!important;border-radius:var(--tm-radius-sm)!important;}
.woocommerce-info a,.woocommerce-message a{color:var(--tm-orange)!important;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--tm-orange)!important;}
/* Cabeceras de columnas / totales */
.cart_totals table td,.cart_totals table th,.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{color:var(--tm-white)!important;}
/* Señales de confianza */
.tmx-trustrow{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:16px;padding:14px;background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:var(--tm-radius);}
.tmx-trustrow span{color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);white-space:nowrap;}
/* One-column en checkout móvil */
@media(max-width:768px){
  .woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{width:100%!important;float:none!important;}
  .woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;}
}
/* TMX-FASE7-END */

/* TMX-FASE7B-START */
.woocommerce-cart-form .product-thumbnail{display:table-cell!important;}
.woocommerce-cart-form .product-thumbnail img{width:64px!important;height:64px!important;max-width:64px!important;object-fit:cover;border-radius:var(--tm-radius-sm);}
.woocommerce button.button[name=update_cart],.woocommerce button.button[name=update_cart][disabled]{background:transparent!important;border:1px solid var(--tm-orange)!important;color:var(--tm-orange)!important;opacity:1!important;}
.woocommerce button.button[name=update_cart]:hover{background:var(--tm-orange)!important;color:#fff!important;}
/* Cupón: toggle limpio (sin rosado) + input y botón en la misma fila */
.tmx-coupon-toggle{display:block;background:none!important;border:0!important;box-shadow:none!important;color:var(--tm-orange)!important;font-weight:600;cursor:pointer;padding:8px 0!important;text-decoration:underline;font-size:var(--tm-fs-sm);-webkit-tap-highlight-color:transparent;}
.tmx-coupon-toggle:hover,.tmx-coupon-toggle:focus{background:none!important;color:var(--tm-orange-h)!important;outline:none;}
.woocommerce-cart-form .coupon{display:flex!important;flex-wrap:nowrap;gap:8px;align-items:center;margin-top:8px;}
.woocommerce-cart-form .coupon input.input-text{flex:1 1 auto;min-width:0!important;}
.woocommerce-cart-form .coupon .button{flex:0 0 auto;white-space:nowrap;}
/* X eliminar */
.woocommerce a.remove{color:var(--tm-orange)!important;font-size:20px!important;line-height:1;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tm-border);border-radius:50%;}
.woocommerce a.remove:hover{background:var(--tm-orange)!important;color:#fff!important;}
/* Item del carrito en UNA fila (móvil): imagen + nombre + precio + cantidad */
@media(max-width:768px){
  .woocommerce-cart-form table.cart tbody tr.cart_item{
    display:grid!important;grid-template-columns:64px 1fr auto;
    grid-template-areas:"img name remove" "img price qty" "sub sub sub";
    gap:6px 12px;align-items:center;padding:14px;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg);margin-bottom:12px;background:var(--tm-card)!important;
  }
  .woocommerce-cart-form table.cart tbody tr.cart_item td{display:block!important;border:0!important;padding:0!important;width:auto!important;text-align:left!important;}
  .woocommerce-cart-form table.cart tbody td::before{display:none!important;}
  .woocommerce-cart-form .product-thumbnail{grid-area:img;}
  .woocommerce-cart-form .product-thumbnail img{width:64px!important;height:64px!important;}
  .woocommerce-cart-form .product-name{grid-area:name;font-weight:600;}
  .woocommerce-cart-form .product-name a{color:var(--tm-white)!important;}
  .woocommerce-cart-form .product-price{grid-area:price;color:var(--tm-orange)!important;font-weight:700;}
  .woocommerce-cart-form .product-quantity{grid-area:qty;}
  .woocommerce-cart-form .product-quantity .qty{width:56px!important;text-align:center;}
  .woocommerce-cart-form .product-subtotal{grid-area:sub;color:var(--tm-orange)!important;font-weight:700;border-top:1px solid var(--tm-border);padding-top:8px!important;text-align:right!important;}
  .woocommerce-cart-form .product-remove{grid-area:remove;justify-self:end;}
  .woocommerce-cart-form table.cart thead{display:none!important;}
  .woocommerce-cart-form td.actions{display:block!important;width:100%!important;padding:8px 0 0!important;border:0!important;}
}
/* TMX-FASE7B-END */

/* TMX-FASE8-START */
.tmx-acc-title{color:var(--tm-white)!important;margin:0 0 16px!important;}
/* Navegación de cuenta: pills compactos (override del CSS claro viejo) */
.woocommerce-account .woocommerce-MyAccount-navigation{background:transparent!important;box-shadow:none!important;padding:0!important;max-width:none!important;margin-bottom:20px!important;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex!important;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0!important;border:0!important;background:transparent!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:inline-block!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;padding:8px 14px!important;font-size:13px!important;font-family:inherit!important;font-weight:600!important;border-radius:var(--tm-radius-pill)!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;background:var(--tm-card)!important;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--tm-orange)!important;border-color:var(--tm-orange)!important;color:#fff!important;}
/* Contenido de cuenta: card oscura (override del blanco viejo) */
.woocommerce-account .woocommerce-MyAccount-content{background:var(--tm-card)!important;color:var(--tm-white)!important;border:1px solid var(--tm-border)!important;box-shadow:none!important;border-radius:var(--tm-radius-lg)!important;padding:22px!important;max-width:none!important;margin:0!important;}
.woocommerce-account .woocommerce-MyAccount-content a:not([class*="tmx-"]):not([class*="tm-"]){color:var(--tm-orange)!important;}
.woocommerce-account .woocommerce-MyAccount-content strong,.woocommerce-account .woocommerce-MyAccount-content mark{color:var(--tm-white)!important;background:transparent!important;}
.woocommerce-account .woocommerce-MyAccount-content table,.woocommerce-account .woocommerce-MyAccount-content th,.woocommerce-account .woocommerce-MyAccount-content td{color:var(--tm-white)!important;border-color:var(--tm-border)!important;}
/* Login / registro oscuros */
.woocommerce form.woocommerce-form-login,.woocommerce form.woocommerce-form-register{background:var(--tm-card)!important;color:var(--tm-white)!important;box-shadow:none!important;border:1px solid var(--tm-border)!important;}
/* Crear evento oscuro */
.tm-event-form-wrap,.tm-event-form,.tm-my-events-list{background:var(--tm-card)!important;color:var(--tm-white)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;}
.tm-event-form label,.tm-event-form-wrap label{color:var(--tm-white)!important;}
.tm-event-form input,.tm-event-form textarea,.tm-event-form select,.tm-event-form-wrap input,.tm-event-form-wrap textarea,.tm-event-form-wrap select{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;border-radius:var(--tm-radius-sm)!important;}
/* Thank you */
.tmx-thankyou{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:24px 0;}
.tmx-thankyou .tmx-btn{text-align:center;}
.woocommerce-order .woocommerce-thankyou-order-received,.woocommerce-order h1,.woocommerce-order h2{color:var(--tm-white)!important;}
.woocommerce-order .woocommerce-order-overview,.woocommerce-order .woocommerce-table{color:var(--tm-white)!important;}
/* TMX-FASE8-END */

/* TMX-FASE8B-START */
/* Jerarquía tipográfica en cuenta */
.tmx-acc-title{font-size:1.3rem!important;font-weight:700!important;color:var(--tm-white)!important;margin:0 0 14px!important;}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{font-size:1.15rem!important;color:var(--tm-white)!important;margin:0 0 12px!important;}
.woocommerce-account .woocommerce-MyAccount-content p,.woocommerce-account .woocommerce-MyAccount-content li,.woocommerce-account .woocommerce-MyAccount-content td{font-size:var(--tm-fs-sm)!important;}
.woocommerce-account .woocommerce-MyAccount-content label{font-size:var(--tm-fs-sm)!important;font-weight:600!important;}
/* Texto de ayuda pequeño y atenuado */
.woocommerce-account .woocommerce-MyAccount-content .description,.woocommerce-account .woocommerce-MyAccount-content span.description,.woocommerce-form-row .description,em.description{display:block;font-size:12px!important;color:var(--tm-secondary-text)!important;font-style:normal!important;margin-top:4px;}
/* Pills centrados */
.woocommerce-account .woocommerce-MyAccount-navigation ul{justify-content:center!important;}
/* Mis Eventos: sección separada */
.tm-my-events-list{margin-top:28px!important;padding-top:22px!important;border-top:1px solid var(--tm-border)!important;}
.tm-my-events-list h2,.tm-my-events-list h3{font-size:1.2rem!important;color:var(--tm-white)!important;margin:0 0 12px!important;}
/* TMX-FASE8B-END */

/* TMX-FASE8C-START */
.tm-my-events-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:12px;}
.tm-my-events-list li{display:flex!important;align-items:center;gap:12px;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:12px!important;box-shadow:none!important;}
.tm-my-events-list__media{flex:0 0 auto;}
.tm-my-events-list__media img{width:56px!important;height:56px!important;object-fit:cover;border-radius:var(--tm-radius-sm);display:block;}
.tm-my-events-list__info{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0;}
.tm-my-events-list__title{color:var(--tm-white)!important;font-weight:600;text-decoration:none!important;font-size:var(--tm-fs-base);}
.tm-my-events-list__title:hover{color:var(--tm-orange)!important;}
.tm-my-events-list__price{color:var(--tm-orange)!important;font-size:var(--tm-fs-sm)!important;}
.tm-my-events-list__actions{display:flex;gap:8px;flex:0 0 auto;}
.tm-icon-btn{width:40px;height:40px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-sm)!important;color:var(--tm-white)!important;background:var(--tm-surface)!important;padding:0!important;}
.tm-icon-btn svg{width:18px;height:18px;}
.tm-icon-btn:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.tm-icon-btn--danger:hover{border-color:#e5484d!important;color:#e5484d!important;}
.tm-event-form__empty{color:var(--tm-secondary-text)!important;}

.tm-my-events-list li{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;}
.tm-my-events-list__title{background:none!important;background-color:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;}
.tm-my-events-list__info{align-items:flex-start!important;text-align:left!important;}
.tm-my-events-list__media img{width:56px!important;height:56px!important;border-radius:var(--tm-radius-sm)!important;border:0!important;box-shadow:none!important;object-fit:cover!important;max-width:56px!important;}
/* TMX-FASE8C-END */

/* TMX-FASE9-START */
.tmx-soon{color:var(--tm-orange)!important;font-weight:600;margin:12px 0;}
.tmx-badge{display:inline-block;background:var(--tm-orange);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:var(--tm-radius-pill);}
/* TMX-FASE9-END */

/* TMX-FASE10-START */
/* Contraste de inputs global (form fields, no los buscadores transparentes) */
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=email],.woocommerce-checkout input[type=tel],.woocommerce-checkout input[type=password],.woocommerce-checkout textarea,.tm-event-form input,.tm-event-form textarea,.tm-event-form select,.tm-event-form-wrap input,.tm-event-form-wrap textarea,.tm-event-form-wrap select,.woocommerce form .form-row input,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-cart-form .coupon input.input-text,.select2-container--default .select2-selection--single{background:#1d2937!important;border:1px solid rgba(255,255,255,.22)!important;color:var(--tm-white)!important;}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus,.tm-event-form input:focus,.tm-event-form-wrap input:focus,.woocommerce form .form-row input:focus{border-color:var(--tm-orange)!important;outline:none!important;}
.woocommerce input::placeholder,.tm-event-form input::placeholder,.woocommerce-checkout input::placeholder,.woocommerce textarea::placeholder{color:#8a94a3!important;}
/* TMX-FASE10-END */

/* TMX-STATS-START */
.tm-dashboard-stats-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;gap:14px!important;margin-bottom:20px!important;}
.tm-dashboard-stat,.tm-dashboard-card.tm-dashboard-stat{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:20px 18px!important;text-align:center!important;box-shadow:none!important;}
.tm-dashboard-stat__value{display:block!important;color:var(--tm-orange)!important;font-size:2rem!important;font-weight:800!important;line-height:1.1!important;background:none!important;border:0!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important;margin:0 0 6px!important;}
.tm-dashboard-stat__label{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;}
/* TMX-STATS-END */

/* TMX-POLISH-START */
@media(min-width:768px){.tmx-filters{position:sticky;top:78px;z-index:40;}}
.woocommerce .quantity input.qty,.woocommerce-cart-form .quantity input.qty{background:#1d2937!important;border:1px solid rgba(255,255,255,.24)!important;color:var(--tm-white)!important;border-radius:var(--tm-radius-sm)!important;}
.cart_totals .order-total th{font-size:1.05rem!important;color:var(--tm-white)!important;}
.cart_totals .order-total td,.cart_totals .order-total .amount,.cart_totals .order-total bdi{font-size:1.35rem!important;font-weight:800!important;color:var(--tm-orange)!important;}
.cart_totals .order-total{border-top:2px solid var(--tm-border)!important;}
.woocommerce button.button[name=update_cart]{border-radius:var(--tm-radius-pill)!important;box-shadow:none!important;}
/* TMX-POLISH-END */

/* scroll-lock */
body.tmx-noscroll{overflow:hidden!important;}

/* TMX-HIER-START */
.woocommerce-account .entry-title,.woocommerce .entry-title,.page .entry-title,h1.entry-title,.elementor-widget-theme-page-title h1{font-size:clamp(2rem,6vw,2.6rem)!important;font-weight:800!important;line-height:1.12!important;margin-bottom:18px!important;letter-spacing:-.01em;}
.woocommerce h2,.woocommerce-account h2,.woocommerce-MyAccount-content h2,.tmx-acc-title{font-size:1.35rem!important;font-weight:700!important;line-height:1.25!important;margin:0 0 14px!important;letter-spacing:0!important;}
.woocommerce h3,.woocommerce-MyAccount-content h3{font-size:1.12rem!important;font-weight:700!important;margin:0 0 10px!important;}
.woocommerce h4,.woocommerce-MyAccount-content h4{font-size:1rem!important;font-weight:700!important;}
.woocommerce-account .u-column1 h2,.woocommerce-account .u-column2 h2,.woocommerce-account .col-1 h2,.woocommerce-account .col-2 h2{font-size:1.25rem!important;text-align:left!important;font-weight:700!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu{background:transparent!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a{padding-left:38px!important;font-size:.9rem!important;color:var(--tm-secondary-text)!important;font-weight:500!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a:hover{color:var(--tm-orange)!important;}
.tmx-mainnav .elementor-nav-menu--dropdown > .menu-item > a{font-weight:600!important;font-size:1.05rem!important;}
/* TMX-HIER-END */

/* TMX-SUBMENU-START */
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu{position:static!important;left:auto!important;top:auto!important;width:100%!important;box-shadow:none!important;transform:none!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a{border-bottom:1px solid rgba(255,255,255,.05)!important;}
/* TMX-SUBMENU-END */

/* TMX-ORDERS-START */
.woocommerce-account .woocommerce-orders-table{border:0!important;background:transparent!important;width:100%;}
/* El wrapper de contenido pierde la tarjeta cuando contiene la lista de pedidos (evita doble borde) */
.woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-orders-table){background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;}
/* Nombre del evento como enlace al pedido */
.tmx-order-items{color:var(--tm-white)!important;font-weight:700!important;text-decoration:none!important;}
.tmx-order-items:hover{color:var(--tm-orange)!important;}
@media(max-width:768px){
.woocommerce-account .woocommerce-orders-table thead{display:none!important;}
.woocommerce-account .woocommerce-orders-table tbody tr{display:block!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;margin-bottom:14px!important;padding:14px 16px!important;}
.woocommerce-account .woocommerce-orders-table td{display:flex!important;justify-content:space-between!important;align-items:center;border:0!important;padding:5px 0!important;text-align:right!important;color:var(--tm-white)!important;}
.woocommerce-account .woocommerce-orders-table td::before{content:attr(data-title)!important;color:var(--tm-secondary-text)!important;font-weight:600!important;text-align:left!important;float:none!important;}
/* Número de pedido: pequeño, naranja, arriba */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number{display:block!important;text-align:left!important;padding:0!important;margin:0!important;border:0!important;}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number::before{content:"Pedido "!important;display:inline!important;font-size:12px!important;}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number a{color:var(--tm-orange)!important;font-size:.9rem!important;font-weight:700!important;text-decoration:none!important;}
/* Nombre del evento: título de la tarjeta, con separador debajo */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-items{display:block!important;text-align:left!important;padding:2px 0 10px!important;margin:0 0 8px!important;border-bottom:1px solid var(--tm-border)!important;}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-items::before{display:none!important;content:none!important;}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-items .tmx-order-items{font-size:1.05rem!important;display:block;line-height:1.35;}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{display:none!important;}
}
/* TMX-ORDERS-END */

/* TMX-BTNFIX-START */
.woocommerce a.button,.woocommerce a.button.wc-forward,.woocommerce-info a.button,.woocommerce-message a.button,a.button.wc-forward,.woocommerce .button.alt,.woocommerce-account a.button,.woocommerce ul.products li.product a.button,.woocommerce-Button.button{color:#fff!important;}
.woocommerce button.button[name=update_cart]{color:var(--tm-orange)!important;}
.tm-event-form__list-title{margin-top:28px!important;padding-top:24px!important;border-top:1px solid var(--tm-border)!important;color:var(--tm-white)!important;font-size:1.3rem!important;font-weight:700!important;}
.tm-event-form__empty{padding:14px 0 8px!important;color:var(--tm-secondary-text)!important;}
.tm-my-events-list{margin-top:14px!important;padding-top:0!important;border-top:0!important;}
/* TMX-BTNFIX-END */

/* ocultar barras fijas cuando el carrito esta abierto */
body.tmx-noscroll .tmx-buybar,body.tmx-noscroll .elementor-element-tmxbnwrap{display:none!important;}

/* TMX-NOTICE-START */
.woocommerce-message{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 10px!important;}
.woocommerce-message a.button,.woocommerce-message a.button.wc-forward,.woocommerce-message a.wc-forward{background:transparent!important;color:var(--tm-orange)!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;float:none!important;display:inline!important;font-size:inherit!important;font-weight:700!important;text-decoration:underline!important;min-height:0!important;line-height:inherit!important;}
.woocommerce-message a.button:hover,.woocommerce-message a.wc-forward:hover{color:var(--tm-orange-h)!important;background:transparent!important;}
/* TMX-NOTICE-END */

/* TMX-DRAWERBTN-START */
.elementor-menu-cart__footer-buttons{display:flex!important;gap:10px!important;}
.elementor-menu-cart__footer-buttons a{flex:1 1 0!important;border-radius:var(--tm-radius-pill)!important;font-weight:700!important;text-align:center!important;padding:12px 14px!important;}
.elementor-menu-cart__footer-buttons a:first-child{background:transparent!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;}
.elementor-menu-cart__footer-buttons a:first-child:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.elementor-menu-cart__footer-buttons a:last-child{background:var(--tm-orange)!important;color:#fff!important;border:0!important;}
.elementor-menu-cart__footer-buttons a:last-child:hover{background:var(--tm-orange-h)!important;}
/* TMX-DRAWERBTN-END */

/* TMX-DRAWER2-START */
body.tmx-noscroll{overflow:hidden!important;}
body.tmx-noscroll .tmx-buybar,body.tmx-noscroll .elementor-element-tmxbnwrap{display:none!important;}
/* Panel */
.elementor-menu-cart__container{width:min(370px,92vw)!important;}
.elementor-menu-cart__main{padding:22px 18px 24px!important;}
.elementor-menu-cart__close-button{top:14px!important;right:16px!important;opacity:.8;}
.elementor-menu-cart__close-button:hover{opacity:1;}
/* Filas de producto */
.elementor-menu-cart__products{margin:10px 0 0!important;max-height:none!important;}
.elementor-menu-cart__product{display:flex!important;align-items:center!important;gap:12px!important;padding:14px 0!important;border-bottom:1px solid var(--tm-border)!important;position:relative!important;}
.elementor-menu-cart__product .product-image,.elementor-menu-cart__product img,.elementor-menu-cart__product-image{width:54px!important;height:54px!important;min-width:54px!important;border-radius:var(--tm-radius-sm)!important;object-fit:cover!important;}
.elementor-menu-cart__product-name,.elementor-menu-cart__product-name a{color:var(--tm-white)!important;font-weight:600!important;line-height:1.3!important;}
.elementor-menu-cart__product-price,.elementor-menu-cart__product .quantity{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;}
.elementor-menu-cart__remove-button{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;color:var(--tm-secondary-text)!important;border:0!important;}
.elementor-menu-cart__remove-button:hover{color:var(--tm-orange)!important;}
/* Subtotal */
.elementor-menu-cart__subtotal{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:18px 0!important;margin:0!important;font-size:1.05rem!important;font-weight:700!important;color:var(--tm-white)!important;border:0!important;}
.elementor-menu-cart__subtotal strong{font-weight:700!important;}
.elementor-menu-cart__subtotal .woocommerce-Price-amount,.elementor-menu-cart__subtotal bdi{color:var(--tm-orange)!important;font-size:1.15rem!important;}
/* Botones apilados full-width, primario arriba */
.elementor-menu-cart__footer-buttons{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:6px!important;}
.elementor-menu-cart__footer-buttons a{width:100%!important;white-space:nowrap!important;border-radius:var(--tm-radius-pill)!important;font-weight:700!important;text-align:center!important;padding:14px!important;font-size:15px!important;transition:all var(--tm-transition)!important;}
.elementor-menu-cart__footer-buttons a:last-child{order:1;background:var(--tm-orange)!important;color:#fff!important;border:0!important;}
.elementor-menu-cart__footer-buttons a:last-child:hover{background:var(--tm-orange-h)!important;}
.elementor-menu-cart__footer-buttons a:first-child{order:2;background:transparent!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;}
.elementor-menu-cart__footer-buttons a:first-child:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
/* Carrito vacío */
.elementor-menu-cart__products .elementor-menu-cart__product-empty,.woocommerce-mini-cart__empty-message{color:var(--tm-secondary-text)!important;text-align:center!important;padding:40px 0!important;}
/* TMX-DRAWER2-END */

/* TMX-DRAWERPOS-START */
.elementor-menu-cart__container{left:auto!important;right:0!important;}
.elementor-menu-cart__main{margin-left:auto!important;margin-right:0!important;}
/* TMX-DRAWERPOS-END */

/* TMX-DRAWER3-START */
.elementor-menu-cart__product{display:grid!important;grid-template-columns:54px 1fr 30px!important;grid-template-areas:"img info remove"!important;align-items:center!important;gap:12px!important;padding:14px 0!important;}
.elementor-menu-cart__product-image{grid-area:img!important;}
.elementor-menu-cart__product-name{grid-area:info!important;margin:0!important;}
.elementor-menu-cart__product-price{grid-area:info!important;align-self:end!important;margin-top:22px!important;color:var(--tm-orange)!important;font-weight:700!important;font-size:var(--tm-fs-sm)!important;}
.elementor-menu-cart__product-name a{display:block!important;padding-right:0!important;}
.elementor-menu-cart__product .quantity{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;}
.elementor-menu-cart__remove-button{position:static!important;transform:none!important;grid-area:remove!important;justify-self:end!important;width:26px!important;height:26px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--tm-border)!important;border-radius:50%!important;color:var(--tm-secondary-text)!important;background:transparent!important;}
.elementor-menu-cart__remove-button:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.elementor-menu-cart__remove-button svg{width:12px!important;height:12px!important;fill:currentColor!important;}
.elementor-menu-cart__footer-buttons a:first-child{background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:var(--tm-white)!important;}
.elementor-menu-cart__footer-buttons a:first-child:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
/* TMX-DRAWER3-END */

/* TMX-ATT-START (lista de asistentes organizador) */
.tmx-att-back{display:inline-block;margin-bottom:10px;color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm);text-decoration:none;}
.tmx-att-back:hover{color:var(--tm-orange)!important;}
.tmx-att-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;color:var(--tm-secondary-text);font-size:var(--tm-fs-sm);}
.tmx-att-meta .tmx-att-csv{color:#fff!important;}
.tmx-att-tablewrap{overflow-x:auto;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);background:var(--tm-card);}
.tmx-att-table{width:100%;border-collapse:collapse;font-size:var(--tm-fs-sm);margin:0;}
.tmx-att-table th{text-align:left;padding:10px 12px;background:var(--tm-surface);color:var(--tm-white);font-weight:600;white-space:nowrap;border:0;}
.tmx-att-table td{padding:10px 12px;border:0;border-top:1px solid var(--tm-border);color:var(--tm-white);vertical-align:top;background:transparent;}
.tmx-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;margin:2px 4px 2px 0;white-space:nowrap;}
.tmx-chip--valida{background:rgba(46,160,67,.18);color:#4ade80;border:1px solid rgba(74,222,128,.4);}
.tmx-chip--usada{background:rgba(255,255,255,.08);color:var(--tm-secondary-text);border:1px solid var(--tm-border);}
.tmx-att-nocodes{color:var(--tm-secondary-text);font-size:var(--tm-fs-xs);}
@media(max-width:767px){.tmx-att-table th,.tmx-att-table td{padding:8px;}}
/* TMX-ATT-END */

/* TMX-CREV-START (lista Mis Eventos: foto cuadrada, sin doble tarjeta) */
.tm-my-events-list{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;}
.tm-my-events-list a.tm-my-events-list__media{background:transparent!important;padding:0!important;border-radius:var(--tm-radius-sm)!important;overflow:hidden;line-height:0;flex:0 0 auto;}
.tm-my-events-list a.tm-my-events-list__media:hover{background:transparent!important;}
.tm-my-events-list__media img{border-radius:var(--tm-radius-sm)!important;}
/* Título alineado con las tarjetas */
.tm-event-form__list-title{margin-left:0!important;padding-left:0!important;}
/* TMX-CREV-END */

/* TMX-MISEV-START (mis eventos: stats compactas, herramientas, tarjetas de evento) */
.tmx-org-stats--compact .tm-dashboard-stats-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;margin:0 0 16px!important;}
.tmx-org-stats--compact .tm-dashboard-stat{padding:12px 8px!important;text-align:center!important;background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-sm)!important;box-shadow:none!important;margin:0!important;}
.tmx-org-stats--compact .tm-dashboard-stat__value{font-size:1.2rem!important;line-height:1.2!important;color:var(--tm-orange)!important;font-weight:800!important;display:block;}
.tmx-org-stats--compact .tm-dashboard-stat__label{font-size:11px!important;color:var(--tm-secondary-text)!important;line-height:1.3!important;display:block;margin-top:2px;}
/* Botón crear evento: texto siempre blanco, ancho completo */
.woocommerce-MyAccount-content a.tmx-btn,.woocommerce-MyAccount-content a.tmx-btn:hover{color:#fff!important;}
.tmx-btn--block{display:flex!important;justify-content:center;width:100%;margin:0 0 18px!important;text-align:center;}
/* Subtítulos de sección */
.tmx-acc-subtitle{font-size:1rem!important;font-weight:700!important;color:var(--tm-white)!important;margin:20px 0 10px!important;text-align:left;}
/* Herramientas */
.tmx-tools{display:flex;flex-direction:column;gap:10px;margin:0 0 6px;}
.tmx-tool{display:flex;align-items:flex-start;gap:12px;background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);padding:14px;text-decoration:none!important;transition:border-color var(--tm-transition);text-align:left;}
a.tmx-tool:hover{border-color:var(--tm-orange);}
.tmx-tool__ic{width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:rgba(251,122,47,.14);border-radius:10px;color:var(--tm-orange)!important;}
.tmx-tool__ic svg{width:20px;height:20px;}
.tmx-tool__tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tmx-tool__tx strong{color:var(--tm-white)!important;font-size:var(--tm-fs-sm)!important;font-weight:700;}
.tmx-tool__tx span{color:var(--tm-secondary-text)!important;font-size:12px!important;line-height:1.45;}
/* Tarjeta de evento */
.woocommerce-account .woocommerce-MyAccount-content .tm-my-events-list__title,
.tm-my-events-list__title{color:var(--tm-white)!important;font-weight:700!important;font-size:var(--tm-fs-base)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left;}
.woocommerce-account .woocommerce-MyAccount-content .tm-my-events-list__title:hover{color:var(--tm-orange)!important;}
.tm-my-events-list li{align-items:center!important;}
.tm-my-events-list a.tm-my-events-list__media,.tm-my-events-list__media img{width:64px!important;height:64px!important;max-width:64px!important;}
.tm-my-events-list__info{text-align:left!important;}
/* Acciones: fila propia, alineadas a la izquierda */
.tm-my-events-list li{flex-wrap:wrap!important;}
.tm-my-events-list__info{flex:1 1 0!important;min-width:0;}
.tm-my-events-list__actions{flex:1 0 100%!important;display:flex!important;justify-content:flex-start!important;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--tm-border);}
/* TMX-MISEV-END */

/* TMX-SCAN-START (escáner de tickets: tema oscuro) */
.ticket_content{background:var(--tm-card)!important;color:var(--tm-white)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:18px!important;}
.ticket_content select{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;padding:10px 12px!important;width:100%!important;font-size:14px!important;margin:12px 0 0!important;appearance:auto;}
.ticket_content input[type=text],.ticket_content input[type=number],.ticket_content input[type=password]{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;padding:11px 14px!important;font-size:14px!important;width:100%!important;box-sizing:border-box;}
.ticket_content input::placeholder{color:var(--tm-secondary-text)!important;opacity:1;}
/* Botones: todos del mismo ancho, centrados */
.ticket_content button{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;background:var(--tm-surface)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;padding:12px 18px!important;font-weight:600!important;font-size:14px!important;cursor:pointer;margin:12px 0 0!important;box-shadow:none!important;text-shadow:none!important;text-align:center!important;}
.ticket_content button:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.ticket_content button.button-primary{background:var(--tm-orange)!important;border-color:var(--tm-orange)!important;color:#fff!important;}
.ticket_content button.button-primary:hover{background:var(--tm-orange-h)!important;color:#fff!important;}
.ticket_content button[disabled]{opacity:.45;cursor:not-allowed;}
.ticket_content input[type=checkbox]{accent-color:var(--tm-orange);width:19px;height:19px;margin:1px 0 0!important;flex:0 0 auto;}
#reader{border-radius:var(--tm-radius-sm);overflow:hidden;}
#reader video{border-radius:var(--tm-radius-sm);display:block;}
#reader_options{margin-top:16px!important;}
#reader_options>div{color:var(--tm-white);font-size:14px;line-height:1.45;text-align:left;margin-top:14px;}
/* Acordeón de opciones */
details.tmx-scanopts{margin:18px 0 0;border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);background:var(--tm-surface);overflow:hidden;}
details.tmx-scanopts summary{cursor:pointer;padding:13px 16px;font-weight:600;font-size:14px;color:var(--tm-white);list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;}
details.tmx-scanopts summary::-webkit-details-marker{display:none;}
details.tmx-scanopts summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--tm-secondary-text);border-bottom:2px solid var(--tm-secondary-text);transform:rotate(45deg);transition:transform .2s;flex:0 0 auto;margin-left:10px;}
details.tmx-scanopts[open] summary::after{transform:rotate(-135deg);}
details.tmx-scanopts[open] summary{border-bottom:1px solid var(--tm-border);}
.tmx-scanopt{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:12px 16px;color:var(--tm-white)!important;font-size:14px!important;font-weight:400!important;line-height:1.45!important;cursor:pointer;}
.tmx-scanopt+.tmx-scanopt{border-top:1px solid var(--tm-border);}
.tmx-scanopt span{flex:1 1 auto;min-width:0;}
#reader_options input[name=barcode_scanner_input]{margin-top:8px;}
#ticket_scanner_info_area,#ticket_info,#order_info,#ticket_add_info,#reader_output{color:var(--tm-white);}
#ticket_info_retrieved{padding-top:12px!important;padding-bottom:12px!important;}
#ticket_info_retrieved:empty,#ticket_info_btns:empty{padding:0!important;}
#ticket_info a,#order_info a{color:var(--tm-orange)!important;}
/* TMX-SCAN-END */

/* TMX-DESK-START (pulido desktop: header + cuenta) */
/* Buscador del header: input plano dentro de la píldora (sin caja propia) */
.tmx-search .tmx-search__input{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;color:var(--tm-white)!important;padding:6px 4px!important;border-radius:0!important;font-size:var(--tm-fs-sm)!important;}
.tmx-search .tmx-search__input:focus{border:0!important;box-shadow:none!important;outline:0!important;}
/* Acciones del header: iconos blancos, hover naranja */
.tmx-headacts .tmx-iconlink{color:var(--tm-white)!important;}
.tmx-headacts .tmx-iconlink:hover{color:var(--tm-orange)!important;}
/* Nav principal: espaciado uniforme */
.tmx-mainnav .elementor-nav-menu>li{margin:0!important;}
.tmx-mainnav .elementor-nav-menu>li>a{padding:9px 14px!important;line-height:1.1!important;}
/* Carrito: badge naranja integrado */
.tmx-cart{--items-indicator-background-color:var(--tm-orange);--items-indicator-text-color:#fff;}
.tmx-cart .elementor-button-icon-qty[data-counter]{border:2px solid var(--tm-black)!important;box-sizing:content-box!important;font-weight:700!important;}
/* Cuenta en desktop: navegación en fila a lo ancho, contenido debajo (rompe el layout flotado 30/68 de WooCommerce) */
@media(min-width:769px){
  .woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;margin:0 0 22px!important;}
  .woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important;}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{justify-content:flex-start!important;}
}
/* TMX-DESK-END */

/* TMX-WRAP-START (crear evento: wrap transparente, solo el form es tarjeta) */
.tm-event-form-wrap{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;}
/* TMX-WRAP-END */

/* TMX-HDR2-START (header: icono de búsqueda, iconos sin texto, encajonado, overlay AJAX) */
/* Buscador colapsado a icono en TODOS los tamaños */
.elementor-element-tmxsrchc{display:none!important;}
.tmx-searchtoggle{display:flex!important;}
.elementor-element-tmxnavc1{margin-left:auto!important;}
/* Header móvil: mostrar la lupa junto al carrito (iconos de cuenta siguen en la bottom-nav) */
@media(max-width:767px){
  .tmx-headacts{display:flex!important;}
  .tmx-headacts .tmx-iconlink{display:none!important;}
}
/* Overlay de búsqueda: pantalla completa con resultados */
body.tmx-search-open{overflow:hidden;}
body.tmx-search-open .elementor-element-tmxsrchc{display:block!important;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(8,13,20,.98);padding:68px 16px 24px;z-index:1200;overflow:auto;max-width:none!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
body.tmx-search-open .elementor-element-tmxsrchc .tmx-search{max-width:720px;margin:0 auto;}
.tmx-search__close{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;background:var(--tm-surface);border:1px solid var(--tm-border);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;padding:0;}
.tmx-search__close:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
/* Resultados AJAX */
.tmx-searchres{max-width:720px;margin:20px auto 0;}
.tmx-searchres__loading{color:var(--tm-secondary-text);text-align:center;padding:18px 0;}
.tmx-searchres .tm-search-results__empty{color:var(--tm-secondary-text);text-align:center;padding:18px 0;}
.tmx-searchres ul.products{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:14px!important;list-style:none!important;margin:0!important;padding:0!important;width:100%!important;}
.tmx-searchres ul.products li.product{width:auto!important;margin:0!important;float:none!important;}
@media(max-width:600px){.tmx-searchres ul.products{grid-template-columns:1fr!important;}}
/* Header encajonado en desktop */
@media(min-width:1025px){
  .elementor-element-tmxhdr01{padding:8px max(24px,calc((100% - 1240px)/2))!important;}
}
/* Acciones: solo icono, sin etiqueta debajo */
.tmx-iconlink span{display:none!important;}
.tmx-iconlink{min-width:42px!important;min-height:42px!important;padding:8px!important;flex-direction:row!important;}
.tmx-iconlink svg{width:22px;height:22px;}
.tmx-headacts{gap:2px;}
/* TMX-HDR2-END */

/* TMX-ARCH-START (archivos de categoría, loop WC y resultados de búsqueda en oscuro) */
.woocommerce-products-header__title,.woocommerce h1.page-title,.archive .page-title{color:var(--tm-white)!important;font-size:1.6rem!important;font-weight:700!important;}
.woocommerce-result-count{color:var(--tm-secondary-text)!important;font-size:var(--tm-fs-sm)!important;}
.woocommerce-ordering select,select.orderby{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;padding:9px 12px!important;font-size:14px!important;}
.woocommerce-no-products-found,.woocommerce-info{background:var(--tm-card)!important;color:var(--tm-white)!important;border:1px solid var(--tm-border)!important;}
/* Tarjetas del loop WC (archivos + resultados AJAX) */
.woocommerce ul.products li.product,ul.products li.product{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;overflow:hidden;box-shadow:none!important;padding:0!important;}
.woocommerce ul.products li.product:hover{border-color:rgba(251,122,47,.5)!important;}
.woocommerce ul.products li.product img,ul.products li.product img{width:100%!important;display:block;aspect-ratio:16/10;object-fit:cover;border-radius:0!important;margin:0!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,ul.products li.product .woocommerce-loop-product__title{color:var(--tm-white)!important;font-size:var(--tm-fs-base)!important;font-weight:700!important;padding:12px 14px 0!important;}
.woocommerce ul.products li.product .price,ul.products li.product .price{color:var(--tm-orange)!important;font-weight:700!important;padding:0 14px!important;}
.woocommerce ul.products li.product .price del{color:var(--tm-secondary-text)!important;}
/* Meta enriquecida de las cards (lugar/fecha de tm-event-card-hooks) */
ul.products li.product .tm-card-meta,ul.products li.product .tm-event-meta{color:var(--tm-secondary-text)!important;padding:0 14px!important;}
ul.products li.product>a{text-decoration:none!important;}
ul.products li.product .button,ul.products li.product .add_to_cart_button{margin:10px 14px 14px!important;background:var(--tm-surface)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;}
ul.products li.product .button:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
ul.products li.product :last-child{padding-bottom:14px;}
/* TMX-ARCH-END */

/* TMX-AUTH-START (login/registro: jerarquía de textos de ayuda) */
.woocommerce-account form.login>p:not(.form-row):not(.woocommerce-form-row),
.woocommerce-account form.register>p:not(.form-row):not(.woocommerce-form-row),
.woocommerce-account .woocommerce-privacy-policy-text p{font-size:13px!important;color:var(--tm-secondary-text)!important;line-height:1.55!important;margin:0 0 14px!important;}
.woocommerce-account form.login .lost_password{font-size:13px!important;margin:12px 0 0!important;}
.woocommerce-account .u-column1 h2,.woocommerce-account .u-column2 h2{font-size:1.25rem!important;font-weight:700!important;color:var(--tm-white)!important;}
/* TMX-AUTH-END */





/* TMX-FDRAWER-START (filtros del catálogo como drawer) */
.tmx-cat-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 18px;}
.tmx-filterbtn{display:inline-flex;align-items:center;gap:8px;background:var(--tm-card);border:1px solid var(--tm-border);color:var(--tm-white);border-radius:999px;padding:11px 18px;font-weight:600;font-size:14px;cursor:pointer;transition:border-color var(--tm-transition);}
.tmx-filterbtn svg{width:18px;height:18px;}
.tmx-filterbtn:hover{border-color:var(--tm-orange);}
.tmx-filterbtn__n{background:var(--tm-orange);color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:0 5px;}
select.tmx-orden{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;padding:10px 36px 10px 14px!important;font-size:14px!important;max-width:210px;appearance:auto;}
/* Drawer */
.tmx-fdrawer{position:fixed;inset:0;z-index:1300;pointer-events:none;visibility:hidden;}
.tmx-fdrawer.is-open{pointer-events:auto;visibility:visible;}
.tmx-fdrawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s;}
.tmx-fdrawer.is-open .tmx-fdrawer__backdrop{opacity:1;}
.tmx-fdrawer__panel{position:absolute;display:flex;flex-direction:column;background:var(--tm-card);border:1px solid var(--tm-border);transition:transform .3s ease;box-shadow:var(--tm-shadow-lg);}
@media(max-width:767px){
  .tmx-fdrawer__panel{left:0;right:0;bottom:0;max-height:82vh;border-radius:18px 18px 0 0;transform:translateY(105%);}
}
@media(min-width:768px){
  .tmx-fdrawer__panel{top:0;right:0;bottom:0;width:400px;max-width:92vw;transform:translateX(105%);}
}
.tmx-fdrawer.is-open .tmx-fdrawer__panel{transform:none;}
.tmx-fdrawer__head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--tm-border);flex:0 0 auto;}
.tmx-fdrawer__title{font-size:16px;font-weight:700;color:var(--tm-white);}
.tmx-fdrawer__x{width:36px;height:36px;border-radius:50%;background:var(--tm-surface);border:1px solid var(--tm-border);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.tmx-fdrawer__x:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-fdrawer__body{overflow:auto;padding:18px;flex:1 1 auto;}
.tmx-fgroup{margin:0 0 22px;}
.tmx-fgroup__label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-secondary-text);margin:0 0 10px;}
.tmx-fchips{display:flex;flex-wrap:wrap;gap:8px;}
.tmx-fchip input{position:absolute;opacity:0;pointer-events:none;}
.tmx-fchip span{display:inline-block;padding:9px 16px;border-radius:999px;background:var(--tm-surface);border:1px solid var(--tm-border);color:var(--tm-white);font-size:14px;cursor:pointer;transition:border-color var(--tm-transition),background var(--tm-transition);}
.tmx-fchip span:hover{border-color:var(--tm-orange);}
.tmx-fchip input:checked+span{background:var(--tm-orange);border-color:var(--tm-orange);color:#fff;font-weight:600;}
.tmx-fdrawer__foot{display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--tm-border);flex:0 0 auto;}
.tmx-fclear{flex:1;text-align:center;background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;border-radius:999px!important;padding:12px!important;text-decoration:none!important;font-weight:600;}
.tmx-fclear:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.tmx-fapply{flex:2;}
body.tmx-fdrawer-open{overflow:hidden;}
/* por si quedara el details viejo en caché */
details.tmx-filters{display:none!important;}
/* TMX-FDRAWER-END */

/* TMX-FOOT-START (footer v4: grid desktop, stack movil, gap inferior compacto) */
.elementor-element-tmxftr01{border-top:1px solid var(--tm-border);padding:48px 24px 28px!important;}
.elementor-element-tmxftr01>.e-con-inner{max-width:1240px;margin:0 auto;width:100%;}
@media(min-width:1025px){
  .elementor-element-tmxftr01>.e-con-inner{display:grid!important;grid-template-columns:1.1fr 2fr!important;grid-template-areas:"brand cols" "legal legal"!important;gap:36px 64px!important;align-items:start!important;}
  .elementor-element-tmxftbrand{grid-area:brand;}
  .elementor-element-tmxftcols{grid-area:cols;}
  .elementor-element-tmxftlegal{grid-area:legal;}
}
.elementor-element-tmxftbrand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;max-width:420px;width:100%!important;}
.tmx-foot__logo img{max-height:36px;width:auto;}
.tmx-foot__tagline p{margin:0!important;color:var(--tm-secondary-text)!important;font-size:14px!important;line-height:1.6;text-align:left!important;}
.elementor-element-tmxftcols{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:32px 48px!important;align-items:flex-start!important;width:100%!important;}
.elementor-element-tmxftcols>.elementor-element{flex:1 1 140px!important;width:auto!important;}
.tmx-foot__title .elementor-heading-title{color:var(--tm-white)!important;font-size:.85rem!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px!important;text-align:left!important;}
.tmx-foot__nav,.tmx-foot__nav *{text-align:left!important;}
.tmx-foot__nav .elementor-nav-menu{display:flex!important;flex-direction:column!important;gap:0!important;}
.tmx-foot__nav .elementor-nav-menu li{display:block!important;margin:0!important;width:auto!important;}
.tmx-foot__nav .elementor-nav-menu a{display:inline-block!important;color:var(--tm-secondary-text)!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-size:14px!important;padding:6px 0!important;border:0!important;text-decoration:none!important;background:transparent!important;line-height:1.45!important;white-space:nowrap;}
.tmx-foot__nav .elementor-nav-menu a:hover{color:var(--tm-orange)!important;}
.tmx-foot__nav .elementor-nav-menu .current-menu-item>a,.tmx-foot__nav .elementor-nav-menu .current_page_item>a{color:var(--tm-white)!important;border:0!important;font-weight:400!important;}
.tmx-foot__nav .elementor-item:after,.tmx-foot__nav .elementor-item:before{display:none!important;content:none!important;}
.elementor-element-tmxftlegal{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;width:100%!important;border-top:1px solid var(--tm-border)!important;padding-top:18px!important;margin-top:4px!important;}
.tmx-foot__copy p,.tmx-foot__loc p{color:var(--tm-secondary-text)!important;font-size:12.5px!important;margin:0!important;}
@media(max-width:1024px){
  .elementor-element-tmxftcols{flex-direction:column!important;gap:26px!important;}
  .elementor-element-tmxftcols>.elementor-element{flex:0 0 auto!important;width:100%!important;}
  .tmx-foot__nav .elementor-nav-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 20px!important;}
  .tmx-foot__nav .elementor-nav-menu a{white-space:normal!important;display:block!important;padding:7px 0!important;}
}
@media(max-width:767px){
  .elementor-element-tmxftr01{padding:32px 20px 20px!important;}
  .elementor-element-tmxftlegal{padding-top:14px!important;}
  .tmx-foot__copy p,.tmx-foot__loc p{margin:0!important;line-height:1.5!important;}
  .elementor-element-tmxftlegal{flex-direction:column!important;align-items:flex-start!important;gap:4px!important;}
}
/* TMX-FOOT-END */

/* TMX-CONTACT-START (página contacto, ids estables tmx) */
.elementor-element-tmxcthero{background:transparent!important;padding:60px 20px 10px!important;}
.tm-contact-hero-title .elementor-heading-title{color:var(--tm-white)!important;font-size:2.1rem!important;font-weight:700!important;}
.tm-contact-hero-subtitle,.tm-contact-hero-subtitle p{color:var(--tm-secondary-text)!important;font-size:15px!important;}
.elementor-element-tmxctsec{background:transparent!important;padding:26px 20px 72px!important;}
.elementor-element-tmxctcard{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:30px 26px!important;max-width:720px!important;margin:0 auto!important;width:100%;}
.tm-contact-form .elementor-field-group{margin-bottom:8px!important;}
.tm-contact-form label{color:var(--tm-white)!important;font-size:13px!important;font-weight:600!important;margin-bottom:6px!important;}
.tm-contact-form input[type=text],.tm-contact-form input[type=email],.tm-contact-form input[type=tel],.tm-contact-form textarea{background:#1d2937!important;border:1px solid rgba(255,255,255,.22)!important;color:var(--tm-white)!important;border-radius:10px!important;padding:12px 14px!important;font-size:14px!important;box-shadow:none!important;}
.tm-contact-form input:focus,.tm-contact-form textarea:focus{border-color:var(--tm-orange)!important;outline:none!important;}
.tm-contact-form ::placeholder{color:var(--tm-secondary-text)!important;opacity:1;}
.tm-contact-form .elementor-button[type=submit],.tm-contact-form button.elementor-button{background:var(--tm-orange)!important;border:0!important;border-radius:999px!important;font-weight:700!important;padding:14px 26px!important;width:100%!important;color:#fff!important;}
.tm-contact-form .elementor-button[type=submit]:hover{background:var(--tm-orange-h)!important;}
/* TMX-CONTACT-END */



/* TMX-DRAWER4-START (backdrop del contenedor + precios de producto) */
/* El contenedor lightbox es solo el velo: nada de color sólido */
.elementor-menu-cart--shown .elementor-menu-cart__container.elementor-lightbox{background:rgba(4,8,14,.55)!important;}
.elementor-menu-cart__main{background:var(--tm-card)!important;}
/* Fila de producto: grid con áreas, precio en su propia línea (no superpuesto) */
.elementor-menu-cart__product{display:grid!important;grid-template-columns:54px 1fr 30px!important;grid-template-areas:"img name remove" "img price remove"!important;gap:2px 12px!important;align-items:center!important;padding:14px 0!important;border-bottom:1px solid var(--tm-border)!important;position:relative;}
.elementor-menu-cart__product-image{grid-area:img!important;width:54px!important;}
.elementor-menu-cart__product-image img{width:54px!important;height:54px!important;object-fit:cover;border-radius:10px;display:block;}
.elementor-menu-cart__product-name{grid-area:name!important;position:static!important;margin:0!important;padding:0!important;color:var(--tm-white)!important;font-size:14px!important;line-height:1.35!important;align-self:end;}
.elementor-menu-cart__product-name a{color:var(--tm-white)!important;font-weight:600!important;text-decoration:none!important;}
.elementor-menu-cart__product-price{grid-area:price!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;padding:0!important;color:var(--tm-secondary-text)!important;font-size:13px!important;font-weight:400!important;text-decoration:none!important;align-self:start;}
.elementor-menu-cart__product-price .woocommerce-Price-amount,.elementor-menu-cart__product-price bdi{color:var(--tm-orange)!important;font-weight:600!important;}
.elementor-menu-cart__remove-button{grid-area:remove!important;}
/* TMX-DRAWER4-END */

/* TMX-CHK2-START (layout del checkout) */
.woocommerce-checkout form.checkout{max-width:1120px;margin:0 auto;}
.woocommerce-checkout .col2-set{display:grid!important;grid-template-columns:1fr 1fr!important;gap:28px!important;width:100%!important;float:none!important;margin:0 0 8px!important;}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;}
@media(max-width:860px){.woocommerce-checkout .col2-set{grid-template-columns:1fr!important;}}
/* Campos: pares en 2 columnas, resto a lo ancho */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row{grid-column:1/-1;width:100%!important;float:none!important;margin:0 0 14px!important;padding:0!important;}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row-first{grid-column:1;}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row-last{grid-column:2;}
.woocommerce-checkout form .form-row input.input-text,.woocommerce-checkout form .form-row select,.woocommerce-checkout form .form-row textarea,.woocommerce-checkout .select2-container{width:100%!important;}
.woocommerce-checkout form .form-row input.input-text{padding:11px 14px!important;}
/* Pedido y pago a lo ancho */
#order_review_heading{background:transparent!important;color:var(--tm-white)!important;border:0!important;padding:0!important;margin:26px 0 12px!important;font-size:1.15rem!important;max-width:1120px;margin-left:auto!important;margin-right:auto!important;}
.woocommerce-checkout #order_review{width:100%!important;float:none!important;max-width:1120px;margin:0 auto!important;}
.woocommerce-checkout #order_review table.shop_table{width:100%!important;}
/* TMX-CHK2-END */

/* TMX-ECARD-START (tarjetas 1:1 overlay + grid 3 columnas) */
/* --- Grids: siempre 3 columnas --- */
.tmx-events-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important;}
.woocommerce ul.products,ul.products{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important;width:100%!important;margin:0 0 24px!important;padding:0!important;list-style:none!important;}
.woocommerce ul.products li.product,ul.products li.product{width:auto!important;margin:0!important;float:none!important;}
@media(max-width:560px){
  .tmx-events-grid,.woocommerce ul.products,ul.products{gap:10px!important;}
}
/* --- Card tmx (home / catálogo): overlay 1:1 --- */
.tmx-event-card{position:relative!important;aspect-ratio:1/1!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;height:auto!important;border-radius:var(--tm-radius-lg);overflow:hidden;background:var(--tm-card);text-decoration:none!important;border:1px solid var(--tm-border);}
.tmx-event-card .tmx-event-card__media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;margin:0!important;background:var(--tm-surface)!important;overflow:hidden!important;}
.tmx-event-card__media img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .35s ease;}
.tmx-event-card:hover .tmx-event-card__media img{transform:scale(1.05);}
.tmx-event-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,10,16,0) 30%,rgba(6,10,16,.45) 58%,rgba(6,10,16,.94) 100%);pointer-events:none;}
.tmx-event-card__badge{position:absolute;top:12px;left:12px;z-index:3;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;}
.tmx-event-card__date{position:absolute;top:12px;right:12px;z-index:3;background:var(--tm-orange);color:#fff;border-radius:12px;padding:7px 10px;text-align:center;line-height:1.05;display:flex;flex-direction:column;font-weight:800;}
.tmx-event-card__date strong{font-size:16px;}
.tmx-event-card__date span{font-size:10px;font-weight:700;letter-spacing:.05em;}
.tmx-event-card__soldout{position:absolute;top:12px;right:12px;z-index:3;background:#DC2626;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;}
.tmx-event-card .tmx-event-card__body{position:relative!important;z-index:2!important;margin-top:auto!important;flex:0 0 auto!important;padding:14px 16px 16px!important;background:transparent!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.tmx-event-card__title{color:#fff!important;font-size:var(--tm-fs-base)!important;font-weight:700!important;margin:0!important;line-height:1.3!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tmx-event-card__meta{color:rgba(255,255,255,.78)!important;font-size:13px!important;}
.tmx-event-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;border-top:0!important;padding-top:0!important;}
.tmx-event-card__price{color:var(--tm-orange)!important;font-weight:700!important;font-size:14px;}
.tmx-event-card__price .woocommerce-Price-amount{color:var(--tm-orange)!important;}
.tmx-event-card__cta{color:#fff;font-size:13px;font-weight:600;opacity:.9;}
.tmx-event-card.is-soldout .tmx-event-card__media img{filter:grayscale(.7) brightness(.7);}
/* --- Card del loop WC (archivos + resultados AJAX): mismo overlay --- */
.woocommerce ul.products li.product,ul.products li.product{position:relative!important;aspect-ratio:1/1;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;overflow:hidden!important;border-radius:var(--tm-radius-lg)!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;padding:0!important;}
.woocommerce ul.products li.product img,ul.products li.product img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;border-radius:0!important;aspect-ratio:auto!important;transition:transform .35s ease;z-index:0;}
.woocommerce ul.products li.product:hover img{transform:scale(1.05);}
.woocommerce ul.products li.product::after,ul.products li.product::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,10,16,0) 30%,rgba(6,10,16,.45) 58%,rgba(6,10,16,.94) 100%);pointer-events:none;}
.woocommerce ul.products li.product>a,ul.products li.product>a{position:relative;z-index:2;display:block;padding:0 16px!important;text-decoration:none!important;}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{padding-bottom:14px!important;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,ul.products li.product .woocommerce-loop-product__title{color:#fff!important;font-size:var(--tm-fs-base)!important;font-weight:700!important;padding:0!important;margin:0 0 4px!important;line-height:1.3!important;}
.woocommerce ul.products li.product .price,ul.products li.product .price{color:var(--tm-orange)!important;font-weight:700!important;padding:0!important;margin:4px 0 0!important;}
.woocommerce ul.products li.product .price .woocommerce-Price-amount{color:var(--tm-orange)!important;}
ul.products li.product .tm-card-meta,ul.products li.product .tm-event-meta{color:rgba(255,255,255,.78)!important;padding:0!important;font-size:13px!important;}
/* botón añadir al carrito fuera de la card overlay */
.woocommerce ul.products li.product .button,ul.products li.product .add_to_cart_button{display:none!important;}
ul.products li.product :last-child{padding-bottom:0;}
/* sale flash como chip */
.woocommerce ul.products li.product .onsale{position:absolute;top:12px;left:12px;z-index:3;background:var(--tm-orange)!important;color:#fff!important;border-radius:999px!important;padding:5px 11px!important;font-size:12px!important;font-weight:700!important;min-height:0!important;line-height:1.3!important;margin:0!important;}
/* TMX-ECARD-END */

/* TMX-GRIDBP-START (breakpoints del grid de eventos) */
@media(max-width:767px){
  .tmx-events-grid,.woocommerce ul.products,ul.products{grid-template-columns:1fr!important;gap:14px!important;}
}
/* TMX-GRIDBP-END */

/* TMX-EPIMG-START (evento: póster 1:1 completo con fondo difuminado) */
.tmx-ep__hero{margin:0 0 20px!important;padding:0!important;}
.tmx-ep .tmx-ep__img{position:relative!important;aspect-ratio:1/1!important;height:auto!important;max-height:none!important;width:100%!important;max-width:640px;border-radius:var(--tm-radius-lg)!important;overflow:hidden!important;background:var(--tm-surface)!important;}
.tmx-ep .tmx-ep__img::before{content:"";position:absolute;inset:0;background-image:var(--tmx-ep-bg);background-size:cover;background-position:center;filter:blur(26px) brightness(.45);transform:scale(1.2);}
.tmx-ep .tmx-ep__img img{position:relative!important;width:100%!important;height:100%!important;object-fit:contain!important;display:block;z-index:1;}
.tmx-ep__cat,.tmx-ep__state{z-index:2;}
@media(max-width:860px){
  .tmx-ep .tmx-ep__img{max-width:100%!important;min-width:0!important;margin:0 auto;}
  .tmx-ep__hero{max-width:100%!important;overflow:hidden;}
}
/* TMX-EPIMG-END */

/* TMX-CHK3-START (checkout: .elementor-kit-4es por ID + secciones como tarjetas) */
.woocommerce-checkout form.checkout{max-width:1120px!important;margin:0 auto!important;}
#customer_details.col2-set{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important;width:100%!important;float:none!important;margin:0 0 24px!important;}
#customer_details .col-1{grid-column:1!important;}
#customer_details .col-2{grid-column:2!important;}
@media(max-width:860px){
  #customer_details.col2-set{grid-template-columns:1fr!important;}
  #customer_details .col-1,#customer_details .col-2{grid-column:1!important;}
}
#customer_details .col-1,#customer_details .col-2{float:none!important;width:100%!important;max-width:none!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:22px 20px!important;margin:0!important;}
#customer_details h3{color:var(--tm-white)!important;font-size:1.05rem!important;margin:0 0 16px!important;background:transparent!important;border:0!important;padding:0!important;}
#customer_details .form-row{width:100%!important;float:none!important;margin:0 0 14px!important;padding:0!important;}
#customer_details input.input-text,#customer_details select,#customer_details textarea,#customer_details .select2-container{width:100%!important;}
#customer_details input.input-text{padding:11px 14px!important;}
/* Pedido y pago como tarjeta */
#order_review_heading{max-width:1120px!important;margin:8px auto 12px!important;color:var(--tm-white)!important;background:transparent!important;border:0!important;padding:0!important;font-size:1.15rem!important;}
#order_review{width:100%!important;float:none!important;max-width:1120px!important;margin:0 auto!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:20px!important;}
#order_review table.shop_table{width:100%!important;background:transparent!important;border:0!important;margin:0 0 16px!important;}
#order_review table.shop_table td,#order_review table.shop_table th{background:transparent!important;border-color:var(--tm-border)!important;}
#payment{background:var(--tm-surface)!important;border-radius:var(--tm-radius-sm)!important;}
/* TMX-CHK3-END */

/* TMX-STICKYFIX-START (caja de compra no se corta con el header) */
.tmx-ep__side{position:sticky!important;top:88px!important;align-self:start;}
body.admin-bar .tmx-ep__side{top:120px!important;}
/* TMX-STICKYFIX-END */

/* TMX-MHEAD-START (header móvil compacto: logo menor, carrito completo) */
@media(max-width:767px){
  .elementor-element-tmxhdr01{padding:6px 10px!important;gap:6px!important;min-height:52px!important;}
  .tmx-logo img{max-height:24px!important;}
  .tmx-mainnav .elementor-menu-toggle{padding:6px!important;}
  .tmx-headacts{gap:0!important;}
  .tmx-searchtoggle{min-width:38px!important;min-height:38px!important;padding:6px!important;}
  .elementor-element-tmxactsc{flex:0 0 auto!important;margin-left:0!important;}
  .tmx-cart{margin:0!important;}
  .tmx-cart .elementor-menu-cart__toggle .elementor-button{padding:4px 6px 4px 2px!important;}
  .tmx-cart .elementor-menu-cart__toggle svg,.tmx-cart .elementor-menu-cart__toggle i{font-size:20px!important;}
}
/* TMX-MHEAD-END */

/* TMX-LOOPRESET-START (li.product es solo un wrapper; la tarjeta tmx manda) */
.woocommerce ul.products li.product,ul.products li.product{all:revert;position:static!important;display:block!important;aspect-ratio:auto!important;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;width:auto!important;float:none!important;box-shadow:none!important;}
.woocommerce ul.products li.product::after,ul.products li.product::after{display:none!important;content:none!important;}
.woocommerce ul.products li.product .tmx-event-card{width:100%;}
/* TMX-LOOPRESET-END */

/* TMX-STICKFOOT-START (footer al fondo: sin franja negra bajo el footer) */
html{background:var(--tm-navy-dark,#0D1520)!important;}
body{min-height:100vh!important;display:flex!important;flex-direction:column!important;}
body>#content,body>main,main.site-main{flex:1 0 auto!important;}
/* TMX-STICKFOOT-END */

/* TMX-THANKS-START (post-compra: calendario con evento + dirección) */
.tmx-cal-btn{display:flex!important;flex-direction:column!important;gap:2px!important;align-items:center!important;padding:11px 16px!important;text-align:center;}
.tmx-cal-btn__l{font-weight:600;color:var(--tm-white);font-size:14px;line-height:1.3;}
.tmx-cal-btn__e{font-size:12px;color:var(--tm-secondary-text);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tmx-cal-btn:hover .tmx-cal-btn__e{color:var(--tm-orange);}
/* Dirección de facturación como tarjeta legible */
.woocommerce-customer-details address{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;padding:18px 20px!important;color:var(--tm-white)!important;font-style:normal!important;font-size:14px!important;line-height:1.8!important;}
.woocommerce-customer-details address .woocommerce-customer-details--phone,
.woocommerce-customer-details address .woocommerce-customer-details--email{margin:8px 0 0!important;padding-left:26px!important;color:var(--tm-white)!important;position:relative;}
.woocommerce-customer-details address .woocommerce-customer-details--phone::before,
.woocommerce-customer-details address .woocommerce-customer-details--email::before{color:var(--tm-orange)!important;position:absolute;left:0;}
.woocommerce-customer-details h2,.woocommerce-order-details h2{color:var(--tm-white)!important;}
/* TMX-THANKS-END */

/* TMX-TICKETS-START (mis entradas: lista de tickets QR) */
.tmx-tickets{display:flex;flex-direction:column;gap:12px;}
.tmx-ticket{display:flex;align-items:center;gap:14px;background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);padding:12px 14px;text-decoration:none!important;transition:border-color var(--tm-transition);}
.tmx-ticket:hover{border-color:var(--tm-orange);}
.tmx-ticket__media{flex:0 0 auto;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--tm-surface);}
.tmx-ticket__media img{width:56px!important;height:56px!important;object-fit:cover;display:block;}
.tmx-ticket__info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.tmx-ticket__info strong{color:var(--tm-white)!important;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tmx-ticket__meta{color:var(--tm-secondary-text)!important;font-size:12.5px;}
.tmx-ticket__code{color:var(--tm-secondary-text)!important;font-size:12px;font-family:monospace;letter-spacing:.03em;}
.tmx-ticket__right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.tmx-ticket__qr{color:var(--tm-orange)!important;font-size:13px;font-weight:600;}
.tmx-ticket.is-used{opacity:.65;}
.tmx-tickets__hint{color:var(--tm-secondary-text)!important;font-size:12.5px!important;margin:14px 0 0!important;}
/* TMX-TICKETS-END */

/* TMX-EVSTATS-START (mis eventos: stats por evento) */
.tm-my-events-list__stats{flex:1 0 100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-top:12px!important;}
.tm-my-events-list__stat{background:var(--tm-surface);border:1px solid var(--tm-border);border-radius:var(--tm-radius-sm);padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px;color:var(--tm-secondary-text)!important;font-size:11px!important;line-height:1.3;}
.tm-my-events-list__stat strong{color:var(--tm-orange)!important;font-size:1.05rem!important;font-weight:800!important;}
.tm-my-events-list__stat strong .woocommerce-Price-amount{color:var(--tm-orange)!important;font-size:1.05rem!important;}
.tmx-attbtn{display:inline-flex!important;align-items:center;gap:8px;background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:var(--tm-white)!important;border-radius:999px!important;padding:9px 16px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;margin-left:auto;transition:border-color var(--tm-transition);}
.tmx-attbtn svg{width:16px;height:16px;}
.tmx-attbtn:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
/* TMX-EVSTATS-END */

/* TMX-TBTN-START (mis entradas: botones QR/descargar) */
.tmx-ticket__btns{display:flex;gap:8px;}
.tmx-tbtn{display:inline-flex!important;align-items:center;gap:6px;background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:var(--tm-white)!important;border-radius:999px!important;padding:8px 14px!important;font-size:12.5px!important;font-weight:600!important;text-decoration:none!important;transition:border-color var(--tm-transition);}
.tmx-tbtn svg{width:15px;height:15px;}
.tmx-tbtn:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.tmx-tbtn--qr{background:var(--tm-orange)!important;border-color:var(--tm-orange)!important;color:#fff!important;}
.tmx-tbtn--qr:hover{background:var(--tm-orange-h)!important;color:#fff!important;}
@media(max-width:560px){
  .tmx-ticket{flex-wrap:wrap;}
  .tmx-ticket__right{flex-direction:row!important;align-items:center!important;justify-content:space-between;flex:1 0 100%!important;margin-top:10px;padding-top:10px;border-top:1px solid var(--tm-border);}
}
/* TMX-TBTN-END */

/* TMX-BTNFIX2-START (botones rellenos: texto blanco garantizado en cuenta) */
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn--qr,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn--qr span,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-btn--primary{color:#fff!important;}
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn span,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-attbtn{color:var(--tm-white)!important;}
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn:hover,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn:hover span,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-attbtn:hover{color:var(--tm-orange)!important;}
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn--qr:hover,
.woocommerce-account .woocommerce-MyAccount-content a.tmx-tbtn--qr:hover span{color:#fff!important;}
/* TMX-BTNFIX2-END */

/* TMX-CHIPPOS-START (chip de estado junto al código) */
.tmx-ticket__code{display:inline-flex!important;align-items:center;gap:8px;}
.tmx-ticket__code .tmx-chip{margin:0!important;}
.tmx-ticket__right{justify-content:center!important;}
/* TMX-CHIPPOS-END */

/* TMX-TKPAGE-START (página pública del ticket en oscuro) */
.ticket_content{margin:28px auto 56px!important;}
.ticket_content h3,.ticket_content h4{color:var(--tm-white)!important;}
.ticket_content h3{font-size:1.3rem!important;margin:0 0 4px!important;}
.ticket_content h4{font-size:1.05rem!important;margin:0 0 14px!important;color:var(--tm-orange)!important;}
.ticket_content table,.ticket_content td,.ticket_content tr,.ticket_content th{background:transparent!important;background-color:transparent!important;border:0!important;color:var(--tm-white)!important;}
.ticket_content table{margin:0 0 10px!important;}
.ticket_content td{padding:6px 0!important;}
.ticket_content p{color:var(--tm-white)!important;margin:0 0 8px!important;}
.ticket_content b,.ticket_content strong{color:var(--tm-white)!important;}
/* QR: mantener fondo blanco solo alrededor del código */
.ticket_content canvas,.ticket_content img.qrimage,.ticket_content #qrcode img,.ticket_content #qrcode canvas{background:#fff!important;padding:14px;border-radius:14px;display:block;margin:0 auto;}
/* Enlaces de descarga como botones */
.ticket_content a{display:inline-flex!important;align-items:center;gap:6px;background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:var(--tm-white)!important;border-radius:999px!important;padding:10px 18px!important;margin:10px 8px 0 0!important;font-size:14px!important;font-weight:600!important;text-decoration:none!important;transition:border-color var(--tm-transition);}
.ticket_content a:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
/* TMX-TKPAGE-END */

/* TMX-SCANST-START (escáner: resultado como sheet/lightbox) */
/* Zona informativa bajo el lector: discreta */
#ticket_scanner_info_area{color:var(--tm-secondary-text)!important;font-size:12px!important;}
#ticket_scanner_info_area center{font-size:12px;}
/* Sheet de resultado */
.tmx-scansheet{position:fixed;inset:0;z-index:1350;background:rgba(4,8,14,.55);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s;}
.tmx-scansheet.is-open{opacity:1;pointer-events:auto;visibility:visible;}
.tmx-scansheet__panel{position:absolute;display:flex;flex-direction:column;background:var(--tm-card);border:1px solid var(--tm-border);box-shadow:var(--tm-shadow-lg);transition:transform .3s ease;}
@media(max-width:767px){
  .tmx-scansheet__panel{left:0;right:0;bottom:0;max-height:84vh;border-radius:18px 18px 0 0;transform:translateY(100%);}
}
@media(min-width:768px){
  .tmx-scansheet__panel{top:50%;left:50%;width:560px;max-width:92vw;max-height:84vh;border-radius:18px;transform:translate(-50%,calc(-50% + 30px));opacity:0;transition:transform .3s ease,opacity .3s ease;}
  .tmx-scansheet.is-open .tmx-scansheet__panel{opacity:1;}
}
.tmx-scansheet.is-open .tmx-scansheet__panel{transform:translateY(0);}
@media(min-width:768px){ .tmx-scansheet.is-open .tmx-scansheet__panel{transform:translate(-50%,-50%);} }
.tmx-scansheet__head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--tm-border);flex:0 0 auto;position:relative;}
.tmx-scansheet__grab{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:44px;height:4px;border-radius:99px;background:rgba(255,255,255,.25);}
@media(min-width:768px){.tmx-scansheet__grab{display:none;}}
.tmx-scansheet__title{font-weight:700;font-size:15px;color:var(--tm-white);margin-top:4px;}
.tmx-scansheet__x{margin-left:auto;width:36px;height:36px;border-radius:50%;background:var(--tm-surface);border:1px solid var(--tm-border);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.tmx-scansheet__x:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-scansheet__body{overflow:auto;padding:16px;flex:1 1 auto;-webkit-overflow-scrolling:touch;}
body.tmx-scansheet-open{overflow:hidden;}
/* Dentro del sheet: banners compactos, sin iconos gigantes ni ids crudos enormes */
.tmx-scansheet__body h4{font-size:1rem!important;line-height:1.4!important;letter-spacing:0!important;margin:0 0 10px!important;text-align:center;}
.tmx-scansheet__body h4[style*="color:red"],.tmx-scansheet__body h4[style*="color: red"]{color:#f87171!important;background:rgba(220,38,38,.12);border:1px solid rgba(248,113,113,.35);border-radius:12px;padding:10px 14px!important;}
.tmx-scansheet__body h4[style*="color:green"],.tmx-scansheet__body h4[style*="color: green"]{color:#4ade80!important;background:rgba(34,197,94,.12);border:1px solid rgba(74,222,128,.35);border-radius:12px;padding:10px 14px!important;}
.tmx-scansheet__body [style*="color:green"]{color:#4ade80!important;}
.tmx-scansheet__body [style*="color:red"]{color:#f87171!important;}
.tmx-scansheet__body img{display:none!important;}
#ticket_info_retrieved{padding:0!important;font-size:13px!important;}
#ticket_info,#ticket_info_retrieved{line-height:1.55!important;}
#ticket_info>div,#ticket_info_retrieved>div{margin:4px 0!important;}
#ticket_info table td{padding:4px 6px!important;vertical-align:top!important;}
/* Ticket incrustado dentro del sheet */
.tmx-scansheet__body .ticket_content{border-radius:14px!important;margin:12px 0!important;max-width:100%!important;border-width:1px!important;padding:14px!important;}
/* Botones del resultado dentro del sheet */
.tmx-scansheet__body button{margin:10px 0 0!important;}
/* TMX-SCANST-END */

/* TMX-SCANQ-START (escáner: flujo rápido) */
/* × del sheet: inmune a la regla global de botones full-width */
.ticket_content .tmx-scansheet__x,.tmx-scansheet__x{display:flex!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;padding:0!important;margin:0 0 0 auto!important;border-radius:50%!important;background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;color:#fff!important;font-size:20px!important;line-height:1!important;align-items:center!important;justify-content:center!important;}
.tmx-scansheet__x:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.tmx-scansheet__head{flex-wrap:nowrap!important;}
.tmx-scansheet__title{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Veredicto (ticket_scanner_info_area ahora vive en el sheet) */
.tmx-scansheet__body #ticket_scanner_info_area{color:var(--tm-white)!important;font-size:14px!important;text-align:center;}
.tmx-scansheet__body #ticket_scanner_info_area h4{font-size:1.15rem!important;}
.tmx-scansheet__body #ticket_scanner_info_area center{font-size:11px;color:var(--tm-secondary-text);font-family:monospace;letter-spacing:.02em;}
/* Vista previa duplicada y caja verde: fuera */
.tmx-scansheet .ticket_content{display:none!important;}
.tmx-scandetails div[style*="border"][style*="green"],.tmx-scandetails div[style*="border"][style*="red"]{display:none!important;}
/* Acordeón de detalles */
details.tmx-scandetails{margin:12px 0 0;border:1px solid var(--tm-border);border-radius:12px;background:var(--tm-surface);overflow:hidden;}
details.tmx-scandetails>summary{cursor:pointer;padding:12px 14px;font-weight:600;font-size:14px;color:var(--tm-white);list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none;}
details.tmx-scandetails>summary::-webkit-details-marker{display:none;}
details.tmx-scandetails>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--tm-secondary-text);border-bottom:2px solid var(--tm-secondary-text);transform:rotate(45deg);transition:transform .2s;margin-left:10px;flex:0 0 auto;}
details.tmx-scandetails[open]>summary::after{transform:rotate(-135deg);}
details.tmx-scandetails[open]>summary{border-bottom:1px solid var(--tm-border);}
details.tmx-scandetails>div{padding:4px 14px;}
/* Datos como filas limpias: la tabla de pares pasa a lista apilada */
.tmx-scandetails table,.tmx-scandetails tbody,.tmx-scandetails tr{display:block!important;width:100%!important;}
.tmx-scandetails td{display:block!important;width:100%!important;text-align:left!important;padding:9px 0!important;border:0!important;border-bottom:1px solid var(--tm-border)!important;font-size:13.5px!important;color:var(--tm-white)!important;line-height:1.5!important;}
.tmx-scandetails tr:last-child td:last-child{border-bottom:0!important;}
.tmx-scandetails b,.tmx-scandetails strong{color:var(--tm-white)!important;}
.tmx-scandetails>div>div{padding:6px 0;border-bottom:1px solid var(--tm-border);font-size:13.5px;}
.tmx-scandetails>div>div:last-child{border-bottom:0;}
/* Botones de acción en grid de 2 */
.tmx-scandetails #ticket_info_btns{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px!important;}
.tmx-scandetails #ticket_info_btns button{margin:0!important;width:100%!important;}
/* Pie del sheet */
.tmx-scansheet__foot{flex:0 0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--tm-border);}
.ticket_content .tmx-scansheet__next,.tmx-scansheet__next{display:block!important;width:100%!important;background:var(--tm-orange)!important;border:0!important;border-radius:999px!important;color:#fff!important;font-weight:700!important;font-size:15px!important;padding:14px!important;cursor:pointer;margin:0!important;}
.tmx-scansheet__next:hover{background:var(--tm-orange-h)!important;color:#fff!important;}
/* Veredicto protagonista */
#ticket_info_retrieved{text-align:center;}
#ticket_info_retrieved h4{font-size:1.15rem!important;}
/* TMX-SCANQ-END */

/* TMX-SCANQ3-START (detalles: columnas inline aplanadas + jerarquía) */
/* Las dos columnas inline del plugin pasan a bloques apilados */
.tmx-scandetails div[style*="width:50%"],.tmx-scandetails div[style*="width: 50%"]{width:100%!important;display:block!important;}
/* Cada dato = una fila con separador */
.tmx-scandetails #ticket_add_info>div>div,.tmx-scandetails #ticket_info>div>div{padding:9px 2px!important;border-bottom:1px solid var(--tm-border)!important;font-size:13.5px!important;line-height:1.5!important;color:var(--tm-white)!important;margin:0!important;}
.tmx-scandetails #ticket_add_info>div>div:last-child,.tmx-scandetails #ticket_info>div>div:last-child{border-bottom:0!important;}
/* Estados con color legible dentro de detalles */
.tmx-scandetails [style*="color: green"],.tmx-scandetails [style*="color:green"]{color:#4ade80!important;}
.tmx-scandetails [style*="color: red"],.tmx-scandetails [style*="color:red"]{color:#f87171!important;}
/* Encabezados de sección dentro de detalles */
.tmx-scandetails b:only-child,.tmx-scandetails #ticket_info b{color:var(--tm-white)!important;}
/* Botones de acción: grid 2 columnas al final */
.tmx-scandetails div:has(>button.button-ticket-options){display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;padding:12px 0!important;border:0!important;}
.tmx-scandetails button.button-ticket-options{width:100%!important;margin:0!important;padding:11px 10px!important;font-size:13.5px!important;}
.tmx-scandetails button.button-ticket-options[disabled]{opacity:.4;}
/* Nota de canjes al pie, discreta y centrada */
.tmx-scandetails div[style*="text-align:center"],.tmx-scandetails center{color:var(--tm-secondary-text)!important;font-size:12px!important;}
/* TMX-SCANQ3-END */

/* TMX-SCANQ4-START (botones en grid garantizado + herencia de color) */
/* Todo el cuerpo del sheet hereda blanco (mata el color:black inline del contenedor del plugin) */
.tmx-scansheet__body,.tmx-scansheet__body div,.tmx-scansheet__body span,.tmx-scansheet__body p{color:var(--tm-white);}
/* Fila de botones marcada por JS */
.tmx-btnrow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;padding:12px 0!important;border:0!important;margin:0!important;}
.tmx-btnrow button{width:100%!important;margin:0!important;padding:12px 10px!important;font-size:13.5px!important;text-align:center!important;}
/* Nota de canjes: pie discreto, ancho completo */
.tmx-scansheet__body div[style*="text-align:center"],.tmx-scansheet__body div[style*="text-align: center"],.tmx-scansheet__body center{color:var(--tm-secondary-text)!important;font-size:12px!important;width:100%!important;display:block!important;}
/* TMX-SCANQ4-END */

/* TMX-SANITY-START (garantías finales: contraste de botones + acentos por defecto) */
/* 1) Botones rellenos naranja: texto blanco en TODOS los estados, gane quien gane la cascada */
.tmx-btn--primary,.tmx-btn--primary:hover,.tmx-btn--primary:focus,.tmx-btn--primary:active,
.ticket_content .tmx-scansheet__next,.ticket_content .tmx-scansheet__next:hover,.ticket_content .tmx-scansheet__next:focus,.ticket_content .tmx-scansheet__next:active,
.tmx-scansheet__next,.tmx-scansheet__next:hover,
.tmx-tbtn--qr,.tmx-tbtn--qr:hover,.tmx-tbtn--qr:focus,
.tmx-tbtn--qr span,.tmx-tbtn--qr:hover span,
.ticket_content button.button-primary,.ticket_content button.button-primary:hover,.ticket_content button.button-primary:focus,
.tmx-search__btn,.tmx-search__btn:hover,
.tmx-fapply,.tmx-fapply:hover,
.tmx-btn--cta .elementor-button,.tmx-btn--cta .elementor-button:hover,
.tmx-btn--cta2,.tmx-btn--cta2:hover,
.woocommerce a.button.alt,.woocommerce a.button.alt:hover,.woocommerce button.button.alt,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt,.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit,.woocommerce #respond input#submit:hover,
.woocommerce button[name=update_cart],.woocommerce button[name=apply_coupon],
.woocommerce-cart .checkout-button,.woocommerce-cart .checkout-button:hover,
#place_order,#place_order:hover{color:#fff!important;}
/* Fondos naranja consistentes en los alt/primarios de WooCommerce (mata el púrpura default) */
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #respond input#submit,.woocommerce-cart .checkout-button,#place_order{background-color:var(--tm-orange)!important;}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce-cart .checkout-button:hover,#place_order:hover{background-color:var(--tm-orange-h)!important;}
/* 2) Botones secundarios de WooCommerce: superficie oscura, nunca gris claro/rosa */
.woocommerce a.button:not(.alt):not(.checkout-button),.woocommerce button.button:not(.alt),.woocommerce input.button:not(.alt){background:var(--tm-surface)!important;color:var(--tm-white)!important;border:1px solid rgba(255,255,255,.28)!important;}
.woocommerce a.button:not(.alt):hover,.woocommerce button.button:not(.alt):hover{color:var(--tm-orange)!important;border-color:var(--tm-orange)!important;background:var(--tm-surface)!important;}
/* 3) Acentos rosa/púrpura por defecto de WooCommerce: fuera */
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--tm-card)!important;color:var(--tm-white)!important;border-top-color:var(--tm-orange)!important;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--tm-orange)!important;}
.woocommerce-error::before{color:#f87171!important;}
a.showcoupon,.woocommerce-form-coupon-toggle a{color:var(--tm-orange)!important;background:transparent!important;}
.woocommerce form .form-row .required{color:#f87171!important;text-decoration:none!important;}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme{color:var(--tm-white)!important;}
mark,ins{background:rgba(251,122,47,.18)!important;color:var(--tm-white)!important;text-decoration:none!important;}
::selection{background:var(--tm-orange);color:#fff;}
/* Focus visible coherente (sin outlines rosa del tema) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid rgba(251,122,47,.65)!important;outline-offset:2px!important;box-shadow:none!important;}
/* TMX-SANITY-END */

/* TMX-REASON-START (razón del rechazo visible bajo el veredicto) */
.tmx-reason{display:none;background:rgba(220,38,38,.12);border:1px solid rgba(248,113,113,.35);border-radius:12px;padding:10px 14px;margin:4px 0 12px;text-align:center;}
.tmx-reason__item{color:#f87171!important;font-weight:600;font-size:14px;line-height:1.45;padding:2px 0;}
/* TMX-REASON-END */

/* TMX-ORDRCV-START (pedido recibido: overview) */
.woocommerce-order-overview{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px 14px!important;list-style:none!important;margin:0 0 24px!important;padding:16px 18px!important;background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-lg)!important;width:100%!important;}
.woocommerce-order-overview li{border:0!important;border-right:0!important;margin:0!important;padding:8px 0!important;float:none!important;font-size:11px!important;letter-spacing:.07em!important;color:var(--tm-secondary-text)!important;text-transform:uppercase!important;line-height:1.4!important;}
.woocommerce-order-overview li strong{display:block!important;font-size:15px!important;font-weight:700!important;color:var(--tm-white)!important;letter-spacing:0!important;text-transform:none!important;margin-top:3px!important;}
.woocommerce-order-overview li.method,.woocommerce-order-overview li.woocommerce-order-overview__payment-method{grid-column:1/-1!important;}
.woocommerce-order-overview li:empty{display:none!important;}
.tmx-btn,.tmx-btn span,.tmx-btn:hover,.tmx-cal-btn,.tmx-cal-btn span{text-decoration:none!important;}
.woocommerce-order h2,.woocommerce-order h3{color:var(--tm-white)!important;font-size:1.15rem!important;margin:22px 0 10px!important;}
/* TMX-ORDRCV-END */

/* TMX-TKFMT-START (tickets en detalles del pedido: enlaces con jerarquía) */
/* Cada ticket: bloque separado por línea, etiqueta pequeña uppercase */
.product-serial-code{display:block!important;background:transparent!important;border:0!important;border-top:1px solid var(--tm-border)!important;border-radius:0!important;padding:12px 0 10px!important;margin:0!important;line-height:1.5!important;color:var(--tm-secondary-text)!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;}
.product-serial-code br{display:none!important;}
/* Reset duro de cualquier estilo de botón heredado en sus enlaces */
.product-serial-code a{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;}
/* ID del ticket: mono, blanco, propia línea */
.product-serial-code>a:first-of-type{display:block!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;word-break:break-all!important;color:var(--tm-white)!important;text-decoration:none!important;margin:3px 0 7px!important;}
.product-serial-code>a:first-of-type:hover{color:var(--tm-orange)!important;}
/* Acciones (Descargar ticket PDF / Credencial): enlaces naranja discretos en línea */
.product-serial-code a:not(:first-of-type){display:inline-flex!important;align-items:center!important;color:var(--tm-orange)!important;font-size:13px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;margin:0 16px 0 0!important;}
.product-serial-code a:not(:first-of-type):hover{text-decoration:underline!important;}
.product-serial-code a b{font-weight:600!important;}
/* Nombre del producto y cantidad con aire respecto a los tickets */
.woocommerce-table--order-details td.woocommerce-table__product-name{line-height:1.6!important;padding-bottom:14px!important;}
.woocommerce-table--order-details td.woocommerce-table__product-name>a{font-weight:700!important;font-size:15px!important;}
/* Resumen del pedido: celdas vacías fuera */
.woocommerce-order-overview li:empty{display:none!important;}
/* Página pública del ticket: columnas apiladas en móvil */
@media(max-width:640px){
  .ticket_content table td{display:block!important;width:100%!important;padding:0 0 14px!important;}
}
.ticket_content table{margin:0 0 6px!important;}
.ticket_content .ticket_content_upper{border-bottom:1px solid var(--tm-border)!important;padding-bottom:8px!important;margin-bottom:12px!important;}
/* TMX-TKFMT-END */

/* TMX-OVFIX-START (clearfix de WooCommerce fuera del grid del resumen) */
.woocommerce-order-overview::before,.woocommerce-order-overview::after,
ul.order_details::before,ul.order_details::after{display:none!important;content:none!important;}
/* TMX-OVFIX-END */

/* TMX-BUYROW-START (evento: cantidad y CTA en una fila) */
.tmx-buy form.cart:not(.variations_form){display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;margin:0!important;}
.tmx-buy form.cart:not(.variations_form) .tmx-total{grid-column:1/-1!important;margin:2px 0 2px!important;}
.tmx-buy form.cart:not(.variations_form) .quantity{grid-column:1!important;margin:0!important;width:auto!important;display:flex!important;}
.tmx-buy form.cart:not(.variations_form) .quantity input.qty{width:100%!important;height:auto!important;min-height:50px!important;margin:0!important;text-align:center!important;font-size:16px!important;font-weight:600!important;}
.tmx-buy form.cart:not(.variations_form) .single_add_to_cart_button,.tmx-buy form.cart:not(.variations_form) button[type=submit]{grid-column:2!important;width:100%!important;margin:0!important;min-height:50px!important;white-space:nowrap;}
/* TMX-BUYROW-END */

/* TMX-SCANIN-START (fila input + Validar del lector físico) */
.tmx-scaninput{display:flex!important;gap:8px!important;align-items:stretch!important;width:100%!important;margin-top:8px;}
.tmx-scaninput input[name=barcode_scanner_input]{flex:1 1 auto!important;margin:0!important;min-width:0!important;}
.ticket_content .tmx-scaninput__go,.tmx-scaninput__go{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:96px!important;margin:0!important;background:var(--tm-orange)!important;border:0!important;border-radius:10px!important;color:#fff!important;font-weight:700!important;font-size:14px!important;padding:0 18px!important;cursor:pointer;}
.ticket_content .tmx-scaninput__go:hover,.tmx-scaninput__go:hover{background:var(--tm-orange-h)!important;color:#fff!important;}
/* TMX-SCANIN-END */

/* TMX-VERDICT-START (veredicto único del escáner) */
.tmx-verdict{display:none;flex-direction:column;align-items:center;gap:7px;text-align:center;margin:0 0 14px;}
.tmx-verdict__badge{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;letter-spacing:.05em;padding:10px 24px;border-radius:999px;}
.tmx-verdict--bad .tmx-verdict__badge{background:rgba(220,38,38,.15);border:1px solid rgba(248,113,113,.4);color:#f87171;}
.tmx-verdict--ok .tmx-verdict__badge{background:rgba(34,197,94,.15);border:1px solid rgba(74,222,128,.4);color:#4ade80;}
.tmx-verdict__event{font-size:17px;font-weight:700;color:var(--tm-white)!important;line-height:1.3;}
.tmx-verdict__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--tm-secondary-text)!important;letter-spacing:.08em;}
.tmx-verdict__reason{font-size:14px;font-weight:600;color:#f87171!important;}
.tmx-verdict--ok .tmx-verdict__reason{color:#4ade80!important;}
.tmx-verdict__meta{font-size:12.5px;color:var(--tm-secondary-text)!important;}
/* Con el veredicto activo, las piezas crudas del plugin se ocultan (sin repetir contenido) */
.tmx-vd-on #ticket_scanner_info_area,.tmx-vd-on #ticket_info_retrieved{display:none!important;}
.tmx-reason{display:none!important;}
/* TMX-VERDICT-END */

/* TMX-BOOKING-START (formulario de reservas: legibilidad total) */
.tmx-buy form.cart:has(.wc-bookings-booking-form){display:block!important;}
.tmx-buy form.cart:has(.wc-bookings-booking-form) .wc-bookings-booking-form-button{display:flex!important;width:100%!important;justify-content:center;margin:14px 0 0!important;min-height:50px!important;position:static!important;}
.wc-bookings-booking-form{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;border-radius:12px!important;padding:14px!important;margin:0 0 4px!important;}
.wc-bookings-booking-form fieldset{border:0!important;padding:0!important;margin:0 0 10px!important;}
/* Nada de texto negro heredado: todo el form en blanco por defecto */
.wc-bookings-booking-form,.wc-bookings-booking-form p,.wc-bookings-booking-form li,.wc-bookings-booking-form span,.wc-bookings-booking-form label,.wc-bookings-booking-form legend{color:var(--tm-white)!important;}
.wc-bookings-booking-form small,.wc-bookings-booking-form .booking-timezone-block{color:var(--tm-secondary-text)!important;font-size:11.5px!important;}
.wc-bookings-booking-form label{font-size:13px!important;font-weight:600!important;}
.wc-bookings-booking-form select{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;padding:9px 12px!important;width:100%!important;}
/* Calendario */
.wc-bookings-booking-form .ui-datepicker,.wc-bookings-booking-form .picker__box{background:transparent!important;border:0!important;color:var(--tm-white)!important;width:100%!important;padding:0!important;}
.wc-bookings-booking-form .ui-datepicker-header{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;color:var(--tm-white)!important;border-radius:10px!important;padding:8px 0!important;margin:10px 0!important;position:relative;}
.wc-bookings-booking-form .ui-datepicker-title{color:var(--tm-white)!important;font-weight:700!important;font-size:14px!important;text-align:center;}
.wc-bookings-booking-form .ui-datepicker-prev,.wc-bookings-booking-form .ui-datepicker-next{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;border-radius:8px!important;width:32px!important;height:32px!important;top:5px!important;cursor:pointer;}
.wc-bookings-booking-form .ui-datepicker-prev{left:6px!important;}
.wc-bookings-booking-form .ui-datepicker-next{right:6px!important;}
.wc-bookings-booking-form .ui-datepicker-prev .ui-icon,.wc-bookings-booking-form .ui-datepicker-next .ui-icon{filter:invert(1);}
.wc-bookings-booking-form table.ui-datepicker-calendar{width:100%!important;border-collapse:separate!important;border-spacing:4px!important;background:transparent!important;margin:0!important;}
.wc-bookings-booking-form .ui-datepicker th{color:var(--tm-secondary-text)!important;background:transparent!important;border:0!important;font-size:11px!important;text-transform:uppercase;padding:4px 0!important;}
.wc-bookings-booking-form .ui-datepicker td{background:transparent!important;border:0!important;padding:0!important;}
.wc-bookings-booking-form .ui-datepicker td a,.wc-bookings-booking-form .ui-datepicker td span{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:38px;background:var(--tm-card)!important;color:rgba(255,255,255,.35)!important;border:0!important;border-radius:9px!important;font-size:13px!important;font-weight:600!important;text-align:center!important;}
.wc-bookings-booking-form .ui-datepicker td.bookable a{background:rgba(74,222,128,.16)!important;color:#4ade80!important;}
.wc-bookings-booking-form .ui-datepicker td.bookable a:hover{background:rgba(74,222,128,.3)!important;}
.wc-bookings-booking-form .ui-datepicker td.ui-datepicker-current-day a{background:var(--tm-orange)!important;color:#fff!important;}
.wc-bookings-booking-form .ui-datepicker td.ui-datepicker-unselectable span{background:var(--tm-card)!important;color:rgba(255,255,255,.22)!important;}
/* Horarios (bloques) */
.wc-bookings-booking-form .block-picker{display:flex!important;flex-wrap:wrap!important;gap:8px!important;list-style:none!important;margin:10px 0 0!important;padding:0!important;}
.wc-bookings-booking-form .block-picker li{margin:0!important;}
.wc-bookings-booking-form .block-picker li a{display:inline-flex!important;background:var(--tm-card)!important;color:#fff!important;border:1px solid var(--tm-border)!important;border-radius:999px!important;padding:9px 15px!important;font-size:13px!important;font-weight:600!important;text-decoration:none!important;}
.wc-bookings-booking-form .block-picker li a:hover,.wc-bookings-booking-form .block-picker li a.selected{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;background:var(--tm-card)!important;}
.wc-bookings-booking-cost{background:var(--tm-card)!important;border:1px solid var(--tm-border)!important;border-radius:10px!important;color:var(--tm-white)!important;padding:10px 14px!important;margin:10px 0 0!important;display:block!important;}
.wc-bookings-booking-cost *{color:var(--tm-white)!important;}
/* TMX-BOOKING-END */

/* TMX-RESV-START (mis reservas + link direcciones en perfil) */
.tmx-perfil-dir{display:inline-flex!important;margin-top:16px!important;background:var(--tm-surface)!important;border:1px solid rgba(255,255,255,.28)!important;color:var(--tm-white)!important;border-radius:999px!important;padding:11px 18px!important;font-size:14px!important;font-weight:600!important;text-decoration:none!important;}
.tmx-perfil-dir:hover{border-color:var(--tm-orange)!important;color:var(--tm-orange)!important;}
.tmx-tickets--reservas{margin-bottom:18px;}
/* TMX-RESV-END */

/* TMX-PERFIL-START (acciones dentro de Mi perfil + selección crear en página) */
.tmx-perfil-acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.tmx-perfil-acciones .tmx-btn{margin-top:0!important;}
.tmx-perfil-logout{display:inline-flex!important;background:rgba(220,38,38,.12)!important;border:1px solid rgba(248,113,113,.4)!important;color:#f87171!important;border-radius:999px!important;padding:11px 18px!important;font-size:14px!important;font-weight:600!important;text-decoration:none!important;}
.tmx-perfil-logout:hover{background:rgba(220,38,38,.22)!important;color:#f87171!important;}
.tmxml-cards--page{padding:0;}
@media(min-width:768px){.tmxml-cards--page{grid-template-columns:repeat(3,1fr);}}
/* TMX-PERFIL-END */

/* TMX-MEGANAV-START (v2 UX 2026-07-16: tipografía/espaciado uniforme, paneles unificados, footer Ver todos, CTA con margen) */

/* Los headers de grupo (Categorías / Descubre) son etiquetas, no enlaces reales (href="#") */
.tmx-mainnav a[href="#"]{cursor:default!important;}

/* ===== Nivel superior (escritorio): mismo tamaño, peso y espaciado para TODOS los items ===== */
.tmx-mainnav .elementor-nav-menu>li{margin:0!important;}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>a{
  font-size:var(--tm-fs-sm)!important;
  font-weight:600!important;
  letter-spacing:.01em;
  padding:10px 15px!important;
  line-height:1.1!important;
}
/* El caret no debe distorsionar el ritmo horizontal */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>a .sub-arrow{
  margin:0 0 0 4px!important;padding:0!important;font-size:.78em!important;opacity:.6;
}

/* ===== Lienzo compartido de TODOS los paneles de escritorio (Eventos y Organizadores) =====
   Apertura/cierre por visibility+opacity con retardo de cierre: el panel tolera cruzar el hueco
   entre el botón y el panel sin colapsar, y el display!important anula el hide del JS del widget. */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>.sub-menu{
  display:block!important;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease .25s, visibility 0s linear .4s;
  background:var(--tm-card)!important;
  border:1px solid var(--tm-border)!important;
  border-radius:var(--tm-radius-sm)!important;
  box-shadow:var(--tm-shadow-lg)!important;
  padding:12px!important;
  margin-top:6px!important;
  z-index:1001;
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li:hover>.sub-menu,
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li:focus-within>.sub-menu{
  opacity:1;
  visibility:visible;
  transition-delay:0s,0s;
}
/* Puente invisible sobre el panel: mantiene el hover al cruzar el hueco */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>.sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
  background:transparent;
}
/* Tipografía estándar de enlace de panel (idéntica en ambos menús) */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>.sub-menu a{
  font-size:.88rem!important;
  font-weight:500!important;
  color:var(--tm-white)!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li>.sub-menu a:hover{
  color:var(--tm-orange)!important;
  background:rgba(255,255,255,.05)!important;
}

/* ===== Eventos (menu-item-203): panel mega de 2 columnas + footer ===== */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu{
  display:flex!important;
  flex-flow:row wrap;
  align-items:flex-start;
  column-gap:32px;
  width:560px;
  max-width:min(560px,calc(100vw - 32px));
  padding:22px 24px 14px!important;
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.menu-item-204,
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.menu-item-284{
  flex:1 1 0;
  min-width:190px;
}

/* Listas anidadas (columnas): siempre desplegadas dentro del panel, integradas al lienzo
   (heredan la visibilidad del panel padre; no llevan visibility/opacity propios) */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203 .sub-menu .sub-menu{
  display:block!important;
  position:static!important;
  width:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:8px 0 0!important;
  transition:none!important;
}

/* Encabezados de columna: CATEGORÍAS / DESCUBRE */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203 .sub-menu>li.menu-item-204>a,
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203 .sub-menu>li.menu-item-284>a{
  text-transform:uppercase;
  font-size:.72rem!important;
  letter-spacing:.08em;
  font-weight:700!important;
  color:var(--tm-orange)!important;
  opacity:.9;
  padding:0 4px 8px!important;
  border-radius:0!important;
  border-bottom:1px solid var(--tm-border)!important;
  background:transparent!important;
}

/* Footer del panel: "Ver todos los eventos" a ancho completo, protagonista */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.tmx-megafoot{
  flex:1 1 100%;
  margin-top:16px;
  padding-top:10px;
  border-top:1px solid var(--tm-border);
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.tmx-megafoot>a{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  font-size:.9rem!important;
  font-weight:700!important;
  color:var(--tm-orange)!important;
  padding:10px 12px!important;
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.tmx-megafoot>a::after{
  content:"\2192";
  font-size:1rem;
}
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-203>.sub-menu>li.tmx-megafoot>a:hover{
  background:rgba(251,122,47,.12)!important;
  color:var(--tm-orange)!important;
}

/* ===== Organizadores (menu-item-283): mismo lienzo, 1 columna ===== */
.tmx-mainnav nav.elementor-nav-menu--main .elementor-nav-menu>li.menu-item-283>.sub-menu{width:250px!important;}

/* TMX-MEGANAV-END */


/* TMX-HOMEZONES-START
 * Home audience zones: attendee (cliente) content is primary, the
 * organizer band (.tmx-orgcta inside container tmxsorg) is secondary.
 * tmxsorg previously shared the exact same background as the attendee
 * sections tmxsdest/tmxsprox (.elementor-element-tmxsdest,tmxsprox,tmxsorg
 * -> var(--tm-navy-dark), see "Secciones" block above) which is why it
 * didn't read as a distinct zone. This block overrides tmxsorg's band
 * only, restyles .tmx-orgcta from the old orange-card look to a calm
 * full-width dark band, and adds the eyebrow + two-CTA group markup.
 * Reuses existing tokens/components (.tmx-btn, .tmx-btn--ghost,
 * --tm-navy-dark, --tm-black, --tm-orange, --tm-border, --tm-radius-pill)
 * defined earlier in this file — no new tokens introduced.
 */

/* Full-width contrasting band + top divider, more generous padding than
   the standard .tmx-sec 48px/20px so it doesn't feel like just another
   content section. !important + later-in-cascade wins over the earlier
   .elementor-element-tmxsdest,.elementor-element-tmxsprox,.elementor-element-tmxsorg
   and .tmx-sec rules (same or lower specificity, defined above). */
.elementor-element-tmxsorg{
  background:linear-gradient(180deg,var(--tm-navy-mid) 0%,var(--tm-black) 100%)!important;
  border-top:1px solid var(--tm-border);
}
.elementor-element-tmxsorg.tmx-sec{
  padding:96px 20px!important;
}

/* Organizer CTA content: was an orange-gradient rounded card competing
   with the client sections above it. Now it's calm centered content
   sitting directly on the new band background — no card framing. */
.tmx-orgcta{
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  text-align:center;
}
.tmx-orgcta__in{max-width:640px;margin:0 auto;}

/* Eyebrow label above the H2 */
.tmx-orgcta__eyebrow{
  display:inline-block;
  color:var(--tm-orange);
  font-size:var(--tm-fs-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 12px;
}

/* Revert the old "white button on orange background" override — on the
   new dark band the standard orange primary button reads correctly. */
.tmx-orgcta .tmx-btn--primary{background:var(--tm-orange)!important;color:#fff!important;}
.tmx-orgcta .tmx-btn--primary:hover{background:var(--tm-orange-h)!important;color:#fff!important;}

/* Two-CTA group: Crear evento (primary) + Ver planes (ghost/secondary),
   mirrors the header's Organizadores grouping. Wraps on mobile. */
.tmx-orgcta__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:22px;
}
@media(max-width:600px){
  .tmx-orgcta__cta{gap:12px;}
  .tmx-orgcta__cta .tmx-btn{width:100%;max-width:320px;text-align:center;}
}
/* TMX-HOMEZONES-END */

/* TMX-PAYWALL-START (tarjeta de paywall Plan Organizador) */
.tmx-paywall{max-width:560px;margin:24px auto;padding:36px 28px;background:var(--tm-card);border:1px solid var(--tm-border);border-radius:14px;text-align:center;}
.tmx-paywall__icon{display:block;font-size:34px;margin-bottom:12px;}
.tmx-paywall__title{color:var(--tm-white);font-size:20px;margin:0 0 10px;}
.tmx-paywall__text{color:var(--tm-secondary-text);font-size:14.5px;line-height:1.55;margin:0 0 20px;}
.tmx-paywall__cta{display:inline-flex!important;background:var(--tm-orange)!important;color:#fff!important;border-radius:999px!important;padding:13px 26px!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;}
.tmx-paywall__cta:hover{background:var(--tm-orange-h)!important;color:#fff!important;}
@media(max-width:600px){.tmx-paywall{padding:28px 18px;margin:16px auto;}}
/* TMX-PAYWALL-END */

/* TMX-VARIA-START tipos de entrada (productos variables) */
.single-product form.variations_form table.variations{background:transparent;border:0;margin:0 0 10px;width:100%;}
.single-product table.variations th,.single-product table.variations td{background:transparent!important;border:0!important;padding:0 0 10px!important;vertical-align:middle;text-align:left;}
.single-product table.variations th.label{padding-right:14px!important;width:1%;white-space:nowrap;}
.single-product table.variations label{color:var(--tm-white,#fff)!important;font-weight:600;font-size:14px;}
.single-product table.variations select{background:#1d2937!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;padding:10px 13px!important;font-size:14px!important;width:100%;min-width:220px;max-width:340px;}
.single-product table.variations select:focus{border-color:var(--tm-orange,#FB7A2F)!important;outline:none!important;}
.single-product .reset_variations{color:var(--tm-secondary-text,#9aa5b1)!important;font-size:12.5px;}
.single-product .woocommerce-variation.single_variation{margin:0 0 12px;}
.single-product .woocommerce-variation-price .price{color:var(--tm-orange,#FB7A2F)!important;font-size:1.35rem;font-weight:800;}
.single-product .woocommerce-variation-price .price del{color:var(--tm-secondary-text,#9aa5b1)!important;font-size:1rem;}
.single-product .woocommerce-variation-availability p{color:var(--tm-secondary-text,#9aa5b1)!important;font-size:13px;margin:0 0 6px;}
.single-product .woocommerce-variation-availability .out-of-stock{color:#f87171!important;}
/* fila cantidad + boton (variable products) */
.tmx-buy .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:10px!important;}
.tmx-buy .woocommerce-variation-add-to-cart .quantity{flex:0 0 auto!important;margin:0!important;display:flex!important;}
.tmx-buy .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 200px!important;min-width:0!important;margin:0!important;min-height:50px!important;white-space:nowrap;}
.single-product .single_add_to_cart_button.disabled,.single-product .single_add_to_cart_button:disabled{opacity:.45!important;cursor:not-allowed!important;color:#fff!important;}
@media(max-width:767px){
.single-product table.variations,.single-product table.variations tbody,.single-product table.variations tr,.single-product table.variations th,.single-product table.variations td{display:block!important;width:100%!important;}
.single-product table.variations th.label{white-space:normal;padding:0 0 6px!important;}
.single-product table.variations select{max-width:100%!important;min-width:0!important;width:100%!important;}

}
/* variable: el form va en columna (BUYROW fuerza fila solo para simples) */

.tmx-buy form.cart.variations_form table.variations{width:100%!important;}
/* variacion elegida: precio y disponibilidad en una linea compacta */
.tmx-buy .woocommerce-variation.single_variation{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 0 10px!important;min-height:0;}
.tmx-buy .woocommerce-variation-price .price{font-size:1.2rem!important;}
.tmx-buy .woocommerce-variation-availability p{margin:0!important;}
.tmx-buy .woocommerce-variation-availability p.stock::before{content:"\00b7";margin-right:8px;color:var(--tm-secondary-text,#9aa5b1);}
.single-product table.variations td{padding-bottom:4px!important;}
.single-product .reset_variations{font-size:12px!important;text-decoration:underline;opacity:.8;}
/* fila Total en vivo */
.tmx-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:12px 16px;margin:2px 0 10px;background:rgba(251,122,47,.09);border:1px solid rgba(251,122,47,.3);border-radius:12px;box-sizing:border-box;}
.tmx-total[hidden]{display:none;}
.tmx-total__l{color:var(--tm-white,#fff);font-size:14px;font-weight:600;}
.tmx-total__l em{font-style:normal;color:var(--tm-secondary-text,#9aa5b1);font-weight:400;font-size:12.5px;}
.tmx-total strong{color:var(--tm-orange,#FB7A2F);font-size:1.25rem;font-weight:800;line-height:1;}
/* cantidad + boton SIEMPRE en la misma fila (el boton nunca fuerza wrap) */
.tmx-buy .woocommerce-variation-add-to-cart{flex-wrap:wrap!important;}
.tmx-buy .tmx-total{flex-basis:100%!important;}

@media(max-width:560px){
.tmx-buy form.cart .single_add_to_cart_button,.tmx-buy .woocommerce-variation-add-to-cart .single_add_to_cart_button{font-size:15px!important;padding:12px 14px!important;letter-spacing:0!important;}

.tmx-buy form.cart:not(.variations_form) .quantity input.qty{min-height:48px!important;padding:8px 4px!important;}
}
/* GRID definitivo: la regla width:100% de fase 5 hacia saltar el boton en flex-wrap */
.tmx-buy form.cart .woocommerce-variation-add-to-cart{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;}
.tmx-buy form.cart .woocommerce-variation-add-to-cart .tmx-total{grid-column:1/-1!important;margin:2px 0 2px!important;}
.tmx-buy form.cart .woocommerce-variation-add-to-cart .quantity{grid-column:1!important;margin:0!important;width:auto!important;display:flex!important;}
.tmx-buy form.cart .woocommerce-variation-add-to-cart .quantity input.qty{width:100%!important;min-height:50px!important;}
.tmx-buy form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button{grid-column:2!important;width:100%!important;margin:0!important;min-height:50px!important;}
/* TMX-VARIA-END */

/* TMX-UIPOL2-START (cuenta movil: titulo compacto, tabs en fila con scroll) */
@media(max-width:767px){
  .woocommerce-account h1,.woocommerce-account .entry-title{font-size:clamp(1.7rem,7vw,2.2rem)!important;margin:0 0 12px!important;}
  .woocommerce-MyAccount-navigation ul{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;justify-content:flex-start!important;gap:8px!important;padding:2px 0 6px!important;margin:0!important;}
  .woocommerce-MyAccount-navigation li{flex:0 0 auto!important;margin:0!important;}
  .woocommerce-MyAccount-navigation li a{padding:8px 14px!important;font-size:13px!important;}
}
.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{color:var(--tm-white)!important;font-weight:700;}
/* Mis entradas: jerarquia de titulos */
.tmx-acc-title{font-size:1.45rem!important;margin:0 0 4px!important;color:var(--tm-white)!important;}
.tmx-acc-subtitle{font-size:.8rem!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--tm-secondary-text,#9aa5b1)!important;border-bottom:1px solid var(--tm-border,rgba(255,255,255,.14));padding:0 0 8px!important;margin:22px 0 12px!important;}
/* Botones por entrada: 4 acciones con wrap limpio */
.tmx-ticket__btns{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-end;}
.tmx-tbtn{white-space:nowrap;}
@media(max-width:560px){
  .tmx-ticket__btns{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;}
  .tmx-ticket__btns .tmx-tbtn{width:100%!important;justify-content:center!important;box-sizing:border-box;}
}
/* TMX-UIPOL2-END */

/* TMX-BUYBAR2-START (barra inferior solo cuando el CTA principal no se ve) */
.tmx-buybar{transform:translateY(0);transition:transform .25s ease;will-change:transform;}
.tmx-buybar.is-off{transform:translateY(120%)!important;box-shadow:none;}
/* TMX-BUYBAR2-END */

/* TMX-MNAVMOB-START (dropdown móvil: contraste alto y cabeceras como etiquetas) */
@media(max-width:1024px){
.tmx-mainnav .elementor-nav-menu--dropdown .elementor-nav-menu a{color:#fff!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a{color:#e7ebf0!important;font-size:13.5px!important;font-weight:500!important;padding-left:38px!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a:hover,.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a:active{color:var(--tm-orange,#FB7A2F)!important;}
/* cabeceras de columna (href="#"): etiqueta de sección, no un enlace roto */
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a[href="#"]{pointer-events:none!important;color:var(--tm-orange,#FB7A2F)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;padding:14px 20px 2px 20px!important;background:transparent!important;}
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu a[href="#"] .sub-arrow{display:none!important;}
/* los hijos de esas cabeceras (Categorías/Descubre) quedan siempre visibles, sin necesitar tap */
.tmx-mainnav .elementor-nav-menu--dropdown .sub-menu .sub-menu{display:block!important;position:static!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important;}
.tmx-mainnav .elementor-nav-menu--dropdown li.tmx-megafoot>a{color:var(--tm-orange,#FB7A2F)!important;font-weight:700!important;}
}
/* TMX-MNAVMOB-END */

/* TMX-FOOTACC-START (footer móvil: secciones colapsables) */
@media(max-width:767px){
.elementor-element-tmxftcols{gap:0!important;}
.elementor-element-tmxftcols>.elementor-element{width:100%!important;}
.elementor-element-tmxftcols>.elementor-element .elementor-widget-nav-menu{display:none!important;}
.elementor-element-tmxftcols>.elementor-element.tmx-open .elementor-widget-nav-menu{display:block!important;padding:2px 0 12px!important;}
.elementor-element-tmxftcols .elementor-widget-heading{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.elementor-element-tmxftcols .elementor-widget-heading .elementor-heading-title{display:flex!important;align-items:center;justify-content:space-between;margin:0!important;padding:13px 0!important;border-bottom:1px solid var(--tm-border,rgba(255,255,255,.14));font-size:.9rem!important;}
.elementor-element-tmxftcols .elementor-widget-heading .elementor-heading-title::after{content:"+";color:var(--tm-orange,#FB7A2F);font-size:20px;line-height:1;font-weight:400;margin-left:12px;}
.elementor-element-tmxftcols>.elementor-element.tmx-open .elementor-widget-heading .elementor-heading-title::after{content:"12";}
}
/* TMX-FOOTACC-END */

/* TMX-EPDETAILS-START (tarjetas Detalles + Ubicación en la página de evento) */
.tmx-details{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:16px;}
.tmx-details__row{display:flex;align-items:flex-start;gap:14px;}
.tmx-details__row>svg{width:20px;height:20px;color:var(--tm-orange);flex:0 0 auto;margin-top:2px;}
.tmx-details__row>div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.tmx-details__lbl{color:var(--tm-secondary-text);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.tmx-details__row strong{color:var(--tm-white);font-size:1rem;font-weight:600;line-height:1.4;}
.tmx-details__row strong .amount,.tmx-details__row strong bdi{color:var(--tm-orange)!important;}

.tmx-loc{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);overflow:hidden;}
.tmx-loc__info{padding:18px 20px;}
.tmx-loc__name{display:flex;align-items:center;gap:10px;color:var(--tm-white);font-weight:700;font-size:1.05rem;margin:0 0 12px;}
.tmx-loc__name svg{width:20px;height:20px;color:var(--tm-orange);flex:0 0 auto;}
.tmx-loc__note{display:flex;align-items:center;gap:8px;color:var(--tm-orange);font-size:.85rem;font-weight:600;background:rgba(251,122,47,.1);border:1px solid rgba(251,122,47,.3);border-radius:8px;padding:8px 12px;margin-bottom:14px;}
.tmx-loc__note svg{width:16px;height:16px;flex:0 0 auto;color:var(--tm-orange);}
.tmx-loc__btns{display:flex;gap:10px;flex-wrap:wrap;}
.tmx-loc__btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border-radius:50%!important;text-decoration:none;transition:background .15s ease,border-color .15s ease;}
.tmx-loc__btn svg{width:20px;height:20px;flex:0 0 auto;}
.tmx-loc__btn--waze{background:var(--tm-surface);color:var(--tm-white);border:1px solid var(--tm-border);}
.tmx-loc__btn--waze:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-loc__btn--maps{background:var(--tm-surface);color:var(--tm-white);border:1px solid var(--tm-border);}
.tmx-loc__btn--maps:hover{border-color:var(--tm-orange);color:var(--tm-orange);}
.tmx-loc__btn--maps:hover{background:var(--tm-border);color:var(--tm-white);}
.tmx-loc__map{width:100%;aspect-ratio:16/9;border-top:1px solid var(--tm-border);}
.tmx-loc__map iframe{width:100%;height:100%;border:0;display:block;}
@media(max-width:480px){.tmx-loc__map{aspect-ratio:4/3;}}
/* TMX-EPDETAILS-END */

/* TMX-ORDERPOLISH-START (direccion con filas con icono + caja de reserva en tema oscuro) */
.woocommerce-customer-details address{display:flex!important;flex-direction:column!important;gap:14px!important;}
.tmx-addr{display:flex;flex-direction:column;gap:8px;}
.tmx-addr__row{display:flex;align-items:flex-start;gap:12px;}
.tmx-addr__row svg{width:18px;height:18px;color:var(--tm-orange);flex:0 0 auto;margin-top:1px;}
.tmx-addr__row span{color:var(--tm-white);line-height:1.5;}
.woocommerce-customer-details address .woocommerce-customer-details--phone,
.woocommerce-customer-details address .woocommerce-customer-details--email{margin:0!important;padding-left:30px!important;line-height:1.5!important;}
.woocommerce-customer-details address .woocommerce-customer-details--phone::before,
.woocommerce-customer-details address .woocommerce-customer-details--email::before{font-size:16px!important;top:1px;}

.wc-booking-summary{background:var(--tm-surface)!important;border:1px solid var(--tm-border)!important;border-radius:var(--tm-radius-sm)!important;color:var(--tm-secondary-text)!important;margin:12px 0 0!important;}
.wc-booking-summary a{color:var(--tm-orange)!important;}
.wc-booking-summary .wc-booking-summary-number{color:var(--tm-white)!important;font-weight:700;}
.wc-booking-summary .wc-booking-summary-number span{color:#fff!important;border-radius:var(--tm-radius-pill)!important;font-weight:600;}
.wc-booking-summary .wc-booking-summary-number .status-unpaid,
.wc-booking-summary .wc-booking-summary-number .status-incart{background-color:#4a5568!important;}
.wc-booking-summary .wc-booking-summary-number .status-pending,
.wc-booking-summary .wc-booking-summary-number .status-pending-confirmation{background-color:#B9770E!important;}
.wc-booking-summary .wc-booking-summary-number .status-confirmed,
.wc-booking-summary .wc-booking-summary-number .status-complete{background-color:#2FA968!important;}
.wc-booking-summary .wc-booking-summary-number .status-paid{background-color:#2C8FA0!important;}
.wc-booking-summary .wc-booking-summary-number .status-cancelled{background-color:#C0392B!important;}
.wc-booking-summary .wc-booking-summary-list{color:var(--tm-secondary-text)!important;}
.wc-booking-summary .wc-booking-summary-actions a{border-color:var(--tm-border)!important;color:var(--tm-orange)!important;}
/* TMX-ORDERPOLISH-END */

/* TMX-MISLISTADOS-START (quita el zebra-striping del reset de Hello Elementor en la tabla "Mis eventos") */
.tmxml-tablewrap .tmxml-table tbody>tr>td,.tmxml-tablewrap .tmxml-table tbody>tr>th{background-color:transparent!important;}
.tmxml-tablewrap .tmxml-table tbody tr:hover>td,.tmxml-tablewrap .tmxml-table tbody tr:hover>th{background-color:transparent!important;}
/* TMX-MISLISTADOS-END */

/* TMX-NOTICES-BOXED-START (avisos de WooCommerce centrados y en caja, no a todo el ancho) */
.woocommerce-notices-wrapper{max-width:1200px;margin:14px auto!important;padding:0 20px!important;box-sizing:border-box;}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  border:1px solid var(--tm-border)!important;
  border-radius:var(--tm-radius-lg)!important;
  box-shadow:var(--tm-shadow-lg)!important;
  margin:0!important;
}

/* TMX-BUYCARD-POLISH-START (boton deshabilitado legible + separador en vez de hueco vacio) */
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled{
  background:var(--tm-surface)!important;
  color:var(--tm-secondary-text)!important;
  opacity:1!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.tmx-buy .single_variation_wrap{border-top:1px solid var(--tm-border)!important;margin-top:14px!important;padding-top:14px!important;}
.tmx-buy .woocommerce-variation.single_variation:empty{display:none!important;}
/* TMX-BUYCARD-POLISH-END */

/* TMX-SELECT-OPTION-CONTRAST-START (opciones de <select> invisibles: texto
   blanco heredado del <select> sobre fondo blanco del panel nativo) */
.woocommerce select option,
.woocommerce-checkout select option,
.tm-event-form select option,
.tm-event-form-wrap select option,
.tmx-filters__controls select option,
.tmx-buy select option,
.ticket_content select option,
.wc-bookings-booking-form select option,
.single-product table.variations select option,
select.tmx-orden option,
select.orderby option{
  background:#1d2937!important;
  color:#fff!important;
}
/* TMX-SELECT-OPTION-CONTRAST-END */

/* TMX-BUYBTN-NOWRAP-FIX (el texto se salia del boton en viewports angostos) */
.tmx-buy .single_add_to_cart_button{white-space:normal!important;text-align:center!important;line-height:1.25!important;font-size:14px!important;letter-spacing:-.2px!important;padding-left:8px!important;padding-right:8px!important;}

/* TMX-NAV-GAP-FIX (Elementor da flex-grow:1 a cada link, separaciones quedaban desiguales) */
.tmx-mainnav.elementor-nav-menu--layout-horizontal .elementor-nav-menu,
.tmx-mainnav .elementor-nav-menu--layout-horizontal .elementor-nav-menu{gap:4px!important;}
.tmx-mainnav .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li>a{flex-grow:0!important;}

/* TMX-FOOTER-ALIGN-FIX (bloque de marca competia 50/50 con las columnas, dejaba un hueco desigual) */
.tmx-footer{justify-content:flex-start!important;}
.tmx-footer>.tmx-foot__brand{flex:0 1 300px!important;max-width:300px!important;}
.tmx-footer>.tmx-foot__cols{flex:1 1 auto!important;}
.tmx-foot__credit{color:var(--tm-secondary-text)!important;font-size:12.5px!important;margin:4px 0 0!important;line-height:1.5!important;}
.tmx-foot__credit a{color:var(--tm-orange)!important;text-decoration:none!important;font-weight:600!important;}
.tmx-foot__credit a:hover{text-decoration:underline!important;}

/* TMX-FOOTCOLS-ALIGNTOP (las columnas no arrancaban parejas arriba) */
.tmx-foot__cols{align-items:flex-start!important;}
.tmx-foot__cols>div{align-items:flex-start!important;}
.tmx-foot__title,.tmx-foot__title .elementor-heading-title{margin-top:0!important;}/* End custom CSS */