@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');

/* ==========================================================================
   theme-base.css — Boletos Templating System, shared theme layer
   --------------------------------------------------------------------------
   LOAD ORDER (in vo_config.body_header, per subdomain):
     /dist/css/bootstrap.min.css
     /js/swiper/swiper.min.css
     /css/style.min.css            <- shared layout (never edited)
     /css/theme-base.css           <- THIS FILE (never edited per subdomain)
     /css/templates/<name>.css     <- per-subdomain: :root variables (+ fonts)

   This file re-declares every color / font / radius bearing rule from
   style.min.css, the old vo_config.stylesheet column, default_style.css
   and the inline <style> blocks in the `events` / `secondary_event` /
   `custom_order_page_alt` templates, expressed with CSS variables.

   No HTML changes and no [tag] changes are required.
   A template only needs to override the variables in :root.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. DEFAULT VARIABLES (fallbacks — templates override these)
   -------------------------------------------------------------------------- */
:root {
  /* Typography */
  --t-font-body: 'Montserrat', Arial, Helvetica, sans-serif;
  --t-font-heading: var(--t-font-body);
  --t-font-size: 16px;
  --t-font-size-mobile: 14px;

  /* Page */
  --t-bg: #ffffff;
  --t-bg-alt: #f1f1f1;            /* gray bands (city cards, .bgGray) */
  --t-text: #212529;
  --t-text-muted: #8a8a8a;
  --t-border: #dee2e6;
  --t-bg-alt-shadow: #eaeaea;      /* inset glow on gray bands */

  /* Brand */
  --t-primary: #07142a;           /* navy: footer, "Popular Events" band */
  --t-primary-text: #ffffff;
  --t-accent: #dc3545;            /* red: buttons, section titles */
  --t-accent-hover: #c30101;
  --t-accent-text: #ffffff;
  --t-accent-2: #fc004b;          /* badge / category gradient end */
  --t-accent-2-start: #fa8a46;    /* badge / category gradient start */
  --t-success: #7ccb21;           /* buy button */
  --t-info: #365282;              /* checkout / promoter buttons */

  /* Links */
  --t-link: #08c;
  --t-link-hover: #b2bf26;

  /* Header / nav */
  --t-header-bg: #ffffff;
  --t-nav-text: #2c2c2c;
  --t-nav-hover: #c30101;
  --t-nav-menu-bg: #ffffff;
  --t-nav-menu-border: #f1f1f1;
  --t-nav-toggler-border: #091a3d;

  /* Hero */
  --t-hero-image: url(../img/herobg.jpg);
  --t-hero-bg: #000000;
  --t-search-bg: #ffffff;
  --t-search-text: #000000;

  /* Cards */
  --t-card-radius: 15px;
  --t-btn-radius: 70px;
  --t-card-title: #212529;
  --t-card-title-hover: #fc004b;
  --t-card-text: #8a8a8a;
  --t-card-img-w: 185px;
  --t-card-img-h: 180px;

  /* Popular Events band */
  --t-featured-bg: var(--t-primary);
  --t-featured-text: #ffffff;
  --t-featured-title: #dc3545;
  --t-swiper-nav: #b12323;

  /* Join form */
  --t-join-title: var(--t-accent);
  --t-join-text: #aaaaaa;
  --t-join-input-border: #cccccc;
  --t-join-btn-bg: #333333;
  --t-join-btn-text: #ffffff;
  --t-join-done-bg: #66cc66;

  /* Footer */
  --t-footer-bg: var(--t-primary);
  --t-footer-text: rgba(255, 255, 255, 0.6);
  --t-footer-heading: #ffffff;
  --t-footer-link: rgba(255, 255, 255, 0.6);
  --t-footer-link-hover: #ffffff;
  --t-footer-links-text: #ffffff;   /* "Browse events by…" lists */
  --t-footer-links-hover: #cccccc;
  --t-footer-copyright: #6f6f6f;

  /* Event page */
  --t-age-badge-bg: #990000;
  --t-age-badge-text: #ffffff;
  --t-ticket-table-border: #dee2e6;
  --t-ticket-highlight: #bcd2f9;
  --t-table-head-bg: #c30101;
  --t-table-head-text: #ffffff;
  --t-countdown: #c30101;
  --t-coming-soon: #ff9800;

  /* Checkout */
  --t-checkout-btn-border: #c30101;
  --t-checkout-btn-text: #c30101;
  --t-checkout-btn-bg: #ffffff;
  --t-checkout-btn-hover-bg: #c30101;
  --t-checkout-btn-hover-text: #ffffff;
  --t-checkout-card-gradient: linear-gradient(90deg, #e5e5e5 0%, #fff 100%);
  --t-checkbox: #09bc6e;
  --t-timer: #0e9d3d;
  --t-held-gradient: linear-gradient(90deg, #728cfd 0%, #47ecb5 100%);
  --t-alt-buy-gradient: linear-gradient(90deg, #6b76af 0%, #152377 100%);
  --t-alt-ship-border: #28a745;

  /* Seat map */
  --t-seat-open: #c9ec09;
  --t-seat-closed: #999999;
  --t-seat-yours: #4dbbe9;
  --t-seat-dot: #c9d72b;

  /* Status pills */
  --t-status-goingahead: #00cc33;
  --t-status-newdatetime: #9900ff;
  --t-status-postponed: #ff9900;
  --t-status-cancelled: #990000;
  --t-status-presale: #0099cc;

  /* Bootstrap bridge — keeps .btn-danger / .text-danger / .btn-secondary in sync */
  --bs-danger: var(--t-accent);
  --bs-danger-rgb: 220, 53, 69;
  --bs-secondary: var(--t-primary);
  --bs-secondary-rgb: 7, 20, 42;
  --theme-primary: var(--t-primary);
}

/* --------------------------------------------------------------------------
   1. GLOBAL
   -------------------------------------------------------------------------- */
html, body {
  font-family: var(--t-font-body) !important;   /* !important: legacy column forced Radikal the same way */
  font-size: var(--t-font-size);
  background-color: var(--t-bg);
  color: var(--t-text);
}
@media (max-width: 991px) {
  html, body { font-size: var(--t-font-size-mobile); }
}
h1, h2, h3, h4, h5, h6 { font-family: var(--t-font-heading); }

a:link    { color: var(--t-link); }
a:visited { color: var(--t-link); }
a:hover, a:active { color: var(--t-link-hover); }

h1 {
  text-align: left;
  padding: 20px 0;
  margin: 0;
  display: block;
  text-transform: uppercase;
  font-size: 1.75rem;
  color: var(--t-text);
}
h2, h2:before, h1:before { background: transparent; margin: 0 !important; padding: 0; }
h2 { text-transform: none; color: var(--t-text); font-size: 1.5rem; }
h3 { font-size: 1.125rem; }
.heading h2 { padding: 0; text-transform: capitalize; background: transparent; }
.s { font-style: italic; }
.bcTrail { display: none; }
#container, #inner_container { max-width: none; padding: 0; background: transparent; }
#main   { clear: both; max-width: none; display: block; padding-top: 0.1px; margin-bottom: 0; }
#sidebar { max-width: none; display: block; width: auto; }
th { background-color: var(--t-bg-alt); }
.container { max-width: 1240px !important; }

/* Bootstrap buttons → brand */
.btn-round { border-radius: var(--t-btn-radius); }
.btn-danger, .btn-danger:hover, .btn-danger:focus {
  background-color: var(--t-accent);
  border-color: var(--t-accent);
  color: var(--t-accent-text) !important;
}
.btn-danger:hover { background-color: var(--t-accent-hover); border-color: var(--t-accent-hover); }
.btn-outline-danger { color: var(--t-accent); border-color: var(--t-accent); }
.btn-outline-danger:hover, .btn-outline-danger:focus {
  background-color: var(--t-accent); border-color: var(--t-accent); color: var(--t-accent-text);
}
.btn-secondary, .btn-secondary:hover { background-color: var(--t-primary); border-color: var(--t-primary); color: var(--t-primary-text); }
.btn-outline-light { color: #fff; border-color: #fff; }
.text-danger { color: var(--t-accent) !important; }

/* Legacy .button (promoter pages, sidebar) */
.button { background-color: var(--t-accent); color: var(--t-accent-text); border-radius: var(--t-btn-radius); }
a:hover .button, a.button:hover { background-color: var(--t-accent-hover); color: var(--t-accent-text); }

/* --------------------------------------------------------------------------
   2. HEADER / NAV
   -------------------------------------------------------------------------- */
header { background-color: var(--t-header-bg); }
.navbar .navbar-collapse .navbar-nav .nav-item .nav-link { color: var(--t-nav-text); padding-left: .6rem; padding-right: .6rem; }
.navbar .navbar-collapse .navbar-nav .nav-item .nav-link:hover { color: var(--t-nav-hover); }
@media (max-width: 1200px) {
  .navbar .navbar-toggler { border-color: var(--t-nav-toggler-border); color: var(--t-nav-text); }
  .navbar .navbar-collapse { background-color: var(--t-nav-menu-bg); border-color: var(--t-nav-menu-border); }
}
header .btn:not(.btn-danger) { color: var(--t-nav-text); }

/* Localization dropdown */
.dropdown-toggle { background-color: var(--t-nav-menu-bg); border: 1px solid var(--t-border); color: var(--t-nav-text); border-radius: 4px; }
.dropdown-toggle:hover { background-color: var(--t-bg-alt); }
.dropdown-toggle::after { border-top-color: var(--t-nav-text); }
.dropdown-menu { background-color: var(--t-nav-menu-bg); border-color: var(--t-border); }
.dropdown-heading { color: var(--t-text-muted); }
.dropdown-link { color: var(--t-nav-text); }
.dropdown-link:hover { background-color: var(--t-bg-alt); }
.dropdown-link.active { background-color: var(--t-bg-alt); font-weight: bold; }
.dropdown-divider { background-color: var(--t-border); }
#conveythis-wrapper { display: none !important; }

/* --------------------------------------------------------------------------
   3. HERO + SEARCH
   -------------------------------------------------------------------------- */
.heroSection {
  background: var(--t-hero-bg) var(--t-hero-image) no-repeat center center;
  background-size: cover;
}
.heroSection .heroSwiper { padding: 0 !important; padding-bottom: 40px !important; }
.heroSection .swiper-slide .slide-cover .slide-cover-inside { border-radius: 10px; }
.searchHead { padding-bottom: 2.5rem; }
.searchHead .searchHeadInside { background-color: var(--t-search-bg); border-radius: var(--t-btn-radius); }
.searchHead .searchHeadInside input[type="text"] { background: transparent; color: var(--t-search-text); }
#filters { width: 100%; padding: 0; }
#search_field { width: 88%; }
@media (max-width: 659px) { #search_field { width: 75% !important; } }
#events_bar input[type=submit] {
  color: var(--t-accent-text);
  background-color: var(--t-accent);
  border: 1px solid var(--t-accent);
  border-radius: var(--t-btn-radius);
  padding: 0.375rem 1.5rem;
}
#events_bar input[value="»"] { display: none; }
#p_promoters .heroSection { display: none; }

/* --------------------------------------------------------------------------
   4. EVENT CARDS / LISTINGS
   -------------------------------------------------------------------------- */
.eventsListing { margin-top: 20px; }
.eventsListing.bgGray, .bgGray { background-color: var(--t-bg-alt); }
.row-flex { display: flex; flex-wrap: wrap; }
.row-flex-content { height: 100%; padding: 0; }
.card-text { height: 100%; }
.eventsCards .card { background-color: transparent; }
.eventsCards .card .card-wall { border-radius: var(--t-card-radius); }
.eventsListing .card-wall img { width: var(--t-card-img-w); height: var(--t-card-img-h); object-fit: cover; }
.eventsCards .card .card-wall .musicLabel {
  color: #fff;
  border-radius: var(--t-btn-radius);
  background: var(--t-accent-2);
  background: linear-gradient(20deg, var(--t-accent-2-start) 0%, var(--t-accent-2) 100%);
}
.eventsCards .card .card-wall .musicLabel:empty { display: none; }
.eventsCards .card .card-title a,
.eventsCards .card .card-title a:visited,
.eventsCards .card .card-title a:active { color: var(--t-card-title); }
.eventsCards .card .card-title a:hover { color: var(--t-card-title-hover); }
.eventsCards .card .card-title a, .pages a, footer a, .dropdown-link { text-decoration: none; }
.eventsCards .card .card-title + h3 { font-size: .9rem; color: var(--t-card-text); }
.eventsCards .card .card-text p { color: var(--t-card-text); }
.eventsListing hr { background-color: var(--t-border); }

/* Pagination */
.pages { padding: 0 30px 26px; text-align: center; }
.page_prev, .page_next { float: left; color: var(--t-text-muted); }
.page_next { float: right; }
.pages a, .pages a:hover {
  color: var(--t-accent-text);
  background-color: var(--t-accent);
  border: 1px solid var(--t-accent);
  border-radius: var(--t-btn-radius);
  padding: 0.375rem 1.5rem;
}

/* Popular Events (dark band) */
.eventSwiper { --swiper-navigation-color: var(--t-swiper-nav); }
.featured-events { background: var(--t-featured-bg); color: var(--t-featured-text); }
.featured-events a { color: var(--t-featured-text); }
.featured-events .card .card-title a,
.featured-events .card .card-title a:visited,
.featured-events .card .card-title a:active {
  color: var(--t-featured-title) !important;
  font-size: 18px;
  text-transform: uppercase;
}
.featured-events .card-wall img { height: 225px; }
.featured-events .heading h2 { color: var(--t-featured-text); }

/* Series page image */
#series_image { width: 100%; border-radius: var(--t-card-radius); margin: 1rem 0; }

/* --------------------------------------------------------------------------
   5. CATEGORY / CITY CARDS, PROMOTER CARD
   -------------------------------------------------------------------------- */
.eventCate { border-radius: var(--t-card-radius); color: #fff; }
.eventCate img { width: 50px; height: 50px; }
.eventCate .ecWall img { width: 100%; height: 100%; }
.eventCate .ecCaption h2 { color: #fff; padding-bottom: 15px; }
.eventCate.redCard {
  background: var(--t-accent-2);
  background: linear-gradient(20deg, var(--t-accent-2-start) 0%, var(--t-accent-2) 100%);
}
.eventsCategory.bgGray { background-color: var(--t-bg-alt); box-shadow: inset 0 4px 31px 0 var(--t-bg-alt-shadow); }
.cardType3 { padding-bottom: 20px; }
.cardType3 .ct-wall { border-radius: var(--t-card-radius); }
.cardType3 .ct-caption h3 { color: #fff; }
.cardType3 .ct-caption p { color: var(--t-join-text); }

/* --------------------------------------------------------------------------
   6. JOIN VIP FORM
   -------------------------------------------------------------------------- */
.joinForm .jfHead h2 { color: var(--t-join-title); }
.joinForm .jfHead p { color: var(--t-join-text); }
.list-subscribe-form { font-size: 1em; margin-bottom: 1em; }
.list-subscribe-form fieldset { border: none; }
.list-subscribe-form fieldset[disabled] { animation: .5s 1s infinite alternate form-pulse; }
.list-subscribe-form input {
  display: block; font-size: 1em;
  border: 2px solid var(--t-join-input-border);
  border-radius: 2em; height: 2em; min-height: 2em;
  padding: 6px 10px 6px 17.5px; margin: 0 auto 1em; outline: 0;
  box-sizing: content-box; width: 80%;
  background: var(--t-bg); color: var(--t-text);
}
.list-subscribe-form button {
  font-size: 1em; color: var(--t-join-btn-text); background-color: var(--t-join-btn-bg);
  border: 0; padding: .7em 1.5em; border-radius: var(--t-btn-radius); cursor: pointer;
}
.list-subscribe-form fieldset button::after { content: "Subscribe"; }
.list-subscribe-form fieldset[data-complete=true] button { background-color: var(--t-join-done-bg); cursor: default; }
.list-subscribe-form fieldset[data-complete=true] button::after { content: "Subscribed"; }
.list-subscribe-form fieldset[disabled] button { cursor: default; }
.list-subscribe-form fieldset[disabled] button::after { content: "Loading..."; }
.list-subscribe-form .error-message, .list-subscribe-form .success-message { display: none; padding: .5em; margin-bottom: .5em; }
.list-subscribe-form .error-message { background-color: #fcc; color: #900; }
.list-subscribe-form .success-message { opacity: 0; font-weight: 700; }
.list-subscribe-form .fade-out { animation: 1s .5s forwards form-success; }
.list-subscribe-form .fade-in { animation: .5s .5s reverse forwards form-success; }
@keyframes form-pulse { from { opacity: .6; } to { opacity: .4; } }
@keyframes form-success { from { opacity: 1; } to { opacity: 0; } }

/* --------------------------------------------------------------------------
   7. FOOTER
   -------------------------------------------------------------------------- */
footer { background-color: var(--t-footer-bg); color: var(--t-footer-heading); }
footer .footer-logo img { max-width: 175px !important; }
footer p { color: var(--t-footer-text); }
footer h3 { color: var(--t-footer-heading); }
footer .usefullLink li a { color: var(--t-footer-link); }
footer .usefullLink li a:hover { color: var(--t-footer-link-hover); }
footer .cright p { color: var(--t-footer-copyright); }
.event-footer-heading, .event-footer-heading h3, .event-footer-heading a { font-size: 22px; font-weight: bold; color: var(--t-footer-heading); }
.event-footer-links { list-style-type: none; padding: 0; }
.event-footer-links li { display: inline; padding: 5px; }
.event-footer-links li a, .event-footer-links li a:active { color: var(--t-footer-links-text); text-decoration: none; }
.event-footer-links li a:hover { color: var(--t-footer-links-hover); }
/* legacy #footer (promoter/minimal pages) */
#footer { background-color: var(--t-footer-bg); color: var(--t-footer-text); }
#footer a { color: var(--t-footer-link); }

/* --------------------------------------------------------------------------
   8. EVENT PAGE  (overrides the inline <style> in events / secondary_event —
      selectors carry `body` to out-rank the inline block, which loads later)
   -------------------------------------------------------------------------- */
#eventdetails .topsection { padding: 40px 0; }
#eventdetails h1 { color: var(--t-text); }
#eventdetails h2 { color: var(--t-text-muted); font-size: 1.25rem; }
#event_date_time, #event_category, #event_location { margin: 10px 0; }
#event_date_time { font-size: 20px; }
#event_location:first-line { font-weight: bold; }
body #age_restrictions {
  color: var(--t-age-badge-text); background-color: var(--t-age-badge-bg);
  padding: 1px 8px; border-radius: 5px; width: fit-content;
}
.event_image { min-width: 300px; margin-top: 30px; border-radius: var(--t-card-radius); }
.event_image_sm { border-radius: var(--t-card-radius); }
#description { margin-top: 1em; }
@media (max-width: 659px) { #tickets_and_map { display: block !important; flex-wrap: wrap; } }

body #ticket_table { margin-bottom: 1em; float: left; width: 100%; }
body #ticket_table table { border: 1px solid var(--t-ticket-table-border); width: 100%; border-radius: 10px; }
body #ticket_table table label { font-weight: bold; }
#ticket_table td, #ticket_table th { padding: 10px; }
#ticket_table td.vt_subhead, #ticket_table .vt_subhead td { background-color: var(--t-bg-alt); }
#ticket_table .vt_light { background-color: var(--t-bg); }
#ticket_table .vt_dark { background-color: var(--t-bg-alt); }
#ticket_table .highlighted, #ticket_table .vt_light.highlighted, #ticket_table .vt_dark.highlighted { background-color: var(--t-ticket-highlight); }
#ticket_table input[type=radio] { margin-right: 5px; }
@media (max-width: 659px) { #tickets_and_map #ticket_table { min-width: 350px; } }
label em { color: var(--t-accent-hover); }
#legend > span { font-size: 14px; color: var(--t-text) !important; font-weight: bold; }

body .content { background-color: var(--t-bg); border: 0; padding: 0; }
.content th { color: var(--t-table-head-text); background-color: var(--t-table-head-bg); }
body .content input[type=submit], body .content button {
  line-height: normal; text-decoration: none; display: inline-block; font-weight: bold;
  color: var(--t-accent); background-color: transparent; border: 2px solid var(--t-accent);
  padding: 0.375rem 1rem !important; font-size: 1rem; height: auto !important;
  border-radius: var(--t-btn-radius);
}
body .content input[type=submit]:hover, body .content button:hover { background-color: var(--t-accent); color: var(--t-accent-text); }
.content input[type=text], .content input[type=number], .content input[type=tel],
.content input[type=password], .content input[type=email], .content textarea { padding: 5px; }
.content select { padding: 11px 24px 11px 11px; border-color: var(--t-border); font-size: 16px; }
input[type=number] { text-align: right; }
input[type="number"][size="6"] { width: 70px; }
#buy_text { margin-top: 10px; }
body #buy_button { background-color: var(--t-success) !important; color: #fff; border-color: var(--t-success); border-radius: 30px !important; }
#buy_button[disabled] { background-color: #ccc !important; cursor: wait; }
#selection h3 { font-size: 16px; }
#selection + #checkout input { padding: 3px 10px !important; color: #fff; margin: 0 !important; font-weight: normal; }

.coming_soon {
  color: #fff; border: 1px solid var(--t-border); background: var(--t-coming-soon);
  font-weight: normal; font-size: 18px; border-radius: 20px; padding: 5px;
}
.countdown { text-align: center; }
.countdown > div {
  margin-top: 10px; display: inline-block; vertical-align: top; padding: 5px; text-align: center; line-height: 1;
  background-color: transparent; color: var(--t-countdown); font-family: inherit; font-weight: bold;
  font-size: 35px; box-shadow: none; border: 1px solid var(--t-countdown); border-radius: 5px;
}
.countdown > div:before { content: "DAYS"; font-size: 14px; display: block; font-weight: normal; }
#countdown_hours:before { content: "HRS"; }
#countdown_mins:before { content: "MINS"; }
#countdown_secs:before { content: "SECS"; }

/* status pills */
.status_goingahead, .status_newdatetime, .status_postponed, .status_cancelled, .status_presaleonnow {
  font-size: 13px; width: fit-content; padding: 5px 12px; height: 24px; line-height: 16px;
  border-radius: 12px; color: #fff; text-transform: uppercase; margin-top: 10px; font-weight: bold;
}
.status_goingahead  { background-color: var(--t-status-goingahead); }
.status_newdatetime { background-color: var(--t-status-newdatetime); }
.status_postponed   { background-color: var(--t-status-postponed); }
.status_cancelled   { background-color: var(--t-status-cancelled); }
.status_presaleonnow{ background-color: var(--t-status-presale); }
.soldout {
  background-color: var(--t-bg-alt); padding: 8px 5px 7px; border-radius: 5px; text-transform: uppercase;
  font-weight: bold; font-size: 12px; width: 46px; display: inline-block; text-align: center;
  color: var(--t-text-muted); vertical-align: inherit; border: 1px solid var(--t-border);
}
.notice { margin: 0; border-right: none; border-left: none; text-align: center; position: relative; }
#p_home .notice { margin-bottom: -33px; }

/* seat map */
#seat_map > div { background-color: var(--t-seat-dot); }
.seats div.open   { background-color: var(--t-seat-open); }
.seats div.closed { background-color: var(--t-seat-closed); }
.seats div.yours  { background-color: var(--t-seat-yours); }
.seat_legend .open   { color: var(--t-seat-open); }
.seat_legend .closed { color: var(--t-seat-closed); }
.seat_legend .closed:before { content: "Grey = "; }
.seat_legend .yours  { color: var(--t-seat-yours); }
.seats table { margin: auto; }
#class_qtys_close { background-color: var(--t-info); }
#class_qtys_close:hover { color: #cdf; }

/* TicketNetwork embed (secondary_event) */
.desktop-ctn { max-width: 100%; margin: 0 auto; }
.sea-map-inner img { max-width: inherit !important; }

/* --------------------------------------------------------------------------
   9. CHECKOUT (custom_order_page = .expressCheckout, custom_order_page_alt)
   -------------------------------------------------------------------------- */
.order_table td, .order_table th { padding: 10px; border: 1px solid var(--t-border); }
.details_table td { padding: 5px 0; }
form[name=orderForm] input[type=text], form[name=orderForm] input[type=number], form[name=orderForm] input[type=tel],
form[name=orderForm] input[type=password], form[name=orderForm] input[type=email], form[name=orderForm] textarea {
  padding: 11px; box-shadow: 0 1px 1px rgb(0 0 0 / 3%), 0 3px 6px rgb(0 0 0 / 2%); border-color: var(--t-border); font-size: 16px;
}

.expressCheckout .product-cart-info .pro-payments { font-size: 1.18rem; }
.expressCheckout .product-cart-info .pro-payments .c-order { font-size: 0.99rem; }
.expressCheckout h2 { text-transform: none; }
.expressCheckout .form-label { font-size: 1.15rem; margin-bottom: 0.2rem; }
.expressCheckout input { display: block; width: 100%; }
.expressCheckout input, .expressCheckout select {
  padding: 0.75rem; background-color: var(--t-bg); color: var(--t-text); border-radius: 5px;
  transition: background .15s ease, border .15s ease, box-shadow .15s ease, color .15s ease;
  border: 1px solid var(--t-border); box-shadow: 0 1px 1px rgb(0 0 0 / 3%), 0 3px 6px rgb(0 0 0 / 2%); width: 100%;
}
.expressCheckout input[type=checkbox] { display: inline; width: auto; }
.expressCheckout input:focus, .expressCheckout select:focus {
  outline: 0; border-color: hsla(210, 96%, 45%, 50%);
  box-shadow: 0 1px 1px rgba(0,0,0,.03), 0 3px 6px rgba(0,0,0,.02), 0 0 0 3px hsla(210, 96%, 45%, 25%);
}
.expressCheckout .pro-payments .row div:nth-child(2) { text-align: right; }
.expressCheckout div#order_table { transition: 1s all; max-height: 1400px; }
.expressCheckout div#order_table.is-hidden { max-height: 0; overflow: hidden; }
.expressCheckout .product-cart-info { border-radius: 3px; background-image: var(--t-checkout-card-gradient); }
.expressCheckout .product-cart-info .termscaption { font-size: 0.9375rem; color: var(--t-text-muted); font-style: italic; }
.expressCheckout h3#payment { float: left; }
.expressCheckout .safeSecure { font-size: 0.875rem; color: var(--t-text-muted); font-style: italic; text-align: right; }
.expressCheckout .safeSecure span { font-size: 15px; }
body .expressCheckout .product-cart-info #buy_button {
  border: 2px solid var(--t-checkout-btn-border); color: var(--t-checkout-btn-text);
  border-radius: var(--t-btn-radius) !important; background-color: var(--t-checkout-btn-bg) !important;
  font-size: 1.1rem; padding: 0.55rem 1.5rem; width: auto;
}
body .expressCheckout .product-cart-info #buy_button:hover { background-color: var(--t-checkout-btn-hover-bg) !important; color: var(--t-checkout-btn-hover-text); }
body .expressCheckout .product-cart-info #buy_button:disabled { background-color: #eee !important; cursor: wait; opacity: 1; color: #aaa; border-color: #bbb; }
input#buy_button:disabled + #wait:after { content: "Please be patient while your order is processed..."; color: orange; margin: 5px 0 0 10px; display: block; }

.cybersource .row:nth-child(2) { display: grid; grid-template-columns: 1fr 1fr; }
.cybersource .row:nth-child(2) > div.col-md-6 { width: auto; }
.cybersource .row:nth-child(2) > div.col-md-6:first-child { grid-row-end: span 2; }
.cybersource .row:nth-child(2) > div.col-md-6:nth-child(3) { grid-column: 2; }
@media (max-width: 959px) {
  .cybersource .row:nth-child(2) { grid-template-columns: 1fr; }
  .cybersource .row:nth-child(2) > div.col-md-6:nth-child(3) { grid-column: 1; }
}
@media (max-width: 373px) { div#embeddedPaymentContainer { margin: 0 -55px; width: calc(100% + 90px); } }

.secureBar { background-color: var(--t-bg-alt); border-radius: 3px; padding: .3rem 1rem; display: flex; align-items: center; }
.secureBar p.held { color: var(--t-text-muted); font-size: 1.0625rem; margin: 0; }
.secureBar #minutes { color: var(--t-timer); line-height: normal; }
.secureBar #minutes:before {
  content: "timelapse"; font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px;
  line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap;
  word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased;
  margin: 0 .25rem !important; vertical-align: top;
}

.blf-checkbox { display: block; position: relative; padding-left: 35px; cursor: pointer; user-select: none; }
.blf-checkbox input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }
.blf-checkbox .checkmark { position: absolute; top: 0; left: 0; height: 20px; width: 20px; background-color: transparent; border: 1px solid var(--t-checkbox); border-radius: 4px; }
.blf-checkbox .checkmark:after { content: ""; position: absolute; display: none; left: 7px; top: 3px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.blf-checkbox input:checked ~ .checkmark { background-color: var(--t-checkbox); }
.blf-checkbox input:checked ~ .checkmark:after { display: block; }

.expressCheckout .order_table { display: block; }
.expressCheckout .order_table tr { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--t-border); padding: 5px 0; background-color: transparent !important; }
.expressCheckout .order_table tr.fee_row { border-bottom: none; padding-bottom: 0; }
.expressCheckout .order_table td { border: 0; padding: 0; flex-grow: 2; order: 2; }
.expressCheckout .order_table td:nth-child(2) { order: 1; width: 100%; font-weight: bold; }
.expressCheckout .order_table td:nth-child(1) { text-align: left; padding-left: 20px; flex-grow: 1; }
.expressCheckout .order_table td:nth-child(1):not(.empty):before { content: "Qty: "; }
.expressCheckout .order_table td:nth-child(3):before { content: "Price: "; }
.expressCheckout .order_table td:last-child:before { content: ""; }
.expressCheckout .order_table td:nth-child(2).fee_label { width: auto; font-weight: normal; padding-left: 20px; }
.expressCheckout .pro-short-info.mobile-only { border-radius: 3px; background-image: var(--t-checkout-card-gradient); padding: 10px; }
.expressCheckout #buy_text { margin-right: 10px; }
.expressCheckout > .row + .row > * { margin-bottom: 20px; }
.mobile-only { display: none !important; }
@media (max-width: 767px) { .mobile-only { display: block !important; } .not-mobile { display: none !important; } }

/* custom_order_page_alt — its inline <style> uses !important on #buy_button, so we must too */
body .twothirds .held { background: var(--t-held-gradient); color: #fff; }
.secureBar p.held { background: none; }
body #ship_method_wrapper { border-color: var(--t-alt-ship-border); }
body #ship_method_wrapper > select { color: var(--t-alt-ship-border); }
body input[type="checkbox"] { border-color: var(--t-checkbox); }
body input[type="checkbox"]:checked { background-color: var(--t-checkbox); }
body .twothirds #buy_button, body .third #buy_button { background: var(--t-alt-buy-gradient) !important; color: #fff; }

/* --------------------------------------------------------------------------
   10. PROMOTER INTERFACE
   -------------------------------------------------------------------------- */
#promoter_nav { margin: 0; background-color: var(--t-bg-alt); color: var(--t-text); }
#promoter_nav a { color: var(--t-link); }
#promoter_nav a:hover { color: var(--t-link-hover); }
#event_nav { color: #f5f5f5; }
#event_nav h3 { color: var(--t-text); }
#p_promoters .content { margin: 0; border: none; }
#p_promoters .bcTrail { display: none; }
#p_promoters table { margin: auto; }
#p_promoters table.details_table, #p_promoters .customer_info table, #p_promoters .payment_info table { margin-left: 0; }
#p_promoters td, #p_promoters th { padding: 10px; border: 1px solid var(--t-border); }
#p_promoters .altrows tr:nth-child(odd) { background-color: transparent; }
#p_promoters tr:hover, #p_promoters .altrows tr:nth-child(odd):hover { background-color: var(--t-bg-alt); }
#p_promoters td > a, #p_promoters td :not(h4) a, #event_nav a {
  background-color: var(--t-bg-alt); border-radius: 3px; padding: 2px 5px; font-size: 12px;
  border: 1px solid var(--t-border); display: inline-block; margin: 2px 0; text-decoration: none; color: var(--t-text);
}
#p_promoters td > a:hover, #p_promoters td :not(h4) a:hover, #event_nav a:hover {
  text-decoration: none; background-color: var(--t-info); color: #fff; border-color: var(--t-info);
}
#p_promoters .delete_link { color: #900; }
#p_promoters .delete_link:hover { color: #fff; background-color: #900; border-color: #900; }
#p_promoters .seats table { border: none; }
#p_promoters .seats td { padding: 0; border: none; }
#p_promoters #tickets_and_map { display: flex; flex-wrap: wrap; }
#p_promoters #tickets_and_map #ticket_table { order: 1; margin: 0 0 20px 20px; }
#p_promoters #tickets_and_map #seat_map { margin: 0 0 17px; }
#p_promoters div + .details_table { margin-top: 1em; }
.tab { background-color: var(--t-accent); color: var(--t-accent-text); }
.tab.is-active { background-color: var(--t-bg-alt); color: var(--t-text); }
.bargraph .sales { background-color: var(--t-info); }

#promoter_popover {
  position: absolute; top: 0; width: 60%; margin: 130px 20% 0; background-color: var(--t-bg);
  padding: 20px; box-shadow: 0 0 10px 2px rgba(0,0,0,.3); min-width: 280px;
}
#promoter_popover_close { margin: -20px -20px 20px; color: #fff; background-color: var(--t-info); padding: 5px 10px; text-align: right; cursor: pointer; }
#promoter_popover_close:hover { color: #ddd; }
#promoter_popover img { max-width: 100%; height: auto !important; }
@media (max-width: 579px) { #promoter_popover { margin: 60px 20px 0; width: calc(100% - 40px); } }

/* promoter_intro landing */
.band { padding: 40px calc((100% - 1100px) / 2); text-align: center; background-size: cover; }
#cta_header span { color: var(--t-accent-hover); }
.half { display: inline-block; vertical-align: top; box-sizing: border-box; width: 50%; min-width: 300px; padding: 0 20px 30px; }
@media (max-width: 759px) { .half { display: block; width: auto; } }
.columns { margin: 0 -20px; }

/* --------------------------------------------------------------------------
   11. MISC / RESPONSIVE (carried over from the old stylesheet column)
   -------------------------------------------------------------------------- */
pre { display: block; padding: 10px; color: #333; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 5px; font-family: "Courier New", monospace; }
.not-desktop { display: none; }
.row.display-flex { display: flex; flex-wrap: wrap; }
.row.display-flex > [class*='col-'] { display: flex; flex-direction: column; }
@media (max-width: 1139px) {
  .content, .bcTrail { padding-left: 20px; padding-right: 20px; }
  .content, #p_promoters .content { margin: 50px 10px 20px; }
  .desktop-only { display: none; }
  .not-desktop { display: block; }
  #p_home .notice { margin-bottom: 0; }
}
@media (max-width: 659px) {
  #tickets_and_map { display: flex; flex-wrap: wrap; }
  #tickets_and_map #ticket_table { order: 1; width: 100%; }
}
@media (max-width: 579px) {
  .content { border: none; margin: 0; padding: 20px 10px 10px; }
  .content > .bcTrail { margin-top: -20px; }
  #events .events_button { display: none; }
  #events p { margin-right: 0; }
}
@media (max-width: 379px) {
  .text-xxs-start { text-align: left !important; }
  .px-xxs-0 { padding-left: 0 !important; padding-right: 0 !important; }
}
#ticket_table .vt_input_cell input[type=number] { width: 70px; padding: 6px 8px; text-align: right; border: 1px solid var(--t-border); border-radius: 8px; }


/* ==========================================================================
   templates/boletos.css — boletos.com theme
   Ported from the boletos.com design artifacts (Checkout, Event page, Fan app):
   Plus Jakarta Sans + IBM Plex Mono · ink #151719 · red #E10600 · ground #F3F3F1
   Load AFTER /css/theme-base.css. HTML and [tags] untouched.
   ========================================================================== */
600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root {
  /* boletos.com design tokens (kept under their design names for reference) */
  --bx-red: #E10600;
  --bx-red-deep: #B80500;
  --bx-red-tint: #FDECEB;
  --bx-ink: #151719;
  --bx-ink-2: #26282C;
  --bx-paper: #FFFFFF;
  --bx-ground: #F3F3F1;
  --bx-tile: #F8F8F6;
  --bx-line: #DCDBD6;
  --bx-line-soft: #E4E4E0;
  --bx-muted: #6C6B67;
  --bx-muted-dark: #A8A7A1;
  --bx-on-ink-muted: #C9C9C4;

  /* ---- map onto the template variables ---- */
  --t-font-body: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --t-font-heading: var(--t-font-body);
  --t-font-size: 15px;
  --t-font-size-mobile: 14px;

  --t-bg: var(--bx-ground);
  --t-bg-alt: var(--bx-paper);
  --t-bg-alt-shadow: transparent;
  --t-text: var(--bx-ink);
  --t-text-muted: var(--bx-muted);
  --t-border: var(--bx-line);

  --t-primary: var(--bx-ink);
  --t-primary-text: #ffffff;
  --t-accent: var(--bx-red);
  --t-accent-hover: var(--bx-red-deep);
  --t-accent-text: #ffffff;
  --t-accent-2-start: var(--bx-red);
  --t-accent-2: var(--bx-red);
  --t-success: var(--bx-red);
  --t-info: var(--bx-ink);

  --t-link: var(--bx-ink);
  --t-link-hover: var(--bx-red);

  --t-header-bg: var(--bx-paper);
  --t-nav-text: var(--bx-ink-2);
  --t-nav-hover: var(--bx-ink);
  --t-nav-menu-bg: var(--bx-paper);
  --t-nav-menu-border: var(--bx-line);
  --t-nav-toggler-border: var(--bx-ink);

  --t-hero-image: none;
  --t-hero-bg: var(--bx-ink);
  --t-search-bg: var(--bx-paper);
  --t-search-text: var(--bx-ink);

  --t-card-radius: 16px;
  --t-btn-radius: 12px;
  --t-card-title: var(--bx-ink);
  --t-card-title-hover: var(--bx-red);
  --t-card-text: var(--bx-muted);

  --t-featured-bg: var(--bx-ink);
  --t-featured-text: #ffffff;
  --t-featured-title: #ffffff;
  --t-swiper-nav: var(--bx-red);

  --t-join-title: var(--bx-ink);
  --t-join-text: var(--bx-muted);
  --t-join-input-border: var(--bx-line);
  --t-join-btn-bg: var(--bx-red);
  --t-join-btn-text: #ffffff;
  --t-join-done-bg: #0e9d3d;

  --t-footer-bg: var(--bx-ink);
  --t-footer-text: var(--bx-on-ink-muted);
  --t-footer-heading: #ffffff;
  --t-footer-link: var(--bx-on-ink-muted);
  --t-footer-link-hover: #ffffff;
  --t-footer-links-text: var(--bx-on-ink-muted);
  --t-footer-links-hover: #ffffff;
  --t-footer-copyright: var(--bx-muted-dark);

  --t-age-badge-bg: var(--bx-ink);
  --t-ticket-table-border: var(--bx-line);
  --t-ticket-highlight: var(--bx-red-tint);
  --t-table-head-bg: var(--bx-ink);
  --t-countdown: var(--bx-ink);

  --t-checkout-btn-border: var(--bx-red);
  --t-checkout-btn-text: #ffffff;
  --t-checkout-btn-bg: var(--bx-red);
  --t-checkout-btn-hover-bg: var(--bx-red-deep);
  --t-checkout-btn-hover-text: #ffffff;
  --t-checkout-card-gradient: linear-gradient(var(--bx-paper), var(--bx-paper));
  --t-checkbox: var(--bx-red);
  --t-timer: var(--bx-red);
  --t-held-gradient: linear-gradient(var(--bx-ink), var(--bx-ink));
  --t-alt-buy-gradient: linear-gradient(var(--bx-red), var(--bx-red));
  --t-alt-ship-border: var(--bx-ink);

  --bs-danger-rgb: 225, 6, 0;
  --bs-secondary-rgb: 21, 23, 25;
}

/* --------------------------------------------------------------------------
   Beyond-variable rules: the boletos.com "shape" language
   -------------------------------------------------------------------------- */
body { font-weight: 500; line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .heading h2, .card-title { font-weight: 800; letter-spacing: -.02em; }
.heading h2 { font-size: 22px; }
.mono, .page_current, #event_date_time, .expressCheckout .pro-payments strong { font-family: 'IBM Plex Mono', SFMono-Regular, Menlo, monospace; font-variant-numeric: tabular-nums; }

/* Header: thin line under, pill nav links */
header { border-bottom: 1px solid var(--bx-line); }
.navbar .navbar-collapse .navbar-nav .nav-item .nav-link { font-weight: 600; font-size: 14px; border-radius: 999px; padding: 8px 12px; }
.navbar .navbar-collapse .navbar-nav .nav-item .nav-link:hover { background: var(--bx-ground); color: var(--bx-ink); }
header .btn { border-radius: 999px; font-weight: 700; font-size: 14px; }
header .btn:not(.btn-danger) { border: 1.5px solid var(--bx-ink); }
.dropdown-toggle { border-radius: 999px; border: 1.5px solid var(--bx-ink); font-weight: 800; font-size: 12px; letter-spacing: .04em; }

/* Buttons: 12px radius, 1.5px borders, no 70px pills except header */
.btn-round { border-radius: 12px; }
.btn { font-weight: 700; }
.btn-outline-danger { border: 1.5px solid var(--bx-line); color: var(--bx-ink); background: var(--bx-paper); }
.btn-outline-danger:hover { border-color: var(--bx-ink); background: var(--bx-paper); color: var(--bx-ink); }
.btn-secondary, .btn-secondary:hover { background: var(--bx-paper); color: var(--bx-ink); border: 1.5px solid var(--bx-line); }
.btn-secondary:hover { border-color: var(--bx-ink); }
.btn-outline-light { border-width: 1.5px; }

/* Hero: ink block, search bar squared */
.heroSection { background: var(--bx-ink); }
.searchHead .searchHeadInside { border-radius: 14px; border: 1px solid var(--bx-line); }
#events_bar input[type=submit] { border-radius: 10px; font-weight: 700; }
.heroSection .swiper-slide .slide-cover .slide-cover-inside { border-radius: 14px; }

/* Event cards: paper tiles with a hairline, badge = solid red uppercase */
.eventsListing { margin-top: 0; padding: 8px 0 24px; }
.eventsCards .card { background: var(--bx-paper); border: 1px solid var(--bx-line-soft); border-radius: 16px; padding: 0 0 16px; overflow: hidden; }
.eventsCards .card .card-wall { border-radius: 0; }
.eventsListing .card-wall img { width: 100%; }
.eventsCards .card .card-wall .musicLabel {
  top: 12px; right: auto; left: 12px;
  background: var(--bx-red); font-size: 11px; letter-spacing: .12em; padding: 6px 10px; border-radius: 999px;
}
.eventsCards .card .card-title a { font-size: 15px; }
.eventsCards .card .card-text p { font-size: 13px; font-weight: 500; }
.eventsCards .card:hover .card-wall img { transform: scale(1.04) rotate(0); }
.eventsCards .card .btn { width: calc(100% - 32px); margin: 0 auto; }

/* Popular band: ink with white titles */
.featured-events .card { background: var(--bx-ink-2); border-color: rgba(255,255,255,.1); }
.featured-events .card .card-text p { color: var(--bx-on-ink-muted); }
.featured-events .card .btn-outline-danger { background: var(--bx-red); border-color: var(--bx-red); color: #fff; }
.featured-events .card .btn-outline-danger:hover { background: var(--bx-red-deep); border-color: var(--bx-red-deep); }
.featured-events .card .card-title a { font-size: 15px !important; text-transform: none !important; }

/* Pagination pills */
.pages a, .pages a:hover { border-radius: 10px; font-weight: 700; }

/* Category / city cards */
.eventCate, .cardType3 .ct-wall { border-radius: 16px; }
.eventCate .ecCaption h2 { letter-spacing: .02em; }
.eventsCategory.bgGray { background: var(--bx-ground); box-shadow: none; }
.eventsCategory.featured-events { background: var(--bx-ground); color: var(--bx-ink); }
.eventsCategory.featured-events .heading h2 { color: var(--bx-ink); }

/* Join form */
.joinForm { background: var(--bx-paper); border-top: 1px solid var(--bx-line-soft); }
.list-subscribe-form input { border-radius: 12px; border-width: 1.5px; height: 2.4em; font-weight: 600; }
.list-subscribe-form input:focus { border-color: var(--bx-ink); }
.list-subscribe-form button { border-radius: 999px; font-weight: 800; padding: .8em 1.8em; }

/* Footer */
footer { border-top: 1px solid rgba(255,255,255,.08); }
footer h3 { letter-spacing: .14em; font-size: 11px; color: var(--bx-on-ink-muted); }
.event-footer-heading, .event-footer-heading a { font-size: 16px; }

/* Event page */
#eventdetails h1 { font-size: 34px; letter-spacing: -.02em; text-transform: none; padding: 20px 0 4px; }
#eventdetails h2 { font-weight: 600; }
body #age_restrictions { border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 6px 11px; }
.event_image, .event_image_sm { border-radius: 16px; border: 1px solid var(--bx-line-soft); padding: 0; background: var(--bx-paper); }
body #ticket_table table { background: var(--bx-paper); border-radius: 16px; overflow: hidden; }
#ticket_table td.vt_subhead, #ticket_table .vt_subhead td { background: var(--bx-tile); }
#ticket_table .vt_dark { background: var(--bx-tile); }
body .content input[type=submit], body .content button { border-radius: 12px; border-width: 1.5px; }
body #buy_button { border-radius: 999px !important; font-weight: 800; }
.status_goingahead, .status_newdatetime, .status_postponed, .status_cancelled, .status_presaleonnow { letter-spacing: .1em; font-size: 11px; }
.countdown > div { border-radius: 12px; }

/* Checkout */
.expressCheckout input, .expressCheckout select { height: 52px; border-radius: 12px; border-width: 1.5px; font-weight: 600; }
.expressCheckout input:focus, .expressCheckout select:focus { border-color: var(--bx-ink); box-shadow: none; }
.expressCheckout .form-label { font-size: 13px; font-weight: 700; }
.expressCheckout .product-cart-info { border: 1px solid var(--bx-line-soft); border-radius: 18px; }
.secureBar { background: var(--bx-ink); color: #fff; border-radius: 14px; padding: 14px 20px; }
.secureBar p.held { color: #fff; font-weight: 700; }
.secureBar #minutes { color: #fff; font-family: 'IBM Plex Mono', monospace; }
.blf-checkbox .checkmark { border: 1.5px solid var(--bx-ink); border-radius: 6px; }
body .expressCheckout .product-cart-info #buy_button { border-radius: 999px !important; height: 56px; font-weight: 800; }
.expressCheckout .order_table tr { border-color: var(--bx-line-soft); }

/* Inputs sit on paper, not ground */
.list-subscribe-form input, .expressCheckout input, .expressCheckout select, .content input[type=text], .content input[type=email], .content input[type=tel], .content input[type=number], .content select, .content textarea { background: var(--bx-paper); }


/* ==========================================================================
   templates/boletos-v2.css — boletos.com homepage redesign (from design index.html)
   Loads after theme-base.css + boletos.css. Styles the new body_header,
   body_footer and home_main markup. Event / checkout / promoter pages keep
   the boletos.css look and only pick up the new header + footer.
   ========================================================================== */
:root{
  --red:#E10600; --red-dk:#B80500; --ink:#151719; --white:#FFFFFF; --gray:#F3F3F1;
  --mute:#6B6E73; --line:#E4E4E1;
  --maxw:1240px; --gutter:clamp(16px,4vw,40px);
  --r-sm:6px; --r-md:12px; --r-lg:20px;
  --t-bg:#FFFFFF;                 /* page is white in this design */
}
body{background:#fff;line-height:1.5}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
#main,#sidebar{padding:0;margin:0}
h2.sec-h,.sec-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0!important;text-transform:none}
.sec{padding:64px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
@media (max-width:600px){.sec-head{align-items:start;flex-direction:column;gap:14px}}
.sec-head p{color:var(--mute);margin:6px 0 0;max-width:56ch}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15px;border:0;line-height:1.2;transition:background .15s,color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
a.btn-red,.btn-red{background:var(--red);color:#fff}a.btn-red:hover,.btn-red:hover{background:var(--red-dk);color:#fff}
a.btn-ink,.btn-ink{background:var(--ink);color:#fff}a.btn-ink:hover,.btn-ink:hover{background:#000;color:#fff}
.btn-ghost{border:2px solid currentColor;padding:10px 20px;background:transparent;color:inherit}.btn-ghost:hover{color:var(--red)}
a.btn-white,.btn-white{background:#fff;color:var(--ink)}a.btn-white:hover,.btn-white:hover{background:var(--gray);color:var(--ink)}
a{text-decoration:none}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);padding:0}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.top .logo{display:flex;align-items:center;flex-shrink:0;max-width:none}
.top .logo svg{height:40px;width:auto;display:block}
.topnav{display:flex;gap:22px;font-weight:500;font-size:15px;margin-left:4px;white-space:nowrap}
.topnav a{color:var(--ink)}.topnav a:hover{color:var(--red)}
.topnav .mob{display:none}
.top-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;font-size:13px;font-weight:600}
.lang a{padding:5px 11px;border-radius:999px;color:var(--mute)}
.lang a[aria-pressed="true"]{background:var(--ink);color:#fff}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:0;background:none}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto}
@media (max-width:1180px){.top .btn-ghost{display:none}}
@media (max-width:900px){
  .topnav,.top .btn-ink{display:none}
  .topnav .mob{display:block;font-weight:700}
  .top .wrap{gap:12px}
  .burger{display:block}
  .top.open .topnav{display:flex;position:absolute;left:0;right:0;top:72px;background:#fff;flex-direction:column;padding:16px var(--gutter) 24px;border-bottom:1px solid var(--line);gap:16px;font-size:17px}
}
@media (max-width:640px){.cty .ctyName{display:none}.cty>button{padding:6px 9px}}
/* country switcher */
.cty{position:relative}
.cty>button{white-space:nowrap;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;font-size:13px;font-weight:600;background:#fff;color:var(--ink)}
.cty>button:hover{border-color:var(--ink)}
.cty .flag{font-size:16px;line-height:1}
.cty>button svg{color:var(--mute)}
.cty menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 44px -18px rgba(0,0,0,.3);padding:8px;margin:0;list-style:none;min-width:250px;display:none;z-index:60}
.cty[data-open] menu{display:block}
.cty menu li a{white-space:nowrap;display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink)}
.cty menu li a:hover{background:var(--gray)}
.cty menu .n{margin-left:auto;font-weight:500;color:var(--mute);font-size:12px}
.cty menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px;opacity:1}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:-10%;bottom:-40%;width:60vw;height:60vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(closest-side,rgba(225,6,0,.28),rgba(225,6,0,0));pointer-events:none}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:56px 64px}
.hero h1{font-size:clamp(38px,5.4vw,68px);font-weight:800;letter-spacing:-.03em;line-height:.98;text-transform:none;padding:0;margin:0;color:#fff;text-align:left}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p.lead{font-size:clamp(16px,1.6vw,19px);color:#C9CBCF;margin:20px 0 28px;max-width:46ch}
.hero #events_bar{background:none;border:0;border-radius:0;overflow:visible;display:block}
.search{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;background:#fff;border-radius:16px;padding:6px;gap:6px;color:var(--ink);width:auto;margin:0}
.search label{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:10px;font-size:11px;font-weight:600;color:var(--mute);letter-spacing:.02em;margin:0;min-width:0}
.search label:hover{background:var(--gray)}
.search input,.search select{border:0;background:transparent;font:inherit;font-size:15px;font-weight:500;color:var(--ink)!important;outline:0;width:100%!important;height:auto;padding:0;box-shadow:none;appearance:none;-webkit-appearance:none}
.search select{cursor:pointer}
.search input[value="Keyword Search"]{color:var(--mute)!important}
.search input[type=submit]{display:none}
.search .go{background:var(--red);color:#fff;border-radius:10px;padding:0 24px;font-weight:700;display:flex;align-items:center;gap:8px;border:0;font-size:15px}
.search .go:hover{background:var(--red-dk)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:13px}
.chips span{color:#9EA1A6;align-self:center}
.chips a{border:1px solid #3A3D42;border-radius:999px;padding:6px 12px;color:#E6E7E9}
.chips a:hover{border-color:#fff;color:#fff}
.feature{position:relative;width:100%;justify-self:stretch;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;min-height:420px;background:#222;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);padding:0!important}
.feature .swiper-wrapper{position:absolute;inset:0;height:100%}
.feature .swiper-slide{position:relative;height:100%}
.feature .swiper-slide>a{position:absolute;inset:0;display:block}
.feature img{width:100%;height:100%;object-fit:cover;display:block}
.feature .cap{position:absolute;inset:auto 0 0 0;padding:22px;background:linear-gradient(to top,rgba(21,23,25,.95),rgba(21,23,25,0));pointer-events:none}
.feature .cap small{display:inline-block;background:var(--red);padding:3px 9px;border-radius:4px;font-weight:600;font-size:12px;margin-bottom:8px;color:#fff}
.feature .cap h3{font-size:22px;line-height:1.1;color:#fff;margin:0}
.feature .cap p{font-size:13px;color:#C9CBCF;margin:4px 0 0}
.feature .dots{position:absolute;top:16px;right:16px;left:auto;bottom:auto;width:auto;display:flex;gap:6px;z-index:2}
.feature .dots .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);opacity:1;margin:0}
.feature .dots .swiper-pagination-bullet-active{background:#fff;width:22px;border-radius:4px}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:32px;padding-block:36px 44px}
  .feature{aspect-ratio:16/10;max-height:380px}
  .search{grid-template-columns:1fr 1fr}
  .search label:first-child{grid-column:1/-1}
  .search .go{grid-column:1/-1;padding:14px;justify-content:center}
}

/* ---------- today / tomorrow strip ---------- */
.tonight{background:var(--red);color:#fff;padding:18px 0}
.tonight .wrap{display:flex;align-items:center;gap:18px}
.tonight h2{font-size:17px;white-space:nowrap;display:flex;align-items:center;gap:8px;color:#fff;margin:0!important;font-weight:800}
.tonight h2 i{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:pulse 1.6s infinite}
@keyframes pulse{to{box-shadow:0 0 0 8px rgba(255,255,255,0)}}
.tonight .scroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px}
.tonight .scroll::-webkit-scrollbar{display:none}
.tonight a{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);border-radius:10px;padding:6px 12px 6px 6px;font-size:13px;font-weight:600;max-width:280px;color:#fff}
.tonight a:hover{background:rgba(255,255,255,.26);color:#fff}
.tonight img{width:36px;height:36px;border-radius:6px;object-fit:cover}
.tonight span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tonight small{display:block;font-weight:500;opacity:.85}
@media (max-width:700px){.tonight .wrap{flex-direction:column;align-items:stretch;gap:10px}}

/* ---------- tabs + event cards ---------- */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.tabs a{padding:8px 16px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid var(--line);color:var(--ink);background:#fff}
.tabs a[aria-pressed="true"],.tabs a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:600px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;padding-bottom:2px}.tabs a{white-space:nowrap}}
.evgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1100px){.evgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.evgrid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:360px){.evgrid{grid-template-columns:1fr}}
.evc{display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .15s;min-width:0}
.evc:hover{border-color:var(--ink)}
.evc .ph{position:relative;display:block;aspect-ratio:1/1;background:var(--gray);overflow:hidden}
.evc .ph img{width:100%;height:100%;object-fit:cover;display:block}
.evc .calendar{position:absolute;top:10px;left:10px;width:auto;height:auto;margin:0;background:#fff;border-radius:8px;padding:6px 9px;text-align:center;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.18);display:block;font-size:10px}
.evc .calendar .cal_date{background:none;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0;padding:0;line-height:1;color:var(--ink)}
.evc .calendar .cal_month{background:none;font-size:10px;font-weight:600;color:var(--red);padding:3px 0 0;text-transform:uppercase;order:2}
.evc .calendar{display:flex;flex-direction:column}
.evc .calendar .cal_time{display:none}
.evc .tag{position:absolute;top:10px;right:10px;background:rgba(21,23,25,.85);color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:5px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evc .tag:empty{display:none}
.evc .body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.evc h3{font-size:15.5px;font-weight:700;line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.evc h3 a{color:var(--ink)}.evc h3 a:hover{color:var(--red)}
.evc .meta{font-size:13px;color:var(--mute);line-height:1.4}
.evc .crow{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;gap:8px}
.evc .price{font-weight:700;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evc .price small{font-weight:500;color:var(--mute);font-size:12px}
.evc .buy{background:var(--red);color:#fff;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;margin-left:auto}
.evc .buy:hover{background:var(--red-dk);color:#fff}
.empty{padding:48px;text-align:center;color:var(--mute);border:1px dashed var(--line);border-radius:var(--r-md)}
.empty a{color:var(--red);font-weight:700}
.loadmore{text-align:center;margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:18px}
.loadmore .pages{padding:0;width:100%;max-width:520px;display:flex;justify-content:space-between;align-items:center}
.loadmore .pages .page_prev,.loadmore .pages .page_next{float:none}
.loadmore .pages a{border-radius:999px;padding:10px 20px}
.loadmore .btn-ghost{color:var(--ink)}

/* ---------- selling fastest ---------- */
.spot{background:var(--gray)}
.spot-list{display:grid;grid-template-columns:1.2fr 1fr;gap:12px 22px;grid-auto-rows:min-content}
.li{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;background:#fff;border-radius:var(--r-md);padding:10px;border:1px solid var(--line);color:var(--ink);grid-column:2}
.li:hover{border-color:var(--ink);color:var(--ink)}
.li .thumb{width:76px;height:76px;border-radius:8px;object-fit:cover}
.li h4{font-size:15px;font-weight:700;line-height:1.2;margin:0}
.li .meta{font-size:13px;color:var(--mute)}
.li .hot,.li .btn{display:none}
.li .arrow{width:38px;height:38px;border-radius:50%;background:var(--gray);display:grid;place-items:center}
.li.li-0{grid-column:1;grid-row:1/span 4;display:block;position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:440px;color:#fff;background:#222;padding:0;border:0}
.li.li-0 .thumb{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.li.li-0 .li-text{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(21,23,25,.95) 20%,rgba(21,23,25,0) 65%)}
.li.li-0 h4{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.02em;color:#fff}
.li.li-0 .meta{color:#C9CBCF;margin:6px 0 16px}
.li.li-0 .hot{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;background:var(--red);font-size:12px;font-weight:700;padding:5px 10px;border-radius:5px;margin-bottom:10px;color:#fff}
.li.li-0 .hot i{width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
.li.li-0 .btn{display:inline-flex;align-self:flex-start}
.li.li-0 .arrow{display:none}
@media (max-width:900px){.spot-list{grid-template-columns:1fr}.li,.li.li-0{grid-column:1;grid-row:auto}.li.li-0{min-height:360px}}

/* ---------- categories / cities ---------- */
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cat{background:var(--ink);color:#fff;border-radius:var(--r-md);padding:22px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.cat:hover{color:#fff}
.cat::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--red);opacity:.9;transition:transform .2s}
.cat:hover::before{transform:scale(1.15)}
.cat h3{font-size:19px;position:relative;margin:0;color:#fff;font-weight:800}
.cat span{font-size:13px;color:#C9CBCF;position:relative}
.cities{display:flex;flex-wrap:wrap;gap:10px}
.cities a{border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:600;font-size:14px;color:var(--ink)}
.cities a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:900px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.cats{grid-template-columns:repeat(2,1fr)}.cat{min-height:120px}}

/* ---------- trust ---------- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}
.trust>div{display:flex;gap:14px;align-items:flex-start}.trust>div>div:last-child{display:flex;flex-direction:column;gap:4px}
.trust .ic{width:44px;height:44px;flex-shrink:0;border-radius:12px;background:var(--gray);display:grid;place-items:center;color:var(--red)}
.trust b{display:block;font-size:15px}.trust span{font-size:13px;color:var(--mute)}
@media (max-width:900px){.trust{grid-template-columns:repeat(2,1fr)}}

/* ---------- promoters ---------- */
.promo{background:var(--red);color:#fff;border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;position:relative;overflow:hidden}
.promo h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;color:#fff;margin:0!important;letter-spacing:-.02em;line-height:1.1}
.promo p{margin:10px 0 0;font-size:16px;color:#FFE1E0;max-width:48ch}
.promo ul{list-style:none;display:grid;gap:10px;font-weight:600;position:relative;margin:0;padding:0}
.promo li{display:flex;gap:10px;align-items:center}
.promo li::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;flex-shrink:0}
.promo .btn{margin-top:22px}
@media (max-width:800px){.promo{grid-template-columns:1fr}}

/* ---------- sms / vip list ---------- */
.joinForm{background:#fff;border:0}
.sms{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.sms .jfHead{text-align:left}
.sms .jfHead h2{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--ink);margin:0!important}
.sms .jfHead p{color:var(--mute);margin:8px 0 0;font-size:16px}
.sms .list-subscribe-form{margin:0}
.sms .list-subscribe-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--gray);border-radius:14px;padding:8px;margin:0}
.sms .list-subscribe-form input{display:block;width:100%;box-sizing:border-box;margin:0;border:0;background:#fff;border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;height:auto;min-height:0;outline:0}
.sms .list-subscribe-form input:focus{box-shadow:0 0 0 2px var(--ink)}
.sms .list-subscribe-form button{grid-column:1/-1;background:var(--red);color:#fff;border-radius:999px;padding:12px 22px;font-weight:700;font-size:15px}
.sms .list-subscribe-form button:hover{background:var(--red-dk)}
.sms .list-subscribe-form fieldset[data-complete=true] button{background:#0e9d3d}
.sms small{display:block;color:var(--mute);font-size:12px;margin-top:10px;line-height:1.4}
@media (max-width:800px){.sms{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#C9CBCF;padding:56px 0 28px;font-size:14px;border:0}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
footer h4{color:#fff;font-size:14px;font-weight:700;margin:0 0 12px;letter-spacing:0;text-transform:none}
footer h4 a{color:#fff}
footer ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
footer a{color:#C9CBCF}footer a:hover{color:#fff}
footer .logo{display:block;max-width:none}
footer .logo svg{height:36px;width:auto;display:block}
footer .ftag{margin:14px 0 0;max-width:32ch;color:#C9CBCF;font-size:14px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:38px;height:38px;border-radius:50%;background:#26292D;display:grid;place-items:center;color:#fff}
.social a:hover{background:var(--red)}
.fartists{margin-top:40px;padding-top:24px;border-top:1px solid #2C2F33}
.fartists ul.event-footer-links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;text-align:left;list-style:none;padding:0}
.fartists ul.event-footer-links li{display:inline;padding:0}
.fartists ul.event-footer-links a{color:#C9CBCF;font-size:13px}
.fartists ul.event-footer-links a:hover{color:#fff}
.fbot{border-top:1px solid #2C2F33;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
@media (max-width:800px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}

/* ---------- inner pages: keep boletos.css look but on white ---------- */
#eventdetails{background:#fff}
.heroSection{background:var(--ink)}
/* beat boletos.css `header .btn:not(.btn-danger)` */
header.top .top-right a.btn-ink{color:#fff;border:0;background:var(--ink)}
header.top .top-right a.btn-ink:hover{background:#000;color:#fff}
header.top .top-right a.btn-ghost{border:2px solid var(--ink);color:var(--ink);border-radius:999px}
header.top .top-right a.btn-ghost:hover{color:var(--red);border-color:var(--red)}
footer a:link,footer a:visited{color:#C9CBCF}
footer a:hover,footer h4 a:link,footer h4 a:visited{color:#fff}
.li:link,.li:visited{color:var(--ink)}
.cat:link,.cat:visited{color:#fff}
@media (max-width:640px){
  .top .wrap{gap:8px}
  .top .logo svg{height:30px}
  .top-right{gap:8px}
  .lang{font-size:12px;padding:2px}.lang a{padding:4px 8px}
  .cty>button{font-size:12px}
}
html,body{height:auto;min-height:100%}

/* never render script/JSON-LD as text, whatever the host CSS does */
script,template,#main>script{display:none!important}
/* Spanish for CSS-generated labels */
html[lang="es"] .list-subscribe-form fieldset button::after{content:"Suscribirme"}
html[lang="es"] .list-subscribe-form fieldset[data-complete=true] button::after{content:"Suscrito"}
html[lang="es"] .list-subscribe-form fieldset[disabled] button::after{content:"Cargando..."}
html[lang="es"] .countdown > div:before{content:"DÍAS"}
html[lang="es"] #countdown_hours:before{content:"HRS"}
html[lang="es"] #countdown_mins:before{content:"MIN"}
html[lang="es"] #countdown_secs:before{content:"SEG"}


/* ==========================================================================
   boletos.com — checkout (custom_order_page) + minimal header/footer
   Adapted from the checkout design canvas. Namespaced .bx-* so nothing here
   collides with Bootstrap / style.min.css; where the host CSS already styles a
   hook (#buy_button, .order_table, #alert…) the selectors below out-rank it.
   ========================================================================== */
:root{
  --red:#E10600; --red-soft:#FDECEB; --ink:#151719; --ink-2:#4A4A47; --ink-3:#8A8A85;
  --paper:#FFFFFF; --ground:#F3F3F1; --line:#E4E4E0; --line-2:#D9D9D5;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
}
body#p_order{font-family:var(--font);background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}
body#p_order #main,body#p_order #sidebar{background:transparent;width:auto;float:none;padding:0;margin:0}
.bx-wrap *,.bx-header *,.bx-footer *,.bx-steps *,.bx-paybar *{box-sizing:border-box}
.bx-wrap h1,.bx-wrap h2,.bx-wrap h3,.bx-wrap p{margin:0;text-transform:none;letter-spacing:normal;color:inherit}
.bx-wrap a:link,.bx-wrap a:visited{color:var(--ink)}
.bx-wrap a:hover{color:var(--red)}
.bx-wrap img{max-width:100%}
.bx-wrap button,.bx-wrap input,.bx-wrap select{font-family:inherit}
.bx-wrap .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- minimal header (checkout) ---- */
.bx-header{height:72px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 64px;font-family:var(--font)}
.bx-header .bx-logo{display:flex;align-items:center}
.bx-header .bx-logo svg{height:34px;width:auto;display:block}
.bx-header-right{display:flex;align-items:center;gap:28px}
.bx-secure{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.bx-header .lang{display:flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;font-size:12px;font-weight:800;letter-spacing:.04em;margin:0}
.bx-header .lang a,.bx-header .lang a:link,.bx-header .lang a:visited{height:30px;padding:0 12px;display:inline-flex;align-items:center;border:0;background:#fff;color:var(--ink);text-decoration:none}
.bx-header .lang a[aria-pressed="true"]{background:var(--ink);color:#fff}
.bx-header a.bx-help,.bx-header a.bx-help:link,.bx-header a.bx-help:visited{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1.5px solid var(--ink);border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);white-space:nowrap;background:transparent}
.bx-header a.bx-help:hover{background:var(--ink);color:#fff}
.bx-help-icon{display:none}
.bx-header a.bx-help .bx-help-icon{width:18px;height:18px;flex:0 0 auto}

/* ---- steps ---- */
.bx-steps{max-width:1280px;margin:0 auto;padding:20px 64px 0;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;font-family:var(--font)}
.bx-step{display:flex;align-items:center;gap:8px;color:var(--ink-2)}
.bx-step i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;background:var(--ink);color:#fff}
.bx-step.is-current{color:var(--red)}.bx-step.is-current i{background:var(--red)}
.bx-step.is-next{color:var(--ink-3)}.bx-step.is-next i{background:transparent;border:1.5px solid #C9C9C4;color:var(--ink-3)}
.bx-steps .bar{width:40px;height:2px;background:var(--line-2)}.bx-steps .bar.done{background:var(--ink)}

/* ---- layout ---- */
.bx-wrap{max-width:1280px;margin:0 auto;padding:28px 64px 56px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start;font-family:var(--font);font-size:15px;line-height:1.45;color:var(--ink)}
.bx-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.bx-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.bx-wrap .bx-title{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1;font-family:var(--font)}
/* messages the engine prints above the form */
.bx-wrap ~ .notice,#p_order .notice,#p_order .warning,#p_order .status_msg{max-width:1152px;margin:16px auto 0;padding:0 64px}

/* ---- hold timer (engine's updateTimer() writes into #minutes / #held_msg) ---- */
.bx-hold{background:var(--ink);color:#fff;border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:16px}
.bx-hold-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.bx-hold-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bx-hold-row strong{font-size:15px;font-weight:700;color:#fff}
.bx-hold #minutes{font-family:var(--mono);font-size:20px;font-weight:600;color:#fff;line-height:normal}
.bx-hold #minutes:before{content:none}
.bx-hold-track{height:4px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden}
.bx-hold-fill{height:100%;width:100%;background:var(--red);border-radius:2px;transition:width 1s linear}
.bx-hold-note{font-size:12px;color:#C9C9C4;margin:0;font-weight:500}
/* the engine's "We have the tickets available…" <p id=held_msg> is moved into the card by the template's script;
   its timer <span id=minutes> moves into the row, so the paragraph is only shown once the hold expires (its text changes then) */
#p_order #held_msg,#p_order p.held{display:none;font-size:12px;color:#C9C9C4;background:none;margin:0;font-weight:500}
.bx-hold.is-expired .bx-hold-fill{width:0}
.bx-hold.is-expired #held_msg{display:block;color:#fff;font-weight:600}
.bx-hold.is-expired .bx-hold-note{display:none}

/* ---- cards ---- */
.bx-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:20px}
.bx-card-head{display:flex;align-items:center;gap:12px}
.bx-card-head .num{width:28px;height:28px;border-radius:50%;background:var(--ground);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.bx-wrap .bx-card-head h2{font-size:20px;font-weight:800;letter-spacing:-.01em;float:none;margin:0}
.bx-card-head .aside,.bx-wrap .safeSecure{margin-left:auto;font-size:13px;color:var(--ink-2);font-weight:500;font-style:normal;display:inline-flex;align-items:center;gap:6px;text-align:right}
.bx-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bx-grid4{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:16px}
.bx-field{min-width:0}
.bx-field label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;color:var(--ink)}
/* the engine prints the inputs ([name_field] etc.) — style them through the wrapper */
.expressCheckout .bx-field input:not([type=checkbox]):not([type=radio]),
.expressCheckout .bx-field select,
form[name=orderForm] .bx-field input[type=text],form[name=orderForm] .bx-field input[type=tel],form[name=orderForm] .bx-field input[type=email]{
  display:block;width:100%;height:52px;padding:0 16px;margin:0;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;
  font-size:16px;font-weight:600;color:var(--ink);outline:none;box-shadow:none;font-family:var(--font);
}
.expressCheckout .bx-field input[type=text][style]{width:100%!important}
.expressCheckout .bx-field select{height:52px;padding:0 16px}
.expressCheckout .bx-field input::placeholder{color:var(--ink-3);font-weight:500}
.expressCheckout .bx-field input:focus,.expressCheckout .bx-field select:focus{border-color:var(--ink);box-shadow:none;outline:0}
.bx-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:500;cursor:pointer;line-height:1.5;margin:0;color:var(--ink);font-style:normal}
.expressCheckout .bx-check input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-block;width:22px;height:22px;flex:0 0 auto;margin:1px 0 0;padding:0;border:1.5px solid var(--ink);border-radius:6px;background:#fff;position:relative;cursor:pointer;box-shadow:none}
.expressCheckout .bx-check input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}
.expressCheckout .bx-check input[type=checkbox]:checked::after{content:'';position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
/* [phone_field] prints its own <div class="send_text"><label><input type=checkbox name=send_text> …</label></div> */
.expressCheckout .send_text{margin-top:10px}
.expressCheckout .send_text label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;line-height:1.5;margin:0;cursor:pointer;color:var(--ink-2)}
.expressCheckout .send_text input[type=checkbox],.expressCheckout .termscaption input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-block;width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;padding:0;border:1.5px solid var(--ink);border-radius:6px;background:#fff;position:relative;cursor:pointer;box-shadow:none}
.expressCheckout .send_text input[type=checkbox]:checked,.expressCheckout .termscaption input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}
.expressCheckout .send_text input[type=checkbox]:checked::after,.expressCheckout .termscaption input[type=checkbox]:checked::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}

/* ---- delivery (<select name=ship_method> from [ship_method_field]) ---- */
.bx-select{position:relative}
.expressCheckout .bx-select select{width:100%;height:56px;padding:0 48px 0 18px;margin:0;border:2px solid var(--ink);border-radius:14px;background:#fff;font-size:15px;font-weight:800;color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer;box-shadow:none;font-family:var(--font)}
.bx-select::after{content:'';position:absolute;right:20px;top:50%;width:9px;height:9px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.bx-hint{font-size:13px;color:var(--ink-2)}
.bx-card #shipInfo{padding-top:4px}
.bx-card #shipInfo > * + *{margin-top:16px}
.bx-wrap #shipInfo h3{font-size:16px;font-weight:800}

/* ---- payment (Stripe Payment Element mounts in #payment-element) ---- */
#link-authentication-element,#payment-element{min-height:40px}
.bx-stripe{display:flex;flex-direction:column;gap:14px}
.bx-stripe form{margin:0}

/* ---- terms + pay ---- */
.bx-pay{display:flex;flex-direction:column;gap:16px;padding:4px 4px 0}
.expressCheckout .termscaption{font-size:13px;color:var(--ink-2);font-style:normal;display:block}
.bx-pay .termscaption strong{color:var(--ink)}
.bx-pay .termscaption a{font-weight:700;color:var(--ink)}
.bx-wrap #buyBorder{display:flex;flex-direction:column;gap:10px}
body .bx-wrap #buy_button,body .bx-wrap input#buy_button{
  display:block;height:64px;width:100%;margin:0;padding:0 24px;border:0!important;border-radius:999px!important;
  background:var(--red)!important;color:#fff;font-size:19px;font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:background .15s;box-shadow:none;font-family:var(--font);
}
body .bx-wrap #buy_button,body .bx-wrap input#buy_button{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.bx-main>*,.bx-pay,.bx-wrap #buyBorder{min-width:0}
body .bx-wrap #buy_button:hover{background:#C40500!important;color:#fff}
body .bx-wrap #buy_button:disabled,body .bx-wrap #buy_button[disabled]{background:#B8B8B3!important;color:#fff;cursor:wait;opacity:1}
.bx-wrap #buy_text{font-size:13px;color:var(--ink-2)}.bx-wrap #buy_text:empty{display:none}
.bx-wrap #wait{text-align:center;font-size:13px;color:var(--ink-2)}
.bx-wrap input#buy_button:disabled + #wait:after{margin:0;color:var(--ink-2)}
.bx-after{text-align:center;font-size:12px;color:var(--ink-3)}
.bx-wrap #error-message{color:var(--red);font-weight:700;font-size:14px;text-align:center}
.bx-wrap #error-message:empty{display:none}

/* ---- order summary ---- */
.bx-wrap .product-cart-info.bx-sum{background:var(--paper);background-image:none;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:0}
.bx-sum-head{background:var(--ink);color:#fff;padding:20px 22px;display:flex;gap:16px;align-items:center}
.pro-wall{width:72px;height:72px;border-radius:10px;overflow:hidden;flex:0 0 auto;background:#2a2c2f}
.pro-wall img{width:100%;height:100%;object-fit:cover;display:block}
.bx-sum .pro-short-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.bx-sum .pro-short-info .eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;color:#C9C9C4;text-transform:uppercase}
.bx-wrap .bx-sum .pro-short-info h2{font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.1;color:#fff}
.bx-wrap .bx-sum .pro-short-info h3{font-size:13px;font-weight:600;color:#E4E4E0}.bx-sum .pro-short-info h3:empty{display:none}
.bx-wrap .bx-sum .pro-short-info p{font-size:13px;color:#E4E4E0;font-weight:500}
.bx-wrap .bx-sum .pro-short-info p.venue{color:#C9C9C4}
.bx-sum-body{padding:22px;display:flex;flex-direction:column;gap:18px}
.expressCheckout .product-cart-info .pro-payments{font-size:14px}
.bx-sum-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.bx-wrap .bx-sum-top strong{font-size:15px;font-weight:800;font-family:var(--font)}
.bx-wrap .bx-sum-top a.c-order{font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:underline}
.bx-pill{font-size:12px;font-weight:700;color:var(--red);background:var(--red-soft);padding:4px 10px;border-radius:999px;white-space:nowrap}
/* the engine's <tr> rows: undo the old flex layout, back to a clean table */
.expressCheckout div#order_table{transition:none;max-height:none}
.expressCheckout div#order_table.is-hidden{display:none}
.expressCheckout .order_table{display:table;width:100%;border-collapse:collapse;font-size:14px}
.expressCheckout .order_table tr{display:table-row;border:0;padding:0;background:transparent!important}
.expressCheckout .order_table td{display:table-cell;padding:6px 0;border:0;vertical-align:top;background:transparent!important;order:0;flex-grow:0;width:auto;text-align:left;font-weight:500}
.expressCheckout .order_table td:nth-child(1):not(.empty):before,.expressCheckout .order_table td:nth-child(3):before{content:none}
.expressCheckout .order_table td:first-child{width:28px;color:var(--ink-2);font-weight:700;padding-left:0}
.expressCheckout .order_table td:nth-child(2){width:auto;font-weight:700;padding-right:8px}
.expressCheckout .order_table tr:not(.fee_row) td:nth-child(3){display:none}
.expressCheckout .order_table td:last-child{text-align:right;font-family:var(--mono);font-weight:600;white-space:nowrap}
.expressCheckout .order_table tr.fee_row td{color:var(--ink-2);font-weight:500}
.expressCheckout .order_table tr.fee_row td.empty{display:none}
.expressCheckout .order_table tr.fee_row td.fee_label{font-weight:500;padding-left:0;width:auto}
.expressCheckout .order_table tr.fee_row td:last-child{color:var(--ink)}
.expressCheckout .order_table .item_name span{background:var(--red-soft);color:var(--red);border-radius:6px;margin:4px 0 0}
.bx-lines{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px}
.bx-line{display:flex;justify-content:space-between;gap:12px}
.bx-line .mono{color:var(--ink)}
.bx-line-promo{color:var(--red)}.bx-line-promo .mono{color:var(--red)}
.bx-hr{height:1px;background:var(--line)}
.bx-total{display:flex;justify-content:space-between;align-items:baseline}
.bx-total span:first-child{font-size:16px;font-weight:800}
.bx-total span:last-child{font-family:var(--mono);font-size:28px;font-weight:600;letter-spacing:-.02em}
.bx-fine{font-size:12px;color:var(--ink-3)}
.bx-sum-links{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:700}
.bx-wrap .bx-sum-links a,.bx-wrap .bx-sum-links a:link{color:var(--ink-2);text-decoration:underline}
.bx-wrap .bx-sum-links a.text-danger,.bx-wrap .bx-sum-links a.text-danger:link{color:var(--red)!important}
.bx-trust{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px 22px;display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--ink-2)}
.bx-trust div{display:flex;gap:10px;align-items:center}
.bx-trust svg{flex:0 0 auto}
.bx-trust strong{color:var(--ink)}
.bx-trust a{text-decoration:underline}
.is-hidden{display:none!important}

/* ---- inline alert (#alert / #alert_text / #ok are the engine's ids) ---- */
body #alert{display:none;position:fixed;inset:0;top:0;left:0;right:0;bottom:0;z-index:1050;background:rgba(21,23,25,.55);padding:24px;width:auto;max-width:none;min-width:0;margin:0;border:0;text-align:left;font-weight:500;font-size:15px}
body #alert #alert_text{background:#fff;color:var(--ink);max-width:440px;margin:15vh auto 0;padding:24px 24px 20px;border-radius:18px 18px 0 0;font-size:15px;line-height:1.5;font-family:var(--font)}
body #alert #ok{display:block;max-width:440px;margin:0 auto;width:100%;height:52px;border:0;border-radius:0 0 18px 18px;background:var(--red);color:#fff;font-size:15px;font-weight:800;cursor:pointer;padding:0 24px;font-family:var(--font)}

/* ---- minimal footer ---- */
.bx-footer{background:var(--ink);color:#C9C9C4;padding:28px 64px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;margin-top:24px;font-family:var(--font)}
.bx-footer-left{display:flex;align-items:center;gap:16px}
.bx-footer-left svg{height:22px;width:auto}
.bx-footer nav{display:flex;gap:20px}
.bx-footer a,.bx-footer a:link,.bx-footer a:visited{color:#C9C9C4;text-decoration:none}.bx-footer a:hover{color:#fff}

/* ---- mobile sticky pay bar ---- */
.bx-paybar{display:none}

/* ===== responsive ===== */
@media (max-width:1100px){
  .bx-wrap{grid-template-columns:minmax(0,1fr) 360px;padding:24px 32px 48px}
  .bx-header,.bx-steps,.bx-footer{padding-left:32px;padding-right:32px}
}
@media (max-width:860px){
  .bx-header{height:60px;padding:0 16px}
  .bx-header .bx-logo svg{height:28px}
  .bx-header-right{gap:10px}
  .bx-secure{display:none}
  .bx-header a.bx-help{width:40px;height:40px;padding:0;border-radius:50%;justify-content:center}
  .bx-help .bx-help-txt{display:none}.bx-help-icon{display:block}
  .bx-steps{padding:16px 16px 0;gap:8px;font-size:12px}
  .bx-steps .bar{width:24px}
  .bx-wrap{display:flex;flex-direction:column;align-items:stretch;padding:16px 16px 120px;gap:14px}
  .bx-main,.bx-side{width:100%;max-width:100%}
  .bx-side{order:-1;position:static}
  .bx-wrap .bx-title{font-size:26px}
  .bx-card{padding:20px 16px;border-radius:16px;gap:14px}
  .bx-grid2,.bx-grid4{grid-template-columns:1fr;gap:14px}
  .bx-hold{border-radius:12px;padding:12px 16px}
  body .bx-wrap input#buy_button{font-size:17px;height:58px}
  .bx-sum-head{padding:14px 16px}
  .pro-wall{width:52px;height:52px;border-radius:8px}
  .bx-wrap .bx-sum .pro-short-info h2{font-size:16px}
  .bx-sum-body{padding:16px}
  .bx-trust{display:none}
  .bx-card-head .aside,.bx-wrap .safeSecure{display:none}
  .bx-footer{flex-direction:column;align-items:flex-start;padding:24px 16px 120px;margin-top:0}
  .bx-paybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center;gap:14px;box-shadow:0 -8px 24px rgba(21,23,25,.08);font-family:var(--font)}
  .bx-paybar .lbl{display:flex;flex-direction:column;font-size:11px;color:var(--ink-2);font-weight:600}
  .bx-paybar .lbl b{font-family:var(--mono);font-size:20px;font-weight:600;color:var(--ink)}
  .bx-paybar button{flex:1;height:54px;border:0;border-radius:999px;background:var(--red);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
}
/* Spanish label for the engine's "please be patient" text */
html[lang="es"] .bx-wrap input#buy_button:disabled + #wait:after{content:"Un momento, estamos procesando tu orden..."}

html:has(body#p_order){background:var(--ground,#F3F3F1)}
body#p_order{min-height:100vh;display:flex;flex-direction:column}
body#p_order > .bx-footer{margin-top:auto}
/* ---- engine message pages (e.g. "Incorrect Ticket Quantity"): body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail + h3 + p.error ---- */
body:not(#p_receipt) > .content:has(> .bcTrail + h3){max-width:640px;margin:48px auto 64px;padding:32px 32px 28px;background:#fff;border:1px solid var(--line,#E4E4E0);border-radius:18px;box-shadow:0 1px 2px rgba(21,23,25,.06),0 16px 40px -16px rgba(21,23,25,.18);font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719);box-sizing:border-box}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail{font-size:12.5px;font-weight:600;color:var(--ink-3,#8A8A85);margin:0 0 14px}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail a,body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail a:link,body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail a:visited{color:var(--ink-2,#4A4A47);text-decoration:none}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .bcTrail a:hover{color:var(--red,#E10600)}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > h3{font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);margin:0 0 12px;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.15;text-transform:none;color:var(--ink,#151719);padding-left:38px;position:relative}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > h3::before{content:"!";position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:#FDECEB;color:var(--red,#E10600);font-size:15px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2,#4A4A47)}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p:empty{display:none}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p.error,body:not(#p_receipt) > .content:has(> .bcTrail + h3) > .error{color:var(--ink-2,#4A4A47);background:none;border:0;padding:0;font-weight:500;text-align:left}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p a,body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p a:link,body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p a:visited{color:var(--red,#E10600);font-weight:700;text-decoration:underline;text-underline-offset:2px}
body:not(#p_receipt) > .content:has(> .bcTrail + h3) > p a:hover{color:var(--red-dk,#B80500)}
/* the "go back" link doubles as a button on phones */
@media (max-width:640px){body:not(#p_receipt) > .content:has(> .bcTrail + h3){margin:16px 16px 40px;padding:24px 20px}body:not(#p_receipt) > .content:has(> .bcTrail + h3) > h3{font-size:20px}}

/* ---- engine "Add Items" page (event related items before checkout):
   body#p_order > .container > h3 + p.held#held_msg + p + form > table.padded.altrows + p(.s note + submit) ---- */
body#p_order > .container:has(> form table.altrows){max-width:1152px;padding:28px 64px 56px;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719)}
body#p_order > .container:has(> form table.altrows) > h3{margin:0 0 6px!important;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-transform:none;color:var(--ink,#151719)}
body#p_order > .container:has(> form table.altrows) > h3::before{content:"Step 2 of 3";display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3,#8A8A85);margin-bottom:10px}
html[lang="es"] body#p_order > .container:has(> form table.altrows) > h3::before{content:"Paso 2 de 3"}
/* the hold message becomes the black timer card (same as checkout) */
body#p_order > .container:has(> form table.altrows) > p.held#held_msg{display:flex!important;align-items:center;gap:16px;margin:18px 0 16px;padding:16px 20px;border-radius:14px;background:var(--ink,#151719);color:#fff!important;font-size:14px;font-weight:600;line-height:1.4}
body#p_order > .container:has(> form table.altrows) > p.held#held_msg::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:2.2px solid var(--red,#E10600);box-shadow:inset 0 -6px 0 -4px var(--red,#E10600)}
body#p_order > .container:has(> form table.altrows) > p.held#held_msg #minutes{margin:0 4px;font-family:var(--mono,'IBM Plex Mono',monospace);font-size:22px;font-weight:600;color:#fff;line-height:1}
body#p_order > .container:has(> form table.altrows) > p.held#held_msg #minutes::before{content:none}
body#p_order > .container:has(> form table.altrows) > p{font-size:15px;color:var(--ink-2,#4A4A47);margin:0 0 18px}
body#p_order > .container:has(> form table.altrows) > p b{color:var(--ink,#151719)}
/* the items table → white card, one row per item */
body#p_order .container form table.altrows{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line,#E4E4E0);border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(21,23,25,.06),0 16px 40px -16px rgba(21,23,25,.18)}
body#p_order .container form table.altrows th{background:var(--gray,#F8F8F6)!important;color:var(--mute,#6B6E73)!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:12px 20px;border:0;border-bottom:1px solid var(--line,#E4E4E0)}
body#p_order .container form table.altrows td{padding:20px;vertical-align:top;background:#fff!important;border-bottom:1px solid var(--line,#E4E4E0);font-size:14px;line-height:1.55;color:var(--ink-2,#4A4A47)}
body#p_order .container form table.altrows tr:last-child td{border-bottom:0}
body#p_order .container form table.altrows td:first-child{width:200px;padding-right:0}
body#p_order .container form table.altrows td:first-child img{width:180px!important;max-width:100%;height:auto;border-radius:12px;display:block;border:1px solid var(--line,#E4E4E0)}
body#p_order .container form table.altrows td:nth-child(2) > b:first-child{display:block;font-size:17px;font-weight:800;color:var(--ink,#151719);letter-spacing:-.01em;line-height:1.25;margin-bottom:6px}
body#p_order .container form table.altrows td:nth-child(2) b{color:var(--ink,#151719)}
body#p_order .container form table.altrows td:nth-child(3){white-space:nowrap;font-family:var(--mono,'IBM Plex Mono',monospace);font-size:18px;font-weight:600;color:var(--ink,#151719);text-align:right}
body#p_order .container form table.altrows td:nth-child(4){text-align:right;width:96px}
body#p_order .container form table.altrows select{height:44px;min-width:76px;padding:0 34px 0 14px;border:1.5px solid var(--ink,#151719);border-radius:12px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23151719' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 12px center;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:15px;font-weight:800;color:var(--ink,#151719);appearance:none;-webkit-appearance:none;cursor:pointer}
/* note + button row */
body#p_order > .container:has(> form table.altrows) form > p{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin:18px 0 0;text-align:right}
body#p_order > .container:has(> form table.altrows) form > p .s{font-size:12.5px;color:var(--ink-3,#8A8A85);font-weight:500}
body#p_order > .container:has(> form table.altrows) form > p input[type=submit]{height:56px;padding:0 28px;border:0!important;border-radius:999px!important;background:var(--red,#E10600)!important;color:#fff!important;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:16px;font-weight:800;cursor:pointer;box-shadow:none;margin:0}
body#p_order > .container:has(> form table.altrows) form > p input[type=submit]:hover{background:var(--red-dk,#B80500)!important}
@media (max-width:860px){
  body#p_order > .container:has(> form table.altrows){padding:16px 16px 40px}
  body#p_order > .container:has(> form table.altrows) > h3{font-size:26px}
  body#p_order .container form table.altrows,body#p_order .container form table.altrows tbody,body#p_order .container form table.altrows tr,body#p_order .container form table.altrows td{display:block;width:auto}
  body#p_order .container form table.altrows tr:first-child{display:none}
  body#p_order .container form table.altrows tr{padding:16px;border-bottom:1px solid var(--line,#E4E4E0)}
  body#p_order .container form table.altrows td{padding:0 0 12px;border:0}
  body#p_order .container form table.altrows td:first-child{width:auto}
  body#p_order .container form table.altrows td:nth-child(3),body#p_order .container form table.altrows td:nth-child(4){display:inline-block;width:49%;text-align:left;padding-bottom:0}
  body#p_order .container form table.altrows td:nth-child(4){text-align:right}
  body#p_order > .container:has(> form table.altrows) form > p{flex-direction:column-reverse;align-items:stretch;text-align:left}
}

/* ==========================================================================
   Receipt / Order Complete page (body#p_receipt) — CSS-only redesign.
   Engine markup (unchanged): .content > .bcTrail, h3, p(intro), p>b "Ticket Purchase
   Confirmation" + table.padding3, br, p>b "Transaction Information" + table[width=100%],
   p "Customer Information", p "Payment Method", p[style*=c00] warning, p "E-Tickets" + link,
   p>img (legacy logo), div[style*=f90] share box, awin pixel.
   The browser closes <p> before <table>, so headings and tables are siblings; the p.b heading
   is styled as the card top and the following table as the card body.
   ========================================================================== */
html:has(body#p_receipt){background:var(--ground,#F3F3F1)}
body#p_receipt{font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);background:var(--ground,#F3F3F1);color:var(--ink,#151719);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
body#p_receipt .content{background:transparent!important;display:flex;flex-direction:column;max-width:760px;margin:32px auto 80px;padding:0 20px;box-sizing:border-box;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719)}
body#p_receipt .content::after,body#p_receipt .content::before{display:none}
body#p_receipt .content > *{order:10}
body#p_receipt .content > p,body#p_receipt .content > table{margin:0;font-size:15px;line-height:1.5;color:var(--ink-2,#4A4A47)}
body#p_receipt .content > br,body#p_receipt .content > img,body#p_receipt .content > p:has(> img[src*="logo"]),body#p_receipt .content > p:not(:has(*)):empty{display:none}
body#p_receipt .content b{color:var(--ink,#151719);font-weight:700}
/* crumbs */
body#p_receipt .content > .bcTrail{order:0;display:block!important;font-size:12.5px;font-weight:600;color:var(--ink-3,#8A8A85);margin:0 0 16px;padding:0;background:none;text-align:left}
body#p_receipt .content > .bcTrail::before{display:none}
body#p_receipt .content > .bcTrail a,body#p_receipt .content > .bcTrail a:link,body#p_receipt .content > .bcTrail a:visited{color:var(--ink-2,#4A4A47);text-decoration:none}
body#p_receipt .content > .bcTrail a:hover{color:var(--red,#E10600)}
/* success hero: h3 + intro p become one dark card */
body#p_receipt .content > h3{order:1;position:relative;margin:0;padding:30px 32px 0 100px;background:var(--ink,#151719);color:#fff;border-radius:20px 20px 0 0;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-transform:none;min-height:60px}
body#p_receipt .content > h3::before{content:"";position:absolute;left:32px;top:28px;width:52px;height:52px;border-radius:50%;background:#22C55E;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:26px;box-shadow:0 0 0 6px rgba(34,197,94,.18);float:none}
body#p_receipt .content > h3::after{content:"Order confirmation";display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9A9A95;margin:0 0 8px;order:-1}
html[lang="es"] body#p_receipt .content > h3::after{content:"Confirmación de pedido"}
body#p_receipt .content > h3{display:flex;flex-direction:column}
body#p_receipt .content > h3 + p{order:2;margin:0 0 20px;padding:8px 32px 30px 100px;background:var(--ink,#151719);color:#C9C9C4;border-radius:0 0 20px 20px;font-size:15px;font-weight:500}
/* generic card pieces */
body#p_receipt .content > p:has(> b:first-child){background:#fff;border:1px solid var(--line,#E4E4E0);border-radius:18px;padding:22px 24px;margin:0 0 16px;box-shadow:0 1px 2px rgba(21,23,25,.05)}
body#p_receipt .content > p:has(> b:first-child) > b:first-child + br{display:none}
body#p_receipt .content > p:has(> b:first-child) > b:first-child{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3,#8A8A85);margin-bottom:8px}
/* heading that precedes a table = card top; the table = card body */
body#p_receipt .content > p:has(> b:first-child):has(+ table){border-bottom:0;border-radius:18px 18px 0 0;padding-bottom:0;margin:0;box-shadow:none}
body#p_receipt .content > p:has(> b:first-child):has(+ table) > b:first-child{font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--ink,#151719);margin:0 0 14px}
body#p_receipt .content > p:has(> b:first-child):has(+ table) > br{display:none}
body#p_receipt .content > table{width:100%!important;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line,#E4E4E0);border-top:0;border-radius:0 0 18px 18px;margin:0 0 16px;box-shadow:0 1px 2px rgba(21,23,25,.05);overflow:hidden;table-layout:auto}
body#p_receipt .content > table tr,body#p_receipt .content > table td,body#p_receipt .content > table th{background:transparent!important}
/* confirmation table (label / value) */
body#p_receipt .content > table:not([width]) td{padding:10px 24px;font-size:14.5px;line-height:1.4;border-top:1px solid var(--line,#E4E4E0);vertical-align:top;color:var(--ink,#151719);font-weight:600}
body#p_receipt .content > table:not([width]) td:first-child{width:38%;color:var(--mute,#6B6E73);font-weight:500;padding-right:12px}
body#p_receipt .content > table:not([width]) tr:has(> td:only-child){display:none}
body#p_receipt .content > table:not([width]) tr:last-child td:last-child{padding-bottom:20px}
body#p_receipt .content > table:not([width]) td a,body#p_receipt .content > table:not([width]) td a:link,body#p_receipt .content > table:not([width]) td a:visited{color:var(--red,#E10600);text-decoration:none;font-weight:700}
body#p_receipt .content > table:not([width]) td a:hover{text-decoration:underline;text-underline-offset:2px}
/* transaction table */
body#p_receipt .content > table[width] th{background:var(--ink,#151719)!important;color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px;border:0;text-align:right;white-space:nowrap}
body#p_receipt .content > table[width] th:first-child{text-align:left;padding-left:24px}
body#p_receipt .content > table[width] th:last-child{padding-right:24px}
body#p_receipt .content > table[width] td{padding:13px 18px;font-size:14px;line-height:1.45;border-bottom:1px solid var(--line,#E4E4E0);vertical-align:top;color:var(--ink-2,#4A4A47);text-align:right;white-space:nowrap;font-family:var(--mono,'IBM Plex Mono',monospace);font-weight:500}
body#p_receipt .content > table[width] td:first-child{text-align:left;padding-left:24px;white-space:normal;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719);font-weight:600;width:auto}
body#p_receipt .content > table[width] td:last-child{padding-right:24px;color:var(--ink,#151719);font-weight:600}
body#p_receipt .content > table[width] td[align="center"]{text-align:center}
body#p_receipt .content > table[width] tr:last-child td{border-bottom:0}
body#p_receipt .content > table[width] tr:has(> td[colspan]) td{background:var(--gray,#F8F8F6)!important;padding-top:16px;padding-bottom:18px;font-size:17px;color:var(--ink,#151719)}
body#p_receipt .content > table[width] tr:has(> td[colspan]) td[colspan]{font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute,#6B6E73);text-align:right}
body#p_receipt .content > table[width] tr:has(> td[colspan]) td b{font-weight:700;color:inherit}
/* customer + payment: two halves of one card */
body#p_receipt .content > p:has(+ p + p[style*="c00"]){border-radius:18px 18px 0 0;border-bottom:0;margin:0;padding-bottom:18px;line-height:1.6;font-weight:600;color:var(--ink,#151719)}
body#p_receipt .content > p:has(+ p[style*="c00"]){border-radius:0 0 18px 18px;border-top:1px solid var(--line,#E4E4E0);padding-top:18px}
body#p_receipt .content > p:has(+ p[style*="c00"]) > b:first-child{display:block;margin-bottom:6px}
body#p_receipt .content > p:has(+ p[style*="c00"]) a,body#p_receipt .content > p:has(+ p[style*="c00"]) a:link{color:var(--ink,#151719);font-weight:700;text-decoration:none;border-bottom:2px solid var(--line-2,#D9D9D5)}
body#p_receipt .content > p:has(+ p[style*="c00"]) a:hover{border-color:var(--red,#E10600)}
body#p_receipt .content > p a.__cf_email__{color:inherit;text-decoration:none}
/* the red all-caps warning → notice */
body#p_receipt .content > p[style*="c00"],body#p_receipt .content > p[style*="c00"]:has(> b:first-child){order:10;margin:16px 0;padding:14px 18px 14px 50px;position:relative;background:var(--red-soft,#FDECEB);border:1px solid #F7C9C6;border-radius:14px;color:var(--red-dk,#B80500)!important;font-size:12.5px;line-height:1.5;letter-spacing:.01em}
body#p_receipt .content > p[style*="c00"] b,body#p_receipt .content > p[style*="c00"]:has(> b:first-child) > b:first-child{display:inline;color:inherit;font-weight:700;font-size:inherit;letter-spacing:inherit;text-transform:none;margin:0}
body#p_receipt .content > p[style*="c00"]::before{content:"!";position:absolute;left:18px;top:14px;width:22px;height:22px;border-radius:50%;background:var(--red,#E10600);color:#fff;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1}
/* E-Tickets card → primary action, pulled up right under the hero */
body#p_receipt .content > p:has(> a[href*="tickets"]){order:3;border-color:var(--ink,#151719);border-width:1.5px;padding:24px 26px;margin:0 0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;box-shadow:0 1px 2px rgba(21,23,25,.06),0 16px 40px -16px rgba(21,23,25,.18)}
body#p_receipt .content > p:has(> a[href*="tickets"]) > b:first-child{flex:1 0 100%;color:var(--red,#E10600)}
body#p_receipt .content > p:has(> a[href*="tickets"]) > br{display:none}
body#p_receipt .content > p:has(> a[href*="tickets"]) > a,body#p_receipt .content > p:has(> a[href*="tickets"]) > a:link,body#p_receipt .content > p:has(> a[href*="tickets"]) > a:visited{flex:none;margin-left:auto;font-size:0!important;line-height:0;color:#fff;height:auto!important;display:inline-flex;align-items:center;gap:10px;background:var(--red,#E10600);border-radius:12px;padding:0 22px;height:48px!important;text-decoration:none;box-shadow:0 8px 20px -8px rgba(225,6,0,.55);transition:background .15s,transform .15s;max-width:100%;overflow:hidden}
body#p_receipt .content > p:has(> a[href*="tickets"]) > a::before{content:"";width:18px;height:18px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v1a2 2 0 0 0 0 4v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-1a2 2 0 0 0 0-4z'/%3E%3Cpath d='M13 7v10'/%3E%3C/svg%3E") center/contain no-repeat}
body#p_receipt .content > p:has(> a[href*="tickets"]) > a::after{content:"View my e-tickets";font-size:15px;font-weight:700;line-height:1;letter-spacing:-.01em;white-space:nowrap}
html[lang="es"] body#p_receipt .content > p:has(> a[href*="tickets"]) > a::after{content:"Ver mis boletos electrónicos"}
body#p_receipt .content > p:has(> a[href*="tickets"]) > a:hover{background:var(--red-dk,#B80500);transform:translateY(-1px)}
body#p_receipt .content > p:has(> a[href*="tickets"]){font-size:14.5px;color:var(--ink-2,#4A4A47);line-height:1.5}
/* legacy orange share box → card */
body#p_receipt .content > div[style*="f90"]{order:20;margin:8px 0 0!important;padding:26px 24px!important;border:1px dashed var(--line-2,#D9D9D5)!important;border-radius:18px;background:#fff;text-align:center!important;color:var(--ink-2,#4A4A47);font-size:14px}
body#p_receipt .content > div[style*="f90"] > b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--ink,#151719);margin-bottom:12px}
body#p_receipt .content > div[style*="f90"] > br{display:none}
body#p_receipt .content > div[style*="f90"] .fb-share-button{display:inline-block;vertical-align:middle}
@media print{
  body#p_receipt header,body#p_receipt footer,body#p_receipt .top,body#p_receipt .content > .bcTrail,body#p_receipt .content > div[style*="f90"]{display:none!important}
  body#p_receipt .content > h3,body#p_receipt .content > h3 + p{background:#fff;color:#000;border:1px solid #000}
}
@media (max-width:640px){
  body#p_receipt .content{margin:12px auto 56px;padding:0 16px}
  body#p_receipt .content > h3{font-size:24px;padding:24px 20px 0 20px;min-height:0}
  body#p_receipt .content > h3::before{position:static;display:block;width:44px;height:44px;background-size:22px;margin-bottom:14px;box-shadow:0 0 0 5px rgba(34,197,94,.18)}
  body#p_receipt .content > h3 + p{padding:8px 20px 22px 20px;font-size:14px}
  body#p_receipt .content > p:has(> b:first-child){padding:18px 18px}
  body#p_receipt .content > p:has(> a[href*="tickets"]) > a{margin:14px 0 0;width:100%;justify-content:center}
  body#p_receipt .content > table:not([width]) td{padding:9px 18px;display:block;border-top:0}
  body#p_receipt .content > table:not([width]) td:first-child{width:auto;padding-bottom:0;border-top:1px solid var(--line,#E4E4E0);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
  body#p_receipt .content > table:not([width]) tr{display:block}
  body#p_receipt .content > table[width],body#p_receipt .content > table[width] tbody{display:block;width:100%}
  body#p_receipt .content > table[width] tr{display:grid;grid-template-columns:minmax(0,1fr) 40px 84px;align-items:start;border-bottom:1px solid var(--line,#E4E4E0)}
  body#p_receipt .content > table[width] tr:last-child{border-bottom:0}
  body#p_receipt .content > table[width] th,body#p_receipt .content > table[width] td{display:block;border:0;padding-left:8px;padding-right:8px;font-size:13px}
  body#p_receipt .content > table[width] th:nth-child(3),body#p_receipt .content > table[width] td:nth-child(3):not([colspan]){display:none}
  body#p_receipt .content > table[width] th:first-child,body#p_receipt .content > table[width] td:first-child{padding-left:18px}
  body#p_receipt .content > table[width] th:last-child,body#p_receipt .content > table[width] td:last-child{padding-right:18px}
  body#p_receipt .content > table[width] tr:has(> td[colspan]){grid-template-columns:minmax(0,1fr) auto;align-items:baseline;background:var(--gray,#F8F8F6)}
  body#p_receipt .content > table[width] tr:has(> td[colspan]) td{font-size:16px;background:transparent!important}
  body#p_receipt .content > table:not([width]) tr:last-child td:last-child{padding-bottom:18px}
}


/* ==========================================================================
   boletos.com — event page ("events" template)
   Adapted from the MegaFest event design. Namespaced .ev-*; the engine's own
   markup ([ticket_table], [event_cal], [seatmap], #description) is restyled
   through its existing ids/classes.
   ========================================================================== */
:root{--ev-green:#0B7A3B;--ev-green-soft:#E8F5EC;--ev-shadow:0 1px 2px rgba(21,23,25,.06),0 16px 40px -16px rgba(21,23,25,.28)}
body#p_events,body#p_event{background:var(--ground,#F3F3F1)}
#p_events #main,#p_event #main,#p_events #sidebar,#p_event #sidebar{background:transparent;width:auto;float:none;padding:0;margin:0}
.ev-hero *,.ev-tickets *,.ev-details *,.ev-videos *,.ev-band *,.ev-mcta *{box-sizing:border-box}
.ev-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B6E73)}
h2.ev-sec{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--ink)}
.ev-hero .btn-red,.ev-mcta .btn-red,.ev-hero a.btn-red:link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:14px;background:var(--red);border:1.5px solid var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:15px;line-height:1;white-space:nowrap}
.ev-hero .btn-red:hover,.ev-mcta .btn-red:hover{background:var(--red-dk,#B80500);border-color:var(--red-dk,#B80500);color:#fff}

/* the engine prints its own breadcrumb before the template; the hero has one */
body > .content > .bcTrail:has(+ #eventdetails),body > .content > .bcTrail:has(+ .ev-hero){display:none}

/* ---- hero ---- */
.ev-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;padding:0}
.ev-hero-bg{position:absolute;inset:-40px;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(40px) saturate(1.1);opacity:.5;z-index:-2}
.ev-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,23,25,.55),rgba(21,23,25,.92) 70%,var(--ink));z-index:-1}
.ev-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:48px;padding-bottom:56px}
.ev-crumbs{font-size:12.5px;color:#A8A7A1;display:flex;gap:8px;flex-wrap:wrap}
.ev-crumbs a,.ev-crumbs a:link,.ev-crumbs a:visited{text-decoration:none;color:inherit}.ev-crumbs a:hover{color:#fff}
.ev-presents{color:#A8A7A1;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:22px}
.ev-presents:empty{display:none}
#eventdetails.ev-hero h1{margin:14px 0 6px;font-size:clamp(38px,6vw,72px);line-height:.96;font-weight:800;letter-spacing:-.035em;text-transform:uppercase;color:#fff;text-wrap:balance}
#eventdetails.ev-hero h2.ev-sub{margin:0;font-size:17px;color:#E8E8E4;font-weight:600;text-transform:none}
.ev-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ev-pills > div{display:inline-flex;align-items:center;height:auto;line-height:1.2;margin:0;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;width:auto}
.ev-pills > div:empty{display:none}
.ev-pills .ev-status{background:var(--red);border-color:var(--red)}
.ev-pills .ev-status.status_{display:none}
.ev-pills #age_restrictions{background:rgba(255,255,255,.08);color:#fff}
.ev-when{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
/* [event_cal] → div.calendar > .cal_month / .cal_date / .cal_time */
.ev-date .calendar{display:grid;width:max-content;justify-content:start;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding-right:20px;border-right:1px solid rgba(255,255,255,.14);background:none;border-radius:0;width:auto;margin:0;text-align:left;color:#fff}
.ev-date .cal_date{grid-row:1/3;font-size:56px;font-weight:800;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;background:none;color:#fff;padding:0;margin:0}
.ev-date .cal_month{font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;background:none;color:#fff;padding:0;margin:0;align-self:end;line-height:1.05}
.ev-date .cal_time{font-weight:600;font-size:12px;color:#A8A7A1;letter-spacing:.06em;background:none;padding:0;margin:0;align-self:start;line-height:1.05}
.ev-times,#event_date_time.ev-times{font-family:inherit;font-size:14.5px;display:flex;flex-direction:column;gap:4px;font-size:14.5px;margin:0}
.ev-times .day{font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:13px;color:#fff}
.ev-times .ev-row{display:flex;gap:14px;color:#A8A7A1;flex-wrap:wrap}
.ev-times .ev-row b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.ev-where{margin-top:18px;display:flex;gap:12px;align-items:flex-start}
.ev-where svg{width:18px;height:18px;flex:none;color:var(--red);margin-top:3px}
.ev-where #event_location{margin:0;font-size:14px;color:#A8A7A1;line-height:1.5}
.ev-where #event_location:first-line{font-weight:800;font-size:16px;color:#fff}
.ev-where a.ev-directions,.ev-where a.ev-directions:link{color:#fff;font-weight:600;font-size:13.5px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);display:inline-block;margin-top:4px}
.ev-where a.ev-directions:hover{border-color:#fff}
.ev-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}
.ev-share{display:flex;gap:6px;align-items:center}
.ev-share span{font-size:12px;color:#A8A7A1;font-weight:600;margin-right:4px}
.ev-share a,.ev-share button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:#fff;background:transparent;cursor:pointer;text-decoration:none;padding:0}
.ev-share a:hover,.ev-share button:hover{background:rgba(255,255,255,.1);color:#fff}
.ev-share button.done{background:var(--ev-green);border-color:var(--ev-green)}
.ev-share svg{width:16px;height:16px}
.ev-poster{position:relative;justify-self:end;width:100%;max-width:420px}
.ev-poster img.event_image{display:block;width:100%;height:auto;min-width:0;margin:0;border-radius:16px;border:0;padding:0;background:none;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08)}
@media (max-width:900px){.ev-hero-grid{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:40px}.ev-poster{justify-self:start;max-width:360px;order:-1}}
@media (max-width:520px){.ev-date .cal_date{font-size:46px}.ev-when{grid-template-columns:1fr}.ev-date .calendar{border-right:0;padding-right:0}.ev-cta .btn-red{width:100%}}

/* ---- tickets ---- */
.ev-tickets{background:var(--ground,#F3F3F1);padding:36px 0 48px}
.ev-t-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.ev-steps{display:flex;gap:16px;flex-wrap:wrap}
.ev-steps > span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--mute,#6B6E73)}
.ev-steps b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:800}
.ev-t-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}
.ev-t-grid:not(:has(.ev-map-card)){grid-template-columns:minmax(0,760px)}
#tickets_and_map{display:block;min-width:0}
/* the engine's ticket table → card */
.ev-tickets body #ticket_table,.ev-tickets #ticket_table{float:none;width:100%;margin:0;min-width:0;max-width:100%}
.ev-tickets #ticket_table .content,.ev-tickets #ticket_table form{background:#fff;border-radius:18px;box-shadow:var(--ev-shadow);overflow:hidden;border:0;padding:0;margin:0}
.ev-tickets #ticket_table form{box-shadow:none;border-radius:0;overflow:visible}
.ev-tickets #ticket_table .content{padding-bottom:0}
.ev-tickets #ticket_table table{border:0!important;width:100%;border-radius:0;border-collapse:collapse;font-size:15px}
.ev-tickets #ticket_table td,.ev-tickets #ticket_table th{padding:16px 20px;font-size:15px;border-bottom:1px solid var(--line,#E4E4E1);vertical-align:middle}
.ev-tickets #ticket_table tr:last-child td{border-bottom:0}
.ev-tickets #ticket_table td.vt_subhead,.ev-tickets #ticket_table .vt_subhead td{background:var(--gray,#F8F8F6);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute,#6B6E73);padding:12px 20px}
.ev-tickets #ticket_table .vt_subhead label{font-weight:700}
.ev-tickets #ticket_table .vt_light,.ev-tickets #ticket_table .vt_dark{background:#fff}
.ev-tickets #ticket_table .highlighted,.ev-tickets #ticket_table .vt_light.highlighted,.ev-tickets #ticket_table .vt_dark.highlighted{background:#FFF1F0}
.ev-tickets #ticket_table td:first-child{font-weight:800;color:var(--ink)}
.ev-tickets #ticket_table td label,.ev-tickets #ticket_table td small,.ev-tickets #ticket_table td em{white-space:normal;display:inline}
.ev-tickets #ticket_table table{max-width:100%}
.ev-tickets #ticket_table td.vt_subhead,.ev-tickets #ticket_table td[colspan]{width:auto}
.ev-tickets #ticket_table td:first-child label{font-weight:800}
.ev-tickets #ticket_table .vt_price_cell{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:600;font-size:17px;white-space:nowrap;text-align:right}
.ev-tickets #ticket_table .vt_input_cell{text-align:right;white-space:nowrap}
.ev-tickets #ticket_table .vt_any{color:var(--mute,#6B6E73)}
.ev-tickets #ticket_table input[type=radio]{width:18px;height:18px;accent-color:var(--red);margin-right:8px;vertical-align:-3px}
.ev-tickets #ticket_table .vt_input_cell input[type=number],.ev-tickets #ticket_table .vt_input_cell select{width:60px;height:40px;padding:0 8px;text-align:center;border:0;border-radius:0;font-weight:800;font-size:15px;background:#fff;color:var(--ink);box-shadow:none;margin:0;font-family:inherit;appearance:textfield;-moz-appearance:textfield}
.ev-tickets #ticket_table .vt_input_cell input[type=number]::-webkit-outer-spin-button,.ev-tickets #ticket_table .vt_input_cell input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ev-tickets #ticket_table .vt_input_cell select{appearance:none;-webkit-appearance:none;padding:0 6px;width:52px}
.ev-tickets .ev-qty{display:inline-flex;align-items:center;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;overflow:hidden;background:#fff;vertical-align:middle}
.ev-tickets #ticket_table .ev-qty button,.ev-tickets .content .ev-qty button{appearance:none;border:0!important;background:transparent;width:38px;height:40px;font:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;padding:0!important;border-radius:0;line-height:1;box-shadow:none}
.ev-tickets #ticket_table .ev-qty button:hover{background:var(--gray,#F3F3F1);color:var(--ink)}
.ev-tickets .soldout{width:auto;padding:6px 10px;border-radius:999px;background:var(--gray,#F3F3F1);border:0;color:var(--mute,#6B6E73);font-size:11px;letter-spacing:.06em}
/* buy bar */
.ev-tickets #buy_border,.ev-tickets #ticket_table #buy_border{border:0;border-top:1px solid var(--line,#E4E4E1);background:var(--gray,#F8F8F6);padding:16px 20px;margin:0;text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.ev-tickets #buy_text{float:none;margin:0 auto 0 0;font-size:13px;color:var(--mute,#6B6E73)}
.ev-tickets .content input[type=submit],.ev-tickets #ticket_table input[type=submit],body .ev-tickets .content input[type=submit]{background:var(--red)!important;border:1.5px solid var(--red)!important;color:#fff!important;border-radius:14px!important;padding:14px 24px!important;font-size:15px;font-weight:700;line-height:1;height:auto!important;box-shadow:none}
.ev-tickets .content input[type=submit]:hover,body .ev-tickets .content input[type=submit]:hover{background:var(--red-dk,#B80500)!important;border-color:var(--red-dk,#B80500)!important;color:#fff}
.ev-tickets .content button,body .ev-tickets .content button{background:#fff;border:1.5px solid var(--line,#E4E4E1);color:var(--ink);border-radius:12px;padding:12px 16px!important;font-size:14px;font-weight:700;height:auto!important;box-shadow:none}
.ev-tickets .content button:hover,body .ev-tickets .content button:hover{border-color:var(--ink);background:#fff;color:var(--ink)}
.ev-tickets .content input[type=text]{height:44px;padding:0 14px;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;font-weight:600}
.ev-tickets .countdown{padding:16px 20px 20px;text-align:left;display:flex;gap:8px;flex-wrap:wrap}
.ev-tickets .countdown > div{margin:0;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line,#E4E4E1);color:var(--ink);font-size:24px;font-family:'IBM Plex Mono',ui-monospace,monospace;background:#fff;min-width:64px}
.ev-tickets .countdown > div:before{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--mute,#6B6E73);margin-bottom:4px}
.ev-tickets .coming_soon{background:var(--ink);border:0;border-radius:12px;padding:12px 16px;margin:16px 20px}
.ev-tickets p{margin:0}
.ev-tickets #ticket_table p{padding:14px 20px;margin:0;font-size:14px;color:var(--mute,#6B6E73)}
.ev-tickets #ticket_table .notice,.ev-tickets #ticket_table .warning{padding:14px 20px;margin:0;text-align:left}
.ev-map-card{background:#fff;border-radius:18px;box-shadow:var(--ev-shadow);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.ev-map-card h3{margin:0;font-size:14px;font-weight:800;text-transform:none;color:var(--ink)}
.ev-map-card #venue_map,.ev-map-card #venue_map > *{max-width:100%}
.ev-map-card #venue_map img,.ev-map-card #venue_map iframe{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line,#E4E4E1)}
.ev-map-card #venue_map iframe{aspect-ratio:4/3;height:auto}
.ev-fine{margin:14px 0 0;font-size:12.5px;color:var(--mute,#6B6E73)}
/* seat map events — panel chrome only; the map, seats and legend colours stay the engine's */
.ev-t-p{margin:4px 0 0;color:var(--mute,#6B6E73);font-size:14px;max-width:60ch}
.ev-seatmap-box{background:#fff;border-radius:18px;box-shadow:var(--ev-shadow);padding:6px 18px 18px;overflow:hidden}
.ev-seatmap-box #seatmap h2{font-size:18px;font-weight:800;letter-spacing:-.02em;text-transform:none;margin:0;padding-top:6px;font-family:inherit;text-align:left!important;color:var(--ink)}
.ev-seatmap-box #legend{font-family:inherit;font-weight:600;font-size:11.5px;color:var(--ink)}
.ev-seatmap-box #legend > span{color:var(--ink)!important;font-size:11.5px}
.ev-seatmap-box .seatmap-window{border:1px solid var(--line,#E4E4E1);border-radius:14px}
.ev-seatmap-box .seatmap-controller .seatmap-tickets{border:1px solid var(--line,#E4E4E1);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.ev-seatmap-box #selection{border:0;font-family:inherit}
.ev-seatmap-box #selection > form{border:0}
.ev-seatmap-box #selection h3{font-size:13px;font-weight:700;letter-spacing:.02em;background:var(--gray,#F8F8F6);color:var(--mute,#6B6E73);padding:13px 14px;border-bottom:1px solid var(--line,#E4E4E1);font-family:inherit;text-transform:none;margin:0}
.ev-seatmap-box #selection h3.active{background:var(--ink);color:#fff;border-bottom-color:var(--ink)}
.ev-seatmap-box #selection th{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute,#6B6E73);background:transparent;padding:10px 8px;border-bottom:1px solid var(--line,#E4E4E1)}
.ev-seatmap-box #selection td{font-size:13px;padding:8px}
.ev-seatmap-box #selection #selectionForm tr:nth-child(even){background:var(--gray,#F8F8F6)}
.ev-seatmap-box #selection .browse_filters{background:var(--gray,#F8F8F6);border-bottom:1px solid var(--line,#E4E4E1);gap:12px;flex-wrap:wrap;padding:10px 12px}
.ev-seatmap-box #selection .browse_filters label{font-size:11px;letter-spacing:.08em}
.ev-seatmap-box #selection select{font-family:inherit;font-size:13px;border:1px solid var(--line,#E4E4E1);border-radius:8px;background:#fff;padding:5px 26px 5px 8px;height:auto}
.ev-seatmap-box #selection .fees{color:var(--mute,#6B6E73);font-family:'IBM Plex Mono',monospace}
.ev-seatmap-box #selection #checkout_panel{border-top:1px solid var(--line,#E4E4E1)}
.ev-seatmap-box #checkout{padding:12px}
.ev-seatmap-box #checkout input[type=submit],body .ev-seatmap-box #selection + #checkout input,body .ev-seatmap-box .content input[type=submit]{appearance:none;width:100%;border:0!important;border-radius:12px!important;background:var(--red)!important;color:#fff!important;font:inherit;font-weight:800;font-size:15px;letter-spacing:.01em;padding:14px 18px!important;cursor:pointer;margin:0!important;height:auto!important}
.ev-seatmap-box #checkout input[type=submit]:hover{background:var(--red-dk,#B80500)!important}
.ev-seatmap-box #checkout input:disabled{background:var(--ground,#F3F3F1)!important;color:var(--mute,#6B6E73)!important;border:1px solid var(--line,#E4E4E1)!important}
.ev-seatmap-box #selection #orphan_warning{border-left:3px solid var(--red);background:#FFF1F0;color:var(--red-dk,#B80500);font-weight:600}
.ev-seatmap-box #selection #no_seats_warning{background:var(--gray,#F8F8F6);color:var(--mute,#6B6E73)}
.ev-seatmap-box #selection #browse_seat_table tbody td{padding:10px 8px}
.ev-seatmap-box .seatmap-buttons button{background:#fff;border:1px solid var(--line,#E4E4E1)!important;box-shadow:0 2px 6px rgba(0,0,0,.08);color:var(--ink);font-weight:800;border-radius:8px}
.ev-seatmap-box .seatmap-preview{border-color:var(--line,#E4E4E1);border-radius:6px}
.ev-seatmap-box #map > #seat_details > #seat_details_heading{background:var(--ink);border-radius:6px;padding:4px 8px}
.ev-seatmap-box #map > #seat_details{font-family:inherit;border-color:var(--line,#E4E4E1);box-shadow:var(--ev-shadow)}
.ev-seatmap-box #seat_map{margin:0 auto 17px}
@media (max-width:900px){.ev-t-grid{grid-template-columns:1fr}.ev-t-grid:not(:has(.ev-map-card)){grid-template-columns:1fr}}
@media (max-width:659px){.ev-tickets #tickets_and_map #ticket_table{min-width:0}.ev-tickets #ticket_table td,.ev-tickets #ticket_table th{padding:12px 14px;font-size:14px}.ev-tickets #buy_border{padding:14px}.ev-tickets .content input[type=submit]{width:100%}.ev-tickets #ticket_table .ev-qty button{width:30px;height:36px}.ev-tickets #ticket_table .vt_input_cell input[type=number],.ev-tickets #ticket_table .vt_input_cell select{width:40px;height:36px}.ev-tickets #ticket_table .vt_price_cell{font-size:15px}}


/* ---- promo code (engine prints "Promo Code: <input type=text>" inside the ticket table, as a <p>/<label>/<div>) ---- */
.ev-tickets #ticket_table p:has(> input[type=text]),.ev-tickets #ticket_table label:has(> input[type=text]),.ev-tickets #ticket_table div:has(> input[type=text]):not(.content):not(#buy_border){display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;margin:0;border-top:1px solid var(--line,#E4E4E1);background:var(--gray,#F8F8F6);font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.ev-tickets #ticket_table input[type=text],.ev-tickets #tickets_and_map input[type=text],.ev-tickets .content input[type=text]{height:44px;width:200px;max-width:100%;padding:0 14px;margin:0;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;background:#fff;color:var(--ink);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:none;outline:0}
.ev-tickets #ticket_table input[type=text]:focus,.ev-tickets .content input[type=text]:focus{border-color:var(--ink);box-shadow:none}
.ev-tickets #ticket_table input[type=text]::placeholder{text-transform:none;letter-spacing:0;font-family:inherit;font-weight:500;color:var(--mute,#6B6E73)}
/* section/class heading rows the engine prints as <th> or a coloured subhead */
.ev-tickets #ticket_table th,.ev-tickets .content th{background:var(--ink)!important;color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:12px 20px;border:0}
.ev-tickets #ticket_table .vt_price_cell small,.ev-tickets #ticket_table .vt_price_cell span{display:block;font-size:12px;font-weight:500;color:var(--mute,#6B6E73);letter-spacing:0}
@media (max-width:659px){.ev-tickets #ticket_table input[type=text]{width:100%}}

/* ---- details ---- */
.ev-details{background:#fff;padding:52px 0}
.ev-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px;align-items:start}
.ev-card{background:var(--gray,#F8F8F6);border:1px solid var(--line,#E4E4E1);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.ev-card h3{margin:0;font-size:15px;font-weight:800;display:flex;align-items:center;gap:10px;text-transform:none;color:var(--ink)}
.ev-card h3 svg{width:18px;height:18px;color:var(--red);flex:none}
.ev-card p{margin:0;font-size:14px;color:var(--ink)}
.ev-card p.m{color:var(--mute,#6B6E73);font-size:13px}
.ev-card .ev-venue-text:first-line{font-weight:800}
.ev-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
.ev-dl dt{color:var(--mute,#6B6E73);font-weight:600}
.ev-dl dd{margin:0;font-weight:600;color:var(--ink)}
.ev-card a.lnk,.ev-card a.lnk:link{color:var(--red);font-weight:700;text-decoration:none;font-size:14px}
.ev-card a.lnk:hover{text-decoration:underline}
.ev-tips{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--ink)}
.ev-tips li{display:flex;gap:10px;align-items:flex-start}
.ev-tips li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ev-green);flex:none;margin-top:7px}
.ev-tips a{color:var(--ink);text-decoration:underline}
.ev-desc{margin-top:22px;background:#fff}
.ev-desc-t{width:100%;border-collapse:collapse;table-layout:fixed}
.ev-desc-t td{padding:0;border:0;vertical-align:top;background:transparent}
.ev-desc-t td > *{max-width:100%}
.ev-desc #description iframe{max-width:100%}
.ev-desc #description{margin:0;clear:none;font-size:15px;line-height:1.6;color:var(--ink)}
.ev-desc #description img{border-radius:12px}
.ev-desc #description p{font-size:15px;margin:0 0 12px}
@media (max-width:900px){.ev-grid3{grid-template-columns:1fr}}


/* ---- lineup card ---- */
.ev-acts{display:flex;flex-direction:column;gap:8px}
.ev-acts .act,.ev-acts a.act,.ev-acts a.act:link{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line,#E4E4E1);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.ev-acts a.act:hover{border-color:var(--ink)}
.ev-acts .av{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#fff;flex:none;letter-spacing:.02em}
.ev-acts .av-red{background:var(--red)}
.ev-acts .av-ink{background:var(--ink);font-size:20px}
.ev-acts .av-ink2{background:var(--ink)}
.ev-acts .act > div{min-width:0}
.ev-acts .act b{display:block;font-weight:800;font-size:15px;line-height:1.2;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.ev-acts .act > div > span{display:block;color:var(--mute,#6B6E73);font-size:13.5px;margin-top:2px}
.ev-lineup p.m a{color:var(--ink);text-decoration:underline}

/* ---- videos ---- */
.ev-videos{background:var(--ground,#F3F3F1);padding:48px 0}
.ev-vgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.ev-vid{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:var(--ev-shadow);margin:0;padding:0;height:auto}
.ev-vid:empty{display:none}
.ev-vid iframe,.ev-vid embed,.ev-vid object,.ev-vid video{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
@media (max-width:820px){.ev-vgrid{grid-template-columns:1fr}}

/* ---- VIP + promo band ---- */
.ev-band{background:#fff;padding:52px 0}
.ev-band-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ev-vip{background:var(--gray,#F8F8F6);border:1px solid var(--line,#E4E4E1);border-radius:18px;padding:26px}
.ev-vip h2.ev-sec{margin:6px 0 4px}
.ev-vip p{margin:0 0 16px;color:var(--mute,#6B6E73);font-size:14px}
.ev-vip small{display:block;margin-top:12px;font-size:11.5px;color:var(--mute,#6B6E73);line-height:1.4}
.ev-vip .list-subscribe-form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ev-vip .list-subscribe-form fieldset[data-complete=true] button{background:#0B7A3B}
.ev-vip .list-subscribe-form input{font:inherit;font-size:14px;height:46px;min-height:0;padding:0 14px;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;background:#fff;color:var(--ink);min-width:0;width:100%;box-sizing:border-box;margin:0;display:block}
.ev-vip .list-subscribe-form input:focus{border-color:var(--ink);outline:0}
.ev-vip .list-subscribe-form fieldset button{grid-column:1/-1;height:48px;border:0;border-radius:12px!important;background:var(--red);color:#fff;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;margin:0;padding:0 22px;width:100%}
.ev-vip .list-subscribe-form fieldset button:hover{background:var(--red-dk,#B80500)}
.ev-vip .error-message,.ev-vip .success-message{display:none;font-size:13px;font-weight:600;margin-top:10px}
.ev-vip .error-message{color:var(--red-dk,#B80500)}.ev-vip .success-message{color:var(--ev-green)}
.ev-promo{background:var(--red);color:#fff;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:12px;justify-content:center;position:relative;overflow:hidden}
.ev-promo::before{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border:34px solid rgba(255,255,255,.12);border-radius:50%}
.ev-promo .ev-eyebrow{color:rgba(255,255,255,.75)}
.ev-promo h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#fff;text-transform:none}
.ev-promo p{margin:0;font-size:14.5px;opacity:.92;max-width:40ch;color:#fff}
.ev-promo a.btn-white,.ev-promo a.btn-white:link{align-self:flex-start;display:inline-flex;align-items:center;padding:12px 18px;border-radius:12px;background:#fff;border:1.5px solid #fff;color:var(--red);text-decoration:none;font-weight:700;font-size:14px;position:relative}
.ev-promo a.btn-white:hover{background:var(--ground,#F3F3F1);color:var(--red)}
@media (max-width:820px){.ev-band-grid{grid-template-columns:1fr}.ev-vip .list-subscribe-form fieldset{grid-template-columns:1fr}}

/* ---- sticky mobile CTA ---- */
.ev-mcta{display:none}
@media (max-width:900px){
  .ev-mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line,#E4E4E1);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 24px rgba(21,23,25,.08)}
  .ev-mcta .from{display:flex;flex-direction:column;line-height:1.15;min-width:0}
  .ev-mcta .from small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute,#6B6E73)}
  .ev-mcta .from b{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body#p_events,body#p_event{padding-bottom:76px}
}
/* Spanish for CSS-generated labels */
html[lang="es"] .ev-tickets .countdown > div:before{content:"DÍAS"}

/* ---- price cell variant: price + fees + qty <select> all inside td.vt_price_cell (sections layout, e.g. event 89917) ----
   grid: [price] [qty] / [fees] [qty]; price in the site font (not mono), fees small + muted with a "ticket + fee" label */
.ev-tickets #ticket_table .vt_price_cell{font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-weight:800;font-size:18px;letter-spacing:-.01em;color:var(--ink,#151719);font-variant-numeric:tabular-nums}
.ev-tickets #ticket_table .vt_price_cell:has(> select),.ev-tickets #ticket_table .vt_price_cell:has(> input[type=number]),.ev-tickets #ticket_table .vt_price_cell:has(> .ev-qty){position:relative;padding-right:156px;text-align:right;white-space:nowrap;line-height:1.2;min-height:72px;box-sizing:border-box}
.ev-tickets #ticket_table .vt_price_cell > .fees{display:block;margin-top:3px;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-size:12px;font-weight:500;letter-spacing:0;color:var(--mute,#6B6E73);line-height:1.3;white-space:nowrap}
.ev-tickets #ticket_table .vt_price_cell > .fees::before{content:"Service fee ";color:var(--ink-3,#8A8A85)}
html[lang="es"] .ev-tickets #ticket_table .vt_price_cell > .fees::before{content:"Cargo por servicio "}
.ev-tickets #ticket_table .vt_price_cell > select,.ev-tickets #ticket_table .vt_price_cell > input[type=number],.ev-tickets #ticket_table .vt_price_cell > .ev-qty{position:absolute;right:20px;top:50%;transform:translateY(-50%);margin:0}
.ev-tickets #ticket_table .vt_price_cell > select,.ev-tickets #ticket_table .vt_price_cell > input[type=number]{width:auto;min-width:64px;height:40px;padding:0 30px 0 12px;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151719' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center/14px no-repeat;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);font-weight:800;font-size:15px;color:var(--ink,#151719);appearance:none;-webkit-appearance:none;margin:0;box-shadow:none;letter-spacing:0}
.ev-tickets #ticket_table .vt_price_cell > .ev-qty select,.ev-tickets #ticket_table .vt_price_cell > .ev-qty input[type=number]{width:52px;height:40px;padding:0 6px;text-align:center;border:0;border-radius:0;font-family:inherit;font-weight:800;font-size:15px;background:#fff;color:var(--ink,#151719);box-shadow:none;margin:0;appearance:none;-webkit-appearance:none;-moz-appearance:textfield;text-align-last:center}
.ev-tickets #ticket_table .vt_price_cell > .ev-qty input[type=number]::-webkit-outer-spin-button,.ev-tickets #ticket_table .vt_price_cell > .ev-qty input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* the same font treatment where price and fees sit in a plain price cell (other layouts) */
.ev-tickets #ticket_table .vt_price_cell:not(:has(> select)):not(:has(> .ev-qty)) > .fees{display:block;font-size:12px;font-weight:500;color:var(--mute,#6B6E73);font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);letter-spacing:0}
.ev-tickets #ticket_table td:first-child .s:empty{display:none}
.ev-tickets #ticket_table td:first-child label + br:has(+ .s:empty){display:none}
@media (max-width:659px){
  .ev-tickets #ticket_table .vt_price_cell{font-size:16px}
  .ev-tickets #ticket_table .vt_price_cell:has(> select),.ev-tickets #ticket_table .vt_price_cell:has(> .ev-qty){padding-right:140px}
  .ev-tickets #ticket_table .vt_price_cell > select,.ev-tickets #ticket_table .vt_price_cell > input[type=number],.ev-tickets #ticket_table .vt_price_cell > .ev-qty{right:14px}
  .ev-tickets #ticket_table .vt_price_cell > .fees{white-space:nowrap;font-size:11.5px}
  .ev-tickets #ticket_table .vt_price_cell > .fees::before{content:none}
}

/* ---- grouped sections (event 89619): tr > td[colspan] > b > a[onClick=toggleSec] > div#group_N "▶ Group" — collapsible group headers ---- */
.ev-tickets #ticket_table tr:has(> td > b > a > div[id^="group_"]) > td{padding:0!important;background:var(--gray,#F8F8F6);border-bottom:1px solid var(--line,#E4E4E1);border-top:1px solid var(--line,#E4E4E1)}
.ev-tickets #ticket_table tr:has(> td > b > a > div[id^="group_"]) + tr:has(> td > b > a > div[id^="group_"]) > td{border-top:0}
.ev-tickets #ticket_table td > b > a:has(> div[id^="group_"]),.ev-tickets #ticket_table td > b > a:has(> div[id^="group_"]):link,.ev-tickets #ticket_table td > b > a:has(> div[id^="group_"]):visited{display:block;text-decoration:none;color:var(--ink,#151719)}
.ev-tickets #ticket_table div[id^="group_"]{display:flex;align-items:center;gap:10px;padding:14px 20px;font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--ink,#151719);cursor:pointer;transition:background .12s}
.ev-tickets #ticket_table div[id^="group_"]::after{content:"Show tickets";margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red,#E10600)}
.ev-tickets #ticket_table tr:has(> td > b > a > div[id^="group_"]):has(+ tr[style*="table-row"]) div[id^="group_"]::after{content:"Hide"}
html[lang="es"] .ev-tickets #ticket_table div[id^="group_"]::after{content:"Ver boletos"}
html[lang="es"] .ev-tickets #ticket_table tr:has(> td > b > a > div[id^="group_"]):has(+ tr[style*="table-row"]) div[id^="group_"]::after{content:"Ocultar"}
.ev-tickets #ticket_table td > b > a:hover div[id^="group_"]{background:#F0F0ED}
/* section description ("Details" line under the section name) */
.ev-tickets #ticket_table td:first-child .s:not(:empty){display:block;margin-top:3px;font-style:normal;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--mute,#6B6E73)}
/* Find Tickets: full-width action bar at the bottom of the card (p > input[type=submit] layout) */
.ev-tickets #ticket_table p:has(> input[type=submit]){display:block;padding:16px 20px 20px;margin:0;background:var(--gray,#F8F8F6);border-top:1px solid var(--line,#E4E4E1)}
.ev-tickets #ticket_table p:has(> input[type=submit]) > input[type=submit],.ev-tickets .content p:has(> input[type=submit]) > input[type=submit]{display:block;width:100%;height:54px!important;padding:0 24px!important;font-size:16px;font-weight:800;letter-spacing:-.01em;border-radius:14px!important;box-shadow:0 10px 24px -10px rgba(225,6,0,.55);cursor:pointer}
.ev-tickets #ticket_table table + br{display:none}


body[id^="p_artist_"],body[id="p_"]:has(> #main > #series_image){background:var(--ground,#F3F3F1);font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719)}body[id^="p_artist_"] > .bcTrail,body[id="p_"]:has(> #main > #series_image) > .bcTrail{display:none}body[id^="p_artist_"] #main,body[id="p_"]:has(> #main > #series_image) #main{background:transparent;width:auto;float:none;padding:0;margin:0;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);position:relative}body[id^="p_artist_"] #sidebar,body[id="p_"]:has(> #main > #series_image) #sidebar{display:none}body[id^="p_artist_"] #series_image,body[id="p_"]:has(> #main > #series_image) #series_image{display:block;width:100%;height:clamp(240px,34vw,460px);object-fit:cover;object-position:center 30%;margin:0;border-radius:0}body[id^="p_artist_"] #main::before,body[id="p_"]:has(> #main > #series_image) #main::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(240px,34vw,460px);background:linear-gradient(180deg,rgba(21,23,25,.15) 0%,rgba(21,23,25,0) 30%,rgba(21,23,25,.85) 100%);pointer-events:none}body[id^="p_artist_"] #main,body[id="p_"]:has(> #main > #series_image) #main{display:grid;grid-template-columns:minmax(20px,1fr) minmax(0,1140px) minmax(20px,1fr);grid-auto-rows:auto;column-gap:0}body[id^="p_artist_"] #main > *,body[id="p_"]:has(> #main > #series_image) #main > *{grid-column:2}body[id^="p_artist_"] #main > #series_image,body[id="p_"]:has(> #main > #series_image) #main > #series_image{grid-column:1/-1;grid-row:1}body[id^="p_artist_"] #main > style,body[id="p_"]:has(> #main > #series_image) #main > style{display:none}body[id^="p_artist_"] #main > section:not(.eventsListing):not(.joinForm),body[id^="p_artist_"] #main > section:not(.eventsListing):not(.joinForm) > .container,body[id="p_"]:has(> #main > #series_image) #main > section:not(.eventsListing):not(.joinForm),body[id="p_"]:has(> #main > #series_image) #main > section:not(.eventsListing):not(.joinForm) > .container{display:contents}body[id^="p_artist_"] #main > section:not(.eventsListing):not(.joinForm) > .container > *,body[id="p_"]:has(> #main > #series_image) #main > section:not(.eventsListing):not(.joinForm) > .container > *{grid-column:2}body[id^="p_artist_"] .container > h1,body[id="p_"]:has(> #main > #series_image) .container > h1{grid-row:2;margin:-168px 0 0;padding:0 0 22px;position:relative;z-index:1;font-size:clamp(32px,4.4vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff;text-transform:none;text-shadow:0 2px 24px rgba(0,0,0,.35);max-width:760px}body[id^="p_artist_"] .container > h1::before,body[id="p_"]:has(> #main > #series_image) .container > h1::before{content:"Artist";display:block;float:none;width:auto;height:auto;background:none;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:12px;text-shadow:none}html[lang="es"] body[id^="p_artist_"] .container > h1::before,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .container > h1::before{content:"Artista"}body[id^="p_artist_"] #main > section.eventsListing,body[id="p_"]:has(> #main > #series_image) #main > section.eventsListing{grid-row:4;grid-column:2}body[id^="p_artist_"] #main > section.joinForm,body[id="p_"]:has(> #main > #series_image) #main > section.joinForm{grid-row:60;grid-column:1/-1}body[id^="p_artist_"] #main,body[id="p_"]:has(> #main > #series_image) #main{grid-template-columns:minmax(20px,1fr) minmax(0,772px) 28px 340px minmax(20px,1fr)}body[id^="p_artist_"] #main > section.eventsListing,body[id^="p_artist_"] #main .container > h1,body[id^="p_artist_"] #main .social-media-icons,body[id="p_"]:has(> #main > #series_image) #main > section.eventsListing,body[id="p_"]:has(> #main > #series_image) #main .container > h1,body[id="p_"]:has(> #main > #series_image) #main .social-media-icons{grid-column:2/5!important}body[id^="p_artist_"] .container > p,body[id="p_"]:has(> #main > #series_image) .container > p{grid-column:2}body[id^="p_artist_"] #main .container > .fb-page,body[id="p_"]:has(> #main > #series_image) #main .container > .fb-page{grid-column:4!important;grid-row:5/span 40}body[id^="p_artist_"] .social-media-icons,body[id="p_"]:has(> #main > #series_image) .social-media-icons{grid-row:3;display:flex;gap:8px;margin:18px 0 8px!important}body[id^="p_artist_"] .social-media-icons a,body[id="p_"]:has(> #main > #series_image) .social-media-icons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line,#E4E4E1);box-shadow:0 8px 20px -10px rgba(21,23,25,.35);transition:transform .15s,border-color .15s}body[id^="p_artist_"] .social-media-icons a:hover,body[id="p_"]:has(> #main > #series_image) .social-media-icons a:hover{transform:translateY(-2px);border-color:var(--ink,#151719)}body[id^="p_artist_"] .social-media-icons img,body[id="p_"]:has(> #main > #series_image) .social-media-icons img{height:20px!important;width:20px;margin:0!important;display:block}body[id^="p_artist_"] .container > p,body[id="p_"]:has(> #main > #series_image) .container > p{background:#fff;border:1px solid var(--line,#E4E4E1);border-radius:18px;padding:28px 28px 8px;margin:0;font-size:16px;line-height:1.72;color:var(--ink-2,#4A4A47)}body[id^="p_artist_"] .container > p:empty,body[id^="p_artist_"] .container > p:has(> br:only-child),body[id="p_"]:has(> #main > #series_image) .container > p:empty,body[id="p_"]:has(> #main > #series_image) .container > p:has(> br:only-child){display:none}body[id^="p_artist_"] .container > p + p,body[id="p_"]:has(> #main > #series_image) .container > p + p{border-top:0;border-radius:0;padding-top:0}body[id^="p_artist_"] .container > p:not(:last-of-type),body[id="p_"]:has(> #main > #series_image) .container > p:not(:last-of-type){border-bottom:0}body[id^="p_artist_"] .container > p:last-of-type,body[id="p_"]:has(> #main > #series_image) .container > p:last-of-type{border-radius:0 0 18px 18px;padding-bottom:28px}body[id^="p_artist_"] .container > p:first-of-type,body[id^="p_artist_"] .container > p:empty + p,body[id="p_"]:has(> #main > #series_image) .container > p:first-of-type,body[id="p_"]:has(> #main > #series_image) .container > p:empty + p{border-radius:18px 18px 0 0;border-top:1px solid var(--line,#E4E4E1);padding-top:28px}body[id^="p_artist_"] .container > p:first-of-type:last-of-type,body[id="p_"]:has(> #main > #series_image) .container > p:first-of-type:last-of-type{border-radius:18px;padding-bottom:28px}body[id^="p_artist_"] .container > p > p,body[id="p_"]:has(> #main > #series_image) .container > p > p{margin:0 0 18px;padding:0;background:none;border:0}body[id^="p_artist_"] .container > p > p:last-child,body[id="p_"]:has(> #main > #series_image) .container > p > p:last-child{margin-bottom:0}body[id^="p_artist_"] .container p strong,body[id="p_"]:has(> #main > #series_image) .container p strong{display:block;font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--ink,#151719);margin:18px 0 4px}body[id^="p_artist_"] .container p strong + br,body[id="p_"]:has(> #main > #series_image) .container p strong + br{display:none}body[id^="p_artist_"] .container > p:first-of-type strong:first-child,body[id^="p_artist_"] .container > p > p:first-child strong:first-child,body[id="p_"]:has(> #main > #series_image) .container > p:first-of-type strong:first-child,body[id="p_"]:has(> #main > #series_image) .container > p > p:first-child strong:first-child{margin-top:0}body[id^="p_artist_"] .container > p a,body[id="p_"]:has(> #main > #series_image) .container > p a{color:var(--red,#E10600);font-weight:700}body[id^="p_artist_"] .fb-page,body[id="p_"]:has(> #main > #series_image) .fb-page{float:none!important;margin:0!important;align-self:start;position:sticky;top:88px;background:#fff;border:1px solid var(--line,#E4E4E1);border-radius:18px;padding:10px;overflow:hidden;min-height:0}body[id^="p_artist_"] .fb-page:empty,body[id^="p_artist_"] .fb-page:not(:has(iframe)):not(.fb_iframe_widget),body[id="p_"]:has(> #main > #series_image) .fb-page:empty,body[id="p_"]:has(> #main > #series_image) .fb-page:not(:has(iframe)):not(.fb_iframe_widget){display:none}body[id^="p_artist_"] .fb-page::before,body[id="p_"]:has(> #main > #series_image) .fb-page::before{content:"On Facebook";display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B6E73);padding:8px 10px 10px}html[lang="es"] body[id^="p_artist_"] .fb-page::before,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .fb-page::before{content:"En Facebook"}body[id^="p_artist_"] .fb-page > span,body[id^="p_artist_"] .fb-page iframe,body[id="p_"]:has(> #main > #series_image) .fb-page > span,body[id="p_"]:has(> #main > #series_image) .fb-page iframe{max-width:100%!important;border-radius:10px}body[id^="p_artist_"] .google-map,body[id="p_"]:has(> #main > #series_image) .google-map{border-radius:14px;overflow:hidden;padding:0!important;margin:0 0 18px}body[id^="p_artist_"] section.eventsListing,body[id="p_"]:has(> #main > #series_image) section.eventsListing{background:transparent;padding:28px 0 36px}body[id^="p_artist_"] section.eventsListing > .container,body[id="p_"]:has(> #main > #series_image) section.eventsListing > .container{max-width:none;padding:0;margin:0}body[id^="p_artist_"] section.eventsListing h3,body[id="p_"]:has(> #main > #series_image) section.eventsListing h3{margin:0 0 18px;font-size:22px;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--ink,#151719)}body[id^="p_artist_"] section.eventsListing h3::before,body[id="p_"]:has(> #main > #series_image) section.eventsListing h3::before{content:"Tickets";display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B6E73);margin-bottom:4px}html[lang="es"] body[id^="p_artist_"] section.eventsListing h3::before,html[lang="es"] body[id="p_"]:has(> #main > #series_image) section.eventsListing h3::before{content:"Boletos"}body[id^="p_artist_"] .row.eventsCards,body[id="p_"]:has(> #main > #series_image) .row.eventsCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:0}body[id^="p_artist_"] .row.eventsCards > [class*="col"],body[id="p_"]:has(> #main > #series_image) .row.eventsCards > [class*="col"]{width:auto;max-width:none;flex:none;padding:0}body[id^="p_artist_"] .eventsCards .card,body[id="p_"]:has(> #main > #series_image) .eventsCards .card{border:1px solid var(--line,#E4E4E1);border-radius:16px;background:#fff;overflow:hidden;box-shadow:none;height:100%;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}body[id^="p_artist_"] .eventsCards .card:hover,body[id="p_"]:has(> #main > #series_image) .eventsCards .card:hover{transform:translateY(-2px);box-shadow:0 16px 40px -18px rgba(21,23,25,.35)}body[id^="p_artist_"] .eventsCards .card-wall,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-wall{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--gray,#F8F8F6)}body[id^="p_artist_"] .eventsCards .card-wall img,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-wall img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}body[id^="p_artist_"] .eventsCards .musicLabel,body[id="p_"]:has(> #main > #series_image) .eventsCards .musicLabel{position:absolute;left:12px;top:12px;background:var(--red,#E10600)!important;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background-image:none!important}body[id^="p_artist_"] .eventsCards .card-body,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-body{padding:16px!important;display:flex;flex-direction:column;flex:1;text-align:left}body[id^="p_artist_"] .eventsCards .card-title,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-title{font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.2;margin:0 0 8px}body[id^="p_artist_"] .eventsCards .card-title a,body[id^="p_artist_"] .eventsCards .card-title a:link,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-title a,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-title a:link{color:var(--ink,#151719);text-decoration:none}body[id^="p_artist_"] .eventsCards .card-text,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-text{font-size:13px;color:var(--mute,#6B6E73);padding-bottom:12px!important;flex:1;height:auto}body[id^="p_artist_"] .eventsCards .card-text br,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-text br{display:none}body[id^="p_artist_"] .eventsCards .card-text p,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-text p{margin:0 0 4px}body[id^="p_artist_"] .eventsCards .card-text p:first-child,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-text p:first-child{color:var(--ink,#151719);font-weight:700}body[id^="p_artist_"] .eventsCards a.btn,body[id^="p_artist_"] .eventsCards a.btn:link,body[id="p_"]:has(> #main > #series_image) .eventsCards a.btn,body[id="p_"]:has(> #main > #series_image) .eventsCards a.btn:link{display:flex;align-items:center;justify-content:center;height:44px;border-radius:12px!important;background:var(--red,#E10600)!important;border:0!important;color:#fff!important;font-weight:800;font-size:14px;text-decoration:none}body[id^="p_artist_"] .eventsCards a.btn:hover,body[id="p_"]:has(> #main > #series_image) .eventsCards a.btn:hover{background:var(--red-dk,#B80500)!important}body[id^="p_artist_"] section.joinForm,body[id="p_"]:has(> #main > #series_image) section.joinForm{background:#fff;padding:52px 0!important;margin-top:36px}body[id^="p_artist_"] section.joinForm > .container,body[id="p_"]:has(> #main > #series_image) section.joinForm > .container{max-width:1140px;padding:0}body[id^="p_artist_"] section.joinForm > .container > .row,body[id="p_"]:has(> #main > #series_image) section.joinForm > .container > .row{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0}body[id^="p_artist_"] section.joinForm > .container > .row > [class*="col"],body[id="p_"]:has(> #main > #series_image) section.joinForm > .container > .row > [class*="col"]{width:auto;max-width:none;flex:none;padding:0}body[id^="p_artist_"] section.joinForm > .container > .row > .col-md-6.jfHead,body[id="p_"]:has(> #main > #series_image) section.joinForm > .container > .row > .col-md-6.jfHead{background:var(--gray,#F8F8F6);border:1px solid var(--line,#E4E4E1);border-radius:18px;padding:26px;text-align:left!important}body[id^="p_artist_"] section.joinForm .jfHead .row,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead .row{display:block;margin:0}body[id^="p_artist_"] section.joinForm .jfHead .jfHead,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead .jfHead{padding:0;text-align:left!important;background:none;border:0}body[id^="p_artist_"] section.joinForm .jfHead h2,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2{margin:0 0 4px;line-height:1.15;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--ink,#151719);text-transform:none}body[id^="p_artist_"] section.joinForm .jfHead h2::before,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2::before{content:"VIP list";display:block;float:none;width:auto;height:auto;background:none;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B6E73);margin-bottom:6px}html[lang="es"] body[id^="p_artist_"] section.joinForm .jfHead h2::before,html[lang="es"] body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2::before{content:"Lista VIP"}body[id^="p_artist_"] section.joinForm .jfHead p,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead p{margin:0 0 16px;color:var(--mute,#6B6E73);font-size:14px}body[id^="p_artist_"] .joinForm .list-subscribe-form,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form{margin:0}body[id^="p_artist_"] .joinForm .list-subscribe-form fieldset,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;background:none}body[id^="p_artist_"] .joinForm .list-subscribe-form input,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form input{font:inherit;font-size:14px;height:46px;min-height:0;padding:0 14px;border:1.5px solid var(--line,#E4E4E1);border-radius:12px;background:#fff;color:var(--ink,#151719);min-width:0;width:100%;box-sizing:border-box;margin:0;display:block}body[id^="p_artist_"] .joinForm .list-subscribe-form input:focus,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form input:focus{border-color:var(--ink,#151719);outline:0;box-shadow:none}body[id^="p_artist_"] .joinForm .list-subscribe-form fieldset button,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form fieldset button{grid-column:1/-1;height:48px;border:0;border-radius:12px!important;background:var(--red,#E10600);color:#fff;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;margin:0;padding:0 22px;width:100%}body[id^="p_artist_"] .joinForm .list-subscribe-form fieldset button:hover,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form fieldset button:hover{background:var(--red-dk,#B80500)}body[id^="p_artist_"] .joinForm .list-subscribe-form fieldset[data-complete=true] button,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form fieldset[data-complete=true] button{background:#0B7A3B}body[id^="p_artist_"] .cardType3,body[id="p_"]:has(> #main > #series_image) .cardType3{position:relative;border-radius:18px;overflow:hidden;background:var(--ink,#151719);min-height:100%;padding:0!important;display:flex;flex-direction:column;justify-content:center}body[id^="p_artist_"] .cardType3 .ct-wall,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-wall{position:absolute!important;inset:0;display:block!important;border-radius:0!important}body[id^="p_artist_"] .cardType3 .ct-wall img,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-wall img{width:100%;height:100%;object-fit:cover;opacity:.35}body[id^="p_artist_"] .cardType3 .ct-caption,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption{position:relative!important;top:auto;left:auto;transform:none!important;max-width:none!important;width:auto;padding:26px!important;color:#fff}body[id^="p_artist_"] .cardType3 .ct-caption::before,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption::before{content:"For promoters";display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:8px}html[lang="es"] body[id^="p_artist_"] .cardType3 .ct-caption::before,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption::before{content:"Para promotores"}body[id^="p_artist_"] .cardType3 h3,body[id="p_"]:has(> #main > #series_image) .cardType3 h3{margin:0 0 8px;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#fff;text-transform:none}body[id^="p_artist_"] .cardType3 p,body[id="p_"]:has(> #main > #series_image) .cardType3 p{margin:0 0 16px;font-size:14.5px;color:rgba(255,255,255,.85);max-width:420px}body[id^="p_artist_"] .cardType3 a.btn,body[id^="p_artist_"] .cardType3 a.btn:link,body[id="p_"]:has(> #main > #series_image) .cardType3 a.btn,body[id="p_"]:has(> #main > #series_image) .cardType3 a.btn:link{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:12px!important;background:#fff!important;border:0!important;color:var(--red,#E10600)!important;font-weight:700;font-size:14px;text-decoration:none}body[id^="p_artist_"] section.joinForm .jfHead h2,body[id^="p_artist_"] section.joinForm .jfHead p,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead p{font-size:0!important;color:transparent;overflow:visible;height:auto!important;min-height:0;max-height:none;display:block}body[id^="p_artist_"] section.joinForm .jfHead h2::before,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2::before{font-size:11px;line-height:1.4}body[id^="p_artist_"] section.joinForm .jfHead h2::after,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2::after{content:"Hear about it first";display:block;font-size:22px;line-height:1.15;color:var(--ink,#151719);font-weight:800;letter-spacing:-.02em}html[lang="es"] body[id^="p_artist_"] section.joinForm .jfHead h2::after,html[lang="es"] body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead h2::after{content:"Entérate primero"}body[id^="p_artist_"] section.joinForm .jfHead p::after,body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead p::after{content:"Presales, new dates and discounts by text. No spam.";display:block;font-size:14px;line-height:1.5;color:var(--mute,#6B6E73);padding-bottom:16px}html[lang="es"] body[id^="p_artist_"] section.joinForm .jfHead p::after,html[lang="es"] body[id="p_"]:has(> #main > #series_image) section.joinForm .jfHead p::after{content:"Preventas, nuevas fechas y descuentos por texto. Sin spam."}body[id^="p_artist_"] .joinForm .list-subscribe-form::after,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form::after{content:"By providing your phone number you agree to receive text messages from boletos.com. Message and data rates may apply. Frequency varies. Reply STOP to cancel.";display:block;margin-top:12px;font-size:11.5px;line-height:1.4;color:var(--mute,#6B6E73)}html[lang="es"] body[id^="p_artist_"] .joinForm .list-subscribe-form::after,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form::after{content:"Al dar tu número aceptas recibir mensajes de texto de boletos.com. Pueden aplicar tarifas de mensajes y datos. La frecuencia varía. Responde STOP para cancelar."}body[id^="p_artist_"] .cardType3,body[id="p_"]:has(> #main > #series_image) .cardType3{background:var(--red,#E10600)}body[id^="p_artist_"] .cardType3 .ct-wall,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-wall{display:none!important}body[id^="p_artist_"] .cardType3::before,body[id="p_"]:has(> #main > #series_image) .cardType3::before{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border:34px solid rgba(255,255,255,.12);border-radius:50%}body[id^="p_artist_"] .cardType3 h3,body[id^="p_artist_"] .cardType3 .ct-caption p,body[id="p_"]:has(> #main > #series_image) .cardType3 h3,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption p{font-size:0!important;color:transparent;height:auto!important;min-height:0;max-height:none;display:block;width:auto}body[id^="p_artist_"] .cardType3 h3::after,body[id="p_"]:has(> #main > #series_image) .cardType3 h3::after{content:"Sell your next show on boletos.com";display:block;font-size:26px;line-height:1.1;color:#fff;font-weight:800;letter-spacing:-.02em}html[lang="es"] body[id^="p_artist_"] .cardType3 h3::after,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .cardType3 h3::after{content:"Vende tu próximo show en boletos.com"}body[id^="p_artist_"] .cardType3 .ct-caption p::after,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption p::after{content:"Free event setup, online and box-office sales, printed tickets with QR codes and daily sales reports — 18 years selling Latin music.";display:block;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.92);max-width:420px}html[lang="es"] body[id^="p_artist_"] .cardType3 .ct-caption p::after,html[lang="es"] body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption p::after{content:"Publica tu evento gratis, ventas en línea y en taquilla, boletos impresos con código QR y reportes diarios — 18 años vendiendo música latina."}body[id^="p_artist_"] .cardType3 .ct-caption::before,body[id="p_"]:has(> #main > #series_image) .cardType3 .ct-caption::before{color:rgba(255,255,255,.75)}


@media (max-width:991px){body[id^="p_artist_"] #main,body[id="p_"]:has(> #main > #series_image) #main{grid-template-columns:16px minmax(0,1fr) 16px}body[id^="p_artist_"] section.eventsListing,body[id="p_"]:has(> #main > #series_image) section.eventsListing{padding:20px 0 28px}body[id^="p_artist_"] section.eventsListing > .container,body[id="p_"]:has(> #main > #series_image) section.eventsListing > .container{padding:0}body[id^="p_artist_"] #main > section.eventsListing,body[id^="p_artist_"] #main .container > h1,body[id^="p_artist_"] #main .social-media-icons,body[id^="p_artist_"] #main .container > p,body[id^="p_artist_"] #main .container > .fb-page,body[id="p_"]:has(> #main > #series_image) #main > section.eventsListing,body[id="p_"]:has(> #main > #series_image) #main .container > h1,body[id="p_"]:has(> #main > #series_image) #main .social-media-icons,body[id="p_"]:has(> #main > #series_image) #main .container > p,body[id="p_"]:has(> #main > #series_image) #main .container > .fb-page{grid-column:2!important}body[id^="p_artist_"] #main .container > .fb-page,body[id="p_"]:has(> #main > #series_image) #main .container > .fb-page{grid-row:59;position:static;margin:20px 0 0!important}body[id^="p_artist_"] .container > h1,body[id="p_"]:has(> #main > #series_image) .container > h1{margin:0;color:var(--ink,#151719);text-shadow:none;padding-top:22px}body[id^="p_artist_"] .container > h1::before,body[id="p_"]:has(> #main > #series_image) .container > h1::before{color:var(--mute,#6B6E73)}body[id^="p_artist_"] .fb-page,body[id="p_"]:has(> #main > #series_image) .fb-page{position:static;margin:20px 0 0!important}
}
@media (max-width:820px){body[id^="p_artist_"] section.joinForm > .container > .row,body[id="p_"]:has(> #main > #series_image) section.joinForm > .container > .row{grid-template-columns:1fr}body[id^="p_artist_"] .joinForm .list-subscribe-form fieldset,body[id="p_"]:has(> #main > #series_image) .joinForm .list-subscribe-form fieldset{grid-template-columns:1fr}
}
@media (max-width:640px){body[id^="p_artist_"] .container > h1,body[id="p_"]:has(> #main > #series_image) .container > h1{font-size:30px;padding-bottom:16px}body[id^="p_artist_"] .social-media-icons a,body[id="p_"]:has(> #main > #series_image) .social-media-icons a{width:40px;height:40px}body[id^="p_artist_"] .container > p,body[id="p_"]:has(> #main > #series_image) .container > p{padding:20px 18px 6px;font-size:15px}body[id^="p_artist_"] .row.eventsCards,body[id="p_"]:has(> #main > #series_image) .row.eventsCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body[id^="p_artist_"] .eventsCards .card-body,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-body{padding:12px!important}body[id^="p_artist_"] .eventsCards .card-title,body[id="p_"]:has(> #main > #series_image) .eventsCards .card-title{font-size:14px}body[id^="p_artist_"] section.eventsListing > .container,body[id^="p_artist_"] section.joinForm > .container,body[id="p_"]:has(> #main > #series_image) section.eventsListing > .container,body[id="p_"]:has(> #main > #series_image) section.joinForm > .container{padding:0 16px}
}


/* ==========================================================================
   boletos.com — series page (/<series-slug>/, body id="p_") — CSS-only.
   Engine markup: body > .bcTrail ("Home : SERIES NAME :") + #main > img#series_image
   + section.eventsListing (.row > .col-md-12 > h1 "Upcoming Events"; .row.eventsCards
   > .col > .card) + section.joinForm. The artist-page rules (boletos-artist.css) are
   duplicated for this scope at assembly time; below are only the series differences.
   Scope: body[id="p_"]:has(> #main > #series_image)
   ========================================================================== */
/* the crumb trail is the only place the series name is printed → it becomes the hero title.
   The "Home" link is hidden and the two colons are clipped off with clip-path. */
body[id="p_"]:has(> #main > #series_image) > .bcTrail{display:block!important;position:absolute;z-index:3;left:max(20px,calc((100% - 1140px)/2));top:calc(72px + clamp(240px,34vw,460px) - 92px);margin:0;padding:0;width:max-content;max-width:calc(100% - 40px);background:none;white-space:nowrap;overflow:hidden;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);--ts:clamp(30px,4.4vw,52px);font-size:var(--ts);font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff;text-transform:uppercase;text-shadow:0 2px 24px rgba(0,0,0,.35);clip-path:inset(-40px calc(var(--ts)*.52) -8px calc(var(--ts)*.52));margin-left:calc(var(--ts)*-.52)}
body[id="p_"]:has(> #main > #series_image) > .bcTrail::before{content:"Tour";display:block;float:none;width:auto;height:auto;background:none;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);margin:0 0 12px calc(var(--ts)*.52);text-shadow:none}
html[lang="es"] body[id="p_"]:has(> #main > #series_image) > .bcTrail::before{content:"Gira"}
body[id="p_"]:has(> #main > #series_image) > .bcTrail > a{display:none}
body[id="p_"]:has(> #main > #series_image) #main{padding-top:0}
body[id="p_"]:has(> #main > #series_image) #main > #series_image{grid-row:1}
/* "Upcoming Events" heading (the artist page has none) */
body[id="p_"]:has(> #main > #series_image) section.eventsListing > .container > .row:not(.eventsCards){display:block;margin:0}
body[id="p_"]:has(> #main > #series_image) section.eventsListing > .container > .row:not(.eventsCards) > [class*="col"]{padding:0;width:auto;max-width:none}
body[id="p_"]:has(> #main > #series_image) section.eventsListing h1{margin:0 0 18px;padding:0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15;text-transform:none;color:var(--ink,#151719)}
body[id="p_"]:has(> #main > #series_image) section.eventsListing h1::before{content:"Tickets";display:block;float:none;width:auto;height:auto;background:none;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute,#6B6E73);margin:0 0 4px!important}
html[lang="es"] body[id="p_"]:has(> #main > #series_image) section.eventsListing h1::before{content:"Boletos"}
/* cards on this page carry an <h3> subtitle — keep it a subtitle, not the section eyebrow */
body[id="p_"]:has(> #main > #series_image) section.eventsListing .card h3{margin:2px 0 8px;font-size:12.5px;font-weight:600;letter-spacing:0;line-height:1.35;color:var(--mute,#6B6E73);text-transform:none}
body[id="p_"]:has(> #main > #series_image) section.eventsListing .card h3::before{content:none}
@media (max-width:991px){
  body[id="p_"]:has(> #main > #series_image) > .bcTrail{top:calc(64px + clamp(240px,34vw,460px) - 84px)}
}
@media (max-width:640px){
  body[id="p_"]:has(> #main > #series_image) > .bcTrail{--ts:26px;max-width:calc(100% - 20px);left:20px;top:calc(64px + 240px - 78px)}
}


/* ==========================================================================
   boletos.com — "Browse events by artist" index (/artist/, body#p_artist)
   CSS-only. Engine markup: body > .bcTrail, #main > section > .container >
   h1, ul.page-alphabetical-links > li(b "Jump to:") + li.letter(a | text),
   then per letter: h4 > a[name] + div.page-column-list > div > a.
   Scoped to body#p_artist (the artist detail page is body[id^="p_artist_"]).
   ========================================================================== */
body#p_artist{background:var(--ground,#F3F3F1);font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif);color:var(--ink,#151719);-webkit-font-smoothing:antialiased}
body#p_artist > .bcTrail{display:none}
body#p_artist #main{background:transparent;width:auto;float:none;padding:0 0 72px;margin:0;font-family:var(--font,'Plus Jakarta Sans',system-ui,sans-serif)}
body#p_artist #sidebar{display:none}
body#p_artist #main > section{padding:0}
body#p_artist #main > section > .container{max-width:1180px;margin:0 auto;padding:0 20px}
/* ---- title ---- */
body#p_artist .container > h1{margin:0;padding:44px 0 6px;font-size:clamp(32px,4.4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.05;text-transform:none;color:var(--ink,#151719)}
body#p_artist .container > h1::before{content:"Artists";display:block;float:none;width:auto;height:auto;background:none;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red,#E10600);margin:0 0 12px!important}
body#p_artist .container > h1::after{content:"Every artist with tickets on boletos.com — pick a letter or scroll.";display:block;margin-top:10px;font-size:16px;font-weight:500;letter-spacing:0;line-height:1.5;color:var(--mute,#6B6E73);text-transform:none;max-width:52ch}
html[lang="es"] body#p_artist .container > h1::before{content:"Artistas"}
html[lang="es"] body#p_artist .container > h1::after{content:"Todos los artistas con boletos en boletos.com — elige una letra o desplázate."}
/* ---- A–Z jump bar (sticky under the site header) ---- */
body#p_artist ul.page-alphabetical-links{position:sticky;top:72px;z-index:20;list-style:none;margin:20px -20px 28px;padding:12px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;background:rgba(243,243,241,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line,#E4E4E0)}
body#p_artist ul.page-alphabetical-links li{margin:0;padding:0;display:block}
body#p_artist ul.page-alphabetical-links li:first-child{margin-right:6px}
body#p_artist ul.page-alphabetical-links li:first-child b{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3,#8A8A85)}
body#p_artist ul.page-alphabetical-links li.letter{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--line-2,#D9D9D5);background:transparent;border:1px solid transparent;line-height:1}
body#p_artist ul.page-alphabetical-links li.letter a,body#p_artist ul.page-alphabetical-links li.letter a:link,body#p_artist ul.page-alphabetical-links li.letter a:visited{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-1px;border-radius:999px;background:#fff;border:1px solid var(--line,#E4E4E0);color:var(--ink,#151719);text-decoration:none;font-weight:700;transition:background .12s,color .12s,border-color .12s,transform .12s}
body#p_artist ul.page-alphabetical-links li.letter a:hover{background:var(--ink,#151719);border-color:var(--ink,#151719);color:#fff;transform:translateY(-1px)}
body#p_artist ul.page-alphabetical-links li.letter a:active{background:var(--red,#E10600);border-color:var(--red,#E10600);color:#fff}
/* ---- letter sections ---- */
body#p_artist .container > h4{margin:34px 0 14px;padding:0 0 10px;display:flex;align-items:baseline;gap:14px;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--red,#E10600);text-transform:none;border-bottom:1px solid var(--line-2,#D9D9D5)}
body#p_artist .container > h4::after{content:"";flex:1;height:1px}
body#p_artist .container > h4 a,body#p_artist .container > h4 a:link,body#p_artist .container > h4 a:visited{color:inherit;text-decoration:none;scroll-margin-top:150px}
html:has(body#p_artist){scroll-behavior:smooth}
body#p_artist .container > h4 a[name="other"]::before{content:"0–9 & ";font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--ink-3,#8A8A85);vertical-align:.5em;margin-right:2px}
body#p_artist .container > h4:first-of-type{margin-top:8px}
/* ---- artist grid ---- */
body#p_artist .page-column-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0 0 8px;columns:auto;column-count:auto;padding:0}
body#p_artist .page-column-list > div{margin:0;padding:0;break-inside:auto;min-width:0}
body#p_artist .page-column-list > div > a,body#p_artist .page-column-list > div > a:link,body#p_artist .page-column-list > div > a:visited{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px 12px 14px;background:#fff;border:1px solid var(--line,#E4E4E0);border-radius:14px;color:var(--ink,#151719);font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.3;text-decoration:none;box-shadow:0 1px 2px rgba(21,23,25,.04);transition:border-color .15s,box-shadow .15s,transform .15s,color .15s;overflow:hidden}
body#p_artist .page-column-list > div > a::before{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--gray,#F8F8F6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E10600' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l12-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='16' r='3'/%3E%3C/svg%3E") center/15px no-repeat;border:1px solid var(--line,#E4E4E0);transition:background-color .15s,border-color .15s}
body#p_artist .page-column-list > div > a::after{content:"";flex:none;margin-left:auto;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A85' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.6;transition:transform .15s,opacity .15s}
body#p_artist .page-column-list > div > a:hover{border-color:var(--ink,#151719);color:var(--ink,#151719);box-shadow:0 1px 2px rgba(21,23,25,.05),0 12px 28px -14px rgba(21,23,25,.35);transform:translateY(-1px)}
body#p_artist .page-column-list > div > a:hover::before{background-color:#FDECEB;border-color:#F7C9C6}
body#p_artist .page-column-list > div > a:hover::after{transform:translateX(3px);opacity:1}
@media (max-width:767px){
  body#p_artist ul.page-alphabetical-links{top:64px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:16px -20px 20px;padding:10px 20px}
  body#p_artist ul.page-alphabetical-links::-webkit-scrollbar{display:none}
  body#p_artist ul.page-alphabetical-links li:first-child{display:none}
  body#p_artist ul.page-alphabetical-links li.letter{flex:none}
  body#p_artist .container > h1{padding-top:28px;font-size:30px}
  body#p_artist .container > h1::after{font-size:15px}
  body#p_artist .container > h4{font-size:28px;margin-top:26px}
  body#p_artist .container > h4 a{scroll-margin-top:130px}
  body#p_artist .page-column-list{grid-template-columns:1fr 1fr;gap:8px}
  body#p_artist .page-column-list > div > a{font-size:14px;padding:10px 12px;min-height:50px;gap:10px;border-radius:12px}
  body#p_artist .page-column-list > div > a::before{width:26px;height:26px;background-size:13px}
}
@media (max-width:420px){body#p_artist .page-column-list{grid-template-columns:1fr}}
