/**
 * QH Tix public CSS bundle v0.1.54
 * Generated from the existing release cascade. Do not edit directly.
 */

/* ===== /assets/css/tokens.css ===== */
:root {
    --qhtix-accent: #ff4f8b;
    --qhtix-accent-2: #f4bd45;
    --qhtix-ink: #10091a;
    --qhtix-ink-2: #1e102d;
    --qhtix-violet: #7046e8;
    --qhtix-surface: #ffffff;
    --qhtix-surface-soft: #f7f3fa;
    --qhtix-text: #241a2d;
    --qhtix-muted: #756a7e;
    --qhtix-line: rgba(41, 23, 54, .12);
    --qhtix-shadow-sm: 0 10px 30px rgba(30, 12, 43, .08);
    --qhtix-shadow-lg: 0 24px 70px rgba(22, 8, 34, .18);
    --qhtix-radius-sm: 12px;
    --qhtix-radius: 20px;
    --qhtix-radius-lg: 32px;
    --qhtix-max: 1240px;
    --qhtix-transition: 220ms cubic-bezier(.2,.7,.2,1);
}


/* ===== /assets/css/global.css ===== */
.qhtix-theme {
    background: var(--qhtix-surface);
    color: var(--qhtix-text);
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    text-rendering: optimizeLegibility;
}

.qhtix-theme a { transition: color var(--qhtix-transition), background var(--qhtix-transition), border-color var(--qhtix-transition), transform var(--qhtix-transition), box-shadow var(--qhtix-transition); }
.qhtix-theme img { max-width: 100%; height: auto; }
.qhtix-theme .container.gt-container,
.qhtix-theme .container { max-width: var(--qhtix-max); }
.qhtix-main { overflow: hidden; }

.qhtix-theme h1,
.qhtix-theme h2,
.qhtix-theme h3,
.qhtix-theme h4,
.qhtix-theme h5,
.qhtix-theme h6,
.qhtix-theme .gt-heading .gt-title {
    color: var(--qhtix-ink);
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    font-weight: 800;
    letter-spacing: -.035em;
}

.qhtix-theme .gt-header,
.qhtix-theme .gt-sticky-header,
.qhtix-theme .gt-mobile-header {
    background: rgba(16, 9, 26, .96);
    border: 0;
    box-shadow: 0 1px 0 rgba(255,255,255,.08);
    color: #fff;
}

.qhtix-home .gt-header {
    background: linear-gradient(180deg, rgba(10,5,17,.92), rgba(10,5,17,.58) 75%, transparent);
    box-shadow: none;
    position: absolute;
    width: 100%;
    z-index: 50;
}

.qhtix-has-scrolled .gt-sticky-header,
.qhtix-has-scrolled .gt-mobile-header {
    background: rgba(16, 9, 26, .98);
    backdrop-filter: blur(16px);
}

.qhtix-theme .gt-header .gt-container,
.qhtix-theme .gt-sticky-header .gt-container,
.qhtix-theme .gt-mobile-header .gt-container {
    min-height: 82px;
}

