/* Gartenberg 6.3.1 — ticket presentation only.
   All selectors require an opt-in Halloween view. Price/stock/stage values
   still come from WooCommerce and the existing Price Stages plugin. */
.wpp-bh-sales,
.wpp-bh-final-cta-section {
    --bh-ink: #07060b;
    --bh-accent: #b84fff;
    --bh-accent-rgb: 184,79,255;
    --bh-ticket-cta: #7534b0;
    --bh-ticket-cta-end: #8239c4;
    color: #f6f3fa;
}
body .wpp-bh-sales {
    width: 100%; max-width: none; min-width: 0;
    padding: clamp(52px, 6vw, 88px) 0 40px;
    background: radial-gradient(ellipse at 95% 30%,rgba(var(--bh-accent-rgb),.075),transparent 48%),var(--bh-ink);
    scroll-margin-top: 88px;
}
body .wpp-bh-sales > .wpp-container,
body .wpp-bh-final-cta-section > .wpp-container {
    width: min(1400px, calc(100% - 80px));
    max-width: none; margin: 0 auto;
}
body .wpp-bh-sales .wpp-kicker,
body .wpp-bh-final-cta .wpp-kicker {
    color: var(--bh-accent) !important;
    font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .16em;
}
body .wpp-bh-sales > .wpp-container > h2,
body .wpp-bh-sales .wpp-buy-page__intro > h1 {
    max-width: 100%;
    margin: 14px 0 32px;
    font: 700 clamp(38px,4.4vw,64px)/1.08 Arial,Helvetica,sans-serif;
    letter-spacing: -.045em;
    color: #f6f3fa;
}
body .wpp-bh-sales .wpp-ticket-grid,
body .wpp-bh-sales .wpp-buy-grid {
    display: grid; width: 100%; max-width: none;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px; margin: 0; align-items: stretch;
}
body .wpp-bh-sales .wpp-ticket-grid--single,
body .wpp-bh-sales .wpp-buy-grid--single {
    grid-template-columns: minmax(0,1fr) !important;
    max-width: 680px; margin-inline: auto;
}
body .wpp-bh-sales .wpp-ticket,
body .wpp-bh-sales .wpp-buy-card {
    position: relative; isolation: isolate;
    display: flex; flex-direction: column;
    min-width: 0; min-height: 344px;
    padding: clamp(24px,3vw,40px);
    border: 1px solid rgba(var(--bh-accent-rgb),.24);
    border-radius: 22px;
    background: radial-gradient(ellipse at 100% 0,rgba(var(--bh-accent-rgb),.11),transparent 68%),#100d17;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    transition: border-color .2s ease,box-shadow .2s ease;
}
body .wpp-bh-sales .wpp-ticket--vip,
body .wpp-bh-sales .wpp-buy-card--vip {
    border-color: rgba(var(--bh-accent-rgb),.48) !important;
    background: radial-gradient(ellipse at 100% 0,rgba(var(--bh-accent-rgb),.18),transparent 70%),#100d17;
    box-shadow: inset 0 1px 0 rgba(var(--bh-accent-rgb),.12) !important;
}
body .wpp-bh-sales .wpp-ticket > span,
body .wpp-bh-sales .wpp-ticket-chip {
    display: inline-flex; align-items: center; align-self: flex-start;
    max-width: 100%; min-height: 28px; padding: 6px 12px;
    background: rgba(var(--bh-accent-rgb),.08) !important;
    color: var(--bh-accent) !important;
    border: 1px solid rgba(var(--bh-accent-rgb),.22) !important;
    border-radius: 999px;
    font: 700 10px/1.3 Arial,Helvetica,sans-serif;
    letter-spacing: .14em;
}
body .wpp-bh-sales .wpp-ticket h3,
body .wpp-bh-sales .wpp-buy-card > h2 {
    color: #f6f3fa;
    font: 650 clamp(30px,3vw,42px)/1.1 Arial,Helvetica,sans-serif;
    letter-spacing: -.04em;
    margin: 20px 0 0;
}
body .wpp-bh-sales .wpp-ticket > strong,
body .wpp-bh-sales .wpp-buy-price {
    display: block; min-width: 0; max-width: 100%;
    margin: 18px 0 28px;
    font: 650 clamp(36px,4vw,58px)/1.1 Arial,Helvetica,sans-serif;
    letter-spacing: -.045em;
    font-variant-numeric: tabular-nums;
    color: #f6f3fa;
    overflow-wrap: break-word;
}
body .wpp-bh-sales .woocommerce-Price-amount,
body .wpp-bh-sales .wptps-current-price,
body .wpp-bh-sales .wptps-vip-price {
    color: #f6f3fa !important;
    text-shadow: none !important;
}
body .wpp-bh-sales .woocommerce-Price-currencySymbol {
    font-size: .7em; font-weight: 500;
}
body .wpp-bh-sales .wptps-current-price {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
}
/* Preserve the real stage name, limits, dates and progress. Only skin them. */
body .wpp-bh-sales .wptps-price-stack { gap: 20px !important; }
body .wpp-bh-sales .wptps-stage-info,
body .wpp-bh-sales .wptps-vip-info {
    background: rgba(var(--bh-accent-rgb),.065) !important;
    border: 1px solid rgba(var(--bh-accent-rgb),.24) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #cfc5d9 !important;
    padding: 13px 16px !important;
    max-width: none !important;
    font-size: 13px !important;
}
body .wpp-bh-sales .wptps-stage-name {
    color: var(--bh-accent) !important;
    font-size: 11px !important; letter-spacing: .1em !important;
}
body .wpp-bh-sales .wptps-stage-name:only-child { padding-bottom: 0 !important; }
body .wpp-bh-sales .wptps-stage-line,
body .wpp-bh-sales .wptps-vip-remaining,
body .wpp-bh-sales .wptps-next-price,
body .wpp-bh-sales .wptps-vip-progress-text {
    color: #dbd1e5 !important;
    border-color: rgba(var(--bh-accent-rgb),.16) !important;
}
body .wpp-bh-sales .wptps-stage-line::before { color: var(--bh-accent) !important; }
body .wpp-bh-sales .wptps-vip-count {
    color: #f6f3fa !important;
    background: rgba(var(--bh-accent-rgb),.1) !important;
    border-color: rgba(var(--bh-accent-rgb),.3) !important;
}
body .wpp-bh-sales .wptps-progress > span {
    background: var(--bh-accent) !important;
    box-shadow: none !important;
}
body .wpp-bh-sales .wpp-ticket__features,
body .wpp-bh-sales .wpp-buy-card > ul {
    margin: 0 0 26px; color: #c0b4cb;
    font-size: 15px; line-height: 1.5;
}
body .wpp-bh-sales .wpp-ticket__features li::before,
body .wpp-bh-sales .wpp-buy-card li::before { color: var(--bh-accent) !important; }
body .wpp-bh-sales .wpp-button,
body .wpp-bh-final-cta .wpp-button {
    display: flex; align-items: center; justify-content: center; gap: 16px;
    width: 100%; max-width: 100%; min-width: 0;
    min-height: 54px; padding: 15px 22px;
    border: 1px solid rgba(var(--bh-accent-rgb),.6);
    border-radius: 12px;
    background: linear-gradient(120deg,var(--bh-ticket-cta),var(--bh-ticket-cta-end)) !important;
    color: #fff !important;
    font: 700 14px/1.4 Arial,Helvetica,sans-serif;
    letter-spacing: 0;
    text-align: center; text-decoration: none;
    white-space: normal;
    box-shadow: 0 8px 28px rgba(var(--bh-accent-rgb),.14);
    transition: border-color .2s ease,box-shadow .2s ease;
}
body .wpp-bh-sales .wpp-ticket > .wpp-button { align-self: stretch; margin-top: auto; }
body .wpp-bh-sales .wpp-button:focus-visible,
body .wpp-bh-final-cta .wpp-button:focus-visible {
    outline: 2px solid #efdcff; outline-offset: 5px;
}
/* A closed/disabled sale stays visibly disabled; no value or status is changed. */
body .wpp-bh-sales .wpp-button[aria-disabled="true"],
body .wpp-bh-sales .wpp-button[disabled],
body .wpp-bh-sales .wpp-button.disabled {
    background: #24202b !important;
    border-color: #55485f !important;
    color: #b9aebf !important;
    box-shadow: none !important; cursor: not-allowed;
}
body .wpp-bh-sales .wpp-buy-controls {
    grid-template-columns: 120px minmax(0,1fr);
    align-items: stretch;
    margin-top: auto; gap: 14px;
}
body .wpp-bh-sales .wpp-qty { min-width: 0; min-height: 54px; }
body .wpp-bh-sales .wpp-qty input { min-width: 0; color: #f6f3fa; }
body .wpp-bh-sales .wpp-qty button { color: #f6f3fa; min-width: 32px; }
body .wpp-bh-sales .wpp-buy-card__top { flex-wrap: wrap; }
body .wpp-bh-sales .wpp-ticket-availability { color: #bcb0c8; line-height: 1.4; }
/* The purchase page uses the same layout and readable venue/address columns. */
body .wpp-bh-sales .wpp-buy-page__intro { max-width: none; margin-bottom: 32px; }
body .wpp-bh-sales .wpp-buy-event-meta {
    grid-template-columns: 1.2fr .7fr .6fr 1.7fr 1.4fr;
    width: 100%; gap: 12px; margin: 28px 0 0;
}
body .wpp-bh-sales .wpp-buy-event-meta > div {
    min-width: 0; padding: 16px 18px;
    border: 1px solid rgba(var(--bh-accent-rgb),.16);
    border-radius: 12px; background: #0e0b14;
}
body .wpp-bh-sales .wpp-buy-event-meta span { color: var(--bh-accent); font-size: 10px; }
body .wpp-bh-sales .wpp-buy-event-meta strong,
body .wpp-bh-sales .wpp-buy-event-meta a {
    color: #dfd7e7; font-size: 14px; line-height: 1.45;
    word-break: normal; overflow-wrap: break-word; hyphens: none;
}
body .wpp-bh-sales .wpp-buy-trust { width: 100%; max-width: none; gap: 12px; }
body .wpp-bh-sales .wpp-buy-trust > div { background: #0e0b14; border-color: rgba(var(--bh-accent-rgb),.16); }
body .wpp-bh-sales .wpp-buy-trust span { color: #bcb0c8; }
body .wpp-bh-final-cta-section { padding: 28px 0 72px; background: var(--bh-ink); }
body .wpp-bh-final-cta {
    display: flex; align-items: center; justify-content: space-between;
    gap: 30px; padding: 32px 36px;
    background: #0c0911;
    border: 1px solid rgba(var(--bh-accent-rgb),.2);
    border-radius: 18px;
}
body .wpp-bh-final-cta > div { min-width: 0; }
body .wpp-bh-final-cta h2 {
    max-width: 760px; margin: 10px 0 0;
    color: #f6f3fa;
    font: 600 clamp(24px,2.5vw,34px)/1.2 Arial,Helvetica,sans-serif;
    letter-spacing: -.025em;
}
body .wpp-bh-final-cta .wpp-button {
    flex: 0 0 205px; width: auto;
    background: transparent !important;
    box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
    body .wpp-bh-sales .wpp-ticket:hover,
    body .wpp-bh-sales .wpp-buy-card:hover { border-color: rgba(var(--bh-accent-rgb),.62); }
    body .wpp-bh-sales .wpp-button:hover,
    body .wpp-bh-final-cta .wpp-button:hover { box-shadow: 0 8px 32px rgba(var(--bh-accent-rgb),.22); }
}
@media (max-width: 1023px) {
    body .wpp-bh-sales > .wpp-container,
    body .wpp-bh-final-cta-section > .wpp-container { width: calc(100% - 48px); }
    body .wpp-bh-sales .wpp-ticket-grid,
    body .wpp-bh-sales .wpp-buy-grid { gap: 18px; }
    body .wpp-bh-sales .wpp-buy-controls { grid-template-columns: 1fr; }
    body .wpp-bh-sales .wpp-buy-event-meta { grid-template-columns: repeat(6,minmax(0,1fr)); }
    body .wpp-bh-sales .wpp-buy-event-meta > div:nth-child(-n+3) { grid-column: span 2; }
    body .wpp-bh-sales .wpp-buy-event-meta > div:nth-child(n+4) { grid-column: span 3; }
}
@media (max-width: 767px) {
    body .wpp-bh-sales { padding-top: 48px; padding-bottom: 28px; }
    body .wpp-bh-sales > .wpp-container,
    body .wpp-bh-final-cta-section > .wpp-container { width: calc(100% - 40px); }
    body .wpp-bh-sales .wpp-ticket-grid,
    body .wpp-bh-sales .wpp-buy-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
    body .wpp-bh-sales .wpp-ticket,
    body .wpp-bh-sales .wpp-buy-card { min-height: 300px; padding: 24px; border-radius: 18px; }
    body .wpp-bh-sales > .wpp-container > h2,
    body .wpp-bh-sales .wpp-buy-page__intro > h1 { font-size: clamp(34px,8.8vw,48px); margin-bottom: 26px; }
    body .wpp-bh-sales .wpp-ticket > strong,
    body .wpp-bh-sales .wpp-buy-price { font-size: clamp(36px,10vw,48px); }
    body .wpp-bh-sales .wpp-buy-event-meta { gap: 8px; }
    body .wpp-bh-sales .wpp-buy-event-meta > div { padding: 13px 11px; }
    body .wpp-bh-sales .wpp-buy-event-meta > div:nth-child(n+4) { grid-column: 1/-1; }
    body .wpp-bh-sales .wpp-buy-event-meta strong { font-size: 13px; }
    body .wpp-bh-sales .wpp-buy-trust { grid-template-columns: minmax(0,1fr); }
    body .wpp-bh-final-cta-section { padding: 8px 0 48px; }
    body .wpp-bh-final-cta { flex-direction: column; align-items: stretch; gap: 22px; padding: 24px; }
    body .wpp-bh-final-cta .wpp-button { flex: auto; width: 100%; }
}
@media (max-width: 359px) {
    body .wpp-bh-sales > .wpp-container,
    body .wpp-bh-final-cta-section > .wpp-container { width: calc(100% - 32px); }
    body .wpp-bh-sales .wpp-ticket,
    body .wpp-bh-sales .wpp-buy-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    body .wpp-bh-sales *,body .wpp-bh-final-cta * { transition: none !important; animation: none !important; }
}

/* v6.3.2: an actually disabled purchase button occupies the whole row. */
body .wpp-bh-sales .wpp-buy-controls > .wpp-button:only-child { grid-column: 1 / -1; }
body .wpp-bh-sales .wptps-closed { font: 650 14px/1.5 Arial,Helvetica,sans-serif; letter-spacing: 0 !important; }
