.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; }