.qhtix-brand-lockup {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 124px;
    line-height: 1;
}
.qhtix-brand-lockup__image { display: block; width: auto; max-width: 190px; max-height: 58px; object-fit: contain; }
.qhtix-brand-lockup__text { color: #fff; font-size: clamp(1.65rem, 2vw, 2.35rem); font-weight: 900; letter-spacing: -.07em; text-transform: uppercase; }
.qhtix-brand-lockup__strapline { color: rgba(255,255,255,.66); font-size: 9px; font-weight: 600; letter-spacing: .08em; line-height: 1.25; margin-top: 5px; max-width: 190px; text-transform: uppercase; }

.qhtix-theme .gt-header .gt-menu > li > a,
.qhtix-theme .gt-sticky-header .gt-menu > li > a,
.qhtix-theme .gt-mobile-menu .gt-menu a,
.qhtix-theme .gt-header .gt-user-box a,
.qhtix-theme .gt-sticky-header .gt-user-box a { color: rgba(255,255,255,.88); font-weight: 650; }
.qhtix-theme .gt-header .gt-menu > li > a:hover,
.qhtix-theme .gt-header .gt-menu > li.current-menu-item > a,
.qhtix-theme .gt-sticky-header .gt-menu > li > a:hover { color: #fff; }
.qhtix-theme .gt-header .gt-menu > li > a:after { background: var(--qhtix-accent); }
.qhtix-theme .gt-header .gt-cart-count,
.qhtix-theme .gt-sticky-header .gt-cart-count { background: var(--qhtix-accent); color: #fff; }

.qhtix-theme .gt-mobile-menu { background: var(--qhtix-ink); }
.qhtix-theme .gt-mobile-background { background: rgba(8,4,13,.72); backdrop-filter: blur(6px); }
.qhtix-theme .gt-menu-icon svg { fill: #fff; }

.qhtix-button,
.qhtix-theme .gt-button,
.qhtix-theme a.gt-button,
.qhtix-theme button:not(.qhtix-hero__arrow):not(.qhtix-hero__pause):not([data-qhtix-dot]),
.qhtix-theme .button,
.qhtix-theme input[type="submit"] {
    border-radius: 999px;
    font-weight: 750;
    letter-spacing: -.01em;
}
.qhtix-button { align-items: center; border: 1px solid transparent; display: inline-flex; gap: 12px; justify-content: center; min-height: 52px; padding: 0 24px; }
.qhtix-button--primary { background: var(--qhtix-accent); box-shadow: 0 12px 35px color-mix(in srgb, var(--qhtix-accent) 35%, transparent); color: #fff; }
.qhtix-button--primary:hover,
.qhtix-button--primary:focus { background: #fff; color: var(--qhtix-ink); transform: translateY(-2px); }

.qhtix-theme input[type="text"],
.qhtix-theme input[type="email"],
.qhtix-theme input[type="tel"],
.qhtix-theme input[type="number"],
.qhtix-theme input[type="password"],
.qhtix-theme input[type="search"],
.qhtix-theme input[type="url"],
.qhtix-theme select,
.qhtix-theme textarea,
.qhtix-theme .select2-container .select2-selection {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 12px;
    color: var(--qhtix-text);
    min-height: 48px;
}
.qhtix-theme input:focus,
.qhtix-theme select:focus,
.qhtix-theme textarea:focus { border-color: var(--qhtix-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--qhtix-accent) 13%, transparent); outline: 0; }

.qhtix-theme .gt-footer { background: var(--qhtix-ink); color: rgba(255,255,255,.72); }
.qhtix-theme .gt-footer a { color: rgba(255,255,255,.82); }
.qhtix-theme .gt-footer a:hover { color: #fff; }

@media (max-width: 991px) {
    .qhtix-theme .gt-mobile-header .gt-container { min-height: 68px; }
    .qhtix-brand-lockup__strapline { display: none; }
    .qhtix-brand-lockup__image { max-height: 44px; max-width: 150px; }
}

@media (prefers-reduced-motion: reduce) {
    .qhtix-theme *, .qhtix-theme *::before, .qhtix-theme *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* v0.1.2: isolated QH Tix logo and header polish. */
.qhtix-theme .gt-header .gt-logo,
.qhtix-theme .gt-sticky-header .gt-logo,
.qhtix-theme .gt-mobile-header .gt-logo {
    overflow: visible;
}
.qhtix-theme .gt-header .gt-logo > a,
.qhtix-theme .gt-sticky-header .gt-logo > a,
.qhtix-theme .gt-mobile-header .gt-logo > a,
.qhtix-theme .gt-mobile-menu .gt-logo > a {
    align-items: flex-start;
    display: flex;
    height: auto;
    width: auto;
}
.qhtix-brand-lockup__image {
    background: transparent !important;
    max-height: 74px;
    max-width: 178px;
    object-fit: contain;
    object-position: left center;
}
.qhtix-brand-lockup__strapline {
    margin-left: 2px;
    max-width: 210px;
}

@media (max-width: 767px) {
    .qhtix-brand-lockup__image { max-height: 49px; max-width: 138px; }
}

/* -------------------------------------------------------------------------
 * v0.1.3 brand visibility and navigation polish
 * ---------------------------------------------------------------------- */
.qhtix-brand-lockup__image {
    filter: brightness(1.28) saturate(1.06) drop-shadow(0 2px 10px rgba(255,255,255,.2)) drop-shadow(0 8px 24px rgba(0,0,0,.34));
}
.qhtix-theme .gt-header .gt-user-box a,
.qhtix-theme .gt-sticky-header .gt-user-box a {
    border-radius: 999px;
}
.qhtix-theme .gt-header .gt-user-box .gt-user-links,
.qhtix-theme .gt-sticky-header .gt-user-box .gt-user-links {
    overflow: hidden;
}
.qhtix-theme .gt-header .gt-user-box .gt-user-links a,
.qhtix-theme .gt-sticky-header .gt-user-box .gt-user-links a {
    background: color-mix(in srgb, var(--qhtix-accent) 15%, #0875ee);
}
.qhtix-theme .gt-header .gt-user-box .gt-user-links a:hover,
.qhtix-theme .gt-sticky-header .gt-user-box .gt-user-links a:hover {
    background: var(--qhtix-accent);
}

html { scroll-behavior: smooth; }

/* -------------------------------------------------------------------------
 * v0.1.7 header, customer controls and footer refinement
 * ---------------------------------------------------------------------- */
.qhtix-theme .gt-header .gt-container,
.qhtix-theme .gt-sticky-header .gt-container {
    align-items: center;
    display: flex;
    gap: 28px;
    justify-content: space-between;
}

.qhtix-theme .gt-header .gt-content,
.qhtix-theme .gt-sticky-header .gt-content {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 18px;
    justify-content: flex-end;
    min-width: 0;
}

.qhtix-theme .gt-header .gt-elements,
.qhtix-theme .gt-sticky-header .gt-elements {
    align-items: center;
    display: flex;
    gap: 13px;
    justify-content: flex-end;
    min-width: 0;
}

.qhtix-theme .gt-header .gt-cart,
.qhtix-theme .gt-sticky-header .gt-cart {
    margin: 0 2px;
}

.qhtix-theme .gt-header .gt-cart > a,
.qhtix-theme .gt-sticky-header .gt-cart > a {
    align-items: center;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 50%;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    position: relative;
    width: 42px;
}
.qhtix-theme .gt-header .gt-cart svg,
.qhtix-theme .gt-sticky-header .gt-cart svg { height: 19px; width: 19px; }
.qhtix-theme .gt-header .gt-cart-count,
.qhtix-theme .gt-sticky-header .gt-cart-count {
    align-items: center;
    border: 2px solid var(--qhtix-ink);
    border-radius: 999px;
    display: flex;
    font-size: 9px;
    font-weight: 850;
    height: 20px;
    justify-content: center;
    min-width: 20px;
    padding: 0 4px;
    position: absolute;
    right: -7px;
    top: -8px;
}

.qhtix-theme .gt-header .gt-social-media,
.qhtix-theme .gt-sticky-header .gt-social-media {
    align-items: center;
    display: flex;
    gap: 7px;
    margin: 0;
}
.qhtix-theme .gt-header .gt-social-media a,
.qhtix-theme .gt-sticky-header .gt-social-media a {
    align-items: center;
    color: rgba(255,255,255,.78);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 26px;
}
.qhtix-theme .gt-header .gt-social-media a:hover,
.qhtix-theme .gt-sticky-header .gt-social-media a:hover { color: var(--qhtix-accent); }

.qhtix-theme .gt-header .gt-user-box,
.qhtix-theme .gt-sticky-header .gt-user-box {
    align-items: center;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    display: flex;
    gap: 2px;
    list-style: none;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 4px;
}
.qhtix-theme .gt-header .gt-user-box li,
.qhtix-theme .gt-sticky-header .gt-user-box li { margin: 0; padding: 0; }
.qhtix-theme .gt-header .gt-user-box li a,
.qhtix-theme .gt-sticky-header .gt-user-box li a,
.qhtix-theme .gt-header .gt-user-box .gt-user-links a,
.qhtix-theme .gt-sticky-header .gt-user-box .gt-user-links a {
    background: transparent !important;
    border: 0;
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1;
    padding: 11px 15px;
    white-space: nowrap;
}
.qhtix-theme .gt-header .gt-user-box li a:hover,
.qhtix-theme .gt-sticky-header .gt-user-box li a:hover,
.qhtix-theme .gt-header .gt-user-box li.current-menu-item a,
.qhtix-theme .gt-sticky-header .gt-user-box li.current-menu-item a {
    background: var(--qhtix-accent) !important;
    color: #fff;
}

.qhtix-theme .gt-sticky-header {
    backdrop-filter: blur(18px);
}

/* Footer brand bridge retains all client-approved footer content. */
.qhtix-theme .gt-footer {
    background:
        radial-gradient(circle at 85% 25%, rgba(112,70,232,.14), transparent 30%),
        linear-gradient(145deg, #0a0510, #11081b 55%, #180c24);
    border-top: 1px solid rgba(255,255,255,.08);
}
.qhtix-theme .gt-footer > .container { max-width: var(--qhtix-max); }
.qhtix-theme .gt-footer-content { padding: 62px 0 48px; }

.qhtix-footer-brand {
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.10);
    display: flex;
    gap: 36px;
    justify-content: space-between;
    margin-bottom: 42px;
    padding-bottom: 34px;
}
.qhtix-footer-brand .qhtix-brand-lockup__image {
    filter: none;
    max-height: 82px;
    max-width: 195px;
}
.qhtix-footer-brand .qhtix-brand-lockup__strapline { display: none; }
.qhtix-footer-brand__message { flex: 1 1 auto; }
.qhtix-footer-brand__message strong {
    color: #fff;
    display: block;
    font-size: clamp(1.45rem, 2.8vw, 2.35rem);
    letter-spacing: -.04em;
    line-height: 1.05;
}
.qhtix-footer-brand__message span {
    color: rgba(255,255,255,.58);
    display: block;
    font-size: 13px;
    margin-top: 8px;
}
.qhtix-footer-brand__links { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.qhtix-footer-brand__links a {
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 750;
    padding: 11px 16px;
}
.qhtix-footer-brand__links a:first-child { background: var(--qhtix-accent); border-color: var(--qhtix-accent); }
.qhtix-footer-brand__links a:hover { background: #fff; border-color: #fff; color: var(--qhtix-ink) !important; }

.qhtix-theme .gt-footer .gt-heading .gt-title,
.qhtix-theme .gt-footer h1,
.qhtix-theme .gt-footer h2,
.qhtix-theme .gt-footer h3,
.qhtix-theme .gt-footer h4,
.qhtix-theme .gt-footer h5,
.qhtix-theme .gt-footer h6 { color: #fff !important; }
.qhtix-theme .gt-footer .gt-contact-box,
.qhtix-theme .gt-footer p,
.qhtix-theme .gt-footer li { color: rgba(255,255,255,.68); }
.qhtix-theme .gt-footer img { object-fit: contain; }
.qhtix-theme .gt-footer .vc_row { margin-left: -15px; margin-right: -15px; }
.qhtix-theme .gt-copyright {
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.48);
    padding: 22px 0;
}
.qhtix-theme .gt-copyright p { margin: 0; }

@media (max-width: 1199px) {
    .qhtix-theme .gt-header .gt-user-box li a,
    .qhtix-theme .gt-sticky-header .gt-user-box li a,
    .qhtix-theme .gt-header .gt-user-box .gt-user-links a,
    .qhtix-theme .gt-sticky-header .gt-user-box .gt-user-links a { padding-left: 11px; padding-right: 11px; }
    .qhtix-theme .gt-header .gt-social-media,
    .qhtix-theme .gt-sticky-header .gt-social-media { display: none; }
}

@media (max-width: 991px) {
    .qhtix-theme .gt-header { display: none; }
    .qhtix-footer-brand { align-items: flex-start; flex-direction: column; gap: 20px; }
    .qhtix-footer-brand__links { justify-content: flex-start; }
}

@media (max-width: 767px) {
    .qhtix-theme .gt-footer-content { padding: 44px 0 34px; }
    .qhtix-footer-brand { margin-bottom: 30px; padding-bottom: 28px; }
    .qhtix-footer-brand .qhtix-brand-lockup__image { max-height: 64px; max-width: 165px; }
    .qhtix-footer-brand__links a { flex: 1 1 auto; text-align: center; }
}


/* ===== /assets/css/home.css ===== */
.qhtix-hero {
    background: var(--qhtix-ink);
    height: clamp(560px, 73vw, 790px);
    min-height: 560px;
    overflow: hidden;
    position: relative;
}
.qhtix-hero__track,
.qhtix-hero__slide { height: 100%; inset: 0; position: absolute; width: 100%; }
.qhtix-hero__slide { opacity: 0; pointer-events: none; transform: scale(1.025); transition: opacity 700ms ease, transform 1200ms ease; }
.qhtix-hero__slide.is-active { opacity: 1; pointer-events: auto; transform: scale(1); z-index: 2; }
.qhtix-hero__media { background-image: var(--qhtix-slide-image), radial-gradient(circle at 75% 20%, rgba(255,79,139,.28), transparent 34%), linear-gradient(135deg, #271137, #0e0816); background-position: center; background-size: cover; inset: 0; position: absolute; }
.qhtix-hero__media video { height: 100%; object-fit: cover; width: 100%; }
.qhtix-hero__veil { background: linear-gradient(90deg, rgba(12,6,19,.96) 0%, rgba(12,6,19,.82) 35%, rgba(12,6,19,.28) 72%, rgba(12,6,19,.45) 100%), linear-gradient(0deg, rgba(12,6,19,.72), transparent 50%); inset: 0; position: absolute; }
.qhtix-hero__content { align-items: flex-end; display: flex; height: 100%; padding-bottom: clamp(80px, 10vw, 130px); padding-top: 130px; position: relative; z-index: 3; }
.qhtix-hero__copy { color: #fff; max-width: 730px; }
.qhtix-hero__labels { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.qhtix-hero__eyebrow,
.qhtix-hero__paid { border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 750; letter-spacing: .11em; padding: 8px 12px; text-transform: uppercase; }
.qhtix-hero__paid { background: var(--qhtix-accent-2); border-color: var(--qhtix-accent-2); color: var(--qhtix-ink); }
.qhtix-hero h1 { color: #fff; font-size: clamp(3rem, 6.5vw, 6.2rem); line-height: .94; margin: 0 0 20px; max-width: 950px; text-wrap: balance; }
.qhtix-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 18px; }
.qhtix-hero__meta span { align-items: center; display: inline-flex; font-size: 14px; font-weight: 650; }
.qhtix-hero__meta span + span:before { background: var(--qhtix-accent); border-radius: 50%; content: ""; height: 5px; margin-right: 18px; width: 5px; }
.qhtix-hero__copy > p { color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.6vw, 1.25rem); line-height: 1.6; margin: 0 0 28px; max-width: 650px; }
.qhtix-hero__controls { align-items: center; bottom: 34px; display: flex; gap: 10px; left: 50%; max-width: var(--qhtix-max); padding: 0 15px; position: absolute; transform: translateX(-50%); width: 100%; z-index: 5; }
.qhtix-hero__arrow,
.qhtix-hero__pause { align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; display: inline-flex; height: 42px; justify-content: center; padding: 0; width: 42px; }
.qhtix-hero__arrow { font-size: 30px; line-height: 1; }
.qhtix-hero__pause { font-size: 13px; }
.qhtix-hero__arrow:hover,
.qhtix-hero__pause:hover { background: #fff; color: var(--qhtix-ink); }
.qhtix-hero__dots { display: flex; gap: 8px; margin: 0 auto 0 0; }
.qhtix-hero__dots button { background: rgba(255,255,255,.36); border: 0; border-radius: 999px; height: 5px; padding: 0; transition: width var(--qhtix-transition), background var(--qhtix-transition); width: 22px; }
.qhtix-hero__dots button.is-active { background: var(--qhtix-accent); width: 54px; }

.qhtix-home-content > .vc_row { position: relative; }
.qhtix-home-content .gt-heading { margin-left: auto; margin-right: auto; max-width: 780px; }
.qhtix-home-content .gt-heading .gt-title { font-size: clamp(2.3rem, 4vw, 4.25rem); line-height: 1; }
.qhtix-home-content .gt-heading .gt-text { color: var(--qhtix-muted); font-size: 1.05rem; line-height: 1.65; }
.qhtix-home-content .gt-heading .gt-separate { color: var(--qhtix-accent); }

.qhtix-search-band { background: transparent !important; margin-top: -34px; overflow: visible !important; position: relative; z-index: 12; }
.qhtix-search-band .gt-event-search { background: #fff !important; border: 1px solid var(--qhtix-line); border-radius: var(--qhtix-radius); box-shadow: var(--qhtix-shadow-lg); margin: 0 auto; max-width: var(--qhtix-max); padding: 22px; }
.qhtix-search-band .gt-event-search form { align-items: end; }
.qhtix-search-band .gt-event-search label { color: var(--qhtix-text); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.qhtix-search-band .gt-event-search .gt-button,
.qhtix-search-band .gt-event-search button { background: var(--qhtix-accent); color: #fff; min-height: 50px; }

.qhtix-section--events { background: linear-gradient(180deg, #fff 0%, var(--qhtix-surface-soft) 100%) !important; padding-bottom: 80px !important; padding-top: 34px !important; }
.qhtix-theme .gt-categorized-contents .gt-nav { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 14px auto 42px; }
.qhtix-theme .gt-categorized-contents .gt-nav > li { margin: 0; }
.qhtix-theme .gt-categorized-contents .gt-nav > li > a,
.qhtix-theme .gt-categorized-contents .gt-nav > li > a:visited { background: #fff; border: 1px solid var(--qhtix-line); border-radius: 999px; color: var(--qhtix-text); font-size: 13px; font-weight: 700; padding: 11px 17px; }
.qhtix-theme .gt-categorized-contents .gt-nav > li > a.active,
.qhtix-theme .gt-categorized-contents .gt-nav > li > a:hover { background: var(--qhtix-ink); border-color: var(--qhtix-ink); color: #fff; }
.qhtix-theme .gt-categorized-contents .gt-all-button { background: var(--qhtix-ink); border-radius: 999px; color: #fff; font-weight: 750; padding: 14px 25px; }

.qhtix-theme .gt-event-style-3 { background: #fff; border: 1px solid var(--qhtix-line); border-radius: var(--qhtix-radius); box-shadow: var(--qhtix-shadow-sm); height: 100%; overflow: hidden; position: relative; transform: translateZ(0); }
.qhtix-theme .gt-event-style-3:hover { box-shadow: var(--qhtix-shadow-lg); transform: translateY(-6px); }
.qhtix-theme .gt-event-style-3 .gt-image { aspect-ratio: 4 / 5; background: var(--qhtix-surface-soft); overflow: hidden; }
.qhtix-theme .gt-event-style-3 .gt-image img { height: 100%; object-fit: cover; transition: transform 600ms ease; width: 100%; }
.qhtix-theme .gt-event-style-3:hover .gt-image img { transform: scale(1.035); }
.qhtix-theme .gt-event-style-3 .gt-content { padding: 18px 18px 22px; }
.qhtix-theme .gt-event-style-3 .gt-title { font-size: 1.12rem; line-height: 1.25; margin-bottom: 12px; min-height: 2.5em; }
.qhtix-theme .gt-event-style-3 .gt-title a { color: var(--qhtix-ink); }
.qhtix-theme .gt-event-style-3 .gt-details { color: var(--qhtix-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 7px 10px; }
.qhtix-theme .gt-event-style-3 .gt-details svg { color: var(--qhtix-accent); height: 15px; width: 15px; }
.qhtix-theme .gt-event-style-3 .gt-price { color: var(--qhtix-accent); font-weight: 800; }

.qhtix-home-content .gt-events-slider .gt-slide-inner { border-radius: var(--qhtix-radius-lg); overflow: hidden; }
.qhtix-home-content .gt-events-slider .gt-content { padding: 25px; }

.qhtix-newsletter-band,
.qhtix-home-content .vc_row[data-vc-full-width][style*="section-1"] { background-color: var(--qhtix-ink) !important; background-image: radial-gradient(circle at 15% 10%, rgba(255,79,139,.25), transparent 35%), radial-gradient(circle at 85% 80%, rgba(112,70,232,.26), transparent 34%) !important; }
.qhtix-home-content .gt-mailchimp-newsletter,
.qhtix-home-content .mc4wp-form { margin: 0 auto; max-width: 900px; }
.qhtix-home-content .gt-mailchimp-newsletter input[type="email"],
.qhtix-home-content .mc4wp-form input[type="email"] { background: rgba(255,255,255,.98); min-height: 58px; }

.qhtix-home-content .vc_images_carousel { border-radius: var(--qhtix-radius-lg); margin: 0 auto 90px; max-width: var(--qhtix-max); overflow: hidden; }
.qhtix-home-content .vc_images_carousel img { aspect-ratio: 2 / 1; object-fit: cover; }

@media (min-width: 1200px) {
    .qhtix-theme .gt-categorized-contents .gt-items.gt-column-5 > div,
    .qhtix-theme .gt-categorized-contents .gt-column-5 > div { width: 20%; }
}

@media (max-width: 991px) {
    .qhtix-hero { height: 680px; }
    .qhtix-hero__content { align-items: flex-end; padding-bottom: 100px; padding-top: 100px; }
    .qhtix-hero__veil { background: linear-gradient(0deg, rgba(12,6,19,.98) 0%, rgba(12,6,19,.72) 55%, rgba(12,6,19,.24) 100%); }
    .qhtix-search-band { margin-top: -20px; }
}

@media (max-width: 767px) {
    .qhtix-hero { height: 650px; min-height: 650px; }
    .qhtix-hero h1 { font-size: clamp(2.65rem, 13vw, 4.15rem); }
    .qhtix-hero__copy > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .qhtix-hero__meta { font-size: 12px; gap: 7px 12px; }
    .qhtix-hero__controls { bottom: 22px; }
    .qhtix-hero__pause { display: none; }
    .qhtix-search-band .gt-event-search { border-radius: 18px; margin-left: 12px; margin-right: 12px; padding: 16px; }
    .qhtix-theme .gt-categorized-contents .gt-nav { flex-wrap: nowrap; justify-content: flex-start; margin-left: -15px; margin-right: -15px; overflow-x: auto; padding: 0 15px 12px; scrollbar-width: none; }
    .qhtix-theme .gt-categorized-contents .gt-nav::-webkit-scrollbar { display: none; }
    .qhtix-theme .gt-categorized-contents .gt-nav > li { flex: 0 0 auto; }
}

/* -------------------------------------------------------------------------
 * v0.1.2 launch-polish overrides
 * ---------------------------------------------------------------------- */
.qhtix-home .qhtix-main--home,
.qhtix-home .qhtix-home-content {
    background: #0b0611;
    color: rgba(255,255,255,.82);
}
.qhtix-home-content > .vc_row {
    margin-left: 0;
    margin-right: 0;
}
.qhtix-home-content .gt-heading.gt-dark .gt-title,
.qhtix-home-content .gt-heading.gt-white .gt-title {
    color: #fff;
}
.qhtix-home-content .gt-heading .gt-title > span {
    color: var(--qhtix-accent);
}
.qhtix-home-content .gt-heading.gt-dark .gt-text,
.qhtix-home-content .gt-heading.gt-white .gt-text {
    color: rgba(255,255,255,.58);
}
.qhtix-home-content .gt-heading .gt-separate,
.qhtix-home-content .gt-heading .gt-separate svg {
    color: rgba(255,255,255,.34);
    stroke: currentColor;
}

/* Give image-less event records a deliberate theatrical visual rather than a
   flat empty panel. The normal artwork background still wins when present. */
.qhtix-hero__slide--no-image .qhtix-hero__media {
    background:
        radial-gradient(ellipse at 74% 8%, rgba(255,255,255,.16) 0 2%, transparent 32%),
        conic-gradient(from 202deg at 76% -4%, transparent 0 26deg, rgba(255,255,255,.08) 28deg 41deg, transparent 43deg 360deg),
        radial-gradient(circle at 80% 58%, color-mix(in srgb, var(--qhtix-accent) 30%, transparent), transparent 31%),
        radial-gradient(circle at 34% 108%, rgba(112,70,232,.34), transparent 40%),
        linear-gradient(125deg, #0c0712 0%, #1a0e25 52%, #09070e 100%);
}
.qhtix-hero__slide--no-image .qhtix-hero__media::before,
.qhtix-hero__slide--no-image .qhtix-hero__media::after {
    border: 1px solid rgba(255,255,255,.08);
    border-bottom: 0;
    border-radius: 50% 50% 0 0;
    content: "";
    height: 70%;
    position: absolute;
    right: 6%;
    top: 18%;
    transform: perspective(700px) rotateY(-9deg);
    width: 42%;
}
.qhtix-hero__slide--no-image .qhtix-hero__media::after {
    border-color: color-mix(in srgb, var(--qhtix-accent) 24%, transparent);
    height: 54%;
    right: 11%;
    top: 31%;
    width: 32%;
}
.qhtix-hero__slide--no-image .qhtix-hero__veil {
    background: linear-gradient(90deg, rgba(10,5,15,.97) 0%, rgba(10,5,15,.78) 48%, rgba(10,5,15,.24) 100%);
}
.qhtix-hero h1 {
    font-size: clamp(3rem, 5.45vw, 5.35rem);
    line-height: .98;
}

/* Search remains the approved Eventchamp tool but now reads as a floating
   discovery panel rather than a raw theme block. */
.qhtix-search-band {
    background: transparent !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}
.qhtix-search-band .gt-event-search {
    max-width: 1240px;
}

/* Approved 15-tile grid: light discovery surface against the theatrical shell. */
.qhtix-section--events {
    background: linear-gradient(180deg, #fbf9fc 0%, #f2edf6 100%) !important;
    color: var(--qhtix-text);
    padding-bottom: 84px !important;
    padding-top: 44px !important;
}
.qhtix-section--events .gt-categorized-contents {
    margin: 0 auto;
    max-width: var(--qhtix-max);
    padding: 0 15px;
}
.qhtix-section--events .gt-nav > li > a,
.qhtix-section--events .gt-nav > li > a:visited {
    color: var(--qhtix-text) !important;
}
.qhtix-section--events .gt-nav > li > a.active,
.qhtix-section--events .gt-nav > li > a:hover {
    color: #fff !important;
}

/* Featured Events stays dark and premium. Its event IDs are now refreshed at
   render time, so the section no longer reserves a large empty space. */
.qhtix-section--featured {
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--qhtix-accent) 14%, transparent), transparent 30%),
        radial-gradient(circle at 94% 100%, rgba(112,70,232,.16), transparent 34%),
        #151318 !important;
    color: #fff;
    padding-bottom: 82px !important;
}
.qhtix-section--featured .gt-heading {
    padding-left: 15px;
    padding-right: 15px;
}
.qhtix-section--featured .gt-events-carousel {
    margin: 0 auto;
    max-width: var(--qhtix-max);
    padding: 0 15px;
}
.qhtix-section--featured .gt-event-style-3,
.qhtix-section--featured .gt-event-style-2,
.qhtix-section--featured .gt-event-style-1 {
    background: #fff;
    border-radius: var(--qhtix-radius);
    overflow: hidden;
}
.qhtix-section--featured .gt-pagination {
    margin-top: 34px;
}
.qhtix-section--featured .gt-pagination .gt-all-button {
    border-radius: 999px;
}

/* Website-database mailing list. */
.qhtix-section--newsletter {
    background:
        radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--qhtix-accent) 28%, transparent), transparent 34%),
        radial-gradient(circle at 88% 80%, rgba(112,70,232,.32), transparent 36%),
        linear-gradient(135deg, #10091a, #1c1028) !important;
    color: #fff;
    padding-bottom: 92px !important;
}
.qhtix-section--newsletter .gt-heading .gt-title,
.qhtix-section--newsletter .gt-heading.gt-dark .gt-title,
.qhtix-section--newsletter .gt-heading.gt-white .gt-title {
    color: #fff !important;
}
.qhtix-section--newsletter .gt-heading .gt-text {
    color: rgba(255,255,255,.68) !important;
}
.qhtix-mailing-list {
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 24px;
}
.qhtix-mailing-list__form {
    margin: 0;
}
.qhtix-mailing-list__fields {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1.1fr) minmax(190px, .9fr) minmax(170px, .65fr);
}
.qhtix-mailing-list__fields input,
.qhtix-mailing-list__fields button {
    min-height: 58px !important;
    width: 100%;
}
.qhtix-mailing-list__fields input {
    background: rgba(255,255,255,.98) !important;
    border-color: transparent !important;
    color: var(--qhtix-text) !important;
}
.qhtix-mailing-list__fields button {
    background: var(--qhtix-accent) !important;
    border-color: var(--qhtix-accent) !important;
    color: #fff !important;
    padding: 0 24px;
}
.qhtix-mailing-list__fields button:hover,
.qhtix-mailing-list__fields button:focus {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--qhtix-ink) !important;
}
.qhtix-mailing-list__consent {
    align-items: flex-start;
    color: rgba(255,255,255,.74);
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.5;
    margin-top: 18px;
}
.qhtix-mailing-list__consent input {
    flex: 0 0 auto;
    margin-top: 3px;
    min-height: 0 !important;
}
.qhtix-mailing-list__consent a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.qhtix-mailing-list__notice {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    color: #fff;
    margin-bottom: 18px;
    padding: 13px 16px;
}
.qhtix-mailing-list__notice--success { border-color: rgba(104,221,164,.55); }
.qhtix-mailing-list__notice--error { border-color: rgba(255,119,133,.6); }
.qhtix-mailing-list__honeypot {
    height: 0;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    width: 0;
}

/* Venue carousel becomes a clean light closing section. */
.qhtix-section--locations {
    background: linear-gradient(180deg, #fff 0%, #f5f1f7 100%) !important;
    color: var(--qhtix-text);
    padding-bottom: 90px !important;
}
.qhtix-section--locations .gt-heading .gt-title,
.qhtix-section--locations .gt-heading.gt-dark .gt-title {
    color: var(--qhtix-ink) !important;
}
.qhtix-section--locations .gt-heading .gt-text {
    color: var(--qhtix-muted) !important;
}
.qhtix-section--locations .gt-heading .gt-separate,
.qhtix-section--locations .gt-heading .gt-separate svg {
    color: rgba(36,26,45,.26);
}
.qhtix-section--locations .vc_images_carousel {
    box-shadow: var(--qhtix-shadow-lg);
}

/* WPBakery's launch page used generous demo spacing. Keep the approved rhythm
   while removing the empty-screen gaps exposed by the old stale carousel. */
.qhtix-home-content .qhtix-section > .vc_column_container > .vc_column-inner > .wpb_wrapper > .vc_empty_space,
.qhtix-home-content .qhtix-section .vc_column > .vc_column-inner > .wpb_wrapper > .vc_empty_space {
    height: 70px !important;
}

@media (max-width: 991px) {
    .qhtix-mailing-list__fields { grid-template-columns: 1fr 1fr; }
    .qhtix-mailing-list__fields button { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .qhtix-mailing-list__fields { grid-template-columns: 1fr; }
    .qhtix-mailing-list__fields button { grid-column: auto; }
    .qhtix-mailing-list { padding: 0 16px; }
    .qhtix-hero h1 { font-size: clamp(2.55rem, 12vw, 3.75rem); }
}

/* -------------------------------------------------------------------------
 * v0.1.3 homepage discovery and carousel refinement
 * ---------------------------------------------------------------------- */
.qhtix-section--newsletter.vc_row-o-full-height,
.qhtix-section--locations.vc_row-o-full-height,
.qhtix-section--featured.vc_row-o-full-height,
.qhtix-section--events.vc_row-o-full-height {
    min-height: 0 !important;
}

.qhtix-section--events .gt-event-style-1,
.qhtix-section--events .gt-event-style-2,
.qhtix-section--events .gt-event-style-3,
.qhtix-section--events .gt-event-style-4 {
    background: #100918;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(24,12,32,.1);
    height: 100%;
    overflow: hidden;
    transition: transform var(--qhtix-transition), box-shadow var(--qhtix-transition);
}
.qhtix-section--events .gt-event-style-1:hover,
.qhtix-section--events .gt-event-style-2:hover,
.qhtix-section--events .gt-event-style-3:hover,
.qhtix-section--events .gt-event-style-4:hover {
    box-shadow: 0 22px 48px rgba(24,12,32,.18);
    transform: translateY(-5px);
}
.qhtix-section--events .gt-col > .gt-inner { height: 100%; }
.qhtix-section--events .gt-image,
.qhtix-section--featured .gt-image {
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #1c1028, #392052);
    overflow: hidden;
}
.qhtix-section--events .gt-image img,
.qhtix-section--featured .gt-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.qhtix-event-card__placeholder > a {
    align-items: center;
    background:
        radial-gradient(circle at 78% 18%, rgba(255,79,139,.5), transparent 28%),
        radial-gradient(circle at 20% 86%, rgba(112,70,232,.5), transparent 33%),
        linear-gradient(145deg, #10091a, #241233 58%, #0c0812);
    color: #fff !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    justify-content: center;
    min-height: 190px;
    padding: 24px;
    text-align: center;
}
.qhtix-event-card__mark {
    color: #fff;
    font-size: clamp(1.65rem, 2.3vw, 2.35rem);
    font-weight: 900;
    letter-spacing: -.07em;
}
.qhtix-event-card__placeholder small {
    color: rgba(255,255,255,.7);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.qhtix-section--featured .gt-events-carousel {
    overflow: hidden;
}
.qhtix-section--featured .gt-events-carousel .swiper-container {
    box-sizing: border-box;
    margin: 0 auto;
    overflow: hidden;
    padding: 8px 10px 14px;
    width: 100%;
}
.qhtix-section--featured .gt-events-carousel .swiper-wrapper {
    align-items: stretch;
}
.qhtix-section--featured .gt-events-carousel .swiper-slide {
    box-sizing: border-box;
    height: auto;
}
.qhtix-section--featured .gt-event-style-1,
.qhtix-section--featured .gt-event-style-2,
.qhtix-section--featured .gt-event-style-3,
.qhtix-section--featured .gt-event-style-4 {
    background: #fff;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    box-shadow: 0 20px 55px rgba(0,0,0,.22);
    height: 100%;
    overflow: hidden;
}
.qhtix-section--featured .gt-event-style-1 .gt-content,
.qhtix-section--featured .gt-event-style-2 .gt-content,
.qhtix-section--featured .gt-event-style-3 .gt-content,
.qhtix-section--featured .gt-event-style-4 .gt-content {
    background: #fff;
    color: var(--qhtix-text);
}
.qhtix-section--featured .gt-title a,
.qhtix-section--featured .gt-title a:visited {
    color: var(--qhtix-ink) !important;
}
.qhtix-section--featured .gt-details,
.qhtix-section--featured .gt-details a,
.qhtix-section--featured .gt-details span {
    color: var(--qhtix-muted) !important;
}
.qhtix-section--featured .gt-pagination {
    align-items: center;
    display: flex;
    justify-content: center;
}
.qhtix-section--featured .gt-slider-prev,
.qhtix-section--featured .gt-slider-next {
    border-color: rgba(255,255,255,.28);
    color: #fff;
}

.qhtix-section--newsletter {
    min-height: 0 !important;
    padding-top: 76px !important;
}
.qhtix-section--newsletter .qhtix-mailing-list {
    padding-bottom: 10px;
}
.qhtix-section--locations {
    min-height: 0 !important;
    padding-top: 76px !important;
}

@media (max-width: 767px) {
    .qhtix-section--events { padding-top: 28px !important; }
    .qhtix-section--events .gt-image,
    .qhtix-section--featured .gt-image { aspect-ratio: 16 / 10; }
    .qhtix-section--featured .gt-events-carousel { padding-left: 4px; padding-right: 4px; }
}


/* v0.1.11 approved responsive event placeholder artwork. */
.qhtix-section--events .qhtix-event-card__placeholder > a,
.qhtix-section--featured .qhtix-event-card__placeholder > a {
    background: #09070d !important;
    display: block !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
}
.qhtix-section--events .qhtix-event-card__placeholder picture,
.qhtix-section--featured .qhtix-event-card__placeholder picture,
.qhtix-section--events .qhtix-event-card__placeholder img,
.qhtix-section--featured .qhtix-event-card__placeholder img {
    height: 100%;
    width: 100%;
}
.qhtix-section--events .qhtix-event-card__placeholder img,
.qhtix-section--featured .qhtix-event-card__placeholder img {
    object-fit: cover;
}

@media (max-width: 767px) {
    .qhtix-section--events .gt-image,
    .qhtix-section--featured .gt-image {
        aspect-ratio: 16 / 9;
    }
}

@media(max-width:767px){.qhtix-hero__media{background-image:var(--qhtix-slide-image-mobile,var(--qhtix-slide-image)),radial-gradient(circle at 75% 20%,rgba(255,79,139,.28),transparent 34%),linear-gradient(135deg,#271137,#0e0816)}}

/* Consistent banknote icon for every homepage event price, including ranges. */
body.qhtix-home .gt-event-style-1 .gt-price,
body.qhtix-home .gt-event-style-2 .gt-price,
body.qhtix-home .gt-event-style-3 .gt-price,
body.qhtix-home .gt-event-style-4 .gt-price {
    align-items: center;
    display: flex;
    gap: 7px;
    line-height: 1.3;
}

body.qhtix-home .gt-event-style-1 .gt-price > svg,
body.qhtix-home .gt-event-style-2 .gt-price > svg,
body.qhtix-home .gt-event-style-3 .gt-price > svg,
body.qhtix-home .gt-event-style-4 .gt-price > svg {
    color: #087cff;
    display: block;
    flex: 0 0 18px;
    height: 15px;
    margin: 0;
    width: 18px;
}

body.qhtix-home .gt-price > span {
    min-width: 0;
}



/* ===== /assets/css/events.css ===== */
/* QH Tix single-event experience. The underlying Eventchamp, FooEvents and
   WooCommerce markup remains intact; this file changes presentation only. */

.qhtix-event-page {
    background: #f5f1f7;
}
.qhtix-single-event {
    background: #f5f1f7;
    color: var(--qhtix-text);
    overflow: hidden;
}

.qhtix-event-hero {
    min-height: clamp(500px, 68vh, 700px);
    overflow: hidden;
    position: relative;
}
.qhtix-event-hero__media,
.qhtix-event-hero__overlay {
    inset: 0;
    position: absolute;
}
.qhtix-event-hero__media {
    background-image: var(--qhtix-event-visual);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: saturate(.9) contrast(1.05);
    transform: scale(1.015);
}
.qhtix-event-hero--no-image .qhtix-event-hero__media {
    background:
        radial-gradient(circle at 76% 18%, rgba(255,79,139,.42), transparent 27%),
        radial-gradient(circle at 28% 100%, rgba(112,70,232,.38), transparent 38%),
        linear-gradient(135deg, #10091a, #231132 58%, #08050d);
}
.qhtix-event-hero__overlay {
    background:
        linear-gradient(90deg, rgba(8,4,13,.97) 0%, rgba(8,4,13,.81) 42%, rgba(8,4,13,.34) 75%, rgba(8,4,13,.55) 100%),
        linear-gradient(0deg, rgba(8,4,13,.74) 0%, transparent 48%);
}
.qhtix-event-hero__inner {
    align-items: flex-end;
    display: flex;
    min-height: clamp(500px, 68vh, 700px);
    padding-bottom: clamp(64px, 8vw, 104px);
    padding-top: clamp(90px, 10vw, 130px);
    position: relative;
    z-index: 2;
}
.qhtix-event-hero__copy {
    max-width: 900px;
}
.qhtix-event-hero__category {
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    margin-bottom: 24px;
    padding: 10px 16px;
    text-transform: uppercase;
}
.qhtix-event-hero h1 {
    color: #fff;
    font-size: clamp(3rem, 6.4vw, 6.35rem);
    letter-spacing: -.065em;
    line-height: .92;
    margin: 0;
    max-width: 980px;
    text-wrap: balance;
}
.qhtix-event-hero__meta {
    align-items: center;
    color: rgba(255,255,255,.88);
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 700;
    gap: 10px 0;
    margin-top: 26px;
}
.qhtix-event-hero__meta span {
    align-items: center;
    display: inline-flex;
}
.qhtix-event-hero__meta span:not(:last-child)::after {
    color: var(--qhtix-accent);
    content: "•";
    margin: 0 14px;
}
.qhtix-event-hero__cta {
    margin-top: 30px;
}

.qhtix-event-body {
    padding: clamp(48px, 7vw, 88px) 0 0;
}
.qhtix-event-layout {
    align-items: start;
    display: grid;
    gap: clamp(28px, 4vw, 52px);
    grid-template-columns: minmax(0, 1.75fr) minmax(310px, .8fr);
}
.qhtix-event-primary {
    display: grid;
    gap: 30px;
    min-width: 0;
}
.qhtix-event-artwork,
.qhtix-event-panel {
    background: #fff;
    border: 1px solid rgba(41,23,54,.09);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    overflow: hidden;
}
.qhtix-event-artwork {
    margin: 0;
}
.qhtix-event-artwork img {
    display: block;
    height: auto;
    max-height: 760px;
    object-fit: contain;
    width: 100%;
}
.qhtix-event-panel {
    padding: clamp(24px, 4vw, 42px);
}
.qhtix-event-panel__eyebrow {
    color: var(--qhtix-accent);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.qhtix-event-panel h2 {
    color: var(--qhtix-ink);
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.05;
    margin: 0 0 24px;
}
.qhtix-event-prose {
    color: #554a5e;
    font-size: 1.04rem;
    line-height: 1.8;
}
.qhtix-event-prose > :first-child { margin-top: 0; }
.qhtix-event-prose > :last-child { margin-bottom: 0; }
.qhtix-event-placeholder-copy { color: var(--qhtix-muted); font-style: italic; }

.qhtix-event-sharing {
    border-top: 1px solid var(--qhtix-line);
    margin-top: 30px;
    padding-top: 24px;
}
.qhtix-event-sharing .gt-social-sharing {
    margin: 0;
}

.qhtix-event-sidebar__sticky {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 110px;
}
.qhtix-event-sidebar .gt-detail-widget,
.qhtix-event-sidebar .gt-widget,
.qhtix-event-sidebar .gt-event-detail-box {
    background: #fff;
    border: 1px solid rgba(41,23,54,.09);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    overflow: hidden;
}
.qhtix-event-sidebar .gt-widget-title,
.qhtix-event-sidebar .gt-title-box,
.qhtix-event-sidebar .gt-detail-widget > .gt-title {
    background: var(--qhtix-ink);
    color: #fff;
}
.qhtix-event-sidebar .gt-countdown {
    background: linear-gradient(135deg, #086feb, #275df5);
}
.qhtix-event-sidebar .gt-content-detail-box > ul > li {
    border-bottom-color: var(--qhtix-line);
}
.qhtix-event-sidebar .gt-content-detail-box .gt-icon,
.qhtix-event-sidebar .gt-content-detail-box svg {
    color: #0875ee;
    stroke: currentColor;
}
.qhtix-event-sidebar .gt-content-detail-box a {
    color: var(--qhtix-text);
}
.qhtix-event-sidebar .gt-content-detail-box a:hover {
    color: var(--qhtix-accent);
}
.qhtix-event-sidebar .gt-add-to-calendar,
.qhtix-event-sidebar .gt-button,
.qhtix-event-sidebar a.gt-button {
    background: #0875ee !important;
    border-radius: 999px !important;
    color: #fff !important;
}
.qhtix-event-sidebar .gt-add-to-calendar:hover,
.qhtix-event-sidebar .gt-button:hover,
.qhtix-event-sidebar a.gt-button:hover {
    background: var(--qhtix-accent) !important;
}

.qhtix-event-tickets {
    scroll-margin-top: 110px;
}
.qhtix-event-tickets .gt-event-section-tabs {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: visible;
}
.qhtix-event-tickets .gt-event-tabs {
    background: var(--qhtix-surface-soft);
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    margin: 0 0 24px;
    padding: 5px;
}
.qhtix-event-tickets .gt-event-tabs.is-single-ticket-tab {
    display: none;
}
.qhtix-event-tickets .gt-event-tabs > li > a {
    border-radius: 10px;
    color: var(--qhtix-muted);
    font-weight: 800;
}
.qhtix-event-tickets .gt-event-tabs > li > a.active {
    background: #fff;
    color: var(--qhtix-ink);
}
.qhtix-event-tickets .tab-content,
.qhtix-event-tickets .tab-pane,
.qhtix-event-tickets .gt-event-sections,
.qhtix-event-tickets .gt-section {
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0;
}

.qh-ticket-wrapper {
    display: grid;
    gap: 20px;
}
.qh-ticket-block {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 18px;
    box-shadow: none;
    padding: clamp(20px, 3vw, 30px);
}
.qh-ticket-block__heading {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 20px;
}
.qh-ticket-block__heading h4,
.qh-ticket-block > h4 {
    color: var(--qhtix-ink);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    margin: 0;
}
.qh-ticket-block__badge {
    background: #eaf9f2;
    border-radius: 999px;
    color: #13764c;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    padding: 8px 11px;
    text-transform: uppercase;
}
.qh-ticket-block form.cart { margin: 0; }
.qh-ticket-block table.variations { margin-bottom: 18px; }
.qh-ticket-block table.variations td { padding: 8px 0; }
.qh-ticket-block table.variations label { color: var(--qhtix-ink); font-weight: 800; }
.qh-ticket-block .single_variation { color: var(--qhtix-ink); font-size: 1.18rem; font-weight: 800; margin: 10px 0; }
.qh-ticket-block .quantity input { min-height: 50px; }
.qh-ticket-block .single_add_to_cart_button,
.qh-ticket-block .fooevents_seating_chart {
    background: var(--qhtix-accent) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    min-height: 52px;
    padding: 14px 24px !important;
}
.qh-ticket-block .fooevents_seating_chart:hover,
.qh-ticket-block .single_add_to_cart_button:hover { background: var(--qhtix-ink) !important; }

.qhtix-ticket-state {
    align-items: flex-start;
    background: var(--qhtix-surface-soft);
    border: 1px solid var(--qhtix-line);
    border-radius: 16px;
    display: flex;
    gap: 16px;
    padding: 20px;
}
.qhtix-ticket-state__icon {
    align-items: center;
    background: var(--qhtix-ink);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 20px;
    height: 42px;
    justify-content: center;
}
.qhtix-ticket-state h5 {
    color: var(--qhtix-ink);
    font-size: 1.12rem;
    margin: 0 0 5px;
}
.qhtix-ticket-state p {
    color: var(--qhtix-muted);
    line-height: 1.55;
    margin: 0;
}
.qhtix-ticket-state--sold_out .qhtix-ticket-state__icon,
.qhtix-ticket-state--cancelled .qhtix-ticket-state__icon { background: #a52d42; }
.qhtix-ticket-state--coming_soon .qhtix-ticket-state__icon { background: #0875ee; }

#fooevents_frontend_widget,
.fooevents_seating_chart_view,
.qh-seating-app {
    border-radius: 18px;
    overflow: hidden;
}

.qhtix-event-related {
    margin-top: clamp(54px, 8vw, 90px);
    padding-bottom: clamp(70px, 9vw, 110px);
}
.qhtix-event-related .gt-related-events {
    margin: 0;
}

/* The child template never calls comments_template(), but these guards also
   protect against a plugin injecting the legacy discussion panel. */
.qhtix-event-page #comments,
.qhtix-event-page .comments-area,
.qhtix-event-page .gt-comment-list,
.qhtix-event-page .comment-respond {
    display: none !important;
}

@media (max-width: 991px) {
    .qhtix-event-layout { grid-template-columns: 1fr; }
    .qhtix-event-sidebar { order: -1; }
    .qhtix-event-sidebar__sticky { position: static; }
    .qhtix-event-sidebar .gt-countdown { display: none; }
}

@media (max-width: 767px) {
    .qhtix-event-hero,
    .qhtix-event-hero__inner { min-height: 520px; }
    .qhtix-event-hero__inner { padding-bottom: 60px; padding-top: 90px; }
    .qhtix-event-hero h1 { font-size: clamp(2.55rem, 12vw, 4rem); }
    .qhtix-event-hero__meta { font-size: 12px; }
    .qhtix-event-hero__meta span:not(:last-child)::after { margin: 0 9px; }
    .qhtix-event-body { padding-top: 28px; }
    .qhtix-event-layout { gap: 22px; }
    .qhtix-event-primary { gap: 22px; }
    .qhtix-event-artwork,
    .qhtix-event-panel,
    .qhtix-event-sidebar .gt-detail-widget,
    .qhtix-event-sidebar .gt-widget,
    .qhtix-event-sidebar .gt-event-detail-box { border-radius: 18px; }
    .qhtix-event-panel { padding: 22px 18px; }
    .qh-ticket-block { padding: 18px; }
    .qh-ticket-block__heading { align-items: flex-start; flex-direction: column; }
}

/* -------------------------------------------------------------------------
 * v0.1.4 adaptive event artwork and refined ticket purchase panel
 * ---------------------------------------------------------------------- */
.qhtix-event-body {
    background:
        radial-gradient(circle at 9% 14%, rgba(255,79,139,.055), transparent 30%),
        radial-gradient(circle at 92% 36%, rgba(78,77,231,.055), transparent 32%),
        #f6f2f8;
}

.qhtix-event-artwork {
    --qhtix-artwork-radius: 18px;
    align-items: center;
    background: #0d0813;
    border: 1px solid rgba(255,255,255,.1);
    display: grid;
    isolation: isolate;
    justify-items: center;
    min-height: clamp(420px, 58vw, 820px);
    overflow: hidden;
    padding: clamp(14px, 2.2vw, 28px);
    position: relative;
}
.qhtix-event-artwork::before {
    background-image: var(--qhtix-artwork);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    filter: blur(34px) saturate(.82) brightness(.48);
    inset: -9%;
    opacity: .82;
    position: absolute;
    transform: scale(1.12);
    z-index: -2;
}
.qhtix-event-artwork::after {
    background:
        linear-gradient(180deg, rgba(8,4,13,.18), rgba(8,4,13,.38)),
        radial-gradient(circle at center, transparent 30%, rgba(8,4,13,.28) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}
.qhtix-event-artwork img {
    border-radius: var(--qhtix-artwork-radius);
    box-shadow: 0 26px 70px rgba(0,0,0,.38);
    display: block;
    height: auto;
    max-height: min(88vh, 980px);
    max-width: 100%;
    object-fit: contain;
    position: relative;
    width: auto;
    z-index: 1;
}
.qhtix-event-artwork--portrait img {
    max-width: min(82%, 760px);
}
.qhtix-event-artwork--square img {
    max-width: min(90%, 860px);
}
.qhtix-event-artwork--landscape {
    min-height: auto;
    padding: clamp(10px, 1.4vw, 18px);
}
.qhtix-event-artwork--landscape img {
    max-height: none;
    width: 100%;
}

.qhtix-event-panel {
    border-color: rgba(41,23,54,.08);
    border-radius: 26px;
}

.qhtix-event-tickets {
    background:
        radial-gradient(circle at 92% 0%, rgba(255,79,139,.24), transparent 32%),
        radial-gradient(circle at 0% 100%, rgba(63,85,255,.22), transparent 34%),
        linear-gradient(145deg, #11091b 0%, #1b0f29 55%, #130b20 100%);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 28px 70px rgba(25,10,38,.18);
    color: #fff;
    overflow: hidden;
    padding: clamp(26px, 4vw, 44px);
}
.qhtix-event-tickets__header {
    max-width: 700px;
    padding: 0 2px;
}
.qhtix-event-tickets .qhtix-event-panel__eyebrow {
    color: #ff71a5;
}
.qhtix-event-tickets h2,
.qhtix-event-tickets #qhtix-ticket-title {
    color: #fff;
    margin-bottom: 12px;
}
.qhtix-event-tickets__intro {
    color: rgba(255,255,255,.68);
    font-size: .98rem;
    line-height: 1.65;
    margin: 0;
}
.qhtix-event-tickets__content {
    margin-top: clamp(22px, 3vw, 32px);
}

/* Flatten Eventchamp's inherited white/dark wrappers so that the purchase
   experience has one clear outer surface and one clear ticket card. */
.qhtix-event-tickets .gt-event-section-tabs,
.qhtix-event-tickets .gt-event-sections,
.qhtix-event-tickets .gt-event-section-tabs .gt-content,
.qhtix-event-tickets .gt-event-sections .gt-content,
.qhtix-event-tickets .gt-event-section-tabs .tab-content,
.qhtix-event-tickets .gt-event-section-tabs .tab-pane,
.qhtix-event-tickets .gt-event-section-tabs .gt-section,
.qhtix-event-tickets .gt-event-sections .gt-section {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.qhtix-event-tickets .gt-event-section-tabs .gt-event-tabs {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 14px !important;
    margin: 0 0 20px !important;
    padding: 5px !important;
}
.qhtix-event-tickets .gt-event-section-tabs .gt-event-tabs > li > a {
    border: 0 !important;
    color: rgba(255,255,255,.72) !important;
    padding: 13px 16px !important;
}
.qhtix-event-tickets .gt-event-section-tabs .gt-event-tabs > li > a.active {
    background: #fff !important;
    color: var(--qhtix-ink) !important;
}

.qhtix-event-tickets .qh-ticket-wrapper {
    gap: 16px;
}
.qhtix-event-tickets .qh-ticket-block {
    background: rgba(255,255,255,.985);
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(3,1,8,.22);
    padding: clamp(22px, 3vw, 34px);
}
.qhtix-event-tickets .qh-ticket-block__heading {
    border-bottom: 1px solid var(--qhtix-line);
    margin-bottom: 22px;
    padding-bottom: 18px;
}
.qhtix-event-tickets .qh-ticket-block__heading h4,
.qhtix-event-tickets .qh-ticket-block > h4 {
    color: var(--qhtix-ink);
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    letter-spacing: -.025em;
}
.qhtix-event-tickets .qh-ticket-block table.variations {
    border: 0;
    display: block;
    margin: 0 0 18px;
    width: 100%;
}
.qhtix-event-tickets .qh-ticket-block table.variations tbody {
    display: grid;
    gap: 14px;
}
.qhtix-event-tickets .qh-ticket-block table.variations tr {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr);
}
.qhtix-event-tickets .qh-ticket-block table.variations th,
.qhtix-event-tickets .qh-ticket-block table.variations td {
    border: 0;
    display: block;
    padding: 0;
    width: auto;
}
.qhtix-event-tickets .qh-ticket-block table.variations label {
    color: var(--qhtix-ink);
    font-size: .92rem;
}
.qhtix-event-tickets .qh-ticket-block select,
.qhtix-event-tickets .qh-ticket-block .select2-container,
.qhtix-event-tickets .qh-ticket-block .select2-selection {
    width: 100% !important;
}
.qhtix-event-tickets .qh-ticket-block .woocommerce-variation-price,
.qhtix-event-tickets .qh-ticket-block .single_variation {
    color: #0875ee;
    font-size: 1.18rem;
    font-weight: 850;
    margin: 16px 0;
}
.qhtix-event-tickets .qh-ticket-block .woocommerce-variation-description:empty {
    display: none;
}
.qhtix-event-tickets .qh-ticket-block .woocommerce-variation-add-to-cart,
.qhtix-event-tickets .qh-ticket-block form.cart:not(.variations_form) {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}
.qhtix-event-tickets .qh-ticket-block .quantity {
    flex: 0 0 120px;
    margin: 0 !important;
}
.qhtix-event-tickets .qh-ticket-block .quantity input {
    height: 56px;
    min-height: 56px;
    text-align: center;
    width: 100%;
}
.qhtix-event-tickets .qh-ticket-block .single_add_to_cart_button,
.qhtix-event-tickets .qh-ticket-block .fooevents_seating_chart {
    flex: 1 1 230px;
    min-height: 56px;
}
.qhtix-event-tickets .qh-ticket-block .reset_variations {
    color: var(--qhtix-muted);
    display: inline-flex;
    font-size: .82rem;
    margin-top: 8px;
}
.qhtix-event-tickets .qhtix-ticket-state {
    background: #f8f5fa;
    border-color: #e5ddea;
}

@media (max-width: 767px) {
    .qhtix-event-artwork {
        --qhtix-artwork-radius: 12px;
        min-height: 360px;
        padding: 9px;
    }
    .qhtix-event-artwork--portrait img,
    .qhtix-event-artwork--square img {
        max-width: 100%;
    }
    .qhtix-event-tickets {
        padding: 24px 16px 18px;
    }
    .qhtix-event-tickets .qh-ticket-block {
        border-radius: 18px;
        padding: 20px 16px;
    }
    .qhtix-event-tickets .qh-ticket-block table.variations tr {
        gap: 8px;
        grid-template-columns: 1fr;
    }
    .qhtix-event-tickets .qh-ticket-block .quantity,
    .qhtix-event-tickets .qh-ticket-block .single_add_to_cart_button,
    .qhtix-event-tickets .qh-ticket-block .fooevents_seating_chart {
        flex-basis: 100%;
        width: 100%;
    }
}


/* v0.1.11 mobile fallback hero crop. */
@media (max-width: 767px) {
    .qhtix-event-hero--placeholder .qhtix-event-hero__media {
        background-image: var(--qhtix-event-visual-mobile);
    }
}


/* ===== /assets/css/archive.css ===== */
/* -------------------------------------------------------------------------
 * QH Tix event discovery, archive and organiser collections — v0.1.6
 * ---------------------------------------------------------------------- */
.qhtix-event-archive .gt-page-title-bar,
.qhtix-event-archive .gt-sub-content,
.qhtix-event-archive .gt-page-content > .gt-columns {
    display: none !important;
}

.qhtix-archive-main {
    background: var(--qhtix-surface-soft);
    min-height: 70vh;
    overflow: hidden;
}

.qhtix-archive-hero {
    background:
        radial-gradient(circle at 78% 20%, rgba(255,79,139,.32), transparent 28%),
        radial-gradient(circle at 18% 80%, rgba(112,70,232,.34), transparent 30%),
        linear-gradient(135deg, #09040f 0%, #15091f 48%, #281036 100%);
    color: #fff;
    isolation: isolate;
    min-height: 490px;
    overflow: hidden;
    position: relative;
}
.qhtix-archive-hero::before {
    background:
        linear-gradient(115deg, transparent 0 52%, rgba(255,255,255,.045) 52.2% 52.8%, transparent 53%),
        linear-gradient(65deg, transparent 0 64%, rgba(255,255,255,.035) 64.2% 64.8%, transparent 65%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.qhtix-archive-hero__glow {
    background: radial-gradient(ellipse at center, rgba(244,189,69,.22), transparent 66%);
    filter: blur(18px);
    height: 220px;
    position: absolute;
    right: 4%;
    top: 20%;
    transform: rotate(-12deg);
    width: 540px;
    z-index: -1;
}
.qhtix-archive-hero__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 490px;
    padding-bottom: 76px;
    padding-top: 120px;
    position: relative;
}
.qhtix-archive-hero__eyebrow {
    color: var(--qhtix-accent-2);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    margin: 0 0 18px;
    text-transform: uppercase;
}
.qhtix-archive-hero h1 {
    color: #fff;
    font-size: clamp(3.25rem, 7vw, 6.4rem);
    line-height: .94;
    margin: 0;
    max-width: 980px;
}
.qhtix-archive-hero__inner > p:not(.qhtix-archive-hero__eyebrow) {
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.5vw, 1.28rem);
    line-height: 1.65;
    margin: 24px 0 0;
    max-width: 760px;
}
.qhtix-archive-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}
.qhtix-archive-hero__actions a {
    align-items: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    display: inline-flex;
    font-size: 14px;
    font-weight: 750;
    min-height: 48px;
    padding: 0 22px;
}
.qhtix-archive-hero__actions a:hover,
.qhtix-archive-hero__actions a.is-active {
    background: var(--qhtix-accent);
    border-color: var(--qhtix-accent);
    box-shadow: 0 14px 38px rgba(255,79,139,.28);
    color: #fff;
}

/* Discovery ribbon — permanent expression of the QHTix.com launch identity. */
.qhtix-discovery-ribbon {
    background: #0e0815;
    border-bottom: 1px solid rgba(255,255,255,.08);
    border-top: 1px solid rgba(255,255,255,.08);
    color: #fff;
    overflow: hidden;
    position: relative;
    z-index: 4;
}
.qhtix-discovery-ribbon__viewport {
    overflow: hidden;
    width: 100%;
}
.qhtix-discovery-ribbon__track {
    align-items: center;
    display: flex;
    min-width: max-content;
    width: max-content;
    animation: qhtix-ribbon-scroll 38s linear infinite;
}
.qhtix-discovery-ribbon:hover .qhtix-discovery-ribbon__track,
.qhtix-discovery-ribbon:focus-within .qhtix-discovery-ribbon__track {
    animation-play-state: paused;
}
.qhtix-discovery-ribbon__set {
    align-items: center;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}
.qhtix-discovery-ribbon__set li {
    margin: 0;
    padding: 0;
}
.qhtix-discovery-ribbon__set a {
    align-items: center;
    color: rgba(255,255,255,.84);
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    gap: 28px;
    letter-spacing: .08em;
    min-height: 62px;
    padding: 0 28px;
    text-transform: uppercase;
    white-space: nowrap;
}
.qhtix-discovery-ribbon__set a:hover,
.qhtix-discovery-ribbon__set a:focus {
    color: #fff;
}
.qhtix-discovery-ribbon__set a span {
    color: var(--qhtix-accent);
    font-size: 10px;
}
.qhtix-discovery-ribbon--home {
    box-shadow: 0 18px 50px rgba(0,0,0,.2);
}
.qhtix-discovery-ribbon--single {
    margin-top: 0;
}
@keyframes qhtix-ribbon-scroll {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(-50%,0,0); }
}

.qhtix-archive-content {
    padding: 58px 0 96px;
}
.qhtix-archive-filters {
    align-items: end;
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(210px, 1.2fr) minmax(170px, .8fr) minmax(170px, .7fr) minmax(170px, .7fr) auto;
    margin: -18px 0 66px;
    padding: 22px;
    position: relative;
    z-index: 6;
}
.qhtix-event-archive--past .qhtix-archive-filters {
    grid-template-columns: minmax(240px, 1.4fr) minmax(210px, .9fr) auto;
}
.qhtix-archive-filters label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}
.qhtix-archive-filters label > span {
    color: var(--qhtix-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    padding-left: 3px;
    text-transform: uppercase;
}
.qhtix-archive-filters input,
.qhtix-archive-filters select,
.qhtix-archive-filters button {
    margin: 0 !important;
    min-height: 54px !important;
    width: 100%;
}
.qhtix-archive-filters button {
    background: var(--qhtix-accent) !important;
    border: 1px solid var(--qhtix-accent) !important;
    color: #fff !important;
    min-width: 150px;
    padding: 0 22px !important;
}
.qhtix-archive-filters button:hover,
.qhtix-archive-filters button:focus {
    background: var(--qhtix-ink) !important;
    border-color: var(--qhtix-ink) !important;
}
.qhtix-archive-filters__clear {
    color: var(--qhtix-muted);
    font-size: 13px;
    font-weight: 700;
    grid-column: 1 / -1;
    justify-self: end;
    margin: -2px 4px 0;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.qhtix-archive-results-head {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.qhtix-archive-results-head p {
    color: var(--qhtix-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.qhtix-archive-results-head h2 {
    font-size: clamp(2rem, 4vw, 3.6rem);
    margin: 0;
}
.qhtix-archive-results-head > span {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 999px;
    color: var(--qhtix-muted);
    font-size: 13px;
    font-weight: 700;
    padding: 10px 16px;
}

.qhtix-archive-grid,
.qhtix-related-grid {
    display: grid;
    gap: 26px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.qhtix-archive-card {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(30,12,43,.08);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: transform var(--qhtix-transition), box-shadow var(--qhtix-transition);
}
.qhtix-archive-card:hover {
    box-shadow: 0 24px 58px rgba(30,12,43,.16);
    transform: translateY(-6px);
}
.qhtix-archive-card__visual {
    aspect-ratio: 4 / 3;
    background: linear-gradient(145deg, #10091a, #28123a);
    display: block;
    overflow: hidden;
    position: relative;
}
.qhtix-archive-card__visual > img {
    height: 100%;
    object-fit: cover;
    transition: transform 500ms cubic-bezier(.2,.7,.2,1);
    width: 100%;
}
.qhtix-archive-card:hover .qhtix-archive-card__visual > img {
    transform: scale(1.035);
}
.qhtix-card-placeholder {
    align-items: center;
    background:
        radial-gradient(circle at 74% 20%, rgba(255,79,139,.48), transparent 26%),
        radial-gradient(circle at 20% 82%, rgba(112,70,232,.48), transparent 32%),
        linear-gradient(145deg, #10091a, #241233 58%, #0c0812);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding: 26px;
    text-align: center;
    width: 100%;
}
.qhtix-card-placeholder__brand {
    display: block;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 900;
    letter-spacing: -.075em;
    line-height: 1;
    white-space: nowrap;
}
.qhtix-card-placeholder__brand strong {
    color: var(--qhtix-accent-2);
    font-weight: 900;
}
.qhtix-card-placeholder__copy {
    color: rgba(255,255,255,.76);
    display: block;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .13em;
    line-height: 1.5;
    margin-top: 18px;
    text-transform: uppercase;
    width: 100%;
}
.qhtix-archive-card__date-badge {
    align-items: center;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(0,0,0,.18);
    color: var(--qhtix-ink);
    display: flex;
    flex-direction: column;
    left: 16px;
    min-width: 58px;
    padding: 10px 8px 8px;
    position: absolute;
    top: 16px;
}
.qhtix-archive-card__date-badge strong {
    font-size: 20px;
    line-height: 1;
}
.qhtix-archive-card__date-badge small {
    color: var(--qhtix-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .09em;
    margin-top: 5px;
    text-transform: uppercase;
}
.qhtix-archive-card__status {
    background: rgba(16,9,26,.86);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    max-width: calc(100% - 94px);
    overflow: hidden;
    padding: 9px 12px;
    position: absolute;
    right: 14px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    top: 16px;
    white-space: nowrap;
}
.qhtix-archive-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 23px 24px 22px;
}
.qhtix-archive-card__category {
    color: var(--qhtix-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    margin: 0 0 10px;
    text-transform: uppercase;
}
.qhtix-archive-card h2 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.12;
    margin: 0 0 18px;
}
.qhtix-archive-card h2 a,
.qhtix-archive-card h2 a:visited {
    color: var(--qhtix-ink);
}
.qhtix-archive-card h2 a:hover {
    color: var(--qhtix-accent);
}
.qhtix-archive-card__meta {
    display: grid;
    gap: 8px;
    margin: 0;
}
.qhtix-archive-card__meta > div {
    display: grid;
    gap: 8px;
    grid-template-columns: 50px minmax(0,1fr);
}
.qhtix-archive-card__meta dt {
    color: var(--qhtix-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.qhtix-archive-card__meta dd {
    color: #504557;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}
.qhtix-archive-card__footer {
    align-items: center;
    border-top: 1px solid var(--qhtix-line);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 18px;
}
.qhtix-archive-card__footer > span {
    color: var(--qhtix-ink);
    font-size: 12px;
    font-weight: 800;
}
.qhtix-archive-card__footer > a {
    align-items: center;
    color: var(--qhtix-accent);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 8px;
    white-space: nowrap;
}
.qhtix-archive-card__footer > a:hover {
    color: var(--qhtix-ink);
}

.qhtix-event-archive--past .qhtix-archive-card__visual > img {
    filter: saturate(.72) contrast(.96);
}
.qhtix-event-archive--past .qhtix-archive-card__status {
    background: rgba(16,9,26,.9);
}

.qhtix-archive-pagination {
    margin-top: 58px;
}
.qhtix-archive-pagination .nav-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.qhtix-archive-pagination .page-numbers {
    align-items: center;
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 999px;
    color: var(--qhtix-text);
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 0 15px;
}
.qhtix-archive-pagination .page-numbers.current,
.qhtix-archive-pagination .page-numbers:hover {
    background: var(--qhtix-accent);
    border-color: var(--qhtix-accent);
    color: #fff;
}

.qhtix-archive-empty {
    align-items: center;
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 28px;
    box-shadow: var(--qhtix-shadow-sm);
    display: flex;
    flex-direction: column;
    padding: 72px 24px;
    text-align: center;
}
.qhtix-archive-empty > span {
    color: var(--qhtix-accent);
    font-size: 28px;
}
.qhtix-archive-empty h2 {
    margin: 16px 0 8px;
}
.qhtix-archive-empty p {
    color: var(--qhtix-muted);
    margin: 0 0 24px;
}

.qhtix-archive-cta {
    background:
        radial-gradient(circle at 82% 20%, rgba(255,79,139,.3), transparent 28%),
        linear-gradient(120deg, #10091a, #271037);
    color: #fff;
    padding: 62px 0;
}
.qhtix-archive-cta__inner {
    align-items: center;
    display: flex;
    gap: 30px;
    justify-content: space-between;
}
.qhtix-archive-cta p {
    color: var(--qhtix-accent-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    margin: 0 0 8px;
    text-transform: uppercase;
}
.qhtix-archive-cta h2 {
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    margin: 0;
}
.qhtix-archive-cta a {
    align-items: center;
    background: var(--qhtix-accent);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 800;
    gap: 12px;
    min-height: 54px;
    padding: 0 24px;
}
.qhtix-archive-cta a:hover {
    background: #fff;
    color: var(--qhtix-ink);
}

/* Organiser-specific and category-related event collections on single pages. */
.qhtix-event-relationships {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 30px;
    box-shadow: var(--qhtix-shadow-sm);
    margin-bottom: 84px;
    margin-top: 68px;
    padding: 40px;
}
.qhtix-event-relationships__header {
    align-items: end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 30px;
}
.qhtix-event-relationships__header h2 {
    font-size: clamp(2rem, 4vw, 3.4rem);
    margin: 0;
}
.qhtix-event-relationships__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.qhtix-event-relationships__actions a {
    border: 1px solid var(--qhtix-line);
    border-radius: 999px;
    color: var(--qhtix-text);
    font-size: 12px;
    font-weight: 750;
    padding: 11px 15px;
}
.qhtix-event-relationships__actions a:hover {
    background: var(--qhtix-ink);
    border-color: var(--qhtix-ink);
    color: #fff;
}
.qhtix-related-group + .qhtix-related-group {
    border-top: 1px solid var(--qhtix-line);
    margin-top: 40px;
    padding-top: 34px;
}
.qhtix-related-group > h3 {
    font-size: 1rem;
    letter-spacing: .08em;
    margin: 0 0 18px;
    text-transform: uppercase;
}
.qhtix-event-relationships .qhtix-archive-card__visual {
    aspect-ratio: 16 / 10;
}
.qhtix-event-relationships .qhtix-archive-card__content {
    padding: 20px;
}
.qhtix-event-relationships .qhtix-archive-card__meta > div:nth-child(n+3) {
    display: none;
}

/* Existing Eventchamp cards receive the corrected two-line placeholder. */
.qhtix-event-card__placeholder > a {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
.qhtix-event-card__placeholder .qhtix-event-card__mark {
    display: block !important;
    line-height: 1 !important;
    width: 100% !important;
}
.qhtix-event-card__placeholder .qhtix-event-card__placeholder-copy {
    color: rgba(255,255,255,.72) !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    letter-spacing: .13em !important;
    line-height: 1.45 !important;
    margin-top: 18px !important;
    position: static !important;
    text-align: center !important;
    text-transform: uppercase !important;
    width: 100% !important;
}

@media (max-width: 1100px) {
    .qhtix-archive-filters,
    .qhtix-event-archive--past .qhtix-archive-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .qhtix-archive-filters button { min-width: 0; }
}

@media (max-width: 991px) {
    .qhtix-archive-grid,
    .qhtix-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qhtix-archive-hero,
    .qhtix-archive-hero__inner { min-height: 440px; }
    .qhtix-archive-hero__inner { padding-top: 104px; }
    .qhtix-event-relationships { padding: 30px; }
}

@media (max-width: 767px) {
    .qhtix-archive-hero,
    .qhtix-archive-hero__inner { min-height: 410px; }
    .qhtix-archive-hero__inner { padding-bottom: 62px; padding-top: 92px; }
    .qhtix-archive-hero h1 { font-size: clamp(2.75rem, 13vw, 4.3rem); }
    .qhtix-discovery-ribbon__set a { min-height: 54px; padding: 0 20px; }
    .qhtix-archive-content { padding-top: 54px; }
    .qhtix-archive-filters,
    .qhtix-event-archive--past .qhtix-archive-filters {
        grid-template-columns: 1fr;
        margin-top: -12px;
        padding: 18px;
    }
    .qhtix-archive-results-head,
    .qhtix-event-relationships__header,
    .qhtix-archive-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }
    .qhtix-archive-results-head > span { margin-top: 16px; }
    .qhtix-archive-grid,
    .qhtix-related-grid { grid-template-columns: 1fr; }
    .qhtix-archive-card__visual { aspect-ratio: 16 / 10; }
    .qhtix-event-relationships { border-radius: 22px; margin-left: 15px; margin-right: 15px; padding: 22px; }
    .qhtix-event-relationships__actions { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .qhtix-discovery-ribbon__track { animation: none; transform: none; }
    .qhtix-discovery-ribbon__set[aria-hidden="true"] { display: none; }
}
.qhtix-related-group--empty {
    background: var(--qhtix-surface-soft);
    border: 1px dashed var(--qhtix-line);
    border-radius: 18px;
    color: var(--qhtix-muted);
    padding: 20px;
}
.qhtix-related-group--empty p { margin: 0; }

/* v0.1.7: keep archive eyebrow clear of the tall QH Tix brand lockup. */
@media (min-width: 992px) {
    .qhtix-event-archive .qhtix-archive-hero,
    .qhtix-event-archive .qhtix-archive-hero__inner {
        min-height: 560px;
    }
    .qhtix-event-archive .qhtix-archive-hero__inner {
        padding-bottom: 74px;
        padding-top: 184px;
    }
}

@media (max-width: 991px) {
    .qhtix-event-archive .qhtix-archive-hero__inner {
        padding-top: 128px;
    }
}


/* v0.1.11 approved archive placeholder and overlay-header spacing. */
body.qhtix-event-archive .qhtix-archive-hero,
body.qhtix-event-archive .qhtix-archive-hero__inner {
    min-height: 590px;
}
body.qhtix-event-archive .qhtix-archive-hero__inner {
    padding-bottom: 78px;
    padding-top: 214px;
}
.qhtix-archive-card.has-placeholder .qhtix-archive-card__visual {
    background: #09070d;
}
.qhtix-archive-card.has-placeholder .qhtix-card-placeholder {
    background: #09070d;
    padding: 0;
}
.qhtix-archive-card.has-placeholder .qhtix-card-placeholder img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

@media (max-width: 991px) {
    body.qhtix-event-archive .qhtix-archive-hero,
    body.qhtix-event-archive .qhtix-archive-hero__inner {
        min-height: 520px;
    }
    body.qhtix-event-archive .qhtix-archive-hero__inner {
        padding-bottom: 68px;
        padding-top: 158px;
    }
}

@media (max-width: 767px) {
    body.qhtix-event-archive .qhtix-archive-hero,
    body.qhtix-event-archive .qhtix-archive-hero__inner {
        min-height: 500px;
    }
    body.qhtix-event-archive .qhtix-archive-hero__inner {
        padding-bottom: 58px;
        padding-top: 136px;
    }
    .qhtix-archive-card__visual {
        aspect-ratio: 16 / 9;
    }
}


/* ===== /assets/css/commerce.css ===== */
/* -------------------------------------------------------------------------
 * QH Tix commerce, confirmation, customer account and organiser portal
 * v0.1.7 — presentation only; WooCommerce/FooEvents mechanics are unchanged.
 * ---------------------------------------------------------------------- */

.qhtix-commerce-page {
    background: var(--qhtix-surface-soft);
}

.qhtix-commerce-page .gt-page-title-bar,
.qhtix-commerce-page .gt-site-right,
.qhtix-commerce-page .shop-sidebar {
    display: none !important;
}

.qhtix-commerce-page .gt-site-inner {
    background:
        radial-gradient(circle at 10% 5%, rgba(255,79,139,.09), transparent 30%),
        radial-gradient(circle at 92% 10%, rgba(112,70,232,.10), transparent 30%),
        var(--qhtix-surface-soft);
    padding: 154px 0 104px;
}

.qhtix-commerce-page .gt-site-inner > .container,
.qhtix-commerce-page .gt-site-inner > .container .gt-site-left,
.qhtix-commerce-page .gt-site-inner > .container .gt-page-content {
    float: none !important;
    max-width: var(--qhtix-max);
    width: 100% !important;
}

.qhtix-commerce-page .gt-site-inner > .container .row {
    margin-left: 0;
    margin-right: 0;
}

.qhtix-commerce-page .gt-site-inner > .container .gt-site-left {
    padding-left: 0;
    padding-right: 0;
}

.qhtix-commerce-page .woocommerce {
    color: var(--qhtix-text);
    width: 100%;
}

/* Commerce page introduction and booking steps. */
.qhtix-commerce-intro,
.qhtix-account-intro {
    align-items: flex-end;
    background:
        radial-gradient(circle at 88% 12%, rgba(255,79,139,.26), transparent 28%),
        linear-gradient(135deg, #0c0612 0%, #1a0b27 55%, #29123a 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 30px;
    box-shadow: var(--qhtix-shadow-lg);
    color: #fff;
    display: flex;
    gap: 44px;
    justify-content: space-between;
    margin: 0 0 34px;
    overflow: hidden;
    padding: 38px 42px;
    position: relative;
}

.qhtix-commerce-intro::after,
.qhtix-account-intro::after {
    background: linear-gradient(115deg, transparent 0 62%, rgba(255,255,255,.04) 62.2% 62.7%, transparent 63%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.qhtix-commerce-intro__copy,
.qhtix-account-intro > div {
    position: relative;
    z-index: 1;
}

.qhtix-commerce-intro__eyebrow {
    color: var(--qhtix-accent-2) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .15em !important;
    margin: 0 0 10px !important;
    text-transform: uppercase;
}

.qhtix-commerce-intro h1,
.qhtix-account-intro h1 {
    color: #fff !important;
    font-size: clamp(2.25rem, 4.5vw, 4.25rem);
    line-height: .98;
    margin: 0;
}

.qhtix-commerce-intro__copy > p:last-child,
.qhtix-account-intro > div > p:last-child {
    color: rgba(255,255,255,.70);
    font-size: 15px;
    line-height: 1.6;
    margin: 16px 0 0;
    max-width: 620px;
}

.qhtix-booking-steps {
    align-items: flex-start;
    display: flex;
    flex: 0 0 auto;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 2;
}

.qhtix-booking-steps li {
    align-items: center;
    color: rgba(255,255,255,.48);
    display: flex;
    gap: 9px;
    margin: 0;
    min-width: 112px;
}

.qhtix-booking-steps li > span {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 12px;
    font-weight: 850;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.qhtix-booking-steps strong {
    color: inherit;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
}

.qhtix-booking-steps li.is-current,
.qhtix-booking-steps li.is-complete {
    color: #fff;
}

.qhtix-booking-steps li.is-current > span {
    background: var(--qhtix-accent);
    border-color: var(--qhtix-accent);
    box-shadow: 0 10px 24px rgba(255,79,139,.26);
}

.qhtix-booking-steps li.is-complete > span {
    background: rgba(244,189,69,.20);
    border-color: rgba(244,189,69,.58);
    color: var(--qhtix-accent-2);
}

/* Notices. */
.qhtix-theme .woocommerce-error,
.qhtix-theme .woocommerce-info,
.qhtix-theme .woocommerce-message {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 16px;
    box-shadow: var(--qhtix-shadow-sm);
    color: var(--qhtix-text);
    line-height: 1.55;
    margin: 0 0 24px;
    padding: 17px 20px 17px 52px;
}

.qhtix-theme .woocommerce-message { border-top: 3px solid var(--qhtix-accent); }
.qhtix-theme .woocommerce-info { border-top: 3px solid var(--qhtix-violet); }
.qhtix-theme .woocommerce-error { border-top: 3px solid #c92f4c; }

/* Global WooCommerce controls. */
.qhtix-theme .woocommerce a.button,
.qhtix-theme .woocommerce button.button,
.qhtix-theme .woocommerce input.button,
.qhtix-theme .woocommerce #respond input#submit,
.qhtix-theme .woocommerce a.button.alt,
.qhtix-theme .woocommerce button.button.alt,
.qhtix-theme .woocommerce input.button.alt {
    align-items: center;
    background: var(--qhtix-accent);
    border: 0;
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    letter-spacing: .01em;
    min-height: 50px;
    padding: 13px 24px;
    text-transform: none;
}

.qhtix-theme .woocommerce a.button:hover,
.qhtix-theme .woocommerce button.button:hover,
.qhtix-theme .woocommerce input.button:hover,
.qhtix-theme .woocommerce a.button.alt:hover,
.qhtix-theme .woocommerce button.button.alt:hover,
.qhtix-theme .woocommerce input.button.alt:hover {
    background: var(--qhtix-ink);
    color: #fff !important;
    transform: translateY(-1px);
}

.qhtix-theme .woocommerce input.input-text,
.qhtix-theme .woocommerce textarea,
.qhtix-theme .woocommerce select,
.qhtix-theme .woocommerce .select2-container .select2-selection--single {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 12px;
    box-shadow: none;
    color: var(--qhtix-text);
    min-height: 50px;
}

.qhtix-theme .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 48px;
    padding-left: 14px;
}
.qhtix-theme .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }

.qhtix-theme .woocommerce form .form-row label {
    color: var(--qhtix-ink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    margin: 0 0 7px;
}

.qhtix-theme .woocommerce form .form-row .required { color: var(--qhtix-accent); }

/* Cart. */
.qhtix-cart-page .woocommerce-cart-form {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    float: left;
    overflow: hidden;
    padding: 0;
    width: calc(68% - 16px);
}

.qhtix-cart-page .cart-collaterals {
    float: right;
    width: calc(32% - 16px);
}

.qhtix-cart-page .woocommerce::after {
    clear: both;
    content: "";
    display: table;
}

.qhtix-theme .woocommerce table.shop_table {
    background: #fff;
    border: 0;
    border-collapse: separate;
    border-radius: 24px;
    box-shadow: none;
    margin: 0;
    overflow: hidden;
}

.qhtix-theme .woocommerce table.shop_table th {
    background: #f8f5fa;
    border: 0;
    color: var(--qhtix-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .10em;
    padding: 17px 18px;
    text-transform: uppercase;
}

.qhtix-theme .woocommerce table.shop_table td {
    border-color: var(--qhtix-line);
    color: var(--qhtix-text);
    padding: 20px 18px;
    vertical-align: middle;
}

.qhtix-cart-page .woocommerce-cart-form table.shop_table td.product-thumbnail { width: 112px; }
.qhtix-cart-page .woocommerce-cart-form table.shop_table td.product-thumbnail img {
    aspect-ratio: 4 / 5;
    border-radius: 12px;
    height: 108px;
    object-fit: cover;
    width: 86px;
}

.qhtix-cart-page td.product-name > a,
.qhtix-theme .woocommerce-order-details td.product-name > a,
.qhtix-theme .woocommerce-table__product-name a {
    color: var(--qhtix-ink);
    font-size: 16px;
    font-weight: 850;
    line-height: 1.3;
}

.qhtix-ticket-item-meta {
    color: var(--qhtix-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 7px;
    line-height: 1.45;
    margin-top: 7px;
}

.qhtix-ticket-item-meta > span { color: var(--qhtix-accent); }

.qhtix-theme .woocommerce td.product-remove a.remove {
    align-items: center;
    background: #f6eff4;
    border-radius: 50%;
    color: #9b536e !important;
    display: inline-flex;
    font-size: 20px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    width: 34px;
}
.qhtix-theme .woocommerce td.product-remove a.remove:hover { background: #c92f4c; color: #fff !important; }

.qhtix-theme .woocommerce .quantity .qty {
    border-radius: 10px;
    min-height: 44px;
    text-align: center;
    width: 72px;
}

.qhtix-cart-page .woocommerce-cart-form td.actions {
    background: #faf8fb;
    padding: 18px;
}

.qhtix-cart-page .coupon {
    align-items: center;
    display: flex;
    gap: 10px;
}
.qhtix-cart-page .coupon #coupon_code { margin: 0; min-width: 185px; }

.qhtix-theme .woocommerce .cart-collaterals .cart_totals {
    background: var(--qhtix-ink);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-lg);
    color: rgba(255,255,255,.76);
    float: none;
    overflow: hidden;
    padding: 28px;
    width: 100%;
}

.qhtix-theme .woocommerce .cart-collaterals .cart_totals h2 {
    color: #fff;
    font-size: 26px;
    margin: 0 0 18px;
}

.qhtix-theme .woocommerce .cart-collaterals .cart_totals table,
.qhtix-theme .woocommerce .cart-collaterals .cart_totals table th,
.qhtix-theme .woocommerce .cart-collaterals .cart_totals table td {
    background: transparent;
    border-color: rgba(255,255,255,.12);
    color: rgba(255,255,255,.76);
}

.qhtix-theme .woocommerce .cart-collaterals .cart_totals table th { padding-left: 0; }
.qhtix-theme .woocommerce .cart-collaterals .cart_totals table td { color: #fff; padding-right: 0; text-align: right; }
.qhtix-theme .woocommerce .cart-collaterals .order-total strong { color: var(--qhtix-accent-2); font-size: 19px; }
.qhtix-theme .woocommerce .wc-proceed-to-checkout { padding: 18px 0 0; }
.qhtix-theme .woocommerce .wc-proceed-to-checkout a.checkout-button { min-height: 58px; width: 100%; }

/* Checkout. */
.qhtix-checkout-page form.checkout.woocommerce-checkout {
    align-items: start;
    display: grid;
    gap: 30px 34px;
    grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr);
}

.qhtix-checkout-page #customer_details {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    grid-column: 1;
    grid-row: 1 / span 2;
    padding: 30px;
    width: 100%;
}

.qhtix-checkout-page #customer_details .col-1,
.qhtix-checkout-page #customer_details .col-2 {
    float: none;
    padding: 0;
    width: 100%;
}

.qhtix-checkout-page #customer_details .col-2 { margin-top: 26px; }

.qhtix-checkout-page #customer_details h3,
.qhtix-checkout-page #order_review_heading {
    color: var(--qhtix-ink);
    font-size: 24px;
    margin: 0 0 22px;
}

.qhtix-checkout-page #order_review_heading {
    background: var(--qhtix-ink);
    border-radius: 24px 24px 0 0;
    color: #fff;
    grid-column: 2;
    margin: 0;
    padding: 24px 26px 17px;
}

.qhtix-checkout-page #order_review {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 0 0 24px 24px;
    box-shadow: var(--qhtix-shadow-lg);
    grid-column: 2;
    overflow: hidden;
    position: sticky;
    top: 104px;
}

.qhtix-checkout-page #order_review table.shop_table { border-radius: 0; }
.qhtix-checkout-page #order_review table.shop_table th,
.qhtix-checkout-page #order_review table.shop_table td { padding: 16px 20px; }
.qhtix-checkout-page #order_review .order-total strong { color: var(--qhtix-accent); font-size: 18px; }

.qhtix-theme .woocommerce-checkout #payment {
    background: #fbf9fc;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.qhtix-theme .woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--qhtix-line); padding: 22px; }
.qhtix-theme .woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 12px; }
.qhtix-theme .woocommerce-checkout #payment div.payment_box {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    color: var(--qhtix-text);
    font-size: 13px;
    line-height: 1.55;
}
.qhtix-theme .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.qhtix-theme .woocommerce-checkout #payment .place-order { padding: 22px; }
.qhtix-theme .woocommerce-checkout #payment #place_order { float: none; min-height: 58px; width: 100%; }
.qhtix-theme .woocommerce-privacy-policy-text { color: var(--qhtix-muted); font-size: 12px; line-height: 1.55; }

.qhtix-theme .woocommerce form.checkout_coupon,
.qhtix-theme .woocommerce form.login,
.qhtix-theme .woocommerce form.register {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 18px;
    box-shadow: var(--qhtix-shadow-sm);
    margin-bottom: 24px;
    padding: 22px;
}

/* Order confirmation and order details. */
.qhtix-confirmation-page .woocommerce-order {
    display: grid;
    gap: 26px;
}

.qhtix-confirmation-page .woocommerce-order > .qhtix-commerce-intro { grid-column: 1 / -1; }

.qhtix-confirmation-page .woocommerce-thankyou-order-received,
.qhtix-confirmation-page .woocommerce-thankyou-order-failed,
.qhtix-confirmation-page .woocommerce-thankyou-order-details,
.qhtix-theme .woocommerce-order-details,
.qhtix-theme .woocommerce-customer-details {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 22px;
    box-shadow: var(--qhtix-shadow-sm);
}

.qhtix-confirmation-page .woocommerce-thankyou-order-received,
.qhtix-confirmation-page .woocommerce-thankyou-order-failed {
    border-left: 4px solid var(--qhtix-accent);
    color: var(--qhtix-text);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    padding: 20px 22px;
}

.qhtix-confirmation-page ul.woocommerce-order-overview {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

.qhtix-confirmation-page ul.woocommerce-order-overview li {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 0;
    color: var(--qhtix-muted);
    float: none;
    font-size: 10px;
    letter-spacing: .08em;
    margin: 0;
    padding: 18px;
    text-transform: uppercase;
}

.qhtix-confirmation-page ul.woocommerce-order-overview li strong {
    color: var(--qhtix-ink);
    display: block;
    font-size: 14px;
    letter-spacing: 0;
    margin-top: 6px;
    text-transform: none;
}

.qhtix-theme .woocommerce-order-details,
.qhtix-theme .woocommerce-customer-details { padding: 28px; }
.qhtix-theme .woocommerce-order-details__title,
.qhtix-theme .woocommerce-customer-details h2 { color: var(--qhtix-ink); font-size: 25px; margin: 0 0 18px; }

/* Customer account and My Tickets. */
.qhtix-account-intro {
    align-items: center;
    margin-bottom: 30px;
}
.qhtix-account-intro__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: flex-end;
    max-width: 390px;
}
.qhtix-account-intro__actions a {
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    min-height: 42px;
    padding: 11px 16px;
}
.qhtix-account-intro__actions a:hover { background: var(--qhtix-accent); border-color: var(--qhtix-accent); color: #fff; }

.qhtix-account-page .woocommerce::after { clear: both; content: ""; display: table; }

.qhtix-account-page .woocommerce-MyAccount-navigation {
    background: var(--qhtix-ink);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    box-shadow: var(--qhtix-shadow-lg);
    float: left;
    overflow: hidden;
    padding: 12px;
    width: 25%;
}

.qhtix-account-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.qhtix-account-page .woocommerce-MyAccount-navigation li { border: 0; margin: 0; }
.qhtix-account-page .woocommerce-MyAccount-navigation a {
    border-radius: 12px;
    color: rgba(255,255,255,.72);
    display: block;
    font-size: 13px;
    font-weight: 750;
    padding: 13px 14px;
}
.qhtix-account-page .woocommerce-MyAccount-navigation li.is-active a,
.qhtix-account-page .woocommerce-MyAccount-navigation a:hover {
    background: rgba(255,79,139,.16);
    color: #fff;
}

.qhtix-account-page .woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 22px;
    box-shadow: var(--qhtix-shadow-sm);
    float: right;
    min-height: 440px;
    padding: 30px;
    width: calc(75% - 28px);
}

.qhtix-account-page .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.qhtix-account-page .woocommerce-MyAccount-content h2,
.qhtix-account-page .woocommerce-MyAccount-content h3 { color: var(--qhtix-ink); }

.qhtix-account-page .woocommerce-orders-table,
.qhtix-account-page .woocommerce-table--order-details { margin: 0 0 22px !important; }
.qhtix-account-page .woocommerce-orders-table td,
.qhtix-account-page .woocommerce-orders-table th { padding: 15px 14px !important; }
.qhtix-account-page .woocommerce-orders-table__cell-order-actions .button { min-height: 38px; padding: 9px 15px; }

/* Organiser dashboard plugin overrides. */
.qhtix-account-page .fooevents-organiser-dashboard > h1,
.qhtix-account-page .fooevents-organiser-event-report .event-report-header > h1 {
    display: none;
}

.qhtix-account-page .fooevents-organiser-dashboard,
.qhtix-account-page .fooevents-organiser-event-report {
    margin: 0;
    max-width: none;
    padding: 0;
}

.qhtix-account-page .organiser-events-list > h2,
.qhtix-account-page .event-report-summary h2,
.qhtix-account-page .event-report-table h2 { color: var(--qhtix-ink); font-size: 23px; margin: 0 0 18px; }

.qhtix-account-page .organiser-events-list ul {
    display: grid;
    gap: 12px;
}

.qhtix-account-page .organiser-events-list li {
    background: #faf8fb;
    border: 1px solid var(--qhtix-line);
    border-radius: 16px;
    padding: 16px 18px;
}

.qhtix-account-page .organiser-events-list .event-name a {
    color: var(--qhtix-ink);
    font-size: 15px;
    font-weight: 850;
}
.qhtix-account-page .organiser-events-list .event-name a:hover { color: var(--qhtix-accent); }

.qhtix-account-page .event-report-header {
    border-bottom: 1px solid var(--qhtix-line);
    margin-bottom: 24px;
    padding-bottom: 18px;
}

.qhtix-account-page .event-report-summary {
    background: linear-gradient(135deg, #faf7fc, #f5f1f8);
    border: 1px solid var(--qhtix-line);
    border-radius: 18px;
    margin-bottom: 24px;
    padding: 22px;
}

.qhtix-account-page .event-report-summary ul {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.qhtix-account-page .event-report-summary li {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    color: var(--qhtix-text);
    padding: 16px;
}
.qhtix-account-page .event-report-summary strong { color: var(--qhtix-muted); display: block; font-size: 10px; letter-spacing: .08em; margin-bottom: 7px; text-transform: uppercase; }

.qhtix-account-page .event-report-table { border: 1px solid var(--qhtix-line); border-radius: 16px; overflow: auto; }
.qhtix-account-page .event-report-table h2 { padding: 20px 20px 0; }
.qhtix-account-page .event-report-table table { margin: 0; min-width: 680px; }
.qhtix-account-page .event-report-table th { background: #f8f5fa; color: var(--qhtix-ink); }
.qhtix-account-page .event-report-table td { color: var(--qhtix-text); }
.qhtix-account-page .event-report-table tbody tr:hover { background: #fff8fb; color: var(--qhtix-text); }

/* Login/register account state. */
.qhtix-account-page #customer_login {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qhtix-account-page #customer_login .u-column1,
.qhtix-account-page #customer_login .u-column2 { float: none; width: auto; }
.qhtix-account-page #customer_login h2 { color: var(--qhtix-ink); font-size: 28px; }
.qhtix-account-page #customer_login form { height: calc(100% - 48px); margin: 0; padding: 26px; }

/* Responsive commerce. */
@media (max-width: 1100px) {
    .qhtix-commerce-intro,
    .qhtix-account-intro { align-items: flex-start; flex-direction: column; }
    .qhtix-booking-steps { width: 100%; }
    .qhtix-booking-steps li { flex: 1 1 0; min-width: 0; }
    .qhtix-account-intro__actions { justify-content: flex-start; max-width: none; }
}

@media (max-width: 991px) {
    .qhtix-commerce-page .gt-site-inner { padding-top: 112px; }
    .qhtix-cart-page .woocommerce-cart-form,
    .qhtix-cart-page .cart-collaterals { float: none; margin-bottom: 26px; width: 100%; }

    .qhtix-checkout-page form.checkout.woocommerce-checkout { display: block; }
    .qhtix-checkout-page #customer_details { margin-bottom: 26px; }
    .qhtix-checkout-page #order_review_heading { border-radius: 24px 24px 0 0; }
    .qhtix-checkout-page #order_review { position: static; }

    .qhtix-account-page .woocommerce-MyAccount-navigation,
    .qhtix-account-page .woocommerce-MyAccount-content { float: none; width: 100%; }
    .qhtix-account-page .woocommerce-MyAccount-navigation { margin-bottom: 20px; }
    .qhtix-account-page .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; }
    .qhtix-account-page .woocommerce-MyAccount-navigation li { flex: 1 1 190px; }
}

@media (max-width: 767px) {
    .qhtix-commerce-page .gt-site-inner { padding: 94px 0 64px; }
    .qhtix-commerce-page .gt-site-inner > .container { padding-left: 16px; padding-right: 16px; }
    .qhtix-commerce-intro,
    .qhtix-account-intro { border-radius: 22px; gap: 26px; padding: 28px 23px; }
    .qhtix-commerce-intro h1,
    .qhtix-account-intro h1 { font-size: 2.35rem; }

    .qhtix-booking-steps { gap: 5px; }
    .qhtix-booking-steps li { align-items: flex-start; flex-direction: column; gap: 6px; }
    .qhtix-booking-steps li > span { flex-basis: 30px; height: 30px; width: 30px; }
    .qhtix-booking-steps strong { font-size: 9px; }

    .qhtix-cart-page .woocommerce-cart-form { border-radius: 18px; }
    .qhtix-cart-page .coupon { align-items: stretch; flex-direction: column; }
    .qhtix-cart-page .coupon #coupon_code { min-width: 0; width: 100%; }
    .qhtix-cart-page .woocommerce-cart-form td.actions .button { width: 100%; }

    .qhtix-theme .woocommerce .cart-collaterals .cart_totals,
    .qhtix-checkout-page #customer_details,
    .qhtix-account-page .woocommerce-MyAccount-content { border-radius: 18px; padding: 22px; }

    .qhtix-confirmation-page ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qhtix-account-page .event-report-summary ul { grid-template-columns: 1fr; }
    .qhtix-account-page #customer_login { grid-template-columns: 1fr; }
}

/* Login security fields remain accessible without disturbing account layouts. */
.qhtix-auth-trap {
    height: 1px !important;
    left: -10000px !important;
    overflow: hidden !important;
    position: absolute !important;
    top: auto !important;
    width: 1px !important;
}

.qhtix-turnstile {
    clear: both;
    margin: 16px 0 18px;
    min-height: 65px;
}

.qhtix-account-page form.login .qhtix-turnstile,
.qhtix-account-page form.register .qhtix-turnstile,
.qhtix-account-page form.lost_reset_password .qhtix-turnstile {
    align-items: center;
    background: #faf8fb;
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    display: flex;
    justify-content: center;
    padding: 10px;
}



/* ===== /assets/css/polish.css ===== */
/* -------------------------------------------------------------------------
 * QH Tix v0.1.8 whole-site polish and compatibility corrections.
 * Loaded after the established QH Tix styles so it can safely neutralise
 * inherited Eventchamp/WooCommerce presentation without changing mechanics.
 * ---------------------------------------------------------------------- */

/* Foundation and readable contrast. */
.qhtix-theme {
    --qhtix-deep: #0a0510;
    --qhtix-deep-2: #13091e;
    --qhtix-night: #1d0e2b;
    --qhtix-copy: #30263a;
    --qhtix-copy-soft: #6f6478;
    --qhtix-gold: #f4bd45;
    --qhtix-pink: #ff4f8b;
    --qhtix-blue: #126ef4;
}

.qhtix-theme .qhtix-button--ghost {
    background: transparent;
    border-color: rgba(255,255,255,.28);
    color: #fff;
}
.qhtix-theme .qhtix-button--ghost:hover,
.qhtix-theme .qhtix-button--ghost:focus {
    background: #fff;
    border-color: #fff;
    color: var(--qhtix-deep);
}

/* ----------------------------------------------------------------------
 * Header: always provide a deliberate dark stage behind the white logo.
 * The homepage and single-event hero can remain visually integrated while
 * account, commerce, archive and error pages never expose a pale background.
 * ---------------------------------------------------------------------- */
.qhtix-theme:not(.qhtix-home) .gt-header,
.qhtix-theme:not(.qhtix-home) .gt-header.gt-style-1,
.qhtix-theme:not(.qhtix-home) .gt-header.gt-style-2,
.qhtix-theme:not(.qhtix-home) .gt-header.gt-style-3,
.qhtix-theme:not(.qhtix-home) .gt-header.gt-style-4,
.qhtix-theme:not(.qhtix-home) .gt-header.gt-style-5,
.qhtix-theme .gt-sticky-header,
.qhtix-theme .gt-mobile-header {
    background:
        radial-gradient(circle at 82% 0, rgba(255,79,139,.16), transparent 31%),
        linear-gradient(135deg, #09040e 0%, #12081b 56%, #1b0c28 100%) !important;
    border: 0 !important;
    box-shadow: inset 0 -1px rgba(255,255,255,.08) !important;
}

.qhtix-commerce-page .gt-header,
.qhtix-account-page .gt-header,
.error404.qhtix-theme .gt-header {
    min-height: 164px;
    position: relative !important;
}

.qhtix-theme:not(.qhtix-home) .gt-header .gt-container,
.qhtix-commerce-page .gt-header .gt-container,
.qhtix-account-page .gt-header .gt-container,
.error404.qhtix-theme .gt-header .gt-container {
    min-height: 164px !important;
}

.qhtix-theme .qhtix-brand-lockup__image {
    filter: none !important;
    max-height: 94px;
    max-width: 215px;
}
.qhtix-theme .qhtix-brand-lockup__strapline {
    color: rgba(255,255,255,.74) !important;
    font-size: 9px;
    letter-spacing: .09em;
    margin-top: 4px;
}

/* Neutralise the inherited blue segmented user bar with higher specificity. */
.qhtix-theme .gt-header .gt-elements .gt-user-box,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box,
.qhtix-theme .gt-header ul.gt-user-box,
.qhtix-theme .gt-sticky-header ul.gt-user-box {
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.16) !important;
    gap: 2px !important;
    padding: 4px !important;
}
.qhtix-theme .gt-header .gt-elements .gt-user-box > li,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.qhtix-theme .gt-header .gt-elements .gt-user-box > li::before,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li::before,
.qhtix-theme .gt-header .gt-elements .gt-user-box > li > a::after,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li > a::after {
    display: none !important;
}
.qhtix-theme .gt-header .gt-elements .gt-user-box > li > a,
.qhtix-theme .gt-header .gt-elements .gt-user-box > li > a:visited,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li > a,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li > a:visited,
.qhtix-theme .gt-header .gt-user-box a,
.qhtix-theme .gt-sticky-header .gt-user-box a {
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.84) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    line-height: 1 !important;
    padding: 11px 14px !important;
    text-shadow: none !important;
}
.qhtix-theme .gt-header .gt-elements .gt-user-box > li > a:hover,
.qhtix-theme .gt-header .gt-elements .gt-user-box > li.current-menu-item > a,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li > a:hover,
.qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li.current-menu-item > a {
    background: var(--qhtix-pink) !important;
    color: #fff !important;
}

/* Main commercial/account canvas begins after the dark header, not behind it. */
.qhtix-commerce-page .gt-site-inner,
.qhtix-account-page .gt-site-inner {
    background:
        radial-gradient(circle at 7% 0, rgba(255,79,139,.08), transparent 28%),
        radial-gradient(circle at 94% 3%, rgba(112,70,232,.10), transparent 30%),
        #f7f3f9 !important;
    padding-top: 54px !important;
}

/* ----------------------------------------------------------------------
 * Ticket form: compact, premium and usable, while retaining Woo/FooEvents DOM.
 * ---------------------------------------------------------------------- */
.qhtix-event-tickets {
    background:
        radial-gradient(circle at 92% 0, rgba(255,79,139,.20), transparent 32%),
        linear-gradient(145deg, #0c0612, #1b0c28 62%, #241137) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #fff;
    padding: clamp(25px, 4vw, 42px) !important;
}
.qhtix-event-tickets .qhtix-event-panel__eyebrow { color: var(--qhtix-gold) !important; }
.qhtix-event-tickets > .qhtix-event-tickets__header h2,
.qhtix-event-tickets > .qhtix-event-tickets__header p { color: #fff !important; }
.qhtix-event-tickets__intro { color: rgba(255,255,255,.68) !important; margin-bottom: 24px !important; }
.qhtix-event-tickets__content {
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;
    padding: clamp(12px, 2vw, 20px);
}
.qhtix-event-tickets .qh-ticket-wrapper { gap: 14px !important; }
.qhtix-event-tickets .qh-ticket-block,
.qhtix-event-tickets .woocommerce > form.cart,
.qhtix-event-tickets form.variations_form.cart {
    background: #fff !important;
    border: 1px solid rgba(30,16,45,.09) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(3,0,7,.22) !important;
    color: var(--qhtix-copy) !important;
    margin: 0 !important;
    padding: clamp(22px, 3vw, 30px) !important;
}
.qhtix-event-tickets .qh-ticket-block h4,
.qhtix-event-tickets .qh-ticket-block__heading h4,
.qhtix-event-tickets .product_title,
.qhtix-event-tickets form.cart label {
    color: var(--qhtix-deep) !important;
}
.qhtix-event-tickets table.variations,
.qhtix-event-tickets table.variations tbody,
.qhtix-event-tickets table.variations tr,
.qhtix-event-tickets table.variations th,
.qhtix-event-tickets table.variations td {
    background: transparent !important;
    border: 0 !important;
    display: block;
    padding: 0 !important;
    width: 100% !important;
}
.qhtix-event-tickets table.variations tr { margin-bottom: 16px; }
.qhtix-event-tickets table.variations label {
    display: block;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .03em;
    margin-bottom: 8px;
}
.qhtix-event-tickets table.variations select,
.qhtix-event-tickets .quantity .qty {
    background: #fbf9fc !important;
    border: 1px solid #ded7e3 !important;
    border-radius: 13px !important;
    color: var(--qhtix-deep) !important;
    min-height: 52px !important;
    padding: 0 15px !important;
    width: 100% !important;
}
.qhtix-event-tickets .reset_variations {
    color: var(--qhtix-pink) !important;
    display: inline-block !important;
    font-size: 11px;
    font-weight: 750;
    margin-top: 7px;
}
.qhtix-event-tickets .single_variation_wrap { margin-top: 12px; }
.qhtix-event-tickets .woocommerce-variation-price,
.qhtix-event-tickets .single_variation,
.qhtix-event-tickets .price {
    color: var(--qhtix-blue) !important;
    font-size: 1.16rem !important;
    font-weight: 850 !important;
    margin: 5px 0 15px !important;
}
.qhtix-event-tickets .woocommerce-variation-add-to-cart,
.qhtix-event-tickets .cart:not(.variations_form) {
    align-items: center;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(94px, 118px) minmax(0, 1fr) !important;
}
.qhtix-event-tickets .single_add_to_cart_button,
.qhtix-event-tickets button.single_add_to_cart_button,
.qhtix-event-tickets .fooevents_seating_chart.button {
    align-items: center !important;
    background: linear-gradient(135deg, #ff4f8b 0%, #f33678 100%) !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 13px 28px rgba(255,79,139,.24) !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    height: auto !important;
    justify-content: center !important;
    letter-spacing: .02em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 54px !important;
    padding: 16px 24px !important;
    text-transform: uppercase !important;
    width: 100% !important;
}
.qhtix-event-tickets .single_add_to_cart_button:hover,
.qhtix-event-tickets .fooevents_seating_chart.button:hover {
    background: linear-gradient(135deg, #171020, #0a0510) !important;
    box-shadow: 0 15px 32px rgba(10,5,16,.25) !important;
    transform: translateY(-1px);
}
.qhtix-event-tickets .single_add_to_cart_button.disabled,
.qhtix-event-tickets .single_add_to_cart_button:disabled,
.qhtix-event-tickets .single_add_to_cart_button.wc-variation-selection-needed {
    background: #eadde5 !important;
    box-shadow: none !important;
    color: #917f8b !important;
    cursor: not-allowed;
    opacity: 1 !important;
}

/* ----------------------------------------------------------------------
 * Cart: clear table hierarchy and an unmistakable checkout action.
 * ---------------------------------------------------------------------- */
.qhtix-cart-page .woocommerce-cart-form,
.qhtix-cart-page .cart-collaterals .cart_totals {
    border-radius: 22px !important;
}
.qhtix-cart-page .woocommerce-cart-form table.shop_table { table-layout: auto !important; width: 100% !important; }
.qhtix-cart-page .woocommerce-cart-form th.product-thumbnail { width: 92px; }
.qhtix-cart-page .woocommerce-cart-form td.product-name { min-width: 245px; }
.qhtix-cart-page .woocommerce-cart-form td.product-price,
.qhtix-cart-page .woocommerce-cart-form td.product-subtotal {
    color: var(--qhtix-deep);
    font-weight: 800;
    white-space: nowrap;
}
.qhtix-cart-page .woocommerce-cart-form td.actions {
    background: #faf7fb !important;
    border-top: 1px solid var(--qhtix-line) !important;
}
.qhtix-cart-page .woocommerce-message .button {
    min-height: 44px !important;
    padding: 11px 20px !important;
}
.qhtix-theme .woocommerce .cart-collaterals .cart_totals {
    background:
        radial-gradient(circle at 90% 0, rgba(255,79,139,.22), transparent 32%),
        linear-gradient(145deg, #0b0611, #160a22) !important;
    padding: 25px !important;
}
.qhtix-theme .woocommerce .cart-collaterals .cart_totals h2 {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 25px !important;
    padding: 0 0 18px !important;
}
.qhtix-theme .woocommerce .wc-proceed-to-checkout a.checkout-button,
.qhtix-theme .woocommerce .wc-proceed-to-checkout a.checkout-button.alt,
.qhtix-theme .woocommerce .cart_totals .wc-proceed-to-checkout .button {
    background: linear-gradient(135deg, #ff4f8b, #f23778) !important;
    border: 0 !important;
    box-shadow: 0 14px 30px rgba(255,79,139,.26) !important;
    color: #fff !important;
    font-size: 13px !important;
    min-height: 58px !important;
    opacity: 1 !important;
    padding: 17px 18px !important;
    text-align: center !important;
    white-space: normal !important;
    width: 100% !important;
}
.qhtix-theme .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background: #fff !important;
    color: var(--qhtix-deep) !important;
}
.qhtix-cart-reassurance {
    align-items: flex-start;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.66);
    display: flex;
    gap: 12px;
    margin-top: 20px;
    padding-top: 20px;
}
.qhtix-cart-reassurance > span {
    align-items: center;
    background: rgba(244,189,69,.16);
    border: 1px solid rgba(244,189,69,.35);
    border-radius: 50%;
    color: var(--qhtix-gold);
    display: flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
}
.qhtix-cart-reassurance strong { color: #fff; display: block; font-size: 12px; margin-bottom: 4px; }
.qhtix-cart-reassurance p { font-size: 11px; line-height: 1.55; margin: 0; }

/* Empty cart becomes an event-discovery state. */
.qhtix-empty-cart-page .woocommerce > .woocommerce-info,
.qhtix-empty-cart-page .woocommerce > .cart-empty,
.qhtix-empty-cart-page .woocommerce > .return-to-shop { display: none !important; }
.qhtix-empty-cart {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 24px;
    box-shadow: var(--qhtix-shadow-sm);
    margin-top: 26px;
    padding: clamp(34px, 6vw, 68px);
    text-align: center;
}
.qhtix-empty-cart__icon {
    align-items: center;
    background: linear-gradient(135deg, #ff4f8b, #784be8);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 24px;
    height: 64px;
    justify-content: center;
    margin-bottom: 20px;
    width: 64px;
}
.qhtix-empty-cart h2 { color: var(--qhtix-deep) !important; font-size: clamp(2rem, 4vw, 3.4rem); margin: 0 0 14px; }
.qhtix-empty-cart > p:not(.qhtix-event-panel__eyebrow) { color: var(--qhtix-copy-soft); margin: 0 auto 25px; max-width: 650px; }

/* ----------------------------------------------------------------------
 * Checkout: enforce a real two-column grid and prevent inherited narrow table.
 * ---------------------------------------------------------------------- */
.qhtix-checkout-page form.checkout.woocommerce-checkout {
    align-items: start !important;
    display: grid !important;
    float: none !important;
    gap: 28px !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr) !important;
    width: 100% !important;
}
.qhtix-checkout-page #customer_details,
.qhtix-checkout-page #order_review,
.qhtix-checkout-page #order_review_heading {
    float: none !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}
.qhtix-checkout-page #customer_details { grid-column: 1 !important; grid-row: 1 / span 2 !important; }
.qhtix-checkout-page #order_review_heading {
    background: linear-gradient(135deg, #0b0611, #1b0c28) !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 22px 24px !important;
}
.qhtix-checkout-page #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    overflow: hidden !important;
}
.qhtix-checkout-page #order_review table.shop_table,
.qhtix-checkout-page #order_review table.shop_table tbody,
.qhtix-checkout-page #order_review table.shop_table tfoot {
    table-layout: auto !important;
    width: 100% !important;
}
.qhtix-checkout-page #order_review table.shop_table th,
.qhtix-checkout-page #order_review table.shop_table td {
    font-size: 12px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
    padding: 14px 18px !important;
    white-space: normal !important;
    width: auto !important;
}
.qhtix-checkout-page #order_review table.shop_table th.product-name { width: 66% !important; }
.qhtix-checkout-page #order_review table.shop_table th.product-total,
.qhtix-checkout-page #order_review table.shop_table td.product-total { text-align: right; width: 34% !important; }
.qhtix-checkout-page #payment {
    background: #fbf8fc !important;
    color: var(--qhtix-copy) !important;
}
.qhtix-checkout-page #payment .payment_methods > li {
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    padding: 14px !important;
}
.qhtix-checkout-page #payment label { color: var(--qhtix-deep) !important; font-weight: 800 !important; }
.qhtix-checkout-page #payment div.payment_box {
    background: #f8f4fa !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 12px 0 0 !important;
    padding: 14px !important;
}
.qhtix-checkout-page #payment div.payment_box::before { display: none !important; }
.qhtix-checkout-page #payment #place_order,
.qhtix-checkout-page button#place_order {
    background: linear-gradient(135deg, #ff4f8b, #f23778) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 30px rgba(255,79,139,.24) !important;
    color: #fff !important;
    min-height: 58px !important;
    opacity: 1 !important;
}
.qhtix-checkout-reassurance {
    align-items: flex-start;
    background: #f6eff8;
    border: 1px solid var(--qhtix-line);
    border-radius: 14px;
    color: var(--qhtix-copy-soft);
    display: flex;
    gap: 10px;
    margin: 0 20px 18px;
    padding: 13px 14px;
}
.qhtix-checkout-reassurance > span { color: var(--qhtix-pink); }
.qhtix-checkout-reassurance p { font-size: 11px; line-height: 1.5; margin: 0; }
.qhtix-checkout-reassurance strong { color: var(--qhtix-deep); display: block; font-size: 12px; }

/* ----------------------------------------------------------------------
 * Account, orders and organiser portal: legible navigation and richer cards.
 * ---------------------------------------------------------------------- */
.qhtix-account-page .woocommerce-MyAccount-navigation {
    background: linear-gradient(160deg, #0b0611, #170b23) !important;
    border-color: rgba(255,255,255,.10) !important;
}
.qhtix-account-page .woocommerce-MyAccount-navigation a,
.qhtix-account-page .woocommerce-MyAccount-navigation a:visited {
    color: rgba(255,255,255,.70) !important;
    opacity: 1 !important;
}
.qhtix-account-page .woocommerce-MyAccount-navigation li.is-active a,
.qhtix-account-page .woocommerce-MyAccount-navigation a:hover {
    background: linear-gradient(90deg, rgba(255,79,139,.24), rgba(255,255,255,.06)) !important;
    color: #fff !important;
}
.qhtix-account-page .woocommerce-MyAccount-content {
    color: var(--qhtix-copy) !important;
    overflow: hidden;
}
.qhtix-account-page .woocommerce-MyAccount-content p,
.qhtix-account-page .woocommerce-MyAccount-content li,
.qhtix-account-page .woocommerce-MyAccount-content td { color: var(--qhtix-copy) !important; }
.qhtix-account-page .woocommerce-MyAccount-content a:not(.button) { color: var(--qhtix-blue); font-weight: 700; }

.qhtix-account-welcome {
    align-items: center;
    background: linear-gradient(135deg, #faf6fb, #f3edf7);
    border: 1px solid var(--qhtix-line);
    border-radius: 18px;
    display: flex;
    gap: 25px;
    justify-content: space-between;
    margin-bottom: 22px;
    padding: 24px;
}
.qhtix-account-welcome__copy > span {
    color: var(--qhtix-pink);
    display: block;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.qhtix-account-welcome h2 { color: var(--qhtix-deep) !important; font-size: 29px; margin: 4px 0 8px; }
.qhtix-account-welcome p { color: var(--qhtix-copy-soft) !important; margin: 0; }
.qhtix-account-welcome > a {
    border: 1px solid var(--qhtix-line);
    border-radius: 999px;
    color: var(--qhtix-deep) !important;
    flex: 0 0 auto;
    font-size: 12px;
    padding: 11px 16px;
}

.qhtix-account-quicklinks {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qhtix-account-quicklink {
    align-items: center;
    background: #fff;
    border: 1px solid var(--qhtix-line);
    border-radius: 16px;
    color: var(--qhtix-deep) !important;
    display: grid;
    gap: 13px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding: 17px;
}
.qhtix-account-quicklink:hover {
    border-color: rgba(255,79,139,.45);
    box-shadow: 0 13px 28px rgba(30,12,43,.08);
    transform: translateY(-2px);
}
.qhtix-account-quicklink__icon {
    align-items: center;
    background: linear-gradient(135deg, rgba(255,79,139,.16), rgba(112,70,232,.13));
    border-radius: 13px;
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}
.qhtix-account-quicklink__icon::before { color: var(--qhtix-pink); content: "✦"; font-size: 17px; }
.qhtix-account-quicklink strong { color: var(--qhtix-deep); display: block; font-size: 14px; margin-bottom: 4px; }
.qhtix-account-quicklink small { color: var(--qhtix-copy-soft); display: block; font-size: 11px; line-height: 1.45; }
.qhtix-account-quicklink b { color: var(--qhtix-pink); font-size: 18px; }

.qhtix-account-page .woocommerce-orders-table,
.qhtix-account-page .woocommerce-table--order-details {
    border: 1px solid var(--qhtix-line) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}
.qhtix-account-page .woocommerce-orders-table th,
.qhtix-account-page .woocommerce-table--order-details th {
    background: #f5f0f7 !important;
    color: #665871 !important;
}
.qhtix-account-page .woocommerce-orders-table td,
.qhtix-account-page .woocommerce-table--order-details td {
    background: #fff !important;
    border-color: var(--qhtix-line) !important;
}
.qhtix-account-page .woocommerce-orders-table tbody tr:nth-child(even) td { background: #fcfafc !important; }
.qhtix-account-page .woocommerce-orders-table .button,
.qhtix-account-page .order-again .button {
    background: var(--qhtix-pink) !important;
    color: #fff !important;
    min-height: 40px !important;
    padding: 10px 17px !important;
}
.qhtix-account-page .woocommerce-order-details { padding: 28px !important; }
.qhtix-account-page .woocommerce-order-details h2 { color: var(--qhtix-deep) !important; }

.qhtix-account-page .fooevents-organiser-dashboard > p {
    background: linear-gradient(135deg, #faf6fb, #f3edf7);
    border: 1px solid var(--qhtix-line);
    border-radius: 18px;
    color: var(--qhtix-copy-soft) !important;
    margin: 0;
    padding: 38px 26px;
    text-align: center;
}
.qhtix-account-page .organiser-events-list li {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}
.qhtix-account-page .organiser-events-list .event-actions .button {
    background: var(--qhtix-pink) !important;
    color: #fff !important;
    min-height: 42px !important;
}

/* ----------------------------------------------------------------------
 * Homepage mailing list is one continuous theatrical surface.
 * ---------------------------------------------------------------------- */
.qhtix-home .qhtix-section--newsletter,
.qhtix-home .qhtix-section--newsletter.vc_row,
.qhtix-home .qhtix-section--newsletter.vc_row-has-fill {
    background: linear-gradient(100deg, #351027 0%, #100817 49%, #30206d 100%) !important;
    border: 0 !important;
}
.qhtix-home .qhtix-section--newsletter > .vc_column_container,
.qhtix-home .qhtix-section--newsletter > .vc_column_container > .vc_column-inner,
.qhtix-home .qhtix-section--newsletter > .vc_column_container > .vc_column-inner > .wpb_wrapper {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
.qhtix-home .qhtix-section--newsletter {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}
.qhtix-home .qhtix-section--newsletter + .qhtix-section--newsletter {
    border-top: 0 !important;
    margin-top: -1px !important;
}
.qhtix-home .qhtix-section--newsletter .gt-heading .gt-title,
.qhtix-home .qhtix-section--newsletter .gt-heading .gt-title span { color: #fff !important; }
.qhtix-home .qhtix-section--newsletter .gt-heading .gt-desc,
.qhtix-home .qhtix-section--newsletter .gt-heading .gt-description { color: rgba(255,255,255,.62) !important; }
.qhtix-home .qhtix-section--newsletter .qhtix-mailing-list { background: transparent !important; padding-top: 0 !important; }

/* Footer type contrast. */
.qhtix-theme .gt-footer .gt-heading .gt-title,
.qhtix-theme .gt-footer .gt-title,
.qhtix-theme .gt-footer h2,
.qhtix-theme .gt-footer h3,
.qhtix-theme .gt-footer h4 { color: #fff !important; }
.qhtix-theme .gt-footer p,
.qhtix-theme .gt-footer li,
.qhtix-theme .gt-footer .gt-contact-box { color: rgba(255,255,255,.70) !important; }
.qhtix-theme .gt-footer a { color: rgba(255,255,255,.86) !important; }

/* ----------------------------------------------------------------------
 * Event-forward 404 that accounts for the full header height.
 * ---------------------------------------------------------------------- */
.error404.qhtix-theme { background: var(--qhtix-deep); }
.qhtix-error-page { background: var(--qhtix-deep); overflow: hidden; }
.qhtix-error-hero {
    background:
        radial-gradient(circle at 14% 20%, rgba(255,79,139,.28), transparent 32%),
        radial-gradient(circle at 87% 42%, rgba(112,70,232,.34), transparent 35%),
        linear-gradient(145deg, #09040e, #160923 62%, #09040e);
    min-height: 610px;
    overflow: hidden;
    position: relative;
}
.qhtix-error-hero__lights {
    background:
        linear-gradient(112deg, transparent 38%, rgba(255,255,255,.035) 38.2% 38.8%, transparent 39%),
        linear-gradient(72deg, transparent 60%, rgba(255,255,255,.028) 60.2% 60.8%, transparent 61%);
    inset: 0;
    position: absolute;
}
.qhtix-error-hero__inner {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 610px;
    padding-bottom: 90px;
    padding-top: 90px;
    position: relative;
    z-index: 2;
}
.qhtix-error-hero__eyebrow {
    color: var(--qhtix-gold);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}
.qhtix-error-hero h1 {
    color: #fff !important;
    font-size: clamp(3.2rem, 8vw, 7.5rem);
    line-height: .9;
    margin: 0;
    max-width: 900px;
}
.qhtix-error-hero__inner > p:not(.qhtix-error-hero__eyebrow) {
    color: rgba(255,255,255,.70);
    font-size: 17px;
    line-height: 1.65;
    margin: 25px 0 0;
    max-width: 680px;
}
.qhtix-error-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 32px; }

/* Responsive. */
@media (max-width: 1199px) {
    .qhtix-checkout-page form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr) !important; }
    .qhtix-theme .gt-header .gt-elements .gt-user-box > li > a,
    .qhtix-theme .gt-sticky-header .gt-elements .gt-user-box > li > a { padding-left: 10px !important; padding-right: 10px !important; }
}

@media (max-width: 991px) {
    .qhtix-commerce-page .gt-site-inner,
    .qhtix-account-page .gt-site-inner { padding-top: 34px !important; }
    .qhtix-checkout-page form.checkout.woocommerce-checkout { display: block !important; }
    .qhtix-checkout-page #customer_details { margin-bottom: 24px !important; }
    .qhtix-checkout-page #order_review { position: static !important; }
    .qhtix-account-quicklinks { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .qhtix-event-tickets { border-radius: 20px !important; padding: 20px !important; }
    .qhtix-event-tickets__content { padding: 8px; }
    .qhtix-event-tickets .qh-ticket-block,
    .qhtix-event-tickets form.variations_form.cart { padding: 20px !important; }
    .qhtix-event-tickets .woocommerce-variation-add-to-cart,
    .qhtix-event-tickets .cart:not(.variations_form) { grid-template-columns: 1fr !important; }
    .qhtix-cart-page .woocommerce-cart-form table.shop_table { table-layout: fixed !important; }
    .qhtix-cart-page .woocommerce-cart-form td.product-name { min-width: 0; }
    .qhtix-account-welcome { align-items: flex-start; flex-direction: column; }
    .qhtix-account-quicklink { grid-template-columns: 40px minmax(0, 1fr) auto; padding: 14px; }
    .qhtix-error-hero,
    .qhtix-error-hero__inner { min-height: 520px; }
    .qhtix-error-hero__inner { padding: 70px 20px; }
}

/* ----------------------------------------------------------------------
 * v0.1.9 focused interface corrections
 * - Single-event header overlays the artwork instead of consuming hero space.
 * - FooEvents Advanced Seating prices match the standard ticket-card system.
 * - Checkout heading and review contents are treated as one sticky summary.
 * ---------------------------------------------------------------------- */

/* Single event: retain a readable stage gradient while allowing the artwork
   to begin at the top of the page. Commerce/account/archive headers remain
   independent dark blocks. */
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header,
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header.gt-style-1,
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header.gt-style-2,
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header.gt-style-3,
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header.gt-style-4,
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header.gt-style-5 {
    background:
        linear-gradient(180deg, rgba(8,4,13,.98) 0%, rgba(8,4,13,.86) 52%, rgba(8,4,13,.42) 79%, rgba(8,4,13,0) 100%) !important;
    box-shadow: none !important;
    left: 0;
    min-height: 174px !important;
    position: absolute !important;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 80;
}
.qhtix-event-page:not(.qhtix-commerce-page) .gt-header .gt-container {
    min-height: 150px !important;
}
.qhtix-event-page .qhtix-event-hero__inner {
    padding-top: clamp(188px, 15vw, 226px);
}
.qhtix-event-page .qhtix-event-hero__overlay {
    background:
        linear-gradient(90deg, rgba(8,4,13,.98) 0%, rgba(8,4,13,.83) 42%, rgba(8,4,13,.34) 76%, rgba(8,4,13,.54) 100%),
        linear-gradient(180deg, rgba(8,4,13,.30) 0%, transparent 31%),
        linear-gradient(0deg, rgba(8,4,13,.76) 0%, transparent 48%);
}

/* FooEvents Advanced Seating: turn the informational price list into a clear
   set of ticket tiers while retaining the plugin's button and data hooks. */
.qhtix-event-tickets .fooevents-ticket-prices {
    background: linear-gradient(145deg, #fbf9fc, #f6f0f8);
    border: 1px solid #e5dce9;
    border-radius: 17px;
    margin: 2px 0 18px;
    padding: clamp(18px, 2.5vw, 24px);
}
.qhtix-event-tickets .fooevents-ticket-prices h4 {
    color: var(--qhtix-deep) !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    margin: 0 0 14px !important;
    text-transform: uppercase;
}
.qhtix-event-tickets .fooevents-ticket-prices ul {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.qhtix-event-tickets .fooevents-ticket-prices li {
    align-items: center;
    background: #fff;
    border: 1px solid #e7e0ea;
    border-radius: 13px;
    color: var(--qhtix-copy) !important;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    line-height: 1.35;
    min-height: 58px;
    padding: 12px 14px;
}
.qhtix-event-tickets .fooevents-ticket-prices li::before {
    background: linear-gradient(135deg, var(--qhtix-pink), #ff7aaa);
    border-radius: 50%;
    box-shadow: 0 5px 13px rgba(255,79,139,.20);
    content: "";
    flex: 0 0 9px;
    height: 9px;
    width: 9px;
}
.qhtix-event-tickets .qhtix-seat-tier__name {
    color: var(--qhtix-deep);
    flex: 1 1 auto;
    font-size: .87rem;
    font-weight: 760;
}
.qhtix-event-tickets .qhtix-seat-tier__price {
    color: var(--qhtix-blue);
    flex: 0 0 auto;
    font-size: .9rem;
    font-weight: 900;
    white-space: nowrap;
}
.qhtix-event-tickets #fooevents-open-seats-pos,
.qhtix-event-tickets button#fooevents-open-seats-pos,
.qhtix-event-tickets .qh-ticket-block #fooevents-open-seats-pos.button {
    align-items: center !important;
    background: linear-gradient(135deg, #ff4f8b 0%, #f33678 100%) !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 30px rgba(255,79,139,.25) !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    gap: 10px;
    justify-content: center;
    letter-spacing: .025em;
    margin: 0 !important;
    min-height: 56px !important;
    padding: 16px 24px !important;
    text-transform: uppercase;
    width: min(100%, 300px) !important;
}
.qhtix-event-tickets #fooevents-open-seats-pos::after {
    content: "→";
    font-size: 18px;
    line-height: 1;
    transition: transform .2s ease;
}
.qhtix-event-tickets #fooevents-open-seats-pos:hover,
.qhtix-event-tickets #fooevents-open-seats-pos:focus {
    background: linear-gradient(135deg, #171020, #09040e) !important;
    box-shadow: 0 17px 34px rgba(10,5,16,.24) !important;
    transform: translateY(-1px);
}
.qhtix-event-tickets #fooevents-open-seats-pos:hover::after,
.qhtix-event-tickets #fooevents-open-seats-pos:focus::after { transform: translateX(3px); }

/* Checkout: heading + review are wrapped by qhtix-ui.js, preventing the grid
   row occupied by the long billing form from creating an artificial gap. */
.qhtix-checkout-page form.checkout.woocommerce-checkout {
    align-items: start !important;
    grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr) !important;
    grid-template-rows: auto !important;
}
.qhtix-checkout-page #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
.qhtix-checkout-page .qhtix-order-review-shell {
    align-self: start;
    background: #fff;
    border: 1px solid rgba(41,23,54,.10);
    border-radius: 22px;
    box-shadow: 0 24px 56px rgba(24,9,35,.15);
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    position: sticky;
    top: 104px;
    width: 100%;
}
.qhtix-checkout-page .qhtix-order-review-shell #order_review_heading {
    background: linear-gradient(135deg, #0b0611, #1a0c27) !important;
    border-radius: 0 !important;
    color: #fff !important;
    display: block !important;
    margin: 0 !important;
    padding: 22px 24px !important;
    width: 100% !important;
}
.qhtix-checkout-page .qhtix-order-review-shell #order_review {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
    top: auto !important;
    width: 100% !important;
}
.qhtix-checkout-page .qhtix-order-review-shell #order_review table.shop_table {
    margin: 0 !important;
    width: 100% !important;
}
.qhtix-checkout-page .qhtix-order-review-shell #order_review table.shop_table th,
.qhtix-checkout-page .qhtix-order-review-shell #order_review table.shop_table td {
    padding: 15px 18px !important;
}
/* CSS-only fallback while the checkout DOM is initialising. */
.qhtix-checkout-page form.checkout.woocommerce-checkout:not(.qhtix-checkout-structured) #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
}
.qhtix-checkout-page form.checkout.woocommerce-checkout:not(.qhtix-checkout-structured) #order_review {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin-top: 72px !important;
    position: static !important;
}

@media (max-width: 991px) {
    .qhtix-event-page:not(.qhtix-commerce-page) .gt-header {
        min-height: 138px !important;
    }
    .qhtix-event-page:not(.qhtix-commerce-page) .gt-header .gt-container {
        min-height: 124px !important;
    }
    .qhtix-event-page .qhtix-event-hero__inner {
        padding-top: 158px;
    }
    .qhtix-checkout-page form.checkout.woocommerce-checkout {
        display: block !important;
    }
    .qhtix-checkout-page .qhtix-order-review-shell {
        margin-top: 24px;
        position: static;
    }
}

@media (max-width: 640px) {
    .qhtix-event-tickets .fooevents-ticket-prices ul {
        grid-template-columns: 1fr;
    }
    .qhtix-event-tickets #fooevents-open-seats-pos {
        width: 100% !important;
    }
    .qhtix-event-page .qhtix-event-hero__inner {
        padding-top: 140px;
    }
}

/* -------------------------------------------------------------------------
 * v0.1.10 cart intro width alignment
 * Keep the cart booking-intro at the same full content width as checkout.
 * WooCommerce cart tables and totals retain their existing two-column layout.
 * ---------------------------------------------------------------------- */
.qhtix-cart-page .woocommerce > .qhtix-commerce-intro--cart {
    box-sizing: border-box !important;
    clear: both !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

.qhtix-cart-page .woocommerce {
    display: flow-root;
}


/* ----------------------------------------------------------------------
 * v0.1.11 archive/header integration, approved imagery and favicon release
 * ---------------------------------------------------------------------- */

/* Event discovery pages already provide their own dark theatrical hero.
   Overlay the main header instead of rendering a second dark header block. */
body.qhtix-event-archive .gt-header,
body.qhtix-event-archive .gt-header.gt-style-1,
body.qhtix-event-archive .gt-header.gt-style-2,
body.qhtix-event-archive .gt-header.gt-style-3,
body.qhtix-event-archive .gt-header.gt-style-4,
body.qhtix-event-archive .gt-header.gt-style-5 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    left: 0;
    min-height: 164px !important;
    position: absolute !important;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 80;
}
body.qhtix-event-archive .gt-header .gt-container {
    min-height: 164px !important;
}
body.qhtix-event-archive .gt-site-inner,
body.qhtix-event-archive .gt-page-content {
    padding-top: 0 !important;
}
body.qhtix-event-archive .qhtix-brand-lockup__image {
    max-height: 116px;
    max-width: 220px;
}

/* The approved reversed logo already contains its brand lines. */
.qhtix-theme .qhtix-brand-lockup__strapline:empty {
    display: none !important;
}

/* Shared responsive placeholder artwork. */
.qhtix-responsive-placeholder {
    display: block;
    height: 100%;
    overflow: hidden;
    width: 100%;
}
.qhtix-responsive-placeholder img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* Single-event records without artwork receive the styled Queen's Hall hero. */
.qhtix-event-hero--placeholder .qhtix-event-hero__media {
    background-image: var(--qhtix-event-visual);
    background-position: center;
    filter: saturate(1.02) contrast(1.06);
}
.qhtix-event-hero--placeholder .qhtix-event-hero__overlay {
    background:
        linear-gradient(90deg, rgba(8,4,13,.97) 0%, rgba(8,4,13,.80) 43%, rgba(8,4,13,.26) 78%, rgba(8,4,13,.46) 100%),
        linear-gradient(0deg, rgba(8,4,13,.74) 0%, transparent 52%);
}

@media (max-width: 1100px) and (min-width: 768px) {
    /* Client-approved tablet behaviour: two event cards per row. */
    .qhtix-section--events .gt-categorized-contents .gt-items > div,
    .qhtix-section--events .gt-categorized-contents .gt-column-5 > div {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
    .qhtix-archive-grid,
    .qhtix-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.qhtix-event-archive .gt-header {
        min-height: 112px !important;
    }
    body.qhtix-event-archive .gt-header .gt-container {
        min-height: 112px !important;
    }
    body.qhtix-event-archive .qhtix-brand-lockup__image {
        max-height: 72px;
        max-width: 154px;
    }

    .qhtix-event-hero--placeholder .qhtix-event-hero__media {
        background-image: var(--qhtix-event-visual-mobile);
        background-position: 58% center;
    }

    /* Mobile discovery must remain readable: one card per row. */
    .qhtix-section--events .gt-categorized-contents .gt-items {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    .qhtix-section--events .gt-categorized-contents .gt-items > div,
    .qhtix-section--events .gt-categorized-contents .gt-column-5 > div {
        flex: 0 0 100% !important;
        float: none !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .qhtix-archive-grid,
    .qhtix-related-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ----------------------------------------------------------------------
 * v0.1.12 archive header structure and logo layout-shift correction
 * ---------------------------------------------------------------------- */

/* The desktop Eventchamp header is rendered inside the archive hero in this
   release. This removes the separate header-height block rather than relying
   only on cascade-sensitive absolute positioning. */
body.qhtix-event-archive .qhtix-archive-hero {
    isolation: isolate;
    margin-top: 0 !important;
    overflow: hidden;
    position: relative;
}
body.qhtix-event-archive .qhtix-archive-hero > .gt-header,
body.qhtix-event-archive .qhtix-archive-hero > .gt-header.gt-style-1,
body.qhtix-event-archive .qhtix-archive-hero > .gt-header.gt-style-2,
body.qhtix-event-archive .qhtix-archive-hero > .gt-header.gt-style-3,
body.qhtix-event-archive .qhtix-archive-hero > .gt-header.gt-style-4,
body.qhtix-event-archive .qhtix-archive-hero > .gt-header.gt-style-5 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    inset: 0 0 auto 0 !important;
    margin: 0 !important;
    min-height: 164px !important;
    padding: 28px 0 18px !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 90 !important;
}
body.qhtix-event-archive .qhtix-archive-hero > .gt-header .gt-container {
    min-height: 118px !important;
}
body.qhtix-event-archive .qhtix-archive-hero__glow {
    z-index: 0;
}
body.qhtix-event-archive .qhtix-archive-hero__inner {
    position: relative;
    z-index: 2;
}

/* Reserve the final logo box from the first paint. The server-rendered logo
   now carries these classes and no longer waits for JavaScript replacement. */
.qhtix-theme .gt-header .gt-logo > a,
.qhtix-theme .gt-sticky-header .gt-logo > a,
.qhtix-theme .gt-mobile-header .gt-logo > a,
.qhtix-theme .gt-mobile-menu .gt-logo > a {
    display: block !important;
    line-height: 0 !important;
}
.qhtix-theme .gt-header .qhtix-brand-lockup {
    align-items: center;
    display: flex;
    height: 124px;
    justify-content: center;
    min-height: 124px;
    min-width: 174px;
    width: 174px;
}
.qhtix-theme .gt-header .qhtix-brand-lockup__image {
    display: block !important;
    height: 124px !important;
    margin: 0 !important;
    max-height: 124px !important;
    max-width: 174px !important;
    object-fit: contain !important;
    width: 174px !important;
}

@media (max-width: 991px) {
    body.qhtix-event-archive .qhtix-archive-hero > .gt-header {
        display: none !important;
    }
}

/* Archive mobile header also floats on the hero until the user scrolls. */
body.qhtix-event-archive:not(.qhtix-has-scrolled) .gt-mobile-header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    left: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 95 !important;
}
body.qhtix-event-archive.qhtix-has-scrolled .gt-mobile-header {
    background: rgba(16, 9, 26, .98) !important;
    backdrop-filter: blur(16px);
}


/* ----------------------------------------------------------------------
 * v0.1.13 exact mobile/tablet discovery layout
 * ----------------------------------------------------------------------
 * Eventchamp's rendered markup uses .gt-columns > .gt-col for both the
 * homepage search tool and categorised event cards. Earlier safeguards
 * targeted an intermediate .gt-items wrapper that this shortcode does not
 * output, allowing the parent theme's two-column mobile widths to win.
 */

@media (min-width: 768px) and (max-width: 1100px) {
    /* Search: two fields per row on tablet, with the action spanning the row. */
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns > .gt-col,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns > .gt-col {
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: auto !important;
    }
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns > .gt-col:last-child,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns > .gt-col:last-child {
        grid-column: 1 / -1;
    }

    /* Homepage event discovery: exactly two cards per row on tablet. */
    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns > .gt-col {
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: auto !important;
    }

    body.qhtix-event-archive .qhtix-archive-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    body.qhtix-event-archive .qhtix-archive-grid,
    body.qhtix-event-archive .qhtix-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    /* Homepage search: every control and the submit button is one full row. */
    body.qhtix-home .gt-event-search-tool .gt-form,
    body.qhtix-home .qhtix-search-band .gt-form {
        width: 100% !important;
    }
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns > .gt-col,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns > .gt-col {
        display: block;
        float: none !important;
        flex: 0 0 100% !important;
        margin: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: 100% !important;
    }
    body.qhtix-home .gt-event-search-tool .search-content .gt-inner,
    body.qhtix-home .qhtix-search-band .search-content .gt-inner,
    body.qhtix-home .gt-event-search-tool .search-content input,
    body.qhtix-home .gt-event-search-tool .search-content select,
    body.qhtix-home .gt-event-search-tool .search-content button,
    body.qhtix-home .gt-event-search-tool .search-content .bootstrap-select,
    body.qhtix-home .qhtix-search-band .search-content input,
    body.qhtix-home .qhtix-search-band .search-content select,
    body.qhtix-home .qhtix-search-band .search-content button,
    body.qhtix-home .qhtix-search-band .search-content .bootstrap-select {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Homepage categorised events: the actual shortcode wrapper is
       .tab-pane > .gt-columns > .gt-col, not .gt-items. */
    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns > .gt-col {
        display: block !important;
        float: none !important;
        flex: 0 0 100% !important;
        margin: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* Custom archive search and cards: always one full-width column on phone. */
    body.qhtix-event-archive .qhtix-archive-filters,
    body.qhtix-event-archive .qhtix-archive-grid,
    body.qhtix-event-archive .qhtix-related-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
    }
    body.qhtix-event-archive .qhtix-archive-card,
    body.qhtix-event-archive .qhtix-related-card {
        max-width: none !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}


/* ----------------------------------------------------------------------
 * v0.1.14 definitive responsive discovery rules
 * ----------------------------------------------------------------------
 * The parent theme can disable its viewport meta through Eventchamp options.
 * QH Tix now outputs a viewport unconditionally in header.php. These final
 * rules deliberately sit last in the cascade and match the plugin's exact
 * generated .gt-columns/.gt-col markup.
 */

/* Tablet: one search/filter field per row, two event cards per row. */
@media (min-width: 768px) and (max-width: 1100px) {
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns,
    body.qhtix-event-archive .qhtix-archive-filters {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100% !important;
    }

    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns > .gt-col,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns > .gt-col,
    body.qhtix-event-archive .qhtix-archive-filters > * {
        float: none !important;
        grid-column: auto !important;
        margin: 0 !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    body.qhtix-home .gt-event-search-tool .search-content input,
    body.qhtix-home .gt-event-search-tool .search-content select,
    body.qhtix-home .gt-event-search-tool .search-content button,
    body.qhtix-home .gt-event-search-tool .search-content .bootstrap-select,
    body.qhtix-home .qhtix-search-band .search-content input,
    body.qhtix-home .qhtix-search-band .search-content select,
    body.qhtix-home .qhtix-search-band .search-content button,
    body.qhtix-home .qhtix-search-band .search-content .bootstrap-select {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns,
    body.qhtix-event-archive .qhtix-archive-grid,
    body.qhtix-event-archive .qhtix-related-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
        width: 100% !important;
    }

    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns > .gt-col {
        float: none !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        max-width: 100% !important;
        padding: 0 !important;
        width: auto !important;
    }
}

/* Phone: one search/filter field and one event card per row. */
@media (max-width: 767px) {
    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns,
    body.qhtix-event-archive .qhtix-archive-filters {
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body.qhtix-home .gt-event-search-tool .search-content > .gt-columns > .gt-col,
    body.qhtix-home .qhtix-search-band .search-content > .gt-columns > .gt-col,
    body.qhtix-event-archive .qhtix-archive-filters > * {
        display: block !important;
        float: none !important;
        flex: none !important;
        margin: 0 0 12px !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    body.qhtix-home .gt-event-search-tool .search-content input,
    body.qhtix-home .gt-event-search-tool .search-content select,
    body.qhtix-home .gt-event-search-tool .search-content button,
    body.qhtix-home .gt-event-search-tool .search-content .bootstrap-select,
    body.qhtix-home .qhtix-search-band .search-content input,
    body.qhtix-home .qhtix-search-band .search-content select,
    body.qhtix-home .qhtix-search-band .search-content button,
    body.qhtix-home .qhtix-search-band .search-content .bootstrap-select {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns,
    body.qhtix-event-archive .qhtix-archive-grid,
    body.qhtix-event-archive .qhtix-related-grid {
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body.qhtix-home .qhtix-section--events .gt-categorized-contents .tab-pane > .gt-columns > .gt-col,
    body.qhtix-event-archive .qhtix-archive-card,
    body.qhtix-event-archive .qhtix-related-card {
        display: block !important;
        float: none !important;
        flex: none !important;
        margin: 0 0 18px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }
}


/* ===== /assets/css/product-event.css ===== */
/**
 * QH Tix linked event Product presentation — v0.1.20.
 * Presentation only: WooCommerce/FooEvents retain ticketing, variations,
 * stock, seating and add-to-cart behaviour.
 */

body.qhtix-linked-event-product{background:#f7f3f9!important}
body.qhtix-linked-event-product .gt-page-title-bar,
body.qhtix-linked-event-product .gt-site-right,
body.qhtix-linked-event-product .shop-sidebar{display:none!important}
body.qhtix-linked-event-product .gt-sub-content,
body.qhtix-linked-event-product .gt-site-inner,
body.qhtix-linked-event-product .gt-page-content{margin-top:0!important;padding-top:0!important}
body.qhtix-linked-event-product .gt-site-inner{background:radial-gradient(circle at 8% 1%,rgba(255,79,139,.085),transparent 28%),radial-gradient(circle at 94% 6%,rgba(112,70,232,.105),transparent 31%),#f7f3f9!important;padding-bottom:100px!important}
body.qhtix-linked-event-product .gt-site-inner>.container,
body.qhtix-linked-event-product .gt-site-inner>.container .gt-site-left,
body.qhtix-linked-event-product .gt-site-inner>.container .gt-page-content{float:none!important;max-width:var(--qhtix-max)!important;width:100%!important}
body.qhtix-linked-event-product .gt-sticky-header{z-index:140!important}

/* Event hero. */
.qhtix-product-event-hero{background:#10091a;color:#fff;isolation:isolate;margin-left:calc(50% - 50vw);min-height:620px;overflow:hidden;position:relative;width:100vw}
.qhtix-product-event-hero__media,.qhtix-product-event-hero__veil{inset:0;position:absolute}
.qhtix-product-event-hero__media{background-image:var(--qhtix-product-hero);background-position:center;background-repeat:no-repeat;background-size:cover;filter:saturate(1.06) contrast(1.02);z-index:0}
.qhtix-product-event-hero__veil{background:linear-gradient(90deg,rgba(10,4,16,.95) 0%,rgba(10,4,16,.82) 39%,rgba(10,4,16,.28) 72%,rgba(10,4,16,.38) 100%),linear-gradient(180deg,rgba(8,3,13,.34) 0%,transparent 37%),linear-gradient(0deg,rgba(8,3,13,.82) 0%,transparent 52%);z-index:1}

/*
 * Higher specificity than the older global non-home header rule. This is the
 * actual correction for the persistent opaque Product-page header block.
 */
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header{background:linear-gradient(180deg,rgba(7,3,12,.84) 0%,rgba(7,3,12,.48) 55%,rgba(7,3,12,0) 100%);inset:0 0 auto;min-height:188px;position:absolute;z-index:30}
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header.gt-style-1,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header.gt-style-2,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header.gt-style-3,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header.gt-style-4,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header.gt-style-5,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-mobile-header{background:transparent!important;background-color:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;inset:auto!important;margin:0!important;min-height:0!important;position:relative!important;width:100%!important}
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header:before,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header:after,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-mobile-header:before,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-mobile-header:after{background:transparent!important;box-shadow:none!important;display:none!important}
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header .gt-container,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header .gt-content,
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header .gt-elements{background:transparent!important;background-image:none!important;box-shadow:none!important}
body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header .gt-container{min-height:164px!important}

.qhtix-product-event-hero__inner{align-items:flex-end;display:flex;min-height:620px;padding-bottom:72px;padding-top:196px;position:relative;z-index:4}
.qhtix-product-event-hero__inner>div{max-width:790px}
.qhtix-product-event-hero__eyebrow{color:var(--qhtix-accent-2);font-size:.78rem;font-weight:850;letter-spacing:.145em;margin:0 0 15px;text-transform:uppercase}
.qhtix-product-event-hero h1{color:#fff!important;font-size:clamp(3rem,5.7vw,5.75rem);letter-spacing:-.047em;line-height:.95;margin:0 0 23px;text-wrap:balance}
.qhtix-product-event-hero__meta{display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:700;gap:9px 22px;margin-bottom:29px}
.qhtix-product-event-hero__meta span+span:before{color:var(--qhtix-accent);content:'•';margin-right:22px}
.qhtix-product-event-hero .qhtix-button--ghost{backdrop-filter:blur(9px);background:rgba(14,7,21,.24);border-color:rgba(255,255,255,.30);box-shadow:0 14px 34px rgba(0,0,0,.15)}

/* Main linked Product layout. */
body.qhtix-linked-event-product .woocommerce div.product{align-items:start;background:transparent!important;display:grid!important;gap:clamp(26px,3.2vw,46px);grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);margin:0 auto!important;padding:66px 0 0!important}
body.qhtix-linked-event-product .woocommerce div.product:before,
body.qhtix-linked-event-product .woocommerce div.product:after{display:none!important}

body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery,
body.qhtix-linked-event-product .woocommerce div.product div.images{background:#fff;border:1px solid rgba(25,12,36,.09);border-radius:28px;box-shadow:0 22px 58px rgba(27,12,38,.11);box-sizing:border-box;float:none!important;margin:0!important;overflow:hidden;padding:22px;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery__wrapper{border-radius:18px;overflow:hidden}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery__image{background:#f5f1f7;border-radius:18px;overflow:hidden}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery__image img{background:#f5f1f7;display:block;height:auto;margin:0 auto;object-fit:contain;width:100%}
body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs{display:grid!important;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:14px 0 0!important;padding:0!important}
body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs li{float:none!important;margin:0!important;width:auto!important}
body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs img{border:2px solid transparent;border-radius:11px;height:92px;object-fit:cover;opacity:.72;transition:border-color .2s ease,opacity .2s ease,transform .2s ease;width:100%}
body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs img.flex-active,
body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs img:hover{border-color:var(--qhtix-accent);opacity:1;transform:translateY(-1px)}

body.qhtix-linked-event-product .woocommerce div.product .summary{background:radial-gradient(circle at 92% 0,rgba(255,79,139,.20),transparent 31%),linear-gradient(145deg,#0d0614 0%,#170a22 58%,#251033 100%);border:1px solid rgba(255,255,255,.09);border-radius:28px;box-shadow:0 24px 64px rgba(21,9,31,.20);box-sizing:border-box;color:rgba(255,255,255,.79);float:none!important;margin:0!important;overflow:hidden;padding:clamp(28px,3.4vw,42px);position:sticky;top:112px;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary:after{background:linear-gradient(115deg,transparent 0 66%,rgba(255,255,255,.035) 66.2% 66.7%,transparent 67%);content:'';inset:0;pointer-events:none;position:absolute}
body.qhtix-linked-event-product .woocommerce div.product .summary>*{position:relative;z-index:1}
body.qhtix-linked-event-product .woocommerce div.product .summary>.product_title{display:none!important}

.qhtix-linked-product-purchase-intro{border-bottom:1px solid rgba(255,255,255,.12);margin:0 0 24px;padding:0 0 22px}
.qhtix-linked-product-purchase-intro__eyebrow{color:var(--qhtix-accent-2)!important;font-size:.72rem!important;font-weight:900!important;letter-spacing:.15em!important;margin:0 0 8px!important;text-transform:uppercase}
.qhtix-linked-product-purchase-intro h2{color:#fff!important;font-size:clamp(2rem,3vw,2.8rem)!important;letter-spacing:-.035em;line-height:1;margin:0 0 12px!important}
.qhtix-linked-product-purchase-intro>p:last-child{color:rgba(255,255,255,.66)!important;font-size:.96rem;line-height:1.55;margin:0!important}

body.qhtix-linked-event-product .woocommerce div.product .summary .price,
body.qhtix-linked-event-product .woocommerce div.product .summary .price .amount,
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-price .price,
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-price .amount{color:var(--qhtix-accent-2)!important;font-size:clamp(1.75rem,2.8vw,2.25rem)!important;font-weight:850!important;letter-spacing:-.025em}
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-product-details__short-description,
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-product-details__short-description p,
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-description,
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-description p{color:rgba(255,255,255,.76)!important;font-size:.98rem;line-height:1.65}
body.qhtix-linked-event-product .woocommerce div.product .summary form.cart,
body.qhtix-linked-event-product .woocommerce div.product .summary form.variations_form{border-top:1px solid rgba(255,255,255,.12);margin-top:24px!important;padding-top:24px}
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations{border:0!important;margin:0 0 20px!important;table-layout:fixed;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations tr,
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations th,
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations td{background:transparent!important;border:0!important}
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations th,
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations td{display:block!important;padding:0!important;text-align:left!important;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations th.label{margin:0 0 8px}
body.qhtix-linked-event-product .woocommerce div.product .summary table.variations label{color:#fff!important;font-size:.75rem!important;font-weight:850!important;letter-spacing:.10em;text-transform:uppercase}
body.qhtix-linked-event-product .woocommerce div.product .summary select,
body.qhtix-linked-event-product .woocommerce div.product .summary .select2-selection--single{background:#fff!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:13px!important;box-shadow:0 10px 25px rgba(0,0,0,.10);color:#18101e!important;font-size:16px!important;min-height:54px!important;padding:0 15px!important;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary .reset_variations{color:var(--qhtix-accent)!important;display:inline-flex!important;font-size:.79rem!important;font-weight:800;margin-top:9px!important;text-decoration:none}
body.qhtix-linked-event-product .woocommerce div.product .summary .single_variation_wrap{margin-top:18px}
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:16px;margin:0 0 18px;padding:17px 18px}
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation:empty{display:none}
body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-add-to-cart,
body.qhtix-linked-event-product .woocommerce div.product .summary form.cart:not(.variations_form){align-items:stretch;display:grid!important;gap:12px;grid-template-columns:96px minmax(0,1fr);width:100%}
body.qhtix-linked-event-product .woocommerce div.product .summary .quantity{float:none!important;margin:0!important;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary .quantity .qty{background:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:13px!important;box-sizing:border-box;color:#160d1d!important;font-size:16px!important;height:56px!important;margin:0!important;text-align:center;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button,
body.qhtix-linked-event-product .woocommerce div.product .summary button.single_add_to_cart_button{background:linear-gradient(135deg,#ff4f8b,#f73579)!important;border:0!important;border-radius:13px!important;box-shadow:0 14px 30px rgba(255,79,139,.25);color:#fff!important;float:none!important;font-size:.88rem!important;font-weight:850!important;height:56px!important;letter-spacing:.02em;margin:0!important;padding:0 24px!important;text-transform:uppercase;width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button:hover,
body.qhtix-linked-event-product .woocommerce div.product .summary button.single_add_to_cart_button:hover{background:#fff!important;color:#160d1d!important;transform:translateY(-1px)}
body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button.disabled,
body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button:disabled,
body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button.wc-variation-selection-needed{background:rgba(255,255,255,.18)!important;box-shadow:none;color:rgba(255,255,255,.62)!important;cursor:not-allowed;opacity:1!important}
body.qhtix-linked-event-product .woocommerce div.product .summary .product_meta{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.56);font-size:.82rem;line-height:1.7;margin-top:25px;padding-top:20px}
body.qhtix-linked-event-product .woocommerce div.product .summary .product_meta a{color:#fff!important}

/* Lower Product sections. */
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs,
body.qhtix-linked-event-product .woocommerce div.product .related,
body.qhtix-linked-event-product .woocommerce div.product .upsells{background:#fff;border:1px solid rgba(25,12,36,.09);border-radius:26px;box-shadow:0 18px 48px rgba(27,12,38,.08);box-sizing:border-box;clear:both;color:#30263a;grid-column:1/-1;margin:10px 0 0!important;overflow:hidden;padding:clamp(24px,3vw,38px);width:100%!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid #e7dfe9;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px!important;padding:0 0 16px!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs:before,
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li:before,
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f5f0f7!important;border:1px solid #e6dce9!important;border-radius:999px!important;margin:0!important;padding:0!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#160b20!important;border-color:#160b20!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#35263e!important;font-size:.78rem;font-weight:850!important;padding:11px 17px!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs h2,
body.qhtix-linked-event-product .woocommerce div.product .related>h2,
body.qhtix-linked-event-product .woocommerce div.product .upsells>h2{color:#140a1d!important;font-size:clamp(1.8rem,3vw,2.55rem)!important;letter-spacing:-.035em}
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs p,
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs li,
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs td,
body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs th{color:#51445a!important;line-height:1.7}

@media(min-width:768px){.qhtix-product-event-hero__site-header .gt-mobile-header{display:none!important}}
@media(max-width:1100px){body.qhtix-linked-event-product .woocommerce div.product{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr)}body.qhtix-linked-event-product .woocommerce div.product .summary{top:92px}}
@media(max-width:900px){body.qhtix-linked-event-product .woocommerce div.product{gap:24px;grid-template-columns:minmax(0,1fr);padding-top:42px!important}body.qhtix-linked-event-product .woocommerce div.product .summary{order:1;position:relative;top:auto}body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery,body.qhtix-linked-event-product .woocommerce div.product div.images{order:2}body.qhtix-linked-event-product .woocommerce div.product .woocommerce-tabs,body.qhtix-linked-event-product .woocommerce div.product .related,body.qhtix-linked-event-product .woocommerce div.product .upsells{order:3}}
@media(max-width:767px){.qhtix-product-event-hero{min-height:560px}.qhtix-product-event-hero__media{background-image:var(--qhtix-product-hero-mobile);background-position:center}.qhtix-product-event-hero__veil{background:linear-gradient(0deg,rgba(10,4,16,.97) 0%,rgba(10,4,16,.61) 61%,rgba(10,4,16,.67) 100%)}body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header{min-height:118px}body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header>.gt-header{display:none!important}body.qhtix-theme.qhtix-linked-event-product .qhtix-product-event-hero .qhtix-product-event-hero__site-header .gt-container{min-height:84px!important}.qhtix-product-event-hero__inner{min-height:560px;padding-bottom:43px;padding-top:132px}.qhtix-product-event-hero h1{font-size:clamp(2.5rem,11.4vw,4rem)}.qhtix-product-event-hero__meta{display:grid;font-size:.88rem;gap:7px}.qhtix-product-event-hero__meta span+span:before{display:none}body.qhtix-linked-event-product .woocommerce div.product{padding-left:2px!important;padding-right:2px!important}body.qhtix-linked-event-product .woocommerce div.product .summary,body.qhtix-linked-event-product .woocommerce div.product .woocommerce-product-gallery,body.qhtix-linked-event-product .woocommerce div.product div.images{border-radius:22px;padding:22px}body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-add-to-cart,body.qhtix-linked-event-product .woocommerce div.product .summary form.cart:not(.variations_form){grid-template-columns:82px minmax(0,1fr)}body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}body.qhtix-linked-event-product .woocommerce div.product .flex-control-thumbs img{height:78px}}
@media(max-width:430px){body.qhtix-linked-event-product .woocommerce div.product .summary .woocommerce-variation-add-to-cart,body.qhtix-linked-event-product .woocommerce div.product .summary form.cart:not(.variations_form){grid-template-columns:minmax(0,1fr)}body.qhtix-linked-event-product .woocommerce div.product .summary .quantity .qty,body.qhtix-linked-event-product .woocommerce div.product .summary .single_add_to_cart_button{width:100%!important}}


/* ===== /assets/css/content-pages.css ===== */
/**
 * QH Tix information, FAQ, policy and contact pages.
 */
body.page-template-page-qhtix-content-php,
body.page-template-page-qhtix-content {
    background: #f8f5fa;
}
body.page-template-page-qhtix-content-php .gt-page-title-bar,
body.page-template-page-qhtix-content .gt-page-title-bar { display: none !important; }
body.page-template-page-qhtix-content-php .gt-sub-content,
body.page-template-page-qhtix-content-php .gt-site-inner,
body.page-template-page-qhtix-content-php .gt-page-content,
body.page-template-page-qhtix-content .gt-sub-content,
body.page-template-page-qhtix-content .gt-site-inner,
body.page-template-page-qhtix-content .gt-page-content { margin-top: 0 !important; padding-top: 0 !important; }
.qhtix-information-page { background: #f8f5fa; color: #34283c; }
.qhtix-information-hero {
    background: #10091a;
    color: #fff;
    isolation: isolate;
    min-height: 600px;
    overflow: hidden;
    position: relative;
}
.qhtix-information-hero__media,
.qhtix-information-hero__veil {
    inset: 0;
    position: absolute;
}
.qhtix-information-hero__media {
    background-image: var(--qhtix-information-hero);
    background-position: center 52%;
    background-repeat: no-repeat;
    background-size: cover;
    filter: saturate(1.03) contrast(1.04);
    transform: scale(1.002);
    z-index: 0;
}
.qhtix-information-hero__veil {
    background:
        linear-gradient(90deg, rgba(9,4,15,.95) 0%, rgba(9,4,15,.82) 43%, rgba(9,4,15,.42) 73%, rgba(9,4,15,.52) 100%),
        linear-gradient(180deg, rgba(7,3,12,.54) 0%, rgba(7,3,12,.08) 40%, rgba(7,3,12,.22) 70%, rgba(7,3,12,.78) 100%),
        radial-gradient(circle at 14% 82%, rgba(255,79,139,.16), transparent 29%);
    z-index: 1;
}
.qhtix-information-hero::after {
    background: linear-gradient(90deg, #ff4f8b 0%, #f4b735 55%, transparent 100%);
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    opacity: .92;
    position: absolute;
    width: min(470px, 44vw);
    z-index: 6;
}
.qhtix-information-hero__site-header {
    background: linear-gradient(180deg, rgba(7,3,12,.76) 0%, rgba(7,3,12,.34) 58%, rgba(7,3,12,0) 100%);
    inset: 0 0 auto;
    min-height: 188px;
    position: absolute;
    z-index: 30;
}
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header.gt-style-1,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header.gt-style-2,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header.gt-style-3,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header.gt-style-4,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header.gt-style-5,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-mobile-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    inset: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    position: relative !important;
    width: 100% !important;
}
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header::before,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-header::after,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-mobile-header::before,
body.qhtix-theme .qhtix-information-hero__site-header > .gt-mobile-header::after {
    background: transparent !important;
    box-shadow: none !important;
    display: none !important;
}
body.qhtix-theme .qhtix-information-hero__site-header .gt-container,
body.qhtix-theme .qhtix-information-hero__site-header .gt-content,
body.qhtix-theme .qhtix-information-hero__site-header .gt-elements {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}
body.qhtix-theme .qhtix-information-hero__site-header .gt-container {
    min-height: 164px !important;
}
.qhtix-information-hero__inner {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 600px;
    padding-bottom: 72px;
    padding-top: 202px;
    position: relative;
    z-index: 4;
}
.qhtix-information-hero__inner > * { align-self: flex-start; max-width: 940px; }
.qhtix-information-hero__eyebrow,
.qhtix-kicker { color: var(--qhtix-accent-2); font-size: .75rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 12px; text-transform: uppercase; }
.qhtix-information-hero h1 { color: #fff; font-size: clamp(3.1rem, 5.9vw, 6rem); letter-spacing: -.052em; line-height: .94; margin: 0; max-width: 1050px; text-shadow: 0 12px 34px rgba(0,0,0,.22); text-wrap: balance; }
.qhtix-information-hero__summary { color: rgba(255,255,255,.82); font-size: clamp(1rem, 1.55vw, 1.2rem); line-height: 1.65; margin: 22px 0 0; max-width: 820px; text-shadow: 0 5px 18px rgba(0,0,0,.22); }
.qhtix-information-content { background: radial-gradient(circle at 6% 1%, rgba(255,79,139,.07), transparent 25%), radial-gradient(circle at 94% 4%, rgba(113,68,225,.08), transparent 29%), #f8f5fa; padding: 72px 0 100px; }
.qhtix-information-content__inner { max-width: 1240px; }
.qhtix-information-content .vc_row { margin-left: 0; margin-right: 0; }
.qhtix-information-content .vc_column_container > .vc_column-inner { padding-left: 0; padding-right: 0; }
.qhtix-info-section { margin: 0 0 34px; }
.qhtix-info-section:last-child { margin-bottom: 0; }
.qhtix-lead-copy { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 28px; box-shadow: 0 22px 58px rgba(29,13,40,.08); padding: clamp(30px, 5vw, 64px); }
.qhtix-lead-copy h2,
.qhtix-editorial-panel h2,
.qhtix-info-cta h2,
.qhtix-faq-group > h2,
.qhtix-contact-form-shell h2 { color: #170c20; font-size: clamp(2rem, 4.2vw, 4rem); letter-spacing: -.045em; line-height: 1; margin: 0 0 22px; }
.qhtix-lead-copy > p:not(.qhtix-kicker),
.qhtix-editorial-panel p,
.qhtix-policy-copy p,
.qhtix-policy-copy li { font-size: 1.04rem; line-height: 1.75; }
.qhtix-info-card-grid { display: grid; gap: 20px; }
.qhtix-info-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qhtix-info-card { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 22px; box-shadow: 0 15px 38px rgba(29,13,40,.07); padding: 29px; }
.qhtix-info-card__number { color: var(--qhtix-accent); display: block; font-size: .74rem; font-weight: 900; letter-spacing: .13em; margin-bottom: 22px; }
.qhtix-info-card h3 { color: #180d20; font-size: 1.42rem; letter-spacing: -.025em; margin: 0 0 12px; }
.qhtix-info-card p { line-height: 1.65; margin: 0; }
.qhtix-editorial-panel { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 26px; height: 100%; padding: clamp(28px, 4vw, 50px); }
.qhtix-editorial-panel--dark { background: radial-gradient(circle at 100% 0, rgba(255,79,139,.18), transparent 34%), linear-gradient(145deg, #100818, #261032); border-color: rgba(255,255,255,.08); color: rgba(255,255,255,.76); }
.qhtix-editorial-panel--dark h2 { color: #fff; }
.qhtix-stage-quote { background: linear-gradient(135deg, #ff4f8b, #8e43be); border: 0; border-radius: 26px; color: #fff; font-size: clamp(1.55rem, 3vw, 2.65rem); font-weight: 650; line-height: 1.25; margin: 0; padding: clamp(32px, 5vw, 65px); }
.qhtix-stage-quote span { color: #fff0a7; }
.qhtix-info-cta { align-items: center; background: #160b20; border-radius: 26px; color: #fff; display: flex; gap: 28px; justify-content: space-between; padding: clamp(28px, 4vw, 48px); }
.qhtix-info-cta h2 { color: #fff; margin-bottom: 0; }
.qhtix-info-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.qhtix-important-note { background: #fff7e1; border: 1px solid #f0d997; border-left: 4px solid var(--qhtix-accent-2); border-radius: 12px; color: #4a3716; line-height: 1.6; margin-top: 24px; padding: 17px 19px; }
.qhtix-page-jump,
.qhtix-policy-toc { background: #160b20; border-radius: 18px; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; padding: 14px; }
.qhtix-page-jump a,
.qhtix-policy-toc a,
.qhtix-policy-toc strong { border-radius: 999px; color: #fff; font-size: .76rem; font-weight: 800; padding: 9px 13px; }
.qhtix-page-jump a,
.qhtix-policy-toc a { background: rgba(255,255,255,.08); text-decoration: none; }
.qhtix-page-jump a:hover,
.qhtix-policy-toc a:hover { background: var(--qhtix-accent); color: #fff; }
.qhtix-faq-group { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 26px; margin-bottom: 25px; padding: clamp(26px, 4vw, 45px); scroll-margin-top: 120px; }
.qhtix-faq-group details { border-top: 1px solid #eee6f0; }
.qhtix-faq-group details:first-of-type { border-top: 0; }
.qhtix-faq-group summary { color: #1b1022; cursor: pointer; font-size: 1.08rem; font-weight: 800; list-style: none; padding: 20px 42px 20px 0; position: relative; }
.qhtix-faq-group summary::-webkit-details-marker { display: none; }
.qhtix-faq-group summary::after { color: var(--qhtix-accent); content: '+'; font-size: 1.55rem; position: absolute; right: 4px; top: 15px; }
.qhtix-faq-group details[open] summary::after { content: '−'; }
.qhtix-faq-group details > div { color: #514458; line-height: 1.72; padding: 0 34px 20px 0; }
.qhtix-policy-intro,
.qhtix-policy-copy { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 26px; box-shadow: 0 18px 45px rgba(29,13,40,.06); padding: clamp(28px, 4.5vw, 58px); }
.qhtix-policy-copy section { border-top: 1px solid #eee6f0; padding: 32px 0; scroll-margin-top: 120px; }
.qhtix-policy-copy section:first-child { border-top: 0; padding-top: 0; }
.qhtix-policy-copy section:last-child { padding-bottom: 0; }
.qhtix-policy-copy h2 { color: #170c20; font-size: clamp(1.65rem, 3vw, 2.45rem); letter-spacing: -.035em; margin: 0 0 18px; }
.qhtix-policy-copy h3 { color: #2d1a36; font-size: 1.18rem; margin: 22px 0 10px; }
.qhtix-policy-copy ul { padding-left: 22px; }
.qhtix-policy-copy a { color: #bf2d69; font-weight: 700; }
.qhtix-contact-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qhtix-contact-card { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 23px; box-shadow: 0 15px 38px rgba(29,13,40,.07); padding: 28px; }
.qhtix-contact-card--featured { background: radial-gradient(circle at 100% 0, rgba(255,79,139,.22), transparent 35%), linear-gradient(145deg, #100818, #291137); color: rgba(255,255,255,.78); }
.qhtix-contact-card h3 { color: #180d20; font-size: 1.45rem; margin: 0 0 16px; }
.qhtix-contact-card--featured h3,
.qhtix-contact-card--featured a { color: #fff; }
.qhtix-contact-card p { line-height: 1.65; }
.qhtix-contact-form-shell { background: #fff; border: 1px solid rgba(29,16,38,.08); border-radius: 28px; box-shadow: 0 22px 58px rgba(29,13,40,.08); display: grid; gap: 35px; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); padding: clamp(28px, 4.5vw, 58px); }
.qhtix-contact-form__grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qhtix-contact-form p { margin: 0 0 17px; }
.qhtix-contact-form label { color: #2d2133; display: block; font-size: .82rem; font-weight: 800; margin-bottom: 7px; }
.qhtix-contact-form input,
.qhtix-contact-form select,
.qhtix-contact-form textarea { background: #fbf9fc; border: 1px solid #ddd2e1; border-radius: 12px; box-sizing: border-box; color: #1c1222; font-size: 16px; min-height: 52px; padding: 12px 14px; width: 100%; }
.qhtix-contact-form textarea { min-height: 165px; resize: vertical; }
.qhtix-contact-consent { align-items: flex-start; display: flex !important; gap: 10px; line-height: 1.5; margin: 4px 0 20px; }
.qhtix-contact-consent input { flex: 0 0 18px; height: 18px; margin-top: 2px; min-height: 0; width: 18px; }
.qhtix-contact-trap { height: 1px !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
.qhtix-form-message { border-radius: 12px; font-weight: 700; margin-bottom: 18px; padding: 14px 16px; }
.qhtix-form-message--success { background: #eaf8ee; border: 1px solid #b9dfc3; color: #194d28; }
.qhtix-form-message--error { background: #fff0f0; border: 1px solid #efb7b7; color: #751f1f; }
.qhtix-form-help { color: #736678; font-size: .84rem; line-height: 1.55; margin-top: 16px !important; }
.qhtix-footer-brand { flex-wrap: wrap; }
@media (max-width: 900px) {
    .qhtix-info-card-grid--three,
    .qhtix-contact-card-grid { grid-template-columns: 1fr 1fr; }
    .qhtix-contact-form-shell { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .qhtix-information-hero,
    .qhtix-information-hero__inner { min-height: 520px; }
    .qhtix-information-hero__media {
        background-image: var(--qhtix-information-hero-mobile);
        background-position: center;
    }
    .qhtix-information-hero__veil {
        background:
            linear-gradient(0deg, rgba(9,4,15,.96) 0%, rgba(9,4,15,.62) 61%, rgba(9,4,15,.68) 100%),
            linear-gradient(180deg, rgba(7,3,12,.52), transparent 45%);
    }
    .qhtix-information-hero__site-header { min-height: 118px; }
    .qhtix-information-hero__site-header > .gt-header { display: none !important; }
    body.qhtix-theme .qhtix-information-hero__site-header .gt-container { min-height: 84px !important; }
    .qhtix-information-hero__inner { padding-bottom: 43px; padding-top: 142px; }
    .qhtix-information-hero h1 { font-size: clamp(2.7rem, 12.2vw, 4.35rem); }
    .qhtix-information-content { padding: 42px 0 72px; }
    .qhtix-info-card-grid--three,
    .qhtix-contact-card-grid,
    .qhtix-contact-form__grid { grid-template-columns: 1fr; }
    .qhtix-info-cta { align-items: flex-start; flex-direction: column; }
    .qhtix-info-cta__actions { width: 100%; }
    .qhtix-info-cta__actions a { text-align: center; width: 100%; }
    .qhtix-page-jump,
    .qhtix-policy-toc { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; }
    .qhtix-policy-toc strong { grid-column: 1 / -1; }
    .qhtix-faq-group summary { font-size: 1rem; }
}
@media (max-width: 430px) {
    .qhtix-page-jump,
    .qhtix-policy-toc { grid-template-columns: 1fr; }
}

/* ==================================================================
   QH Tix v0.1.31 information-page refinements
   ================================================================== */

/* FAQ accordion: explicit QH Tix colours override legacy theme accordion CSS. */
body.qhtix-theme .qhtix-information-content .qhtix-faq-group {
    background:
        radial-gradient(circle at 100% 0, rgba(255,79,139,.065), transparent 34%),
        #fff !important;
    border: 1px solid rgba(45,22,57,.10) !important;
    box-shadow: 0 18px 46px rgba(33,13,44,.065) !important;
    overflow: hidden;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group > h2 {
    color: #170c20 !important;
    font-size: clamp(1.9rem, 3.4vw, 3rem) !important;
    margin-bottom: 25px !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details {
    background: #faf7fb !important;
    border: 1px solid #eadfeb !important;
    border-radius: 14px !important;
    color: #211629 !important;
    margin: 11px 0 !important;
    overflow: hidden !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details:first-of-type {
    border-top: 1px solid #eadfeb !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group summary {
    align-items: center !important;
    background: linear-gradient(90deg, #fbf8fc, #f7f1f9) !important;
    color: #24162b !important;
    display: flex !important;
    font-size: 1.04rem !important;
    font-weight: 850 !important;
    min-height: 64px !important;
    padding: 17px 56px 17px 20px !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group summary::after {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #ddcfe0 !important;
    border-radius: 50% !important;
    color: #c93271 !important;
    display: inline-flex !important;
    font-size: 1.18rem !important;
    height: 30px !important;
    justify-content: center !important;
    right: 17px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 30px !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details[open] summary {
    background:
        radial-gradient(circle at 100% 0, rgba(255,79,139,.22), transparent 35%),
        linear-gradient(135deg, #160a20, #371442) !important;
    color: #fff !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details[open] summary::after {
    background: #ff4f8b !important;
    border-color: #ff4f8b !important;
    color: #fff !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div {
    background: #fff !important;
    color: #493c50 !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    padding: 20px 24px 23px !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div p,
body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div li {
    color: #493c50 !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div p:last-child,
body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div ol:last-child,
body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div ul:last-child {
    margin-bottom: 0 !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div a {
    color: #b72c68 !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group--final {
    border-top: 5px solid #ff4f8b !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-faq-group--changes {
    border-top: 5px solid #f3b735 !important;
}

/* Contact cards: prevent parent-theme link colours from hiding content. */
body.qhtix-theme .qhtix-information-content .qhtix-contact-card:not(.qhtix-contact-card--featured) {
    color: #4d4053 !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card:not(.qhtix-contact-card--featured) h3 {
    color: #180d20 !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card:not(.qhtix-contact-card--featured) p {
    color: #4d4053 !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card:not(.qhtix-contact-card--featured) a {
    color: #b72c68 !important;
    font-weight: 800 !important;
    overflow-wrap: anywhere;
    text-decoration: none !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card:not(.qhtix-contact-card--featured) a:hover {
    color: #7d1f4a !important;
    text-decoration: underline !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card--featured p {
    color: rgba(255,255,255,.80) !important;
}

body.qhtix-theme .qhtix-information-content .qhtix-contact-card--featured .qhtix-kicker {
    color: #ffd24d !important;
}

/* Subtle end-of-policy payment notice, replacing the prominent yellow banner. */
body.qhtix-theme .qhtix-information-content .qhtix-policy-disclosure {
    align-items: flex-start;
    background:
        linear-gradient(135deg, rgba(91,48,112,.065), rgba(255,79,139,.045)) !important;
    border: 1px solid rgba(67,37,78,.11) !important;
    border-left: 3px solid #a94c87 !important;
    border-radius: 13px !important;
    color: #55465a !important;
    display: grid;
    gap: 4px;
    margin-top: 34px;
    padding: 17px 19px;
}

body.qhtix-theme .qhtix-information-content .qhtix-policy-disclosure strong {
    color: #2a1931 !important;
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.qhtix-theme .qhtix-information-content .qhtix-policy-disclosure span {
    color: #625268 !important;
    line-height: 1.6;
}

@media (max-width: 767px) {
    body.qhtix-theme .qhtix-information-content .qhtix-faq-group {
        border-radius: 20px !important;
        padding: 22px 16px !important;
    }

    body.qhtix-theme .qhtix-information-content .qhtix-faq-group summary {
        font-size: .98rem !important;
        min-height: 60px !important;
        padding: 15px 52px 15px 16px !important;
    }

    body.qhtix-theme .qhtix-information-content .qhtix-faq-group summary::after {
        right: 13px !important;
    }

    body.qhtix-theme .qhtix-information-content .qhtix-faq-group details > div {
        padding: 17px 17px 20px !important;
    }
}

/* ==================================================================
   QH Tix v0.1.33 transparent information-page header
   ================================================================== */

@media (min-width: 768px) {
    body.qhtix-theme .qhtix-information-hero__site-header > .gt-mobile-header {
        display: none !important;
    }
}

body.page-template-page-qhtix-content,
body.page-template-page-qhtix-content-php {
    background: #f8f5fa !important;
}

body.page-template-page-qhtix-content .gt-sticky-header,
body.page-template-page-qhtix-content-php .gt-sticky-header {
    z-index: 140 !important;
}

body.page-template-page-qhtix-content .qhtix-information-page,
body.page-template-page-qhtix-content-php .qhtix-information-page {
    overflow: hidden;
}

body.page-template-page-qhtix-content .qhtix-information-content,
body.page-template-page-qhtix-content-php .qhtix-information-content {
    border-top: 0 !important;
}



/* ===== /assets/css/release-0121.css ===== */
/**
 * QH Tix v0.1.21 final Product and archive presentation corrections.
 *
 * Loaded after all parent, child, commerce and polish styles so the selectors
 * below can safely resolve Eventchamp specificity conflicts without altering
 * WooCommerce/FooEvents behaviour.
 */

/* ==================================================================
   LINKED EVENT PRODUCT
   ================================================================== */

/* Light event-commerce canvas beneath the hero. */
body.qhtix-theme.qhtix-linked-event-product,
body.qhtix-theme.qhtix-linked-event-product .gt-site-inner,
body.qhtix-theme.qhtix-linked-event-product .gt-sub-content,
body.qhtix-theme.qhtix-linked-event-product .gt-page-content,
body.qhtix-theme.qhtix-linked-event-product .gt-site-left,
body.qhtix-theme.qhtix-linked-event-product .gt-content {
    background:
        radial-gradient(circle at 7% 2%, rgba(255,79,139,.08), transparent 27%),
        radial-gradient(circle at 94% 4%, rgba(111,68,226,.09), transparent 31%),
        #f8f5fa !important;
    color: #211628 !important;
}

body.qhtix-theme.qhtix-linked-event-product .gt-site-inner {
    padding-bottom: 96px !important;
}

/* Match the actual Product wrapper whether or not Eventchamp includes
   WooCommerce's .woocommerce ancestor. */
body.qhtix-theme.qhtix-linked-event-product div.product.type-product,
body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product {
    align-items: start !important;
    background: transparent !important;
    box-sizing: border-box !important;
    display: grid !important;
    float: none !important;
    gap: clamp(28px, 3.2vw, 48px) !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    margin: 0 auto !important;
    max-width: 1370px !important;
    padding: 66px clamp(20px, 3vw, 42px) 0 !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product div.product.type-product::before,
body.qhtix-theme.qhtix-linked-event-product div.product.type-product::after,
body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product::before,
body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product::after {
    display: none !important;
}

/* Gallery card. */
body.qhtix-theme.qhtix-linked-event-product div.product .images,
body.qhtix-theme.qhtix-linked-event-product div.product .woocommerce-product-gallery {
    background: #fff !important;
    border: 1px solid rgba(31,17,40,.10) !important;
    border-radius: 27px !important;
    box-shadow: 0 22px 58px rgba(28,13,39,.11) !important;
    box-sizing: border-box !important;
    float: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 22px !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-product-gallery__wrapper,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-product-gallery__image {
    background: #f5f1f7 !important;
    border-radius: 17px !important;
    overflow: hidden !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-product-gallery__image img {
    background: #f5f1f7 !important;
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .flex-control-thumbs {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    list-style: none !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .flex-control-thumbs li {
    float: none !important;
    margin: 0 !important;
    width: auto !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .flex-control-thumbs img {
    border: 2px solid transparent !important;
    border-radius: 10px !important;
    height: 88px !important;
    object-fit: cover !important;
    opacity: .72 !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .flex-control-thumbs img.flex-active,
body.qhtix-theme.qhtix-linked-event-product
div.product .flex-control-thumbs img:hover {
    border-color: var(--qhtix-accent) !important;
    opacity: 1 !important;
}

/* Booking card. */
body.qhtix-theme.qhtix-linked-event-product div.product .summary,
body.qhtix-theme.qhtix-linked-event-product div.product div.summary {
    background:
        radial-gradient(circle at 92% 0, rgba(255,79,139,.22), transparent 31%),
        linear-gradient(145deg, #0d0614 0%, #180b22 57%, #271035 100%) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 28px !important;
    box-shadow: 0 24px 64px rgba(24,9,34,.22) !important;
    box-sizing: border-box !important;
    color: rgba(255,255,255,.80) !important;
    float: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: clamp(29px, 3.3vw, 43px) !important;
    position: sticky !important;
    top: 106px !important;
    width: 100% !important;
}

/* Product title is authoritative in the hero. Remove every known duplicate
   title variant from the booking summary. */
body.qhtix-theme.qhtix-linked-event-product div.product .summary .product_title,
body.qhtix-theme.qhtix-linked-event-product div.product .summary h1.product_title,
body.qhtix-theme.qhtix-linked-event-product div.product .summary h1.entry-title,
body.qhtix-theme.qhtix-linked-event-product div.product .summary > h1,
body.qhtix-theme.qhtix-linked-event-product div.product .summary > .entry-title {
    display: none !important;
    color: #fff !important;
}

/* Purchase heading. */
body.qhtix-theme.qhtix-linked-event-product
.qhtix-linked-product-purchase-intro {
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    margin: 0 0 25px !important;
    padding: 0 0 23px !important;
}

body.qhtix-theme.qhtix-linked-event-product
.qhtix-linked-product-purchase-intro__eyebrow {
    color: var(--qhtix-accent-2) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    margin: 0 0 9px !important;
    text-transform: uppercase !important;
}

body.qhtix-theme.qhtix-linked-event-product
.qhtix-linked-product-purchase-intro h2 {
    color: #fff !important;
    font-size: clamp(2.15rem, 3.2vw, 3rem) !important;
    letter-spacing: -.04em !important;
    line-height: 1 !important;
    margin: 0 0 12px !important;
}

body.qhtix-theme.qhtix-linked-event-product
.qhtix-linked-product-purchase-intro > p:last-child {
    color: rgba(255,255,255,.70) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* Price and summary copy. */
body.qhtix-theme.qhtix-linked-event-product div.product .summary .price,
body.qhtix-theme.qhtix-linked-event-product div.product .summary .price *,
body.qhtix-theme.qhtix-linked-event-product div.product .summary .woocommerce-variation-price,
body.qhtix-theme.qhtix-linked-event-product div.product .summary .woocommerce-variation-price * {
    color: var(--qhtix-accent-2) !important;
    font-weight: 850 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .summary .woocommerce-product-details__short-description,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary .woocommerce-product-details__short-description p,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary .woocommerce-variation-description,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary .woocommerce-variation-description p {
    color: rgba(255,255,255,.78) !important;
    font-size: .99rem !important;
    line-height: 1.65 !important;
}

/* Variation table and ticket type. */
body.qhtix-theme.qhtix-linked-event-product
div.product form.variations_form,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary form.cart {
    border-top: 1px solid rgba(255,255,255,.13) !important;
    margin-top: 25px !important;
    padding-top: 25px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations {
    border: 0 !important;
    margin: 0 0 21px !important;
    table-layout: fixed !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations tbody,
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations tr,
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations th,
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations td {
    background: transparent !important;
    border: 0 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations th,
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations td {
    display: block !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations th.label {
    margin: 0 0 9px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations th.label label,
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations label,
body.qhtix-theme.qhtix-linked-event-product
div.product .variations label {
    color: #fff !important;
    display: block !important;
    font-size: .75rem !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}

/* Native select plus Select2/SelectWoo. */
body.qhtix-theme.qhtix-linked-event-product
div.product table.variations select,
body.qhtix-theme.qhtix-linked-event-product
div.product .variations select,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary select {
    appearance: auto !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.13) !important;
    color: #1a1020 !important;
    font-size: 16px !important;
    height: 56px !important;
    line-height: 56px !important;
    min-height: 56px !important;
    padding: 0 45px 0 16px !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product table.variations select option,
body.qhtix-theme.qhtix-linked-event-product
div.product .variations select option {
    background: #fff !important;
    color: #1a1020 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .select2-container,
body.qhtix-theme.qhtix-linked-event-product
div.product .select2-container--default,
body.qhtix-theme.qhtix-linked-event-product
div.product .select2-container--open {
    color: #1a1020 !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .select2-selection--single {
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.13) !important;
    height: 56px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .select2-selection--single .select2-selection__rendered {
    color: #1a1020 !important;
    font-size: 16px !important;
    line-height: 56px !important;
    padding-left: 16px !important;
    padding-right: 42px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .select2-selection--single .select2-selection__arrow {
    height: 54px !important;
    right: 12px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .reset_variations {
    color: #ff83ac !important;
    display: inline-flex !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    margin-top: 9px !important;
}

/* Selected variation and ticket name. */
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation {
    background: rgba(255,255,255,.065) !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 16px !important;
    color: #fff !important;
    margin: 0 0 18px !important;
    padding: 17px 19px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation:empty {
    display: none !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation p,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation span:not(.amount),
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation-description {
    color: rgba(255,255,255,.80) !important;
}

/* Quantity and booking button. */
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-variation-add-to-cart,
body.qhtix-theme.qhtix-linked-event-product
div.product form.cart:not(.variations_form) {
    align-items: stretch !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .quantity {
    float: none !important;
    margin: 0 !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .quantity .qty {
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 13px !important;
    color: #180e1e !important;
    font-size: 16px !important;
    height: 56px !important;
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .single_add_to_cart_button,
body.qhtix-theme.qhtix-linked-event-product
div.product button.single_add_to_cart_button {
    background: linear-gradient(135deg, #ff4f8b, #f73579) !important;
    border: 0 !important;
    border-radius: 13px !important;
    box-shadow: 0 14px 30px rgba(255,79,139,.28) !important;
    color: #fff !important;
    float: none !important;
    font-size: .87rem !important;
    font-weight: 900 !important;
    height: 56px !important;
    letter-spacing: .025em !important;
    margin: 0 !important;
    padding: 0 24px !important;
    text-transform: uppercase !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .single_add_to_cart_button:hover {
    background: #fff !important;
    color: #180e1e !important;
    transform: translateY(-1px) !important;
}

/* Product metadata. */
body.qhtix-theme.qhtix-linked-event-product
div.product .summary .product_meta {
    border-top: 1px solid rgba(255,255,255,.13) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: .82rem !important;
    line-height: 1.8 !important;
    margin-top: 26px !important;
    padding-top: 20px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .summary .product_meta span,
body.qhtix-theme.qhtix-linked-event-product
div.product .summary .product_meta a {
    color: rgba(255,255,255,.78) !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .summary .product_meta a:hover {
    color: var(--qhtix-accent-2) !important;
}

/* Tabs/content card. */
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs,
body.qhtix-theme.qhtix-linked-event-product
div.product section.related,
body.qhtix-theme.qhtix-linked-event-product
div.product section.upsells {
    background: #fff !important;
    border: 1px solid rgba(31,17,40,.09) !important;
    border-radius: 27px !important;
    box-shadow: 0 18px 50px rgba(28,13,39,.09) !important;
    box-sizing: border-box !important;
    clear: both !important;
    color: #493d51 !important;
    grid-column: 1 / -1 !important;
    margin: 8px 0 0 !important;
    overflow: hidden !important;
    padding: clamp(26px, 3vw, 40px) !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs {
    align-items: center !important;
    border-bottom: 1px solid #e8e0ea !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin: 0 0 28px !important;
    padding: 0 0 18px !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs::before,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li::before,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li {
    background: #f4eff6 !important;
    border: 1px solid #e3d9e7 !important;
    border-radius: 999px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li a,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li a:visited {
    color: #3c2d45 !important;
    display: block !important;
    font-size: .77rem !important;
    font-weight: 900 !important;
    letter-spacing: .035em !important;
    padding: 11px 17px !important;
    text-transform: uppercase !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li.active {
    background: #180c21 !important;
    border-color: #180c21 !important;
    box-shadow: 0 9px 22px rgba(24,12,33,.13) !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs ul.tabs li:not(.active):hover {
    background: #fff !important;
    border-color: var(--qhtix-accent) !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs h2,
body.qhtix-theme.qhtix-linked-event-product
div.product section.related > h2,
body.qhtix-theme.qhtix-linked-event-product
div.product section.upsells > h2 {
    color: #160b1e !important;
    font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
    letter-spacing: -.035em !important;
    line-height: 1.08 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs p,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs li,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs td,
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs th {
    color: #504357 !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

/* ==================================================================
   ARCHIVE EVENT CARDS
   ================================================================== */

body.qhtix-theme .qhtix-archive-card {
    border-color: rgba(31,17,40,.09) !important;
    box-shadow: 0 16px 42px rgba(30,12,43,.09) !important;
}

body.qhtix-theme .qhtix-archive-card__content {
    padding: 24px 26px 23px !important;
}

body.qhtix-theme .qhtix-archive-card__category {
    margin-bottom: 9px !important;
}

body.qhtix-theme .qhtix-archive-card h2 {
    font-size: clamp(1.28rem, 1.85vw, 1.62rem) !important;
    line-height: 1.13 !important;
    margin-bottom: 13px !important;
}

/* Dedicated organiser treatment replaces the cramped metadata row. */
body.qhtix-theme .qhtix-archive-card__organizer {
    align-items: baseline !important;
    background: #f7f2f8 !important;
    border-left: 3px solid var(--qhtix-accent) !important;
    border-radius: 0 9px 9px 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 8px !important;
    margin: 0 0 16px !important;
    padding: 9px 11px !important;
}

body.qhtix-theme .qhtix-archive-card__organizer span {
    color: #7d6b83 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.qhtix-theme .qhtix-archive-card__organizer strong {
    color: #1b1022 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

body.qhtix-theme .qhtix-archive-card__meta {
    gap: 9px !important;
}

body.qhtix-theme .qhtix-archive-card__meta > div {
    align-items: start !important;
    gap: 11px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
}

body.qhtix-theme .qhtix-archive-card__meta dt {
    color: #77647e !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

body.qhtix-theme .qhtix-archive-card__meta dd {
    color: #4b3e52 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

body.qhtix-theme .qhtix-archive-card__footer {
    gap: 10px !important;
    margin-top: 20px !important;
}

body.qhtix-theme .qhtix-archive-card__footer > span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

body.qhtix-theme .qhtix-archive-card__footer > a {
    flex: 0 0 auto !important;
}

/* ==================================================================
   RESPONSIVE
   ================================================================== */

@media (max-width: 1024px) {
    body.qhtix-theme.qhtix-linked-event-product div.product.type-product,
    body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product {
        grid-template-columns: minmax(0, 1fr) !important;
        padding-top: 44px !important;
    }

    body.qhtix-theme.qhtix-linked-event-product div.product .summary {
        order: 1 !important;
        position: relative !important;
        top: auto !important;
    }

    body.qhtix-theme.qhtix-linked-event-product div.product .images,
    body.qhtix-theme.qhtix-linked-event-product div.product .woocommerce-product-gallery {
        order: 2 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product div.product .woocommerce-tabs,
    body.qhtix-theme.qhtix-linked-event-product div.product section.related,
    body.qhtix-theme.qhtix-linked-event-product div.product section.upsells {
        order: 3 !important;
    }
}

@media (max-width: 767px) {
    body.qhtix-theme.qhtix-linked-event-product div.product.type-product,
    body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product {
        gap: 22px !important;
        padding: 34px 16px 0 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product div.product .summary,
    body.qhtix-theme.qhtix-linked-event-product div.product .images,
    body.qhtix-theme.qhtix-linked-event-product div.product .woocommerce-product-gallery,
    body.qhtix-theme.qhtix-linked-event-product div.product .woocommerce-tabs {
        border-radius: 21px !important;
        padding: 22px !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product .woocommerce-variation-add-to-cart,
    body.qhtix-theme.qhtix-linked-event-product
    div.product form.cart:not(.variations_form) {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }

    body.qhtix-theme .qhtix-archive-card__content {
        padding: 25px 27px 24px !important;
    }

    body.qhtix-theme .qhtix-archive-card h2 {
        font-size: 1.47rem !important;
        line-height: 1.14 !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer {
        align-items: flex-start !important;
        display: grid !important;
        gap: 3px !important;
        margin-bottom: 17px !important;
        padding: 10px 12px !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer strong {
        font-size: 13px !important;
    }

    body.qhtix-theme .qhtix-archive-card__meta > div {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    body.qhtix-theme .qhtix-archive-card__meta dd {
        font-size: 14px !important;
    }

    body.qhtix-theme .qhtix-archive-card__footer > span,
    body.qhtix-theme .qhtix-archive-card__footer > a {
        font-size: 13px !important;
    }
}

@media (max-width: 430px) {
    body.qhtix-theme.qhtix-linked-event-product
    div.product .woocommerce-variation-add-to-cart,
    body.qhtix-theme.qhtix-linked-event-product
    div.product form.cart:not(.variations_form) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.qhtix-theme .qhtix-archive-card__footer {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}


/* ===== /assets/css/release-0122.css ===== */
/**
 * QH Tix v0.1.22
 * Product grid separation and archive organiser signature treatment.
 */

/* ==================================================================
   LINKED PRODUCT: PREVENT BOOKING/TAB CARD COLLISION
   ================================================================== */

/*
 * Use named grid areas on desktop:
 *
 *   gallery | booking
 *   tabs    | booking
 *
 * The booking card may remain sticky, but it is now constrained to its own
 * right-hand grid region and can no longer sit over the description tabs.
 */
@media (min-width: 1025px) {
    body.qhtix-theme.qhtix-linked-event-product div.product.type-product,
    body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product {
        align-items: start !important;
        column-gap: clamp(34px, 3.4vw, 54px) !important;
        display: grid !important;
        grid-template-areas:
            "gallery booking"
            "tabs    booking"
            "related related" !important;
        grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
        grid-template-rows: auto auto auto !important;
        row-gap: 32px !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .images,
    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .woocommerce-product-gallery,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .images,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .woocommerce-product-gallery {
        grid-area: gallery !important;
        min-width: 0 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .summary,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .summary {
        align-self: start !important;
        grid-area: booking !important;
        margin: 0 !important;
        max-width: none !important;
        min-width: 0 !important;
        position: sticky !important;
        top: 106px !important;
        z-index: 3 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .woocommerce-tabs,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .woocommerce-tabs {
        align-self: start !important;
        grid-area: tabs !important;
        grid-column: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
        position: relative !important;
        width: 100% !important;
        z-index: 1 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .related,
    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .upsells,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .related,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .upsells {
        grid-area: related !important;
        grid-column: 1 / -1 !important;
        margin-top: 6px !important;
        position: relative !important;
        z-index: 1 !important;
    }

    /* Keep shadows visually separated within their own columns. */
    body.qhtix-theme.qhtix-linked-event-product
    div.product > .woocommerce-tabs {
        box-shadow: 0 18px 46px rgba(28,13,39,.075) !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .summary {
        box-shadow: 0 24px 58px rgba(24,9,34,.19) !important;
    }
}

/*
 * Tablet and phone remain deliberately linear. The booking card leads,
 * followed by artwork and then details; no sticky positioning is used.
 */
@media (max-width: 1024px) {
    body.qhtix-theme.qhtix-linked-event-product div.product.type-product,
    body.qhtix-theme.qhtix-linked-event-product div[id^="product-"].product {
        grid-template-areas:
            "booking"
            "gallery"
            "tabs"
            "related" !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        row-gap: 24px !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .summary {
        grid-area: booking !important;
        position: relative !important;
        top: auto !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .images,
    body.qhtix-theme.qhtix-linked-event-product
    div.product > .woocommerce-product-gallery {
        grid-area: gallery !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .woocommerce-tabs {
        grid-area: tabs !important;
        grid-column: auto !important;
        margin: 0 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .related,
    body.qhtix-theme.qhtix-linked-event-product
    div.product > .upsells {
        grid-area: related !important;
        grid-column: auto !important;
    }
}

/* Ensure tab copy never extends underneath another grid item. */
body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs .panel {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    width: 100% !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs .panel > :first-child {
    margin-top: 0 !important;
}

body.qhtix-theme.qhtix-linked-event-product
div.product .woocommerce-tabs .panel > :last-child {
    margin-bottom: 0 !important;
}

/* ==================================================================
   ARCHIVE CARDS: PRESENTED-BY SIGNATURE
   ================================================================== */

/*
 * Replace the wide pale strip with a compact premium signature pill.
 * The markup remains semantic: one small label and the organiser name.
 */
body.qhtix-theme .qhtix-archive-card__organizer {
    align-items: center !important;
    background:
        radial-gradient(circle at 100% 0, rgba(255,79,139,.27), transparent 42%),
        linear-gradient(135deg, #160a20 0%, #2c1238 100%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-left: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 9px 22px rgba(27,11,37,.13) !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    gap: 3px 8px !important;
    margin: 0 0 17px !important;
    max-width: 100% !important;
    min-height: 36px !important;
    padding: 6px 14px 6px 7px !important;
    position: relative !important;
    width: fit-content !important;
}

body.qhtix-theme .qhtix-archive-card__organizer::before {
    align-items: center !important;
    background: linear-gradient(135deg, #ff4f8b, #e73c88) !important;
    border-radius: 50% !important;
    box-shadow: 0 5px 13px rgba(255,79,139,.24) !important;
    color: #fff !important;
    content: "✦" !important;
    display: inline-flex !important;
    flex: 0 0 26px !important;
    font-size: 12px !important;
    height: 26px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 26px !important;
}

body.qhtix-theme .qhtix-archive-card__organizer span {
    color: #f5c54b !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body.qhtix-theme .qhtix-archive-card__organizer strong {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .005em !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

/* Maintain comfortable spacing between the identity and event facts. */
body.qhtix-theme .qhtix-archive-card__organizer + .qhtix-archive-card__meta {
    margin-top: 0 !important;
}

/* Responsive archive treatment. */
@media (max-width: 767px) {
    body.qhtix-theme .qhtix-archive-card__organizer {
        border-radius: 16px !important;
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        padding: 8px 13px 8px 8px !important;
        width: auto !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer::before {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        height: 28px !important;
        width: 28px !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer span {
        grid-column: 2 !important;
        grid-row: 1 !important;
        white-space: normal !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer strong {
        font-size: 12.5px !important;
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

/* Three-column archive cards need especially compact organiser typography. */
@media (min-width: 1025px) and (max-width: 1320px) {
    body.qhtix-theme .qhtix-archive-card__organizer {
        border-radius: 15px !important;
        display: grid !important;
        grid-template-columns: 26px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        width: auto !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer::before {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer span,
    body.qhtix-theme .qhtix-archive-card__organizer strong {
        grid-column: 2 !important;
    }
}


/* ===== /assets/css/release-0123.css ===== */
/**
 * QH Tix v0.1.23
 * Refined archive organiser byline.
 */

/*
 * A quieter, editorial organiser treatment:
 * - no oversized dark capsule;
 * - a small stage marker;
 * - a subtle tinted surface;
 * - stacked label/name for reliable wrapping.
 */
body.qhtix-theme .qhtix-archive-card__organizer {
    align-items: center !important;
    background:
        linear-gradient(90deg, rgba(255,79,139,.075), rgba(103,62,156,.035)) !important;
    border: 1px solid rgba(72,43,86,.10) !important;
    border-left: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 29px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    row-gap: 1px !important;
    margin: 0 0 16px !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 8px 12px 8px 8px !important;
    width: 100% !important;
}

body.qhtix-theme .qhtix-archive-card__organizer::before {
    align-items: center !important;
    align-self: center !important;
    background:
        radial-gradient(circle at 35% 30%, #ff8bb2 0 15%, transparent 16%),
        linear-gradient(145deg, #ff4f8b, #a83f9f) !important;
    border: 1px solid rgba(255,255,255,.58) !important;
    border-radius: 50% !important;
    box-shadow: 0 6px 15px rgba(255,79,139,.20) !important;
    color: #fff !important;
    content: "✦" !important;
    display: inline-flex !important;
    flex: none !important;
    font-size: 11px !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    height: 29px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    width: 29px !important;
}

body.qhtix-theme .qhtix-archive-card__organizer span {
    color: #d93d78 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    letter-spacing: .13em !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

body.qhtix-theme .qhtix-archive-card__organizer strong {
    color: #24152c !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

/* Prevent older capsule-specific rules from reappearing at intermediate sizes. */
@media (min-width: 768px) and (max-width: 1320px) {
    body.qhtix-theme .qhtix-archive-card__organizer {
        border-radius: 12px !important;
        grid-template-columns: 29px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        width: 100% !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer::before {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer span {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer strong {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

@media (max-width: 767px) {
    body.qhtix-theme .qhtix-archive-card__organizer {
        grid-template-columns: 31px minmax(0, 1fr) !important;
        min-height: 49px !important;
        padding: 9px 13px 9px 9px !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer::before {
        height: 31px !important;
        width: 31px !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer span {
        font-size: 8.5px !important;
    }

    body.qhtix-theme .qhtix-archive-card__organizer strong {
        font-size: 13px !important;
    }
}


/* ===== /assets/css/release-0137.css ===== */
/** QH Tix v0.1.37 — search results overlay and refinement. */
body.qhtix-search-results{background:#0b0611!important}
body.qhtix-search-results .qhtix-search-overlay-header{background:linear-gradient(180deg,rgba(8,3,13,.82) 0%,rgba(8,3,13,.42) 58%,rgba(8,3,13,0) 100%);left:0;position:absolute;right:0;top:0;z-index:110}
body.qhtix-search-results .qhtix-search-overlay-header>.gt-header,
body.qhtix-search-results .qhtix-search-overlay-header>.gt-mobile-header,
body.qhtix-search-results .qhtix-search-overlay-header .gt-container,
body.qhtix-search-results .qhtix-search-overlay-header .gt-content,
body.qhtix-search-results .qhtix-search-overlay-header .gt-elements{background:transparent!important;background-color:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important}
body.qhtix-search-results .qhtix-search-overlay-header>.gt-header:before,
body.qhtix-search-results .qhtix-search-overlay-header>.gt-header:after,
body.qhtix-search-results .qhtix-search-overlay-header>.gt-mobile-header:before,
body.qhtix-search-results .qhtix-search-overlay-header>.gt-mobile-header:after{display:none!important}
body.qhtix-search-results .gt-event-search-tool{background-color:#140a1d!important;background-blend-mode:multiply;box-sizing:border-box;min-height:500px!important;padding-bottom:62px!important;padding-top:210px!important;position:relative}
body.qhtix-search-results .gt-event-search-tool .search-content{margin-left:auto!important;margin-right:auto!important;max-width:1500px!important;padding-left:clamp(28px,6vw,104px)!important;padding-right:clamp(28px,6vw,104px)!important;position:relative;z-index:2}
body.qhtix-search-results .gt-event-search-tool input,
body.qhtix-search-results .gt-event-search-tool select{background:rgba(15,8,20,.28)!important;border-color:rgba(255,255,255,.58)!important;color:#fff!important;min-height:58px!important}
body.qhtix-search-results .gt-event-search-tool input::placeholder{color:rgba(255,255,255,.86)!important}
body.qhtix-search-results .gt-event-search-tool .gt-button,
body.qhtix-search-results .gt-event-search-tool button{border-radius:999px!important;font-weight:850!important;min-height:58px!important}
body.qhtix-search-results .gt-event-search-results{padding-bottom:86px!important;padding-top:62px!important}
body.qhtix-search-results .gt-event-search-results .gt-container{max-width:1500px!important}
body.qhtix-search-results .gt-event-style-3{background:#13091e!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:18px!important;box-shadow:0 18px 40px rgba(0,0,0,.16)!important;overflow:hidden!important}
body.qhtix-search-results .gt-event-style-3 .gt-image{background:#100918!important}
body.qhtix-search-results .gt-event-style-3 .gt-content{padding:22px 24px 26px!important}
body.qhtix-search-results .gt-event-style-3 .gt-title,
body.qhtix-search-results .gt-event-style-3 .gt-title a{color:#fff!important;font-weight:850!important}
body.qhtix-search-results .gt-event-style-3 .gt-details,
body.qhtix-search-results .gt-event-style-3 .gt-description{color:rgba(255,255,255,.76)!important}
body.qhtix-search-results .gt-event-style-3 .gt-details svg{color:#1680ff!important}
@media(min-width:768px){body.qhtix-search-results .qhtix-search-overlay-header>.gt-mobile-header{display:none!important}}
@media(max-width:767px){body.qhtix-search-results .qhtix-search-overlay-header>.gt-header{display:none!important}body.qhtix-search-results .gt-event-search-tool{min-height:0!important;padding-bottom:34px!important;padding-top:116px!important}body.qhtix-search-results .gt-event-search-tool .search-content{padding-left:18px!important;padding-right:18px!important}body.qhtix-search-results .gt-event-search-tool .search-content>.gt-columns{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}body.qhtix-search-results .gt-event-search-tool .search-content>.gt-columns>.gt-col{float:none!important;margin:0!important;max-width:none!important;padding:0!important;width:auto!important}}


/* ===== /assets/css/release-0138.css ===== */
/**
 * QH Tix v0.1.38 — Search Results hero/header correction.
 */

body.qhtix-search-results {
    background: #0b0611 !important;
}

/* The navigation itself is transparent. Contrast is supplied by the hero veil. */
body.qhtix-search-results .qhtix-search-overlay-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    left: 0 !important;
    margin: 0 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 120 !important;
}

body.qhtix-search-results .qhtix-search-overlay-header > .gt-header,
body.qhtix-search-results .qhtix-search-overlay-header > .gt-mobile-header,
body.qhtix-search-results .qhtix-search-overlay-header .gt-container,
body.qhtix-search-results .qhtix-search-overlay-header .gt-content,
body.qhtix-search-results .qhtix-search-overlay-header .gt-elements,
body.qhtix-search-results .qhtix-search-overlay-header .gt-header-content,
body.qhtix-search-results .qhtix-search-overlay-header .gt-header-content-inner {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.qhtix-search-results .qhtix-search-overlay-header > .gt-header::before,
body.qhtix-search-results .qhtix-search-overlay-header > .gt-header::after,
body.qhtix-search-results .qhtix-search-overlay-header > .gt-mobile-header::before,
body.qhtix-search-results .qhtix-search-overlay-header > .gt-mobile-header::after {
    background: transparent !important;
    box-shadow: none !important;
    display: none !important;
}

/*
 * The search tool is the hero. Existing builder imagery is preserved.
 * JS applies qhtix-search-use-fallback only when the rendered tool has no image.
 */
body.qhtix-search-results .gt-event-search-tool {
    background-color: #120819 !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    box-sizing: border-box !important;
    isolation: isolate;
    margin-top: var(--qhtix-search-pullup, 0px) !important;
    min-height: 530px !important;
    overflow: hidden !important;
    padding-bottom: 64px !important;
    padding-top: var(--qhtix-search-content-top, 220px) !important;
    position: relative !important;
}

body.qhtix-search-results .gt-event-search-tool.qhtix-search-use-fallback {
    background-image: url('../images/qhtix-event-hero-fallback-desktop.jpg') !important;
}

body.qhtix-search-results .gt-event-search-tool::before {
    background:
        linear-gradient(180deg, rgba(7,3,12,.75) 0%, rgba(7,3,12,.34) 38%, rgba(7,3,12,.52) 100%),
        linear-gradient(90deg, rgba(12,5,19,.54) 0%, rgba(12,5,19,.18) 58%, rgba(12,5,19,.34) 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

body.qhtix-search-results .gt-event-search-tool::after {
    background: linear-gradient(90deg, #ff4f8b 0%, #f4b735 54%, transparent 100%);
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    opacity: .92;
    pointer-events: none;
    position: absolute;
    width: min(470px, 44vw);
    z-index: 3;
}

body.qhtix-search-results .gt-event-search-tool .search-content,
body.qhtix-search-results .gt-event-search-tool form,
body.qhtix-search-results .gt-event-search-tool .gt-form {
    position: relative !important;
    z-index: 2 !important;
}

/* Search controls over the restored hero. */
body.qhtix-search-results .gt-event-search-tool input,
body.qhtix-search-results .gt-event-search-tool select,
body.qhtix-search-results .gt-event-search-tool .bootstrap-select > button,
body.qhtix-search-results .gt-event-search-tool .dropdown-toggle {
    backdrop-filter: blur(8px);
    background: rgba(17,8,24,.43) !important;
    border: 1px solid rgba(255,255,255,.62) !important;
    border-radius: 15px !important;
    box-shadow: none !important;
    color: #fff !important;
    min-height: 58px !important;
}

body.qhtix-search-results .gt-event-search-tool input::placeholder {
    color: rgba(255,255,255,.90) !important;
}

body.qhtix-search-results .gt-event-search-tool .bootstrap-select .filter-option,
body.qhtix-search-results .gt-event-search-tool .bootstrap-select .filter-option-inner,
body.qhtix-search-results .gt-event-search-tool .bootstrap-select .filter-option-inner-inner {
    color: #fff !important;
}

body.qhtix-search-results .gt-event-search-tool .gt-button,
body.qhtix-search-results .gt-event-search-tool button[type="submit"] {
    border: 0 !important;
    border-radius: 999px !important;
    min-height: 58px !important;
}

body.qhtix-search-results .gt-event-search-results {
    margin-top: 0 !important;
    padding-bottom: 86px !important;
    padding-top: 62px !important;
}

body.qhtix-search-results .gt-sticky-header {
    z-index: 150 !important;
}

@media (min-width: 768px) {
    body.qhtix-search-results .qhtix-search-overlay-header > .gt-mobile-header {
        display: none !important;
    }
}

@media (max-width: 767px) {
    body.qhtix-search-results .qhtix-search-overlay-header > .gt-header {
        display: none !important;
    }

    body.qhtix-search-results .gt-event-search-tool {
        min-height: 570px !important;
        padding-bottom: 34px !important;
        padding-top: var(--qhtix-search-content-top-mobile, 136px) !important;
    }

    body.qhtix-search-results .gt-event-search-tool.qhtix-search-use-fallback {
        background-image: url('../images/qhtix-event-hero-fallback-mobile.jpg') !important;
        background-position: center !important;
    }
}


/* ===== /assets/css/release-0139.css ===== */
/**
 * QH Tix v0.1.39
 * Search price-range polish + QH Tix Core integration notes.
 */

/* The Ion.RangeSlider input itself must not inherit the large search-field box. */
body.qhtix-search-results .gt-event-search-tool input.gt-range-slider {
    border: 0 !important;
    box-shadow: none !important;
    height: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    width: 0 !important;
}

body.qhtix-search-results .gt-event-search-tool .irs {
    border: 0 !important;
    box-sizing: border-box !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-line,
body.qhtix-search-results .gt-event-search-tool .irs-line-left,
body.qhtix-search-results .gt-event-search-tool .irs-line-mid,
body.qhtix-search-results .gt-event-search-tool .irs-line-right {
    background: rgba(255,255,255,.28) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    height: 5px !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-line {
    top: 34px !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-bar,
body.qhtix-search-results .gt-event-search-tool .irs-bar-edge {
    background: linear-gradient(90deg,#087cff,#4b8cff) !important;
    border: 0 !important;
    box-shadow: none !important;
    height: 5px !important;
    top: 34px !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-bar-edge {
    border-radius: 999px 0 0 999px !important;
    width: 8px !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-slider {
    background: #fff !important;
    border: 3px solid #087cff !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.28) !important;
    height: 18px !important;
    top: 27px !important;
    width: 18px !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-from,
body.qhtix-search-results .gt-event-search-tool .irs-to,
body.qhtix-search-results .gt-event-search-tool .irs-single {
    background: #087cff !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    padding: 5px 7px !important;
    top: 0 !important;
    white-space: nowrap !important;
}

body.qhtix-search-results .gt-event-search-tool .irs-from::after,
body.qhtix-search-results .gt-event-search-tool .irs-to::after,
body.qhtix-search-results .gt-event-search-tool .irs-single::after {
    border-top-color: #087cff !important;
}

/* The hard-coded global $0/$999 endpoints were creating the visual collision. */
body.qhtix-search-results .gt-event-search-tool .irs-min,
body.qhtix-search-results .gt-event-search-tool .irs-max {
    display: none !important;
}

body.qhtix-search-results .gt-event-search-tool .qhtix-price-range-caption {
    color: rgba(255,255,255,.78) !important;
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    margin: 0 0 2px;
    text-transform: uppercase;
}

body.qhtix-search-results .gt-event-search-tool .irs-shadow {
    display: none !important;
}

@media (max-width: 767px) {
    body.qhtix-search-results .gt-event-search-tool .irs {
        height: 66px !important;
    }
}


/* ===== /assets/css/release-0145.css ===== */
/**
 * QH Tix v0.1.45
 * Linked Event Product sticky booking-card boundary.
 */

/*
 * Earlier releases correctly separated gallery/tabs/booking with grid areas,
 * but the sticky .summary was still contained by the entire Product wrapper.
 * If Related Products is inside that Product wrapper, sticky positioning can
 * therefore continue through the Related row.
 *
 * qhtix-ui.js now wraps the booking summary in this dedicated grid item.
 * Sticky positioning is constrained to the wrapper, whose grid area ends
 * before Related Products / upsells.
 */
@media (min-width: 1025px) {
    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .qhtix-product-booking-boundary,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .qhtix-product-booking-boundary {
        align-self: stretch !important;
        grid-area: booking !important;
        min-height: 100% !important;
        min-width: 0 !important;
        position: relative !important;
        width: 100% !important;
        z-index: 3 !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    .qhtix-product-booking-boundary > .summary {
        align-self: auto !important;
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        min-width: 0 !important;
        position: sticky !important;
        top: 106px !important;
        width: 100% !important;
        z-index: 3 !important;
    }

    /*
     * Once wrapped, the summary itself is no longer a direct Product grid item.
     * Neutralize the old direct-child grid assignment so only the boundary
     * participates in layout.
     */
    body.qhtix-theme.qhtix-linked-event-product
    .qhtix-product-booking-boundary > .summary {
        grid-area: auto !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    div.product > .related,
    body.qhtix-theme.qhtix-linked-event-product
    div.product > .upsells {
        clear: both !important;
        position: relative !important;
        z-index: 5 !important;
    }
}

/* Tablet/mobile stay linear; no sticky behavior is used. */
@media (max-width: 1024px) {
    body.qhtix-theme.qhtix-linked-event-product
    div.product.type-product > .qhtix-product-booking-boundary,
    body.qhtix-theme.qhtix-linked-event-product
    div[id^="product-"].product > .qhtix-product-booking-boundary {
        grid-area: booking !important;
        min-width: 0 !important;
        position: relative !important;
        width: 100% !important;
    }

    body.qhtix-theme.qhtix-linked-event-product
    .qhtix-product-booking-boundary > .summary {
        margin: 0 !important;
        position: relative !important;
        top: auto !important;
        width: 100% !important;
    }
}


/**
 * QH Tix v0.1.51 — visual fidelity / whole-site polish.
 *
 * Restores the approved richness after the performance pass without undoing
 * WebP delivery, semantic accessibility, Redis/WP Super Cache work or the
 * lightweight responsive guard.
 */

body.qhtix-theme {
    --qhtix-action: #d92f6d;
    --qhtix-action-deep: #c72562;
    --qhtix-action-shadow: rgba(199, 37, 98, .30);
}

/* ----------------------------------------------------------------------
 * MEDIA FIDELITY
 * ------------------------------------------------------------------- */
body.qhtix-home .qhtix-section--events .gt-image img,
body.qhtix-home .qhtix-section--featured .gt-image img,
body.qhtix-event-archive .qhtix-archive-card img,
body.qhtix-event-page .qhtix-event-hero img,
body.qhtix-commerce-page .qhtix-product-event-hero img {
    filter: none !important;
    image-rendering: auto;
    opacity: 1 !important;
}

/* The approved homepage card proportions remain 4:3 on desktop and 16:9
 * on phones. Source files are again 1200x900 / 1200x675. */
body.qhtix-home .qhtix-section--events .gt-image,
body.qhtix-home .qhtix-section--featured .gt-image {
    aspect-ratio: 4 / 3 !important;
}
@media (max-width: 767px) {
    body.qhtix-home .qhtix-section--events .gt-image,
    body.qhtix-home .qhtix-section--featured .gt-image {
        aspect-ratio: 16 / 9 !important;
    }
}

/* ----------------------------------------------------------------------
 * DISCOVERY / TICKER STRIP
 * ------------------------------------------------------------------- */
body.qhtix-theme .qhtix-discovery-ribbon {
    background: linear-gradient(90deg, #0b0611 0%, #12081b 48%, #0b0611 100%);
    border-color: rgba(255,255,255,.10);
}
body.qhtix-theme .qhtix-discovery-ribbon__track {
    animation-duration: 40s;
    will-change: auto;
}
body.qhtix-theme .qhtix-discovery-ribbon__set a {
    color: rgba(255,255,255,.94) !important;
    font-family: Inter, "Helvetica Neue", Arial, sans-serif;
    font-synthesis: none;
    font-weight: 800;
    letter-spacing: .075em;
    text-rendering: auto;
    text-shadow: 0 1px 0 rgba(0,0,0,.24);
}
body.qhtix-theme .qhtix-discovery-ribbon__set a:hover,
body.qhtix-theme .qhtix-discovery-ribbon__set a:focus {
    color: #fff !important;
}
body.qhtix-theme .qhtix-discovery-ribbon__set a span {
    color: #ff5b91 !important;
}
@keyframes qhtix-ribbon-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ----------------------------------------------------------------------
 * PRIMARY ACTIONS — richer accessible pink with guaranteed visible text.
 * #d92f6d retains white text contrast while staying recognisably QH pink.
 * ------------------------------------------------------------------- */
body.qhtix-theme .qhtix-button--primary,
body.qhtix-theme .qhtix-search-band .gt-event-search .gt-button,
body.qhtix-theme .qhtix-search-band .gt-event-search button,
body.qhtix-event-archive .qhtix-archive-filters button,
body.qhtix-theme .qhtix-mailing-list__fields button,
body.qhtix-theme .qhtix-event-sidebar .gt-button,
body.qhtix-theme .qhtix-event-sidebar a.gt-button,
body.qhtix-theme .woocommerce a.button:not(.disabled),
body.qhtix-theme .woocommerce button.button:not(.disabled):not(:disabled),
body.qhtix-theme .woocommerce input.button:not(.disabled):not(:disabled),
body.qhtix-theme .woocommerce a.button.alt:not(.disabled),
body.qhtix-theme .woocommerce button.button.alt:not(.disabled):not(:disabled),
body.qhtix-theme .woocommerce input.button.alt:not(.disabled):not(:disabled),
body.qhtix-theme .woocommerce div.product .single_add_to_cart_button:not(.disabled):not(:disabled):not(.wc-variation-selection-needed),
body.qhtix-checkout-page button#place_order:not(:disabled) {
    background: linear-gradient(135deg, var(--qhtix-action) 0%, var(--qhtix-action-deep) 100%) !important;
    border-color: var(--qhtix-action) !important;
    box-shadow: 0 12px 30px var(--qhtix-action-shadow) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    filter: none !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.qhtix-theme .qhtix-button--primary:hover,
body.qhtix-theme .qhtix-button--primary:focus,
body.qhtix-theme .qhtix-search-band .gt-event-search .gt-button:hover,
body.qhtix-theme .qhtix-search-band .gt-event-search button:hover,
body.qhtix-event-archive .qhtix-archive-filters button:hover,
body.qhtix-event-archive .qhtix-archive-filters button:focus,
body.qhtix-theme .qhtix-mailing-list__fields button:hover,
body.qhtix-theme .qhtix-mailing-list__fields button:focus,
body.qhtix-theme .woocommerce a.button:not(.disabled):hover,
body.qhtix-theme .woocommerce button.button:not(.disabled):not(:disabled):hover,
body.qhtix-theme .woocommerce a.button.alt:not(.disabled):hover,
body.qhtix-theme .woocommerce button.button.alt:not(.disabled):not(:disabled):hover,
body.qhtix-theme .woocommerce div.product .single_add_to_cart_button:not(.disabled):not(:disabled):not(.wc-variation-selection-needed):hover,
body.qhtix-checkout-page button#place_order:not(:disabled):hover {
    background: linear-gradient(135deg, #241a2d 0%, #100817 100%) !important;
    border-color: #241a2d !important;
    box-shadow: 0 14px 34px rgba(20, 9, 28, .24) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Hero primary CTA gets the richer pink at rest and the elegant white
 * reversal on hover used before the Lighthouse contrast experiment. */
body.qhtix-home .qhtix-hero .qhtix-button--primary,
body.qhtix-event-page .qhtix-hero .qhtix-button--primary {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.qhtix-home .qhtix-hero .qhtix-button--primary:hover,
body.qhtix-home .qhtix-hero .qhtix-button--primary:focus,
body.qhtix-event-page .qhtix-hero .qhtix-button--primary:hover,
body.qhtix-event-page .qhtix-hero .qhtix-button--primary:focus {
    background: #fff !important;
    border-color: #fff !important;
    box-shadow: 0 15px 34px rgba(0,0,0,.20) !important;
    color: #241a2d !important;
    -webkit-text-fill-color: #241a2d !important;
}

/* Disabled ticket actions stay visibly disabled rather than looking broken. */
body.qhtix-theme .woocommerce .button.disabled,
body.qhtix-theme .woocommerce button.button:disabled,
body.qhtix-theme .woocommerce div.product .single_add_to_cart_button.disabled,
body.qhtix-theme .woocommerce div.product .single_add_to_cart_button:disabled,
body.qhtix-theme .woocommerce div.product .single_add_to_cart_button.wc-variation-selection-needed {
    box-shadow: none !important;
    filter: none !important;
    opacity: .62 !important;
}

/* ----------------------------------------------------------------------
 * SECONDARY / GHOST ACTIONS
 * ------------------------------------------------------------------- */
body.qhtix-theme .qhtix-button--ghost {
    background: rgba(10,5,16,.18) !important;
    border-color: rgba(255,255,255,.42) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}
body.qhtix-theme .qhtix-button--ghost:hover,
body.qhtix-theme .qhtix-button--ghost:focus {
    background: #fff !important;
    border-color: #fff !important;
    color: #241a2d !important;
    -webkit-text-fill-color: #241a2d !important;
}

/* v0.1.49 accidentally gave every footer pill dark text even when its
 * background was transparent. Restore the intended hierarchy explicitly. */
body.qhtix-theme .qhtix-footer-brand__links a {
    background: transparent !important;
    border-color: rgba(255,255,255,.28) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}
body.qhtix-theme .qhtix-footer-brand__links a:first-child {
    background: linear-gradient(135deg, var(--qhtix-action), var(--qhtix-action-deep)) !important;
    border-color: var(--qhtix-action) !important;
    box-shadow: 0 10px 24px rgba(199,37,98,.24) !important;
}
body.qhtix-theme .qhtix-footer-brand__links a:hover,
body.qhtix-theme .qhtix-footer-brand__links a:focus {
    background: #fff !important;
    border-color: #fff !important;
    color: #241a2d !important;
    -webkit-text-fill-color: #241a2d !important;
}

/* Empty-cart CTA: rich normal state, visible text, no washed-out treatment. */
body.qhtix-theme .qhtix-empty-cart a.button.wc-backward {
    background: linear-gradient(135deg, var(--qhtix-action), var(--qhtix-action-deep)) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
body.qhtix-theme .qhtix-empty-cart a.button.wc-backward:hover {
    background: #241a2d !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* ----------------------------------------------------------------------
 * CARD / PANEL RICHNESS
 * ------------------------------------------------------------------- */
body.qhtix-home .qhtix-section--events .gt-event-style-1,
body.qhtix-home .qhtix-section--events .gt-event-style-2,
body.qhtix-home .qhtix-section--events .gt-event-style-3,
body.qhtix-home .qhtix-section--events .gt-event-style-4 {
    box-shadow: 0 14px 36px rgba(24,12,32,.13) !important;
}
body.qhtix-home .qhtix-section--events .gt-event-style-1:hover,
body.qhtix-home .qhtix-section--events .gt-event-style-2:hover,
body.qhtix-home .qhtix-section--events .gt-event-style-3:hover,
body.qhtix-home .qhtix-section--events .gt-event-style-4:hover {
    box-shadow: 0 24px 52px rgba(24,12,32,.20) !important;
}

/* Keep whites truly white and stage blacks rich rather than translucent. */
body.qhtix-theme .woocommerce .qhtix-commerce-card,
body.qhtix-theme .qhtix-account-panel,
body.qhtix-event-archive .qhtix-archive-card {
    opacity: 1 !important;
}

/* Consistent keyboard focus without washing out the underlying control. */
body.qhtix-theme :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(255,79,139,.72);
    outline-offset: 3px;
}


/**
 * QH Tix v0.1.52 — whole-site visual systems cleanup.
 *
 * Focus:
 * - continuous homepage newsletter surface;
 * - eliminate legacy charcoal leakage;
 * - consistent page-to-footer transitions;
 * - corrected event pagination;
 * - cleaner account/My Tickets canvas;
 * - deep-page polish without altering ticketing mechanics.
 */

/* ----------------------------------------------------------------------
 * CANONICAL STAGE / SURFACE COLOURS
 * ------------------------------------------------------------------- */
body.qhtix-theme {
    --qhtix-stage: #0b0611;
    --qhtix-stage-raised: #13091e;
    --qhtix-stage-violet: #1b0c28;
    --qhtix-page-surface: #f7f3f9;
}

body.qhtix-home .qhtix-main--home,
body.qhtix-home .qhtix-home-content {
    background: var(--qhtix-stage) !important;
}

body.qhtix-home .qhtix-section--events .gt-event-style-1,
body.qhtix-home .qhtix-section--events .gt-event-style-2,
body.qhtix-home .qhtix-section--events .gt-event-style-3,
body.qhtix-home .qhtix-section--events .gt-event-style-4 {
    background: #100918 !important;
}

body.qhtix-search-results {
    background: var(--qhtix-stage) !important;
}
body.qhtix-search-results .gt-event-style-3 {
    background: var(--qhtix-stage-raised) !important;
}

/* ----------------------------------------------------------------------
 * HOMEPAGE NEWSLETTER — ONE SURFACE, NOT TWO STACKED GRADIENTS
 * ------------------------------------------------------------------- */
body.qhtix-home .qhtix-section--newsletter,
body.qhtix-home .qhtix-section--newsletter.vc_row,
body.qhtix-home .qhtix-section--newsletter.vc_row-has-fill {
    background:
        linear-gradient(100deg, #351027 0%, #100817 49%, #30206d 100%) !important;
    border: 0 !important;
    box-shadow:
        inset 0 1px rgba(255,255,255,.055),
        inset 0 -1px rgba(255,255,255,.045) !important;
    color: #fff !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

/* Remove the nested gradient blocks that produced the dark inset rectangle. */
body.qhtix-home .qhtix-section--newsletter > .vc_column_container,
body.qhtix-home .qhtix-section--newsletter > .vc_column_container > .vc_column-inner,
body.qhtix-home .qhtix-section--newsletter > .vc_column_container > .vc_column-inner > .wpb_wrapper,
body.qhtix-home .qhtix-section--newsletter .wpb_content_element,
body.qhtix-home .qhtix-section--newsletter .qhtix-mailing-list {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Safe fallback for a single newsletter row. */
body.qhtix-home .qhtix-section--newsletter {
    padding-bottom: 58px !important;
    padding-top: 58px !important;
}

/* When the approved WPBakery section is split into heading + form rows,
 * treat them visually as one composed section rather than giving each the
 * full top/bottom section padding. */
body.qhtix-home .qhtix-section--newsletter.qhtix-newsletter-group-start:not(.qhtix-newsletter-group-end) {
    padding-bottom: 24px !important;
    padding-top: 68px !important;
}
body.qhtix-home .qhtix-section--newsletter.qhtix-newsletter-group-middle {
    padding-bottom: 18px !important;
    padding-top: 18px !important;
}
body.qhtix-home .qhtix-section--newsletter.qhtix-newsletter-group-end:not(.qhtix-newsletter-group-start) {
    padding-bottom: 72px !important;
    padding-top: 24px !important;
}
body.qhtix-home .qhtix-section--newsletter + .qhtix-section--newsletter {
    border-top: 0 !important;
    margin-top: -1px !important;
}

body.qhtix-home .qhtix-section--newsletter .gt-heading {
    margin-bottom: 0 !important;
}
body.qhtix-home .qhtix-section--newsletter .gt-heading .gt-text,
body.qhtix-home .qhtix-section--newsletter .gt-heading .gt-desc,
body.qhtix-home .qhtix-section--newsletter .gt-heading .gt-description {
    color: rgba(255,255,255,.76) !important;
}
body.qhtix-home .qhtix-section--newsletter .qhtix-mailing-list__consent {
    color: rgba(255,255,255,.82) !important;
}

/* ----------------------------------------------------------------------
 * PAGE-TO-FOOTER TRANSITION
 * Eventchamp can output an empty footer-widget zone. On pages without
 * widgets it was showing as a neutral charcoal strip between content and the
 * actual QH Tix footer.
 * ------------------------------------------------------------------- */
body.qhtix-theme .gt-footer-widgets.qhtix-footer-widgets--empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.qhtix-theme .gt-footer-widgets.qhtix-footer-widgets--populated {
    background:
        linear-gradient(145deg, #0a0510 0%, #11081b 55%, #180c24 100%) !important;
    border-top: 1px solid rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.72) !important;
    padding: 54px 0 30px !important;
}

body.qhtix-theme .gt-footer {
    background:
        radial-gradient(circle at 92% 0, rgba(112,70,232,.11), transparent 34%),
        linear-gradient(145deg, #0a0510 0%, #11081b 55%, #180c24 100%) !important;
    border-top: 1px solid rgba(255,255,255,.065) !important;
    margin-top: 0 !important;
}

/* Prevent anonymous wrapper backgrounds from reintroducing the old charcoal
 * between custom QH Tix content and the footer. */
body.qhtix-event-archive .qhtix-archive-main,
body.qhtix-event-page .qhtix-event-main,
body.qhtix-commerce-page .gt-site-inner,
body.page-template-page-qhtix-content .qhtix-information-page,
body.page-template-page-qhtix-content-php .qhtix-information-page {
    margin-bottom: 0 !important;
}

/* ----------------------------------------------------------------------
 * EVENT ARCHIVE PAGINATION
 * ------------------------------------------------------------------- */
body.qhtix-event-archive .qhtix-archive-content {
    padding-bottom: 68px !important;
}
body.qhtix-event-archive .qhtix-archive-pagination {
    margin: 46px 0 0 !important;
}
body.qhtix-event-archive .qhtix-pagination-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
}
body.qhtix-event-archive .qhtix-pagination-list > .page-numbers {
    align-items: center;
    background: #fff !important;
    border: 1px solid rgba(36,26,45,.14) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(24,12,32,.055);
    color: #2f2438 !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 46px !important;
    min-width: 46px !important;
    padding: 0 15px !important;
    text-decoration: none !important;
}
body.qhtix-event-archive .qhtix-pagination-list > .page-numbers:not(.prev):not(.next) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.qhtix-event-archive .qhtix-pagination-list > .page-numbers.prev,
body.qhtix-event-archive .qhtix-pagination-list > .page-numbers.next {
    min-width: 118px !important;
}
body.qhtix-event-archive .qhtix-pagination-list > .page-numbers.current {
    background: linear-gradient(135deg, #e13b76, #c72562) !important;
    border-color: #d92f6d !important;
    box-shadow: 0 10px 22px rgba(199,37,98,.22) !important;
    color: #fff !important;
}
body.qhtix-event-archive .qhtix-pagination-list > a.page-numbers:hover,
body.qhtix-event-archive .qhtix-pagination-list > a.page-numbers:focus {
    background: #241a2d !important;
    border-color: #241a2d !important;
    color: #fff !important;
}

/* Defensive reset for stale cached HTML using WP's type=list markup. */
body.qhtix-event-archive .qhtix-archive-pagination ul.page-numbers {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: center;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.qhtix-event-archive .qhtix-archive-pagination ul.page-numbers > li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.qhtix-event-archive .qhtix-archive-pagination ul.page-numbers > li::marker {
    content: "" !important;
}

/* ----------------------------------------------------------------------
 * CUSTOMER ACCOUNT / MY TICKETS
 * The account shell should sit on the light customer-portal canvas. The
 * navigation itself remains theatrical; the unused surrounding wrapper
 * should not appear as a flat charcoal rectangle.
 * ------------------------------------------------------------------- */
body.qhtix-account-page .gt-site-inner {
    background:
        radial-gradient(circle at 7% 0, rgba(255,79,139,.075), transparent 28%),
        radial-gradient(circle at 94% 3%, rgba(112,70,232,.09), transparent 30%),
        var(--qhtix-page-surface) !important;
}

body.qhtix-account-page .gt-page-wrapper,
body.qhtix-account-page .gt-page-layout,
body.qhtix-account-page .gt-page-content,
body.qhtix-account-page .gt-site-inner > .container,
body.qhtix-account-page .gt-site-inner > .container > .row,
body.qhtix-account-page .gt-site-left,
body.qhtix-account-page .woocommerce {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.qhtix-account-page .woocommerce-MyAccount-navigation {
    background:
        radial-gradient(circle at 100% 0, rgba(255,79,139,.16), transparent 34%),
        linear-gradient(160deg, #0b0611, #180b24) !important;
}

body.qhtix-account-page .woocommerce-MyAccount-content {
    background: #fff !important;
}
body.qhtix-account-orders .woocommerce-MyAccount-content {
    min-height: 0 !important;
}
body.qhtix-account-page .woocommerce-pagination {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 24px;
}
body.qhtix-account-page .woocommerce-pagination .button {
    box-shadow: 0 8px 20px rgba(199,37,98,.16) !important;
    min-height: 44px !important;
    padding: 10px 20px !important;
}

/* ----------------------------------------------------------------------
 * ARCHIVE / DEEP-PAGE CTA TRANSITIONS
 * ------------------------------------------------------------------- */
body.qhtix-event-archive .qhtix-archive-cta {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body.qhtix-event-page .qhtix-discovery-ribbon--single,
body.qhtix-event-archive .qhtix-archive-cta,
body.qhtix-search-results .gt-site-inner {
    margin-bottom: 0 !important;
}

/* Keep direct dark-to-footer transitions in the same colour family. */
body.qhtix-event-page .qhtix-discovery-ribbon--single,
body.qhtix-event-archive .qhtix-discovery-ribbon,
body.qhtix-search-results .qhtix-discovery-ribbon {
    background: linear-gradient(90deg, #0b0611 0%, #12081b 48%, #0b0611 100%) !important;
}

/* ----------------------------------------------------------------------
 * SMALL-SCREEN RHYTHM
 * ------------------------------------------------------------------- */
@media (max-width: 767px) {
    body.qhtix-home .qhtix-section--newsletter {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.qhtix-home .qhtix-section--newsletter.qhtix-newsletter-group-start:not(.qhtix-newsletter-group-end) {
        padding-bottom: 18px !important;
        padding-top: 46px !important;
    }
    body.qhtix-home .qhtix-section--newsletter.qhtix-newsletter-group-end:not(.qhtix-newsletter-group-start) {
        padding-bottom: 52px !important;
        padding-top: 18px !important;
    }
    body.qhtix-event-archive .qhtix-archive-content {
        padding-bottom: 52px !important;
    }
    body.qhtix-event-archive .qhtix-pagination-list {
        gap: 7px;
    }
    body.qhtix-event-archive .qhtix-pagination-list > .page-numbers {
        min-height: 42px !important;
        min-width: 42px !important;
    }
    body.qhtix-event-archive .qhtix-pagination-list > .page-numbers.prev,
    body.qhtix-event-archive .qhtix-pagination-list > .page-numbers.next {
        min-width: 104px !important;
    }
}


/**
 * QH Tix v0.1.53 — archive completeness, hero-header transparency and auth UI.
 */

/* ----------------------------------------------------------------------
 * ARCHIVE / 404 HERO HEADERS
 * ------------------------------------------------------------------- */
body.qhtix-event-archive .qhtix-archive-hero,
body.error404.qhtix-theme .qhtix-error-hero {
    isolation: isolate;
    position: relative;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header,
body.error404.qhtix-theme .qhtix-error-hero__site-header {
    inset: 0 0 auto 0;
    min-height: 150px;
    pointer-events: auto;
    position: absolute;
    width: 100%;
    z-index: 95;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-header,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-mobile-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header::after,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-header::before,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-header::after,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-mobile-header::before,
body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-mobile-header::after {
    background: transparent !important;
    content: none !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-container,
body.error404.qhtix-theme .qhtix-error-hero__site-header .gt-container {
    background: transparent !important;
    position: relative;
    z-index: 2;
}

/* Old direct-child archive selectors remain harmless, but the new wrapper owns
 * positioning so every archive type (global/category/organiser/past/upcoming)
 * follows the same structure. */
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header {
    min-height: 150px !important;
    padding: 24px 0 16px !important;
    position: relative !important;
    width: 100% !important;
}

body.error404.qhtix-theme .qhtix-error-hero__inner {
    padding-top: 170px !important;
}

body.qhtix-event-archive .qhtix-archive-empty__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 22px;
}

body.qhtix-event-archive .qhtix-button--on-light {
    background: #fff !important;
    border-color: rgba(36,26,45,.18) !important;
    color: #2b1e33 !important;
    -webkit-text-fill-color: #2b1e33 !important;
}
body.qhtix-event-archive .qhtix-button--on-light:hover,
body.qhtix-event-archive .qhtix-button--on-light:focus {
    background: #241a2d !important;
    border-color: #241a2d !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* ----------------------------------------------------------------------
 * EVENTCHAMP LOGIN MODAL — QH Tix-authored visual layer
 * ------------------------------------------------------------------- */
body.qhtix-theme #gt-login-popup .modal-content,
body.qhtix-theme #gt-login-popup .gt-popup-content,
body.qhtix-theme #gt-login-popup .gt-modal-content,
body.qhtix-theme #gt-login-popup .gt-form-content {
    background:
        radial-gradient(circle at 100% 0, rgba(112,70,232,.12), transparent 34%),
        linear-gradient(155deg, #100918 0%, #160b20 100%) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.40) !important;
    color: #fff !important;
}

body.qhtix-theme #gt-login-popup h1,
body.qhtix-theme #gt-login-popup h2,
body.qhtix-theme #gt-login-popup h3,
body.qhtix-theme #gt-login-popup .gt-title {
    color: #fff !important;
}

body.qhtix-theme #gt-login-form input[type="text"],
body.qhtix-theme #gt-login-form input[type="email"],
body.qhtix-theme #gt-login-form input[type="password"] {
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    color: #241a2d !important;
    -webkit-text-fill-color: #241a2d !important;
}

body.qhtix-theme #gt-login-form input::placeholder {
    color: #847a89 !important;
    opacity: 1 !important;
}

body.qhtix-theme #gt-login-form label,
body.qhtix-theme #gt-login-form .gt-remember-me,
body.qhtix-theme #gt-login-form .remember-me,
body.qhtix-theme #gt-login-form .qhtix-login-remember-label {
    color: rgba(255,255,255,.88) !important;
    -webkit-text-fill-color: rgba(255,255,255,.88) !important;
    opacity: 1 !important;
}

body.qhtix-theme #gt-login-form input[type="checkbox"],
body.qhtix-theme #gt-login-form .qhtix-login-remember-checkbox {
    accent-color: #d92f6d !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.50) !important;
    display: inline-block !important;
    height: 20px !important;
    margin: 0 9px 0 0 !important;
    opacity: 1 !important;
    position: static !important;
    vertical-align: middle !important;
    visibility: visible !important;
    width: 20px !important;
}

body.qhtix-theme #gt-login-form button[type="submit"],
body.qhtix-theme #gt-login-form input[type="submit"] {
    background: linear-gradient(135deg, #e13b76, #c72562) !important;
    border: 1px solid #d92f6d !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 30px rgba(199,37,98,.28) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 850 !important;
    min-height: 52px !important;
    opacity: 1 !important;
    width: 100% !important;
}
body.qhtix-theme #gt-login-form button[type="submit"]:hover,
body.qhtix-theme #gt-login-form input[type="submit"]:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #241a2d !important;
    -webkit-text-fill-color: #241a2d !important;
}

body.qhtix-theme #gt-login-popup a,
body.qhtix-theme #gt-login-popup .lost-password,
body.qhtix-theme #gt-login-popup .gt-lost-password {
    color: rgba(255,255,255,.82) !important;
}
body.qhtix-theme #gt-login-popup a:hover,
body.qhtix-theme #gt-login-popup a:focus {
    color: #ff78a8 !important;
}

body.qhtix-theme #gt-login-form .qhtix-auth-secondary {
    align-items: center;
    color: rgba(255,255,255,.68);
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 7px;
    justify-content: center;
    margin-top: 18px;
    text-align: center;
}
body.qhtix-theme #gt-login-form .qhtix-auth-create-account {
    color: #ff78a8 !important;
    font-weight: 850;
}

body.qhtix-theme #gt-login-form .qhtix-auth-divider {
    align-items: center;
    color: rgba(255,255,255,.48);
    display: flex;
    gap: 12px;
    margin: 18px 0;
}
body.qhtix-theme #gt-login-form .qhtix-auth-divider::before,
body.qhtix-theme #gt-login-form .qhtix-auth-divider::after {
    background: rgba(255,255,255,.12);
    content: "";
    flex: 1 1 auto;
    height: 1px;
}
body.qhtix-theme #gt-login-form .qhtix-auth-divider span {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

body.qhtix-theme #gt-login-form .qhtix-google-signin {
    align-items: center;
    background: #fff !important;
    border: 1px solid #ddd8df !important;
    border-radius: 999px;
    color: #2b1e33 !important;
    display: flex;
    font-weight: 800;
    gap: 10px;
    justify-content: center;
    min-height: 50px;
    padding: 0 18px;
    text-decoration: none;
    -webkit-text-fill-color: #2b1e33 !important;
}
body.qhtix-theme #gt-login-form .qhtix-google-signin__mark {
    align-items: center;
    border: 1px solid #ddd8df;
    border-radius: 50%;
    display: inline-flex;
    font-family: Arial, sans-serif;
    font-weight: 800;
    height: 24px;
    justify-content: center;
    width: 24px;
}

@media (max-width: 991px) {
    body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header,
    body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-header {
        display: none !important;
    }

    body.qhtix-event-archive .qhtix-archive-hero__site-header,
    body.error404.qhtix-theme .qhtix-error-hero__site-header {
        min-height: 118px;
    }

    body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header,
    body.error404.qhtix-theme .qhtix-error-hero__site-header > .gt-mobile-header {
        display: block !important;
        left: 0 !important;
        position: relative !important;
        right: 0 !important;
        top: 0 !important;
    }

    body.qhtix-event-archive .qhtix-archive-hero__inner {
        padding-top: 132px !important;
    }

    body.error404.qhtix-theme .qhtix-error-hero__inner {
        padding-top: 138px !important;
    }
}

@media (max-width: 767px) {
    body.qhtix-theme #gt-login-popup .modal-dialog,
    body.qhtix-theme #gt-login-popup .gt-popup-dialog {
        margin: 12px !important;
        max-width: calc(100vw - 24px) !important;
        width: auto !important;
    }

    body.qhtix-theme #gt-login-form .qhtix-auth-secondary {
        margin-bottom: 4px;
    }

    body.qhtix-event-archive .qhtix-archive-empty__actions {
        align-items: stretch;
        flex-direction: column;
    }
    body.qhtix-event-archive .qhtix-archive-empty__actions .qhtix-button {
        justify-content: center;
        text-align: center;
        width: 100%;
    }
}


/* v0.1.56 — restore native Eventchamp Phone + Network inside Event Details */
.qhtix-event-sidebar .gt-detail-widget .gt-phone,
.qhtix-event-sidebar .gt-detail-widget .gt-social-links {
    display: flex !important;
}

.qhtix-event-sidebar .gt-detail-widget .gt-phone .gt-icon,
.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-icon {
    color: #d6a72a !important;
}

.qhtix-event-sidebar .gt-detail-widget .gt-phone .gt-icon svg,
.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-icon svg {
    fill: currentColor !important;
    stroke: none !important;
}

.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner ul {
    align-items: center;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
}

.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner li {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner a {
    align-items: center;
    background: #f7f3f9;
    border: 1px solid rgba(41,23,54,.10);
    border-radius: 50%;
    color: #5d5263 !important;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    min-width: 32px;
    text-decoration: none !important;
    width: 32px;
}

.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner a:hover,
.qhtix-event-sidebar .gt-detail-widget .gt-social-links .gt-inner a:focus {
    background: #241a2d;
    border-color: #241a2d;
    color: #fff !important;
}

/* Bring the inherited Eventchamp action back into the QH Tix palette. */
.qhtix-event-sidebar .gt-add-to-calendar,
.qhtix-event-sidebar .gt-button,
.qhtix-event-sidebar a.gt-button {
    background: linear-gradient(135deg, #e13b76, #c72562) !important;
    border-color: #d92f6d !important;
    box-shadow: 0 12px 30px rgba(199,37,98,.20) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.qhtix-event-sidebar .gt-add-to-calendar:hover,
.qhtix-event-sidebar .gt-add-to-calendar:focus,
.qhtix-event-sidebar .gt-button:hover,
.qhtix-event-sidebar .gt-button:focus,
.qhtix-event-sidebar a.gt-button:hover,
.qhtix-event-sidebar a.gt-button:focus {
    background: #241a2d !important;
    border-color: #241a2d !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}


/* ---------------------------------------------------------------------
 * v0.1.58 — QH Tix customer authentication layout
 *
 * WooCommerce uses `.col-1` / `.col-2` on the two auth columns. Eventchamp
 * also ships Bootstrap, where those same class names are width utilities.
 * Override every Bootstrap sizing property so desktop auth is genuinely 2-up.
 * ------------------------------------------------------------------ */
.qhtix-account-page #customer_login {
    align-items: stretch !important;
    display: grid !important;
    gap: 32px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 42px auto 0 !important;
    max-width: 1120px !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .u-column1,
.qhtix-account-page #customer_login .u-column2,
.qhtix-account-page #customer_login .col-1,
.qhtix-account-page #customer_login .col-2 {
    flex: none !important;
    float: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .u-column1,
.qhtix-account-page #customer_login .u-column2 {
    background: #fff !important;
    border: 1px solid rgba(36,26,45,.09) !important;
    border-radius: 26px !important;
    box-shadow: 0 18px 48px rgba(24,12,32,.10) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 30px !important;
    position: relative !important;
}

.qhtix-account-page #customer_login .u-column1::before,
.qhtix-account-page #customer_login .u-column2::before {
    background: linear-gradient(90deg, #d92f6d, #7a45d8) !important;
    content: "" !important;
    height: 4px !important;
    inset: 0 0 auto 0 !important;
    position: absolute !important;
}

.qhtix-account-page #customer_login h2 {
    color: #14091d !important;
    font-size: clamp(26px, 2vw, 34px) !important;
    line-height: 1.12 !important;
    margin: 6px 0 7px !important;
}

.qhtix-account-page #customer_login .qhtix-auth-card-intro {
    color: #716675 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 0 0 22px !important;
    max-width: 440px !important;
}

.qhtix-account-page #customer_login form.login,
.qhtix-account-page #customer_login form.register {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: auto !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .form-row {
    float: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login label {
    color: #261b2d !important;
    display: block !important;
    float: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    margin: 0 0 7px !important;
    max-width: none !important;
    width: auto !important;
}

.qhtix-account-page #customer_login input.input-text,
.qhtix-account-page #customer_login input[type="email"],
.qhtix-account-page #customer_login input[type="password"],
.qhtix-account-page #customer_login input[type="text"] {
    background: #fbf9fc !important;
    border: 1px solid #dfd7e3 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    color: #241a2d !important;
    font-size: 15px !important;
    min-height: 54px !important;
    padding: 12px 14px !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login input.input-text:focus,
.qhtix-account-page #customer_login input[type="email"]:focus,
.qhtix-account-page #customer_login input[type="password"]:focus,
.qhtix-account-page #customer_login input[type="text"]:focus {
    background: #fff !important;
    border-color: #d92f6d !important;
    box-shadow: 0 0 0 3px rgba(217,47,109,.10) !important;
    outline: 0 !important;
}

.qhtix-account-page #customer_login .password-input {
    display: block !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .show-password-input {
    right: 15px !important;
}

.qhtix-account-page #customer_login .woocommerce-form-login__rememberme {
    align-items: center !important;
    display: inline-flex !important;
    gap: 8px !important;
    margin: 0 16px 0 0 !important;
}

.qhtix-account-page #customer_login .woocommerce-form-login__rememberme input {
    accent-color: #d92f6d !important;
    height: 17px !important;
    margin: 0 !important;
    width: 17px !important;
}

.qhtix-account-page #customer_login .woocommerce-form-login__submit,
.qhtix-account-page #customer_login .woocommerce-form-register__submit {
    align-self: flex-start !important;
    min-height: 50px !important;
    min-width: 148px !important;
    padding: 11px 25px !important;
}

.qhtix-account-page #customer_login .lost_password {
    margin: 14px 0 0 !important;
}

.qhtix-account-page #customer_login .woocommerce-privacy-policy-text {
    color: #716675 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
}

.qhtix-account-page #customer_login .qhtix-turnstile {
    width: 100% !important;
}

/* Existing Google/OAuth providers should occupy the login card cleanly.
 * Includes common plugin wrappers plus a safe generic fallback. */
.qhtix-account-page #customer_login .u-column1 .nsl-container,
.qhtix-account-page #customer_login .u-column1 .mo-openid-app-icons,
.qhtix-account-page #customer_login .u-column1 [class*="google-login" i],
.qhtix-account-page #customer_login .u-column1 [class*="google-sign" i],
.qhtix-account-page #customer_login .u-column1 [data-provider*="google" i] {
    box-sizing: border-box !important;
    margin: 0 0 18px !important;
    max-width: none !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .u-column1 .nsl-container a,
.qhtix-account-page #customer_login .u-column1 .nsl-container button,
.qhtix-account-page #customer_login .u-column1 [class*="google-login" i] a,
.qhtix-account-page #customer_login .u-column1 [class*="google-login" i] button,
.qhtix-account-page #customer_login .u-column1 [class*="google-sign" i] a,
.qhtix-account-page #customer_login .u-column1 [class*="google-sign" i] button,
.qhtix-account-page #customer_login .u-column1 [data-provider*="google" i] {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
}

.qhtix-account-page #customer_login .qhtix-auth-focus-card {
    border-color: rgba(217,47,109,.36) !important;
    box-shadow: 0 22px 58px rgba(199,37,98,.15) !important;
}

.qhtix-account-page #customer_login .qhtix-auth-focus-google::after {
    background: #fff2f7 !important;
    border: 1px solid #f0bfd1 !important;
    border-radius: 999px !important;
    color: #9d1f4e !important;
    content: "Continue with Google below" !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 7px 10px !important;
    position: absolute !important;
    right: 24px !important;
    top: 25px !important;
}

@media (max-width: 900px) {
    .qhtix-account-page #customer_login {
        gap: 22px !important;
        grid-template-columns: 1fr !important;
        max-width: 680px !important;
    }
}

@media (max-width: 767px) {
    .qhtix-account-page #customer_login {
        margin-top: 26px !important;
    }

    .qhtix-account-page #customer_login .u-column1,
    .qhtix-account-page #customer_login .u-column2 {
        border-radius: 20px !important;
        padding: 22px !important;
    }

    .qhtix-account-page #customer_login .qhtix-auth-focus-google::after {
        margin: 0 0 14px !important;
        position: static !important;
        width: max-content !important;
    }

    .qhtix-account-page #customer_login .woocommerce-form-login__submit,
    .qhtix-account-page #customer_login .woocommerce-form-register__submit {
        width: 100% !important;
    }
}

/**
 * QH Tix v0.1.58 — authentication polish.
 */

/* Eventchamp's checkbox system intentionally hides the native input and draws
 * one accessible visual box on the adjacent span. v0.1.53 made the native
 * input visible, causing two boxes. Restore one-control rendering. */
body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"],
body.qhtix-theme #gt-login-form .qhtix-login-remember-checkbox {
    height: 1px !important;
    left: -9999px !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    width: 1px !important;
}

body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"] + span {
    color: rgba(255,255,255,.90) !important;
    display: inline-flex !important;
    font-size: 13px !important;
    min-height: 22px !important;
    padding-left: 30px !important;
    position: relative !important;
    -webkit-text-fill-color: rgba(255,255,255,.90) !important;
}

body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"] + span::before {
    background: #fff !important;
    border: 2px solid rgba(255,255,255,.72) !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    height: 20px !important;
    left: 0 !important;
    top: 1px !important;
    width: 20px !important;
}

body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"]:checked + span::before {
    background: #d92f6d !important;
    border-color: #d92f6d !important;
}

body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"] + span::after {
    color: #fff !important;
    font-size: 12px !important;
    left: 5px !important;
    top: 6px !important;
}

body.qhtix-theme #gt-login-form .gt-checkbox input[type="checkbox"]:focus + span::before {
    box-shadow: 0 0 0 3px rgba(255,120,168,.24) !important;
}

/* The modal already has the cleaner inline Create Account prompt.
 * Hide Eventchamp's duplicate footer registration link only inside this modal. */
body.qhtix-theme #gt-login-popup .qhtix-auth-native-register-link {
    display: none !important;
}

/* Google bridge / direct provider button. */
body.qhtix-theme #gt-login-form .qhtix-google-auth-slot[hidden] {
    display: none !important;
}

body.qhtix-theme #gt-login-form .qhtix-google-signin {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #dadce0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    color: #2b1e33 !important;
    display: flex !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    gap: 10px !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0 18px !important;
    text-decoration: none !important;
    width: 100% !important;
    -webkit-text-fill-color: #2b1e33 !important;
}

body.qhtix-theme #gt-login-form .qhtix-google-signin:hover,
body.qhtix-theme #gt-login-form .qhtix-google-signin:focus {
    background: #f8f6fa !important;
    border-color: #c9c2ce !important;
    color: #14091d !important;
    -webkit-text-fill-color: #14091d !important;
}

body.qhtix-theme #gt-login-form .qhtix-google-signin__mark {
    background: conic-gradient(
        from -45deg,
        #4285f4 0 25%,
        #34a853 0 50%,
        #fbbc05 0 75%,
        #ea4335 0
    ) !important;
    border: 0 !important;
    color: #fff !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    height: 23px !important;
    width: 23px !important;
}

body.qhtix-theme #gt-login-form .qhtix-auth-secondary {
    margin-top: 16px !important;
}

/* Ensure old v0.1.53 native-checkbox rule cannot win later in the bundle. */
body.qhtix-theme #gt-login-form input[type="checkbox"].qhtix-login-remember-checkbox {
    display: block !important;
    height: 1px !important;
    opacity: 0 !important;
    position: absolute !important;
    width: 1px !important;
}
/* QH Tix v0.1.60 — registration route and archive hero/header correction. */

body.qhtix-account-page #customer_login > .u-column1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
body.qhtix-account-page #customer_login > .u-column2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}
body.qhtix-account-page #customer_login > :not(.u-column1):not(.u-column2) {
    grid-column: 1 / -1 !important;
}

body.qhtix-account-register-mode #customer_login {
    grid-template-columns: minmax(0, 680px) !important;
    justify-content: center !important;
    margin-top: 34px !important;
    max-width: 680px !important;
}
body.qhtix-account-register-mode #customer_login > .u-column1,
body.qhtix-account-register-mode #customer_login > :not(.u-column1):not(.u-column2) {
    display: none !important;
}
body.qhtix-account-register-mode #customer_login > .u-column2 {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}
body.qhtix-account-register-mode .qhtix-account-intro--guest {
    margin-bottom: 0 !important;
}
.qhtix-account-page .qhtix-register-signin-prompt {
    border-top: 1px solid #eee8f0;
    color: #716675;
    font-size: 13px;
    margin: 22px 0 0;
    padding-top: 18px;
    text-align: center;
}
.qhtix-account-page .qhtix-register-signin-prompt a {
    color: #bd245c;
    font-weight: 800;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-container,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-elements,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content-inner {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
body.qhtix-event-archive .qhtix-archive-hero__site-header *::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header *::after {
    box-shadow: none !important;
}
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-header::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header > .gt-mobile-header::after {
    background: transparent !important;
    background-image: none !important;
    content: none !important;
}

@media (max-width: 900px) {
    body.qhtix-account-page #customer_login > .u-column1,
    body.qhtix-account-page #customer_login > .u-column2 {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    body.qhtix-account-register-mode #customer_login > .u-column2 {
        grid-row: 1 !important;
    }
}

/* ----------------------------------------------------------------------
 * v0.1.62 launch-candidate corrections
 * ------------------------------------------------------------------- */

/* The Eventchamp header functions may add a wrapper around their visible
 * header. Descendant selectors keep that entire header layer transparent so
 * the archive hero owns the continuous background, as on the 404 template. */
body.qhtix-event-archive .qhtix-archive-hero__site-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-wrapper,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content-inner,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-elements,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-container {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-wrapper::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-wrapper::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header-content::after {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    content: none !important;
}

/* Google account creation uses the installed provider's real control whenever
 * available, with the bridge link as a safe fallback. */
body.qhtix-account-register-mode .qhtix-register-google-provider {
    margin: 28px 0 24px;
    width: 100%;
}

body.qhtix-account-register-mode .qhtix-register-google-provider > *,
body.qhtix-account-register-mode .qhtix-register-google-provider a,
body.qhtix-account-register-mode .qhtix-register-google-provider button,
body.qhtix-account-register-mode .qhtix-register-google-provider iframe {
    max-width: 100% !important;
    width: 100% !important;
}

body.qhtix-account-register-mode .qhtix-register-google-link {
    align-items: center;
    background: #fff !important;
    border: 1px solid #dadce0 !important;
    border-radius: 14px;
    color: #2b1e33 !important;
    display: flex;
    font-weight: 750;
    gap: 12px;
    justify-content: center;
    min-height: 54px;
    padding: 0 18px;
    text-decoration: none;
    -webkit-text-fill-color: #2b1e33 !important;
}

body.qhtix-account-register-mode .qhtix-register-google-link:hover,
body.qhtix-account-register-mode .qhtix-register-google-link:focus {
    background: #f8f6fa !important;
    border-color: #c9c2ce !important;
    color: #14091d !important;
}

body.qhtix-account-register-mode .qhtix-register-google-link__mark {
    align-items: center;
    background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 14px;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    width: 24px;
}

/* The provider bridge is a short-lived fallback, but remains centred and
 * usable if an OAuth plugin requires a customer click to continue. */
body.qhtix-account-google-mode #customer_login {
    grid-template-columns: minmax(0, 680px) !important;
    justify-content: center !important;
    margin-top: 34px !important;
    max-width: 680px !important;
}

body.qhtix-account-google-mode #customer_login > .u-column2,
body.qhtix-account-google-mode #customer_login > :not(.u-column1):not(.u-column2) {
    display: none !important;
}

body.qhtix-account-google-mode #customer_login > .u-column1 {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* ===== /assets/css/release-0163.css ===== */
/**
 * QH Tix v0.1.63 — native Eventchamp hero-header integration.
 *
 * The header roots now carry Eventchamp's own gt-transparent/gt-absolute
 * classes. These final rules neutralise only the in-hero, pre-scroll header;
 * Eventchamp's separate sticky header retains its dark scrolled state.
 */
body.qhtix-event-archive .qhtix-archive-hero,
body.qhtix-search-results .gt-event-search-tool {
    isolation: isolate !important;
    position: relative !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    inset: 0 0 auto 0 !important;
    margin: 0 !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 120 !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header),
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header),
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header),
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header),
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-wrapper,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-content-inner,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-content,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-elements,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-container,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-wrapper,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-content,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-header-content-inner,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-content,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-elements,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header) .gt-container {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header)::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-header.gt-transparent:not(.gt-sticky-header)::after,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header)::before,
body.qhtix-event-archive .qhtix-archive-hero__site-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header)::after,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header)::before,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-header.gt-transparent:not(.gt-sticky-header)::after,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header)::before,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header .gt-mobile-header.gt-transparent:not(.gt-sticky-mobile-header)::after {
    background: none !important;
    box-shadow: none !important;
    content: none !important;
}

body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header + .search-content,
body.qhtix-search-results .gt-event-search-tool > .qhtix-search-overlay-header ~ .search-content {
    position: relative !important;
    z-index: 2 !important;
}

/* ===== /assets/css/release-0164.css ===== */
/**
 * QH Tix v0.1.64 — equal-height homepage information panels.
 *
 * Keep the existing single CSS bundle/LiteSpeed loading path. The grid column,
 * Eventchamp inner wrapper and card are an explicit flex chain so the grey
 * information panel fills the complete card even when titles, prices or other
 * metadata have different lengths.
 */
body.qhtix-home .qhtix-section--events .gt-categorized-contents .gt-columns {
    align-items: stretch !important;
}

body.qhtix-home .qhtix-section--events .gt-categorized-contents .gt-columns > .gt-col {
    align-self: stretch !important;
    display: flex !important;
}

body.qhtix-home .qhtix-section--events .gt-categorized-contents .gt-columns > .gt-col > .gt-inner {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}

body.qhtix-home .qhtix-section--events .gt-event-style-1,
body.qhtix-home .qhtix-section--events .gt-event-style-2,
body.qhtix-home .qhtix-section--events .gt-event-style-3,
body.qhtix-home .qhtix-section--events .gt-event-style-4 {
    background: #242424 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 100% !important;
    width: 100% !important;
}

body.qhtix-home .qhtix-section--events .gt-event-style-1 > .gt-image,
body.qhtix-home .qhtix-section--events .gt-event-style-2 > .gt-image,
body.qhtix-home .qhtix-section--events .gt-event-style-3 > .gt-image,
body.qhtix-home .qhtix-section--events .gt-event-style-4 > .gt-image {
    flex: 0 0 auto !important;
    width: 100% !important;
}

body.qhtix-home .qhtix-section--events .gt-event-style-1 > .gt-content,
body.qhtix-home .qhtix-section--events .gt-event-style-2 > .gt-content,
body.qhtix-home .qhtix-section--events .gt-event-style-3 > .gt-content,
body.qhtix-home .qhtix-section--events .gt-event-style-4 > .gt-content {
    background: #242424 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* ===== /assets/css/release-0165.css ===== */
/**
 * QH Tix v0.1.65 — native Site Kit Sign in with Google integration.
 *
 * Site Kit/Google renders the actual provider control. QH Tix styles only its
 * container and surrounding divider so Google's required button remains intact.
 */
.qhtix-sitekit-google-source--staged {
    left: -10000px !important;
    position: absolute !important;
    top: 0 !important;
    width: 400px !important;
}

body.qhtix-theme .qhtix-google-auth-slot,
body.qhtix-theme .qhtix-sitekit-google-source,
body.qhtix-theme .qhtix-sitekit-google-button {
    box-sizing: border-box !important;
    width: 100% !important;
}

body.qhtix-theme .qhtix-sitekit-google-button {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 44px !important;
}

body.qhtix-theme .qhtix-sitekit-google-button iframe {
    max-width: 100% !important;
}

body.qhtix-theme #gt-login-form .qhtix-google-auth-slot .qhtix-auth-divider {
    margin: 18px 0 !important;
}

body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

body.qhtix-account-register-mode .qhtix-register-google-divider {
    align-items: center;
    color: #7b6e80;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 12px;
    margin: 0 0 22px;
    text-transform: uppercase;
}

body.qhtix-account-register-mode .qhtix-register-google-divider::before,
body.qhtix-account-register-mode .qhtix-register-google-divider::after {
    background: rgba(41, 23, 54, .12);
    content: "";
    flex: 1 1 auto;
    height: 1px;
}

body.qhtix-account-register-mode .qhtix-register-google-divider span {
    flex: 0 0 auto;
}

@media (max-width: 480px) {
    body.qhtix-theme .qhtix-sitekit-google-button iframe {
        max-width: calc(100vw - 72px) !important;
    }
}

/* ===== /assets/css/release-0166.css ===== */
/**
 * QH Tix v0.1.66 — Site Kit button/modal fit correction.
 *
 * Google owns the rendered iframe. Give it and Turnstile a wider desktop modal
 * instead of scaling, cropping or recreating either third-party control.
 */
@media (min-width: 768px) {
    body.qhtix-theme #gt-login-popup .modal-dialog,
    body.qhtix-theme #gt-login-popup .gt-popup-dialog {
        max-width: calc(100vw - 48px) !important;
        width: 560px !important;
    }
}

body.qhtix-theme #gt-login-form .qhtix-google-auth-slot,
body.qhtix-theme #gt-login-form .qhtix-sitekit-google-source,
body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button > div,
body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button iframe {
    max-width: 100% !important;
}

/* ===== /assets/css/release-0167.css ===== */
/**
 * QH Tix v0.1.67 — intermediate-width Site Kit control correction.
 *
 * At desktop/tablet widths Site Kit's generated inner wrapper can be narrower
 * than Google's iframe. Centre that wrapper and allow the protected iframe's
 * focus/rounded edge to paint without changing Google's own dimensions.
 */
body.qhtix-theme #gt-login-form .qhtix-google-auth-slot,
body.qhtix-theme #gt-login-form .qhtix-sitekit-google-source,
body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button {
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
    text-align: center !important;
}

body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
}

@media (min-width: 768px) {
    body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button > div,
    body.qhtix-theme #gt-login-form .qhtix-sitekit-google-button iframe {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: none !important;
        overflow: visible !important;
    }
}

/* ===== /assets/css/release-0168.css ===== */
/**
 * QH Tix v0.1.68 — authentication alignment and festival archives.
 *
 * Keep these rules in the existing single public bundle so LiteSpeed sees the
 * same request graph as v0.1.67.
 */

/* Eventchamp modal: centre the protected Cloudflare control without scaling
 * the provider iframe or changing its server-verified behaviour. */
body.qhtix-theme #gt-login-form .qhtix-turnstile {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.qhtix-theme #gt-login-form .qhtix-turnstile > div,
body.qhtix-theme #gt-login-form .qhtix-turnstile iframe {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
}

/* Focused registration card: Site Kit owns the Google control; QH Tix centres
 * only its generated wrappers so the native button remains intact. */
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit,
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .qhtix-sitekit-google-source,
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .qhtix-sitekit-google-button {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    text-align: center !important;
    width: 100% !important;
}

body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .qhtix-sitekit-google-button > div,
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .qhtix-sitekit-google-button iframe {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
}

body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .googlesitekit-sign-in-with-google__frontend-output-button,
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .g_id_signin {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .googlesitekit-sign-in-with-google__frontend-output-button > div,
body.qhtix-account-register-mode .qhtix-register-google-provider--sitekit .g_id_signin > div {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Optional date grouping for festival-style event-category archives. */
.qhtix-category-date-groups {
    display: grid;
    gap: 54px;
}

.qhtix-category-date-group {
    min-width: 0;
}

.qhtix-category-date-group__heading {
    align-items: baseline;
    border-bottom: 1px solid var(--qhtix-line);
    color: var(--qhtix-ink);
    display: flex;
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    gap: 14px;
    margin: 0 0 24px;
    padding: 0 0 14px;
}

.qhtix-category-date-group__heading span {
    color: var(--qhtix-accent);
    font-size: .42em;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

@media (max-width: 600px) {
    .qhtix-category-date-groups {
        gap: 42px;
    }

    .qhtix-category-date-group__heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

/* -------------------------------------------------------------------------
 * v0.1.77 checkout validation and Terms-link contrast.
 * Keep these rules scoped to checkout so legal links and notices elsewhere
 * retain their established theme presentation.
 * ---------------------------------------------------------------------- */
body.qhtix-checkout-page .woocommerce-error,
body.qhtix-checkout-page .woocommerce-error li,
body.qhtix-checkout-page .woocommerce-error p,
body.qhtix-checkout-page .woocommerce-error span {
    color: #8b1838 !important;
}

body.qhtix-checkout-page .woocommerce-error a,
body.qhtix-checkout-page .woocommerce-error a:visited {
    color: #70112c !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

body.qhtix-checkout-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
body.qhtix-checkout-page #payment .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox span {
    color: #21112f !important;
}

body.qhtix-checkout-page #payment a.woocommerce-terms-and-conditions-link,
body.qhtix-checkout-page #payment a.woocommerce-terms-and-conditions-link:visited {
    color: #941a50 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
}

body.qhtix-checkout-page #payment a.woocommerce-terms-and-conditions-link:hover,
body.qhtix-checkout-page #payment a.woocommerce-terms-and-conditions-link:focus-visible {
    color: #651035 !important;
}

body.qhtix-checkout-page #payment a.woocommerce-terms-and-conditions-link:focus-visible {
    border-radius: 3px;
    outline: 2px solid rgba(148, 26, 80, .34);
    outline-offset: 3px;
}

/* Kept last so release validation can prove the complete bundle parsed. */
.qhtix-css-parse-sentinel {
    --qhtix-css-ok: 1;
}
