/* 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; }
}
