@import url('https://fonts.googleapis.com/css2?family=Gloock&family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');


:root {
    --gt-nav-height: 64px;
    --background: 36 33% 98%;
    --foreground: 210 22% 12%;
    --card: 0 0% 100%;
    --primary: 196 55% 34%;
    --accent: 162 45% 40%;
    --muted: 36 18% 94%;
    --muted-foreground: 210 10% 40%;
    --border: 210 14% 86%;
    --danger: 6 78% 52%;
    --shadow-elev-1: 0 1px 2px rgba(15, 23, 42, 0.06);
    --shadow-elev-2: 0 10px 30px rgba(15, 23, 42, 0.10);
}

* {
    box-sizing: border-box;
}

.gt-body {
    margin: 0;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
}

.gt-container {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.gt-nav {
    position: sticky;
    top: 0;
    z-index: 40;
    border-bottom: 1px solid hsl(var(--border));
    background: hsl(var(--background) / 0.84);
    backdrop-filter: blur(16px);
}

.gt-nav-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 64px;
}

.gt-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    font-family: "Gloock", Georgia, serif;
    font-size: 22px;
    white-space: nowrap;
}

.gt-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: hsl(var(--accent));
    color: white;
    font-family: "Manrope", sans-serif;
    font-weight: 800;
}

.gt-nav-search {
    flex: 1;
    max-width: 420px;
}

.gt-nav-search input,
.gt-filter-bar input,
.gt-filter-bar select,
.gt-form-card input,
.gt-form-card textarea,
.gt-scan-card input,
.gt-scan-card select {
    width: 100%;
    border: 1px solid hsl(var(--border));
    border-radius: 12px;
    background: white;
    color: hsl(var(--foreground));
    padding: 11px 14px;
    font: inherit;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

input[type="number"] {
    -moz-appearance: textfield;
}

.gt-nav-links {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
    font-size: 14px;
}

.gt-nav-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    margin-left: 4px;
    padding: 0 5px;
    border-radius: 999px;
    background: hsl(var(--accent));
    color: white;
    font-size: 11px;
    line-height: 1;
}

.gt-nav-links a,
.gt-logout-form button,
.gt-section-header a,
.gt-table-card a {
    color: hsl(var(--primary));
    text-decoration: none;
    font-weight: 700;
}

.gt-logout-form {
    margin: 0;
}

.gt-logout-form button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    padding: 0;
}

.gt-pill {
    border: 1px solid hsl(var(--border));
    border-radius: 999px;
    padding: 8px 12px;
    color: hsl(var(--foreground)) !important;
}

.gt-hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    color: white;
}

.gt-hero-media {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(800px circle at 20% 10%, rgba(95, 184, 138, 0.18), transparent 55%),
        radial-gradient(900px circle at 80% 0%, rgba(47, 93, 140, 0.20), transparent 60%),
        linear-gradient(rgba(11, 31, 59, 0.82), rgba(11, 31, 59, 0.82));
    background-size: cover;
    background-position: center;
}

.gt-hero-content {
    position: relative;
    padding: 112px 0;
    max-width: 1120px;
}

.gt-hero h1,
.gt-page h1,
.gt-section h2,
.gt-detail-hero h1,
.gt-copy h2,
.gt-impact-panel h2,
.gt-ticket-panel h2,
.gt-table-card h2,
.gt-form-card h2 {
    font-family: "Gloock", Georgia, serif;
    letter-spacing: 0;
}

.gt-hero h1 {
    max-width: 720px;
    margin: 18px 0;
    font-size: clamp(40px, 7vw, 72px);
    line-height: 1.04;
}

.gt-hero p {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.65;
}

.gt-eco-chip,
.gt-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 6px 10px;
    background: hsl(var(--muted));
    color: hsl(var(--foreground));
    font-size: 12px;
    font-weight: 800;
}

.gt-eco-chip {
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.12);
    color: white;
}

.gt-badge-green {
    background: hsl(var(--accent));
    color: white;
}

.gt-badge-muted {
    background: hsl(var(--muted));
    color: hsl(var(--muted-foreground));
}

.gt-actions,
.gt-badge-row,
.gt-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.gt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 0;
    border-radius: 12px;
    background: hsl(var(--primary));
    color: white;
    padding: 10px 16px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.gt-button:disabled,
.gt-quantity-control button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.gt-button-small {
    min-height: 36px;
    padding: 8px 12px;
    font-size: 14px;
}

.gt-button-full {
    width: 100%;
}

.gt-button-secondary {
    border: 1px solid hsl(var(--border));
    background: hsl(var(--muted));
    color: hsl(var(--foreground));
}

.gt-button-ghost {
    border: 1px solid hsl(var(--border));
    background: white;
    color: hsl(var(--foreground));
}

.gt-hero .gt-button-ghost {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.12);
    color: white;
}

.gt-section,
.gt-page,
.gt-event-detail {
    scroll-margin-top: calc(var(--gt-nav-height) + 24px);
    padding: 72px 0 64px;
}

.gt-page,
.gt-event-detail {
    min-height: calc(100vh - var(--gt-nav-height));
}

.gt-narrow .gt-container {
    width: min(860px, calc(100% - 32px));
}

.gt-section-header,
.gt-dashboard-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.gt-section-header h2,
.gt-page h1 {
    margin: 0;
    font-size: clamp(30px, 4vw, 42px);
}

.gt-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gt-event-card,
.gt-value-card,
.gt-cta-band,
.gt-ticket-panel,
.gt-wallet-card,
.gt-kpi,
.gt-table-card,
.gt-form-card,
.gt-scan-card,
.gt-impact-panel {
    border: 1px solid hsl(var(--border));
    border-radius: 18px;
    background: white;
    box-shadow: var(--shadow-elev-1);
}

.gt-event-card {
    overflow: hidden;
}

.gt-event-image {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at 20% 10%, rgba(95, 184, 138, 0.36), transparent 40%),
        linear-gradient(135deg, #2f5d8c, #5fb88a);
    background-size: cover;
    background-position: center;
    color: white;
    text-decoration: none;
    font-family: "Gloock", Georgia, serif;
    font-size: 64px;
}

.gt-card-body {
    padding: 18px;
}

.gt-card-body h3 {
    min-height: 54px;
    margin: 12px 0;
    font-family: "Gloock", Georgia, serif;
    font-size: 21px;
    line-height: 1.28;
}

.gt-card-body h3 a {
    color: inherit;
    text-decoration: none;
}

.gt-meta {
    display: grid;
    gap: 5px;
    min-height: 44px;
    color: hsl(var(--muted-foreground));
    font-size: 14px;
}

.gt-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
}

.gt-card-bottom small,
.gt-fact-grid small,
.gt-kpi span,
.gt-ticket-row span,
.gt-muted {
    color: hsl(var(--muted-foreground));
}

.gt-card-bottom strong,
.gt-ticket-price,
.gt-kpi strong {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
}

.gt-values {
    border-top: 1px solid hsl(var(--border));
    border-bottom: 1px solid hsl(var(--border));
    background: hsl(var(--muted) / 0.64);
    padding: 54px 0;
}

.gt-values-grid,
.gt-kpi-grid,
.gt-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gt-value-card,
.gt-cta-band,
.gt-kpi,
.gt-form-card,
.gt-scan-card,
.gt-impact-panel {
    padding: 24px;
}

.gt-value-card span {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: hsl(var(--accent) / 0.12);
    color: hsl(var(--accent));
    font-weight: 900;
}

.gt-cta-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.gt-filter-bar {
    display: grid;
    grid-template-columns: 1fr 220px auto;
    gap: 10px;
    margin: 24px 0 32px;
}

.gt-empty {
    grid-column: 1 / -1;
    border: 1px dashed hsl(var(--border));
    border-radius: 18px;
    padding: 42px;
    text-align: center;
    color: hsl(var(--muted-foreground));
}

.gt-pagination {
    margin-top: 28px;
}

.gt-detail-hero {
    min-height: 360px;
    display: flex;
    align-items: flex-end;
    border-radius: 22px;
    padding: 32px;
    color: white;
    background:
        linear-gradient(to top, rgba(11, 31, 59, 0.78), rgba(11, 31, 59, 0.08)),
        linear-gradient(135deg, #2f5d8c, #5fb88a);
    background-size: cover;
    background-position: center;
    box-shadow: var(--shadow-elev-2);
}

.gt-detail-hero h1 {
    max-width: 760px;
    margin: 14px 0 0;
    font-size: clamp(34px, 5vw, 56px);
}

.gt-detail-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.85fr;
    gap: 28px;
    margin-top: 28px;
}

.gt-detail-grid.has-seating {
    grid-template-columns: 1fr;
}

.gt-detail-grid.has-seating .gt-ticket-panel {
    position: static;
}

.gt-fact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.gt-fact-grid div {
    border: 1px solid hsl(var(--border));
    border-radius: 16px;
    padding: 16px;
    background: white;
}

.gt-fact-grid small,
.gt-fact-grid strong {
    display: block;
}

.gt-copy {
    line-height: 1.75;
}

.gt-ticket-panel {
    position: sticky;
    top: calc(var(--gt-nav-height) + 24px);
    align-self: start;
    padding: 22px;
}

.gt-ticket-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid hsl(var(--border));
    border-radius: 14px;
    padding: 14px;
    margin: 12px 0;
}

.gt-ticket-row.is-selected {
    border-color: hsl(var(--accent));
    background: hsl(var(--accent) / 0.07);
    box-shadow: 0 0 0 3px hsl(var(--accent) / 0.08);
}

.gt-ticket-pick {
    display: grid;
    justify-items: end;
    gap: 8px;
    min-width: 136px;
}

.gt-quantity-control,
.quantity-control {
    display: inline-flex;
    align-items: stretch;
    height: 44px;
    overflow: hidden;
    border: 1px solid hsl(var(--border));
    border-radius: 999px;
    background: white;
}

.gt-quantity-control button,
.gt-quantity-value,
.quantity-control button,
.quantity-control .quantity-value {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 44px;
    border: 0;
    border-radius: 0;
    padding: 0;
    text-align: center;
    line-height: 1;
}

.gt-quantity-control button,
.quantity-control button {
    background: hsl(var(--muted));
    color: hsl(var(--primary));
    font: inherit;
    font-weight: 900;
}

.gt-quantity-value,
.quantity-control .quantity-value {
    border-inline: 1px solid hsl(var(--border));
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 15px;
    font-weight: 700;
}

.gt-ticket-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid hsl(var(--border));
    padding: 16px 0;
    margin-top: 12px;
}

.gt-ticket-summary strong:last-child {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 18px;
}

.gt-error {
    color: hsl(var(--danger));
    font-size: 13px;
    font-weight: 800;
}

.gt-ticket-row strong,
.gt-ticket-row span {
    display: block;
}

.gt-ticket-note,
.gt-warning-band {
    border-radius: 14px;
    background: hsl(var(--muted));
    color: hsl(var(--muted-foreground));
    padding: 14px;
    margin: 18px 0;
    font-size: 14px;
}

.gt-impact-panel {
    margin-top: 26px;
}

.gt-auth-page {
    display: grid;
    place-items: center;
    min-height: calc(100vh - var(--gt-nav-height));
    padding: 56px 16px;
}

.gt-auth-card {
    width: min(100%, 460px);
    border: 1px solid hsl(var(--border));
    border-radius: 22px;
    background: white;
    box-shadow: var(--shadow-elev-2);
    padding: 30px;
}

.gt-auth-card-wide {
    width: min(100%, 760px);
}

.gt-auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    font-family: "Gloock", Georgia, serif;
    font-size: 24px;
}

.gt-auth-heading {
    margin: 24px 0;
}

.gt-auth-heading h1 {
    margin: 12px 0 8px;
    font-family: "Gloock", Georgia, serif;
    font-size: 34px;
    line-height: 1.08;
}

.gt-auth-heading p,
.gt-auth-footnote {
    color: hsl(var(--muted-foreground));
}

.gt-auth-form,
.gt-auth-fields {
    display: grid;
    gap: 14px;
}

.gt-auth-form input,
.gt-auth-form textarea {
    width: 100%;
    border: 1px solid hsl(var(--border));
    border-radius: 12px;
    background: white;
    color: hsl(var(--foreground));
    padding: 11px 14px;
    font: inherit;
}

.gt-auth-footnote {
    margin: 20px 0 0;
    text-align: center;
}

.gt-auth-footnote a {
    color: hsl(var(--primary));
    font-weight: 800;
    text-decoration: none;
}

.gt-google-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid hsl(var(--border));
    border-radius: 12px;
    color: hsl(var(--foreground));
    text-decoration: none;
    font-weight: 800;
}

.gt-auth-separator {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    color: hsl(var(--muted-foreground));
    font-size: 13px;
    font-weight: 800;
}

.gt-auth-separator::before,
.gt-auth-separator::after {
    content: "";
    flex: 1;
    height: 1px;
    background: hsl(var(--border));
}

.gt-role-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gt-role-card {
    display: grid;
    gap: 8px;
    border: 1px solid hsl(var(--border));
    border-radius: 16px;
    padding: 16px;
    cursor: pointer;
}

.gt-role-card:has(input:checked) {
    border-color: hsl(var(--accent));
    background: hsl(var(--accent) / 0.08);
}

.gt-role-card input {
    width: auto;
}

.gt-role-card span,
.gt-organizer-note {
    color: hsl(var(--muted-foreground));
    font-size: 14px;
}

.gt-organizer-only,
.gt-organizer-note {
    display: none;
}

.gt-auth-form.is-organizer .gt-organizer-only,
.gt-auth-form.is-organizer .gt-organizer-note {
    display: grid;
}

.gt-impact-grid div,
.gt-kpi {
    display: grid;
    gap: 6px;
}

.gt-impact-grid strong,
.gt-kpi strong {
    font-size: 28px;
}

.gt-ticket-wallet {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
    gap: 18px;
    align-items: stretch;
}

.gt-wallet-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 18px;
    padding: 22px;
    min-width: 0;
    overflow: hidden;
}

.gt-wallet-card.is-used {
    background: hsl(var(--muted));
    opacity: 0.82;
}

.gt-wallet-card.is-used .gt-qr-image {
    filter: grayscale(1);
}

.gt-wallet-main {
    min-width: 0;
}

.gt-wallet-main h2,
.gt-wallet-main p {
    overflow-wrap: anywhere;
}

.gt-qr-box {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.gt-qr-image {
    width: 148px;
    height: 148px;
    max-width: 100%;
    border: 10px solid white;
    border-radius: 16px;
    background: white;
    box-shadow: inset 0 0 0 1px hsl(var(--border)), var(--shadow-elev-1);
}

.gt-ticket-code {
    display: inline-flex;
    margin-top: 10px;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 15px;
}

.gt-token-details {
    width: 100%;
    font-size: 12px;
    color: hsl(var(--muted-foreground));
}

.gt-token-details summary {
    cursor: pointer;
    text-align: center;
}

.gt-token-details code {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    border: 1px solid hsl(var(--border));
    border-radius: 10px;
    background: hsl(var(--muted));
    padding: 8px;
    color: hsl(var(--foreground));
}

.gt-copy-token {
    border: 1px solid hsl(var(--border));
    border-radius: 999px;
    background: white;
    color: hsl(var(--primary));
    padding: 7px 10px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.gt-table-card {
    margin-top: 26px;
    overflow: hidden;
}

.gt-table-card h2 {
    margin: 0;
    padding: 20px 22px;
}

.gt-table-card table {
    width: 100%;
    border-collapse: collapse;
}

.gt-table-card th,
.gt-table-card td {
    border-top: 1px solid hsl(var(--border));
    padding: 14px 18px;
    text-align: left;
}

.gt-form-card,
.gt-scan-card,
.gt-checkout-card {
    margin: 20px 0;
}

.gt-checkout-card {
    border: 1px solid hsl(var(--border));
    border-radius: 18px;
    background: white;
    padding: 24px;
    box-shadow: var(--shadow-elev-1);
}

.gt-cart-lines {
    margin: 18px 0;
    border-top: 1px solid hsl(var(--border));
    border-bottom: 1px solid hsl(var(--border));
}

.gt-cart-lines > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid hsl(var(--border));
}

.gt-cart-lines > div:last-child {
    border-bottom: 0;
}

.gt-cart-summary {
    margin-top: 28px;
}

.gt-cart-payment-note {
    margin: 12px 0 0;
    text-align: center;
}

.gt-total-box {
    display: grid;
    gap: 10px;
    margin: 24px 0;
}

.gt-total-box div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid hsl(var(--border));
    padding-bottom: 10px;
}

.gt-total-box div:last-child {
    border-bottom: 0;
    font-size: 20px;
}

.gt-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.gt-form-card label,
.gt-scan-card label {
    display: grid;
    gap: 8px;
    font-weight: 800;
}

.gt-inline-check {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.gt-inline-check input {
    width: auto;
}

.gt-profile-list {
    display: grid;
    gap: 12px;
}

.gt-profile-list div {
    display: grid;
    gap: 4px;
    border-bottom: 1px solid hsl(var(--border));
    padding-bottom: 12px;
}

.gt-profile-list span {
    color: hsl(var(--muted-foreground));
    font-size: 13px;
}

.gt-form-card input:disabled,
.gt-form-card textarea:disabled {
    color: hsl(var(--muted-foreground));
    background: hsl(var(--muted));
}

.gt-span-2 {
    grid-column: span 2;
}

.gt-tier-row {
    display: grid;
    grid-template-columns: 1fr 160px 160px;
    gap: 10px;
    margin: 10px 0;
}

.gt-scan-card {
    display: grid;
    gap: 16px;
}

.gt-scan-result {
    margin-top: 18px;
    border-radius: 16px;
    padding: 18px;
    font-weight: 800;
}

.gt-scan-result.is-valid {
    background: hsl(var(--accent) / 0.12);
    color: hsl(var(--accent));
}

.gt-scan-result.is-invalid {
    background: hsl(var(--danger) / 0.12);
    color: hsl(var(--danger));
}

.gt-scanner-page {
    padding-bottom: 72px;
}

.gt-scanner-heading,
.gt-scanner-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.gt-scanner-heading h1,
.gt-scanner-panel h2,
.gt-scanner-recent h2 {
    margin: 4px 0 8px;
}

.gt-eyebrow {
    color: hsl(var(--primary));
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.gt-scanner-event-filter {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin: 28px 0 18px;
    padding: 16px 18px;
    border: 1px solid hsl(var(--border));
    border-radius: 8px;
    background: white;
}

.gt-scanner-event-filter label,
.gt-scanner-lookup label,
.gt-manual-token label {
    font-size: 14px;
    font-weight: 800;
}

.gt-scanner-event-filter select,
.gt-scanner-lookup input,
.gt-manual-token input {
    width: 100%;
    border: 1px solid hsl(var(--border));
    border-radius: 6px;
    background: white;
    color: hsl(var(--foreground));
    padding: 11px 12px;
    font: inherit;
}

.gt-scanner-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.gt-scanner-stats div {
    display: grid;
    gap: 5px;
    min-height: 86px;
    padding: 14px 16px;
    border: 1px solid hsl(var(--border));
    border-radius: 6px;
    background: white;
}

.gt-scanner-stats span {
    color: hsl(var(--muted-foreground));
    font-size: 12px;
    font-weight: 700;
}

.gt-scanner-stats strong {
    font-size: 27px;
    line-height: 1;
}

.gt-scan-result-detailed {
    border: 1px solid currentColor;
    border-radius: 8px;
    font-size: 20px;
}

.gt-scan-result-detailed div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
}

.gt-scanner-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 18px;
    margin-top: 18px;
}

.gt-scanner-panel,
.gt-scanner-recent {
    border: 1px solid hsl(var(--border));
    border-radius: 8px;
    background: white;
    padding: 22px;
    box-shadow: var(--shadow-elev-1);
}

.gt-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid hsl(var(--border));
    border-radius: 6px;
    background: white;
    color: hsl(var(--foreground));
    font-size: 22px;
    cursor: pointer;
}

.gt-camera-reader {
    width: 100%;
    min-height: 300px;
    margin: 16px 0;
    overflow: hidden;
    border-radius: 6px;
    background: #111827;
}

.gt-camera-reader video {
    width: 100% !important;
    object-fit: cover;
}

.gt-camera-status {
    min-height: 24px;
}

.gt-manual-token {
    margin-top: 18px;
    border-top: 1px solid hsl(var(--border));
    padding-top: 16px;
}

.gt-manual-token summary {
    color: hsl(var(--primary));
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.gt-manual-token form {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.gt-scanner-lookup {
    display: grid;
    gap: 8px;
    margin-top: 20px;
}

.gt-scanner-lookup > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.gt-lookup-results {
    margin-top: 22px;
    border-top: 1px solid hsl(var(--border));
    padding-top: 14px;
}

.gt-lookup-results h3 {
    font-size: 14px;
}

.gt-lookup-ticket {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
    border-top: 1px solid hsl(var(--border));
}

.gt-lookup-ticket > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.gt-lookup-ticket span,
.gt-lookup-ticket small {
    overflow-wrap: anywhere;
}

.gt-lookup-ticket small {
    color: hsl(var(--muted-foreground));
}

.gt-lookup-ticket.is-used {
    opacity: 0.62;
}

.gt-status-label,
.gt-live-indicator {
    color: hsl(var(--muted-foreground));
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.gt-scanner-recent {
    margin-top: 18px;
}

.gt-responsive-table {
    overflow-x: auto;
}

.gt-responsive-table table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
}

.gt-responsive-table th,
.gt-responsive-table td {
    border-top: 1px solid hsl(var(--border));
    padding: 12px 10px;
    text-align: left;
    white-space: nowrap;
}

.gt-responsive-table th {
    color: hsl(var(--muted-foreground));
    font-size: 11px;
    text-transform: uppercase;
}

.gt-footer {
    border-top: 1px solid hsl(var(--border));
    padding: 36px 0;
    background: white;
    color: hsl(var(--muted-foreground));
}

.gt-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 24px;
}

.gt-footer-brand {
    color: hsl(var(--foreground));
}

@media (max-width: 860px) {
    .gt-nav-search {
        display: none;
    }

    .gt-nav-inner {
        flex-wrap: wrap;
        padding: 12px 0;
        min-height: auto;
    }

    .gt-nav-links {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .gt-hero-content {
        padding: 88px 0;
    }

    .gt-section,
    .gt-page,
    .gt-event-detail {
        padding-top: 48px;
    }

    .gt-ticket-panel {
        position: static;
    }

    .gt-card-grid,
    .gt-values-grid,
    .gt-kpi-grid,
    .gt-impact-grid,
    .gt-ticket-wallet,
    .gt-footer-grid,
    .gt-detail-grid,
    .gt-fact-grid {
        grid-template-columns: 1fr;
    }

    .gt-filter-bar,
    .gt-form-grid,
    .gt-tier-row,
    .gt-role-grid,
    .gt-scanner-grid,
    .gt-scanner-stats,
    .gt-scanner-event-filter {
        grid-template-columns: 1fr;
    }

    .gt-scanner-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .gt-scanner-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gt-span-2 {
        grid-column: auto;
    }

    .gt-cta-band,
    .gt-dashboard-head,
    .gt-wallet-card,
    .gt-ticket-row {
        align-items: flex-start;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .gt-ticket-pick {
        justify-items: start;
        width: 100%;
    }

    .gt-ticket-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ================================================================
   BileteLive.ro public brand layer
   Keeps the transactional/admin CSS intact while giving the public
   Scarlet Aura MVP a dedicated dark live-music identity.
   ================================================================ */

:root {
    --bl-ink: #061318;
    --bl-ink-2: #0a1b21;
    --bl-panel: #0d2229;
    --bl-panel-soft: #102930;
    --bl-line: rgba(154, 219, 205, 0.17);
    --bl-line-strong: rgba(154, 219, 205, 0.30);
    --bl-text: #f4f1e9;
    --bl-muted: #9fb2b7;
    --bl-green: #09c79b;
    --bl-green-deep: #079676;
    --bl-green-soft: rgba(9, 199, 155, 0.12);
    --bl-warm: #d9c08e;
    --bl-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
}

/* Global shell */
.gt-nav {
    min-height: 68px;
    border-bottom: 1px solid var(--bl-line);
    background: rgba(5, 17, 22, 0.94);
    color: var(--bl-text);
    backdrop-filter: blur(18px);
}

.gt-nav-inner {
    min-height: 68px;
    gap: 32px;
}

.gt-brand {
    gap: 11px;
    color: var(--bl-text);
    font-size: 24px;
    letter-spacing: -0.025em;
}

.gt-brand-name > span {
    color: #b9c6c7;
    font-size: 0.76em;
}

.gt-brand-mark {
    position: relative;
    width: 31px;
    height: 38px;
    flex: 0 0 31px;
    border: 2px solid var(--bl-green);
    border-radius: 7px 7px 7px 2px;
    background: transparent;
    transform: rotate(7deg);
    color: transparent;
}

.gt-brand-mark::before,
.gt-brand-mark::after {
    content: "";
    position: absolute;
    background: var(--bl-ink);
}

.gt-brand-mark::before {
    width: 9px;
    height: 5px;
    top: -4px;
    left: 7px;
    border-left: 2px solid var(--bl-green);
    border-right: 2px solid var(--bl-green);
}

.gt-brand-mark::after {
    width: 8px;
    height: 8px;
    right: -5px;
    top: 13px;
    border-radius: 50%;
}

.gt-brand-mark > span::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border: 2px solid var(--bl-green);
    border-radius: 50%;
    top: 7px;
    left: 8px;
}

.gt-nav-links {
    gap: 22px;
    font-size: 13px;
}

.gt-nav-links a,
.gt-logout-form button {
    color: #d9e2e2;
    font-weight: 700;
    transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.gt-nav-links a:hover,
.gt-logout-form button:hover {
    color: var(--bl-green);
}

.gt-nav-cart {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.gt-nav-buy {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid rgba(9, 199, 155, 0.55);
    border-radius: 999px;
    padding: 0 18px;
    background: linear-gradient(135deg, #079d79, #09c79b);
    color: #001c17 !important;
    box-shadow: 0 8px 28px rgba(9, 199, 155, 0.14);
}

.gt-nav-buy:hover {
    background: var(--bl-green);
    color: #00130f !important;
}

.gt-nav-cart-count {
    background: var(--bl-green);
    color: #001812;
}

.gt-footer {
    border-top: 1px solid var(--bl-line);
    padding: 42px 0 18px;
    background: #041014;
    color: var(--bl-muted);
}

.gt-footer-grid {
    grid-template-columns: 1.45fr repeat(3, 1fr);
    gap: 34px;
}

.gt-footer-grid > div:not(.gt-footer-intro) {
    padding-top: 8px;
}

.gt-footer strong {
    display: block;
    margin-bottom: 7px;
    color: #e4ecea;
    font-size: 13px;
}

.gt-footer p {
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
}

.gt-footer-brand {
    margin-bottom: 12px;
    color: var(--bl-text);
}

.gt-footer .gt-brand-mark::before,
.gt-footer .gt-brand-mark::after {
    background: #041014;
}

.gt-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 32px;
    border-top: 1px solid var(--bl-line);
    padding-top: 16px;
    color: #71888c;
    font-size: 11px;
}

/* Dark public catalogue */
.gt-public-dark {
    background: var(--bl-ink);
    color: var(--bl-text);
}

.gt-public-dark main {
    overflow: hidden;
    background:
        radial-gradient(900px 520px at 92% 8%, rgba(17, 123, 123, 0.12), transparent 70%),
        radial-gradient(760px 460px at 10% 35%, rgba(9, 199, 155, 0.06), transparent 70%),
        var(--bl-ink);
}

.gt-public-dark .gt-container {
    width: min(1240px, calc(100% - 40px));
}

.gt-section-kicker,
.gt-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--bl-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.gt-kicker > span {
    width: 28px;
    height: 1px;
    background: var(--bl-green);
}

/* Homepage hero */
.gt-home-hero {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--bl-line);
    isolation: isolate;
}

.gt-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: 0.17;
    background-image:
        linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.gt-home-hero-glow {
    position: absolute;
    z-index: -1;
    width: 720px;
    height: 720px;
    right: -220px;
    top: -250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(9, 199, 155, 0.15), transparent 64%);
    filter: blur(10px);
    pointer-events: none;
}

.gt-home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
    gap: clamp(54px, 8vw, 108px);
    align-items: center;
    padding: 82px 0 88px;
}

.gt-home-hero-copy h1 {
    max-width: 780px;
    margin: 18px 0 22px;
    font-family: "Gloock", Georgia, serif;
    font-size: clamp(50px, 6.25vw, 82px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.gt-home-hero-copy h1 em,
.gt-events-heading h1 em {
    color: var(--bl-green);
    font-style: normal;
}

.gt-home-hero-copy > p {
    max-width: 650px;
    margin: 0 0 28px;
    color: #b4c2c4;
    font-size: 17px;
    line-height: 1.7;
}

.gt-home-hero .gt-actions {
    gap: 12px;
}

.gt-button-primary,
.gt-public-dark .gt-button {
    border: 1px solid rgba(9, 199, 155, 0.45);
    background: linear-gradient(135deg, #079d79, #09c79b);
    color: #001712;
    box-shadow: none;
}

.gt-public-dark .gt-button:hover {
    transform: translateY(-1px);
    background: #11d2a6;
}

.gt-button-outline-dark {
    border: 1px solid var(--bl-line-strong) !important;
    background: transparent !important;
    color: #d9e3e2 !important;
}

.gt-button-outline-dark:hover {
    border-color: var(--bl-green) !important;
    color: var(--bl-green) !important;
}

.gt-hero-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 680px;
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid var(--bl-line);
}

.gt-hero-trust > div {
    display: grid;
    gap: 5px;
    padding-right: 18px;
}

.gt-hero-trust > div + div {
    border-left: 1px solid var(--bl-line);
    padding-left: 18px;
}

.gt-hero-trust strong {
    color: #e5edeb;
    font-size: 12px;
}

.gt-hero-trust span {
    color: #789095;
    font-size: 11px;
}

.gt-next-show-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--bl-line-strong);
    border-radius: 22px;
    background: rgba(11, 32, 38, 0.88);
    box-shadow: var(--bl-shadow);
    transform: rotate(0.8deg);
}

.gt-next-show-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 390px;
    background:
        radial-gradient(circle at 35% 20%, rgba(9,199,155,.22), transparent 36%),
        linear-gradient(135deg, #0e3038, #071318);
    background-size: cover;
    background-position: center;
    color: var(--bl-text);
    text-decoration: none;
}

.gt-next-show-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 16, 20, .55), transparent 45%);
}

.gt-next-label {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    border: 1px solid rgba(9,199,155,.45);
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(4, 16, 20, .78);
    color: var(--bl-green);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.gt-next-show-placeholder,
.gt-event-placeholder {
    position: relative;
    z-index: 1;
    font-family: "Gloock", Georgia, serif;
    text-align: center;
    letter-spacing: .08em;
}

.gt-next-show-placeholder {
    font-size: 46px;
    line-height: .9;
}

.gt-next-show-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: end;
    padding: 20px 20px 22px;
}

.gt-next-date {
    color: var(--bl-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gt-next-show-body h2 {
    margin: 8px 0 4px;
    font-family: "Gloock", Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.15;
}

.gt-next-show-body p,
.gt-next-show-action > span {
    margin: 0;
    color: var(--bl-muted);
    font-size: 12px;
}

.gt-next-show-action {
    display: grid;
    justify-items: end;
    gap: 10px;
}

/* Event catalogue cards */
.gt-upcoming-section {
    padding: 72px 0 78px;
}

.gt-section-header-dark {
    align-items: end;
}

.gt-section-header-dark h2 {
    margin: 5px 0 0;
    color: var(--bl-text);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 400;
}

.gt-section-header-dark a,
.gt-public-dark .gt-section-header a {
    color: var(--bl-green);
}

.gt-public-dark .gt-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

.gt-public-dark .gt-event-card {
    overflow: hidden;
    border: 1px solid var(--bl-line);
    border-radius: 16px;
    background: rgba(9, 27, 33, 0.94);
    color: var(--bl-text);
    box-shadow: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.gt-public-dark .gt-event-card:hover {
    transform: translateY(-3px);
    border-color: rgba(9, 199, 155, .42);
    box-shadow: 0 20px 60px rgba(0,0,0,.20);
}

.gt-public-dark .gt-event-image {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background:
        radial-gradient(circle at 25% 20%, rgba(9,199,155,.20), transparent 35%),
        linear-gradient(135deg, #12343c, #071318);
    background-size: cover;
    background-position: center;
}

.gt-event-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(5,17,22,.42), transparent 45%);
    pointer-events: none;
}

.gt-event-featured-badge {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    border: 1px solid rgba(9,199,155,.52);
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(4, 18, 22, .82);
    color: #5ff0c8;
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
}

.gt-event-placeholder {
    font-size: 34px;
    line-height: .9;
}

.gt-public-dark .gt-card-body {
    padding: 17px;
}

.gt-public-dark .gt-badge {
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.05);
    color: #c2d0d0;
    padding: 5px 9px;
    font-size: 10px;
}

.gt-public-dark .gt-badge-green {
    border-color: rgba(9,199,155,.35);
    background: var(--bl-green-soft);
    color: #5de5bf;
}

.gt-public-dark .gt-badge-seating {
    border-color: rgba(217,192,142,.35);
    background: rgba(217,192,142,.10);
    color: #ead4a4;
}

.gt-public-dark .gt-card-body h3 {
    min-height: 50px;
    margin: 11px 0 13px;
    font-size: 21px;
    font-weight: 400;
}

.gt-public-dark .gt-meta {
    min-height: 54px;
    gap: 7px;
    color: #91a5a9;
    font-size: 12px;
}

.gt-meta-row {
    display: flex;
    align-items: flex-start;
    gap: 7px;
}

.gt-meta-row > strong {
    width: 14px;
    color: #7edfc5;
    font-family: "Manrope", sans-serif;
    font-size: 12px;
}

.gt-public-dark .gt-card-bottom {
    margin-top: 16px;
    border-top: 1px solid var(--bl-line);
    padding-top: 15px;
}

.gt-card-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.gt-public-dark .gt-card-price small {
    color: #7e9599;
    font-size: 10px;
}

.gt-public-dark .gt-card-price strong {
    color: #f1eee7;
    font-size: 14px;
}

.gt-public-dark .gt-event-card .gt-button-small {
    min-height: 34px;
    padding: 8px 11px;
    border-radius: 9px;
    font-size: 11px;
}

/* Benefits strip */
.gt-live-benefits {
    border-top: 1px solid var(--bl-line);
    background: rgba(4,16,20,.66);
    padding: 26px 0;
}

.gt-live-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.gt-live-benefit {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    padding: 8px 24px;
}

.gt-live-benefit:first-child {
    padding-left: 0;
}

.gt-live-benefit + .gt-live-benefit {
    border-left: 1px solid var(--bl-line);
}

.gt-live-benefit-icon {
    display: inline-flex;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(9,199,155,.30);
    border-radius: 50%;
    background: var(--bl-green-soft);
    color: var(--bl-green);
    font-size: 10px;
    font-weight: 900;
}

.gt-live-benefit strong {
    display: block;
    margin: 1px 0 3px;
    color: #dfe8e6;
    font-size: 12px;
}

.gt-live-benefit p {
    margin: 0;
    color: #7f969a;
    font-size: 10px;
    line-height: 1.5;
}

/* Events page */
.gt-events-page {
    min-height: 72vh;
    padding: 72px 0 86px;
}

.gt-events-heading {
    max-width: 790px;
}

.gt-events-heading h1 {
    margin: 8px 0 16px;
    font-family: "Gloock", Georgia, serif;
    font-size: clamp(44px, 6vw, 70px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.035em;
}

.gt-events-heading > p {
    max-width: 700px;
    margin: 0;
    color: #9fb1b4;
    font-size: 15px;
    line-height: 1.7;
}

.gt-event-search {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 38px 0 26px;
    padding: 12px;
    border: 1px solid var(--bl-line);
    border-radius: 15px;
    background: rgba(9, 29, 35, .80);
}

.gt-search-field {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0 5px 0 7px;
    color: #6c868a;
}

.gt-search-field input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #e5eceb;
    padding: 10px 0;
    font: inherit;
}

.gt-search-field input::placeholder {
    color: #667f84;
}

.gt-search-reset {
    padding: 0 10px;
    color: #8ca1a4;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.gt-events-result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 14px;
    color: #8ea3a6;
    font-size: 11px;
}

.gt-events-result-head strong {
    color: #dbe4e2;
    font-size: 12px;
}

.gt-events-grid {
    align-items: stretch;
}

.gt-pagination-dark {
    color: var(--bl-text);
}

.gt-public-dark .gt-empty {
    border-color: var(--bl-line-strong);
    background: rgba(9,29,35,.55);
    color: #91a6a8;
}

/* Event detail */
.gt-public-dark .gt-event-detail {
    padding: 42px 0 72px;
}

.gt-public-dark .gt-detail-hero {
    min-height: 470px;
    overflow: hidden;
    border: 1px solid var(--bl-line-strong);
    border-radius: 20px;
    background:
        linear-gradient(to top, rgba(3,14,18,.94), rgba(3,14,18,.16) 70%),
        radial-gradient(circle at 30% 20%, rgba(9,199,155,.18), transparent 35%),
        linear-gradient(135deg, #12353e, #071318);
    background-size: cover;
    background-position: center;
    box-shadow: var(--bl-shadow);
}

.gt-public-dark .gt-detail-hero h1 {
    text-shadow: 0 5px 28px rgba(0,0,0,.58);
}

.gt-public-dark .gt-detail-hero p {
    max-width: 680px;
    color: #d3dddd;
}

.gt-public-dark .gt-detail-grid {
    gap: 22px;
}

.gt-public-dark .gt-fact-grid div,
.gt-public-dark .gt-impact-panel,
.gt-public-dark .gt-ticket-panel {
    border-color: var(--bl-line);
    background: rgba(10, 29, 35, .88);
    color: var(--bl-text);
    box-shadow: none;
}

.gt-public-dark .gt-fact-grid small,
.gt-public-dark .gt-muted,
.gt-public-dark .gt-impact-grid span,
.gt-public-dark .gt-ticket-row span {
    color: #8fa5a8;
}

.gt-public-dark .gt-copy {
    color: #b8c7c7;
}

.gt-public-dark .gt-copy h2,
.gt-public-dark .gt-impact-panel h2,
.gt-public-dark .gt-ticket-panel h2 {
    color: var(--bl-text);
}

.gt-public-dark .gt-impact-panel {
    border-radius: 16px;
}

.gt-public-dark .gt-impact-grid strong {
    color: var(--bl-green);
}

.gt-public-dark .gt-ticket-row {
    border-color: var(--bl-line);
    background: rgba(255,255,255,.02);
}

.gt-public-dark .gt-ticket-row.is-selected {
    border-color: rgba(9,199,155,.55);
    background: rgba(9,199,155,.08);
    box-shadow: 0 0 0 3px rgba(9,199,155,.05);
}

.gt-public-dark .gt-ticket-note {
    background: rgba(255,255,255,.04);
    color: #9aafb1;
}

.gt-public-dark .gt-ticket-summary {
    border-color: var(--bl-line);
}

.gt-public-dark .gt-recovery-link {
    color: var(--bl-green);
}

.gt-public-dark .gt-table-booking select {
    width: 100%;
    margin-top: 8px;
    border: 1px solid #ccd7d7;
    border-radius: 10px;
    background: #fff;
    color: #122126;
    padding: 10px 12px;
    font: inherit;
}

/* The interactive seating map itself stays light for legibility. */
.gt-public-dark .gt-seating-chart,
.gt-public-dark .gt-seating-map-scroll,
.gt-public-dark .gt-payment-choice,
.gt-public-dark .gt-split-payment,
.gt-public-dark .gt-table-selection {
    color: #17202a;
}

.gt-public-dark .gt-seating-chart {
    border-radius: 14px;
}

@media (max-width: 1020px) {
    .gt-home-hero-grid {
        grid-template-columns: 1fr 400px;
        gap: 46px;
    }

    .gt-home-hero-copy h1 {
        font-size: clamp(46px, 7vw, 67px);
    }

    .gt-live-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 24px;
    }

    .gt-live-benefit:nth-child(3) {
        border-left: 0;
        padding-left: 0;
    }
}

@media (max-width: 860px) {
    .gt-nav-inner {
        min-height: 62px;
        flex-wrap: nowrap;
        padding: 0;
    }

    .gt-nav-links {
        width: auto;
        margin-left: auto;
        padding: 0;
    }

    .gt-nav-links > a:not(.gt-nav-cart):not(.gt-nav-buy),
    .gt-logout-form {
        display: none;
    }

    .gt-public-dark .gt-container {
        width: min(100% - 28px, 1240px);
    }

    .gt-home-hero {
        min-height: auto;
    }

    .gt-home-hero-grid {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 64px 0;
    }

    .gt-next-show-card {
        max-width: 520px;
        transform: none;
    }

    .gt-next-show-image {
        min-height: 330px;
    }

    .gt-public-dark .gt-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gt-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gt-brand {
        font-size: 21px;
    }

    .gt-brand-mark {
        width: 27px;
        height: 33px;
        flex-basis: 27px;
    }

    .gt-nav-links {
        gap: 8px;
    }

    .gt-nav-cart > span:first-child {
        display: none;
    }

    .gt-nav-buy {
        min-height: 36px;
        padding: 0 12px;
        font-size: 11px;
    }

    .gt-home-hero-copy h1 {
        font-size: clamp(43px, 13.5vw, 60px);
    }

    .gt-home-hero-copy > p {
        font-size: 15px;
    }

    .gt-hero-trust {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .gt-hero-trust > div,
    .gt-hero-trust > div + div {
        border-left: 0;
        padding: 0;
    }

    .gt-next-show-body {
        grid-template-columns: 1fr;
    }

    .gt-next-show-action {
        justify-items: start;
    }

    .gt-public-dark .gt-card-grid {
        grid-template-columns: 1fr;
    }

    .gt-live-benefits-grid {
        grid-template-columns: 1fr;
    }

    .gt-live-benefit,
    .gt-live-benefit:first-child,
    .gt-live-benefit:nth-child(3) {
        padding: 10px 0;
        border-left: 0;
    }

    .gt-live-benefit + .gt-live-benefit {
        border-top: 1px solid var(--bl-line);
    }

    .gt-events-page {
        padding-top: 52px;
    }

    .gt-events-heading h1 {
        font-size: clamp(42px, 13vw, 58px);
    }

    .gt-event-search {
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .gt-search-reset {
        grid-column: 1 / -1;
        padding-bottom: 4px;
    }

    .gt-events-result-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .gt-public-dark .gt-detail-hero {
        min-height: 360px;
        padding: 22px;
    }

    .gt-footer-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .gt-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}

.gt-home-hero-grid.is-single {
    grid-template-columns: minmax(0, 780px);
}

.gt-auth-card .gt-brand-mark::before,
.gt-auth-card .gt-brand-mark::after {
    background: white;
}

/* Seating styles bundled for direct-load fallback */
.gt-detail-grid.has-seating, .gt-detail-grid.has-seating .gt-ticket-panel, .gt-table-booking, .gt-seating-chart { min-width: 0; }
.gt-seating-chart { width: 100%; max-width: 100%; }
.gt-seating-map-scroll { width: 100%; max-width: 100%; overflow: auto; border: 1px solid #d8dee6; background: #fff; padding: 16px; }
.gt-seating-map-scroll svg { display: block; min-width: 680px; width: 100%; height: auto; }
.gt-stage { fill: #eef1f3; stroke: #18212a; stroke-width: 2; }
.gt-stage-label { fill: #18212a; font: 700 24px Manrope, sans-serif; letter-spacing: 0; text-anchor: middle; }
.gt-map-table rect { stroke-width: 2; transition: fill .15s, stroke .15s, opacity .15s; }
.gt-map-table text { pointer-events: none; text-anchor: middle; }
.gt-table-number { fill: #17202a; font: 800 23px Manrope, sans-serif; }
.gt-table-capacity { fill: #53606e; font: 600 12px Manrope, sans-serif; }
.gt-map-table.is-available rect, .gt-seating-legend .is-available { fill: #e7f7ec; background: #e7f7ec; stroke: #2e7d32; border-color: #2e7d32; }
.gt-map-table.is-selected rect, .gt-seating-legend .is-selected { fill: #d8edeb; background: #d8edeb; stroke: #1f776f; border-color: #1f776f; stroke-width: 5; }
.gt-map-table.is-held rect, .gt-seating-legend .is-held { fill: #fff3cd; background: #fff3cd; stroke: #a56a12; border-color: #a56a12; }
.gt-map-table.is-reserved rect, .gt-seating-legend .is-reserved { fill: #e5e7eb; background: #e5e7eb; stroke: #6b7280; border-color: #6b7280; }
.gt-map-table.is-blocked rect, .gt-seating-legend .is-blocked { fill: #fee2e2; background: #fee2e2; stroke: #b91c1c; border-color: #b91c1c; }
.gt-map-table.is-compatible { cursor: pointer; }
.gt-map-table.is-unfit { opacity: .18; pointer-events: none; }
.gt-map-table:focus-visible { outline: none; }
.gt-map-table:focus-visible rect { stroke: #111827; stroke-width: 6; }
.gt-seating-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 14px; font-size: 12px; color: #52606d; }
.gt-seating-legend span { display: inline-flex; align-items: center; gap: 7px; }
.gt-seating-legend i { display: inline-block; width: 14px; height: 14px; border: 2px solid; border-radius: 3px; }
.gt-table-booking { display: grid; gap: 18px; }
.gt-table-booking label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.gt-table-booking select { height: 44px; border: 1px solid hsl(var(--border)); background: #fff; padding: 0 12px; }
.gt-table-selection { min-height: 88px; border: 1px solid hsl(var(--border)); background: hsl(var(--muted)); padding: 14px; }
.gt-table-selection strong, .gt-table-selection span { display: block; }
.gt-table-selection span { margin-top: 5px; color: hsl(var(--muted-foreground)); font-size: 13px; }
.gt-payment-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; border: 0; }
.gt-payment-choice legend { grid-column: 1 / -1; margin-bottom: 7px; font-size: 13px; font-weight: 700; }
.gt-payment-choice label { position: relative; display: block; cursor: pointer; }
.gt-payment-choice input { position: absolute; opacity: 0; pointer-events: none; }
.gt-payment-choice label > span { display: grid; gap: 5px; min-height: 90px; align-content: center; padding: 14px; border: 1px solid hsl(var(--border)); background: #fff; }
.gt-payment-choice small, .gt-split-payment small { color: hsl(var(--muted-foreground)); font-weight: 500; }
.gt-payment-choice input:checked + span { border-color: #1f776f; box-shadow: inset 0 0 0 1px #1f776f; background: #eef8f6; }
.gt-payment-choice input:focus-visible + span { outline: 3px solid rgb(31 119 111 / 25%); outline-offset: 2px; }
.gt-payment-choice input:disabled + span { cursor: not-allowed; opacity: .48; }
.gt-split-payment { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px 16px; padding: 14px; border-left: 3px solid #1f776f; background: #eef8f6; }
.gt-split-payment[hidden] { display: none; }
.gt-split-payment > span { font-size: 13px; font-weight: 700; }
.gt-split-payment small { grid-column: 1 / -1; }
.gt-split-payment .quantity-control { display: inline-flex; height: 44px; overflow: hidden; border: 1px solid hsl(var(--border)); border-radius: 999px; background: #fff; }
.gt-split-payment .quantity-control button, .gt-split-payment .quantity-value { display: flex; align-items: center; justify-content: center; min-width: 46px; height: 44px; padding: 0; border: 0; background: transparent; line-height: 1; }
.gt-split-payment .quantity-control button + .quantity-value, .gt-split-payment .quantity-value + button { border-left: 1px solid hsl(var(--border)); }
.gt-split-payment .quantity-value { font-weight: 700; }
.gt-seat-state-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid hsl(var(--border)); background: hsl(var(--border)); }
.gt-seat-state-grid div { display: grid; gap: 5px; padding: 16px; background: #fff; text-align: center; }
.gt-seat-state-grid strong { font-size: 24px; }
.gt-seat-state-grid span { color: hsl(var(--muted-foreground)); font-size: 12px; }
.gt-invitation-card { display: grid; gap: 18px; }
.gt-invitation-form { display: grid; gap: 14px; }
.gt-invitation-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.gt-invitation-form select { height: 44px; border: 1px solid hsl(var(--border)); background: #fff; padding: 0 12px; }
.gt-invitation-form input { height: 46px; border: 1px solid hsl(var(--border)); background: #fff; padding: 0 12px; font: inherit; text-transform: uppercase; }
.gt-recovery-link { color: hsl(var(--primary)); font-size: 13px; font-weight: 700; }
.gt-group-share { display: grid; gap: 12px; margin: 18px 0; padding: 16px; border: 1px solid #9acbc4; background: #eef8f6; }
.gt-group-share strong, .gt-group-share span { display: block; }
.gt-group-share span, .gt-group-share small { margin-top: 4px; color: hsl(var(--muted-foreground)); }
.gt-share-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.gt-share-link input { min-width: 0; height: 44px; border: 1px solid hsl(var(--border)); background: #fff; padding: 0 12px; }
@media (max-width: 700px) { .gt-seating-map-scroll { padding: 8px; } .gt-seating-map-scroll svg { min-width: 560px; } }
@media (max-width: 560px) { .gt-payment-choice { grid-template-columns: 1fr; } .gt-seat-state-grid { grid-template-columns: 1fr; } .gt-share-link { grid-template-columns: 1fr; } }


/* =========================================================
   BileteLive UI v3 — compact ticketing-first public layout
   Inspired by the information density of major ticketing sites:
   useful actions and events appear above the fold, while the
   Scarlet Aura identity remains in the colour/typography system.
   ========================================================= */

/* Keep the shell intentionally compact. */
.gt-public-dark .gt-container {
    width: min(1160px, calc(100% - 40px));
}

.gt-nav,
.gt-nav-inner {
    min-height: 64px;
}

.gt-nav-inner {
    gap: 24px;
}

.gt-brand {
    font-size: 22px;
}

.gt-brand-mark {
    width: 28px;
    height: 34px;
    flex-basis: 28px;
}

.gt-nav-links {
    gap: 18px;
    font-size: 12px;
}

.gt-nav-buy {
    min-height: 38px;
    padding: 0 16px;
}

/* Homepage: a compact commerce hero, not a full-screen campaign poster. */
.gt-home-hero {
    min-height: 0;
    align-items: stretch;
}

.gt-home-hero-glow {
    width: 520px;
    height: 520px;
    right: -150px;
    top: -220px;
    opacity: .75;
}

.gt-home-hero-grid {
    grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr);
    gap: 44px;
    align-items: center;
    padding: 48px 0 50px;
}

.gt-kicker,
.gt-section-kicker {
    font-size: 10px;
    letter-spacing: .14em;
}

.gt-home-hero-copy h1 {
    max-width: 610px;
    margin: 12px 0 16px;
    font-size: clamp(38px, 4.15vw, 54px);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.gt-home-hero-copy > p {
    max-width: 600px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.65;
}

.gt-home-hero .gt-actions {
    gap: 9px;
}

.gt-home-hero .gt-button {
    min-height: 40px;
    border-radius: 9px;
    padding: 9px 14px;
    font-size: 12px;
}

.gt-hero-trust {
    max-width: 610px;
    margin-top: 24px;
    padding-top: 17px;
}

.gt-hero-trust > div {
    gap: 3px;
    padding-right: 14px;
}

.gt-hero-trust > div + div {
    padding-left: 14px;
}

.gt-hero-trust strong {
    font-size: 11px;
}

.gt-hero-trust span {
    font-size: 10px;
}

/* Featured show: horizontal and scan-friendly. */
.gt-next-show-card {
    display: grid;
    grid-template-columns: minmax(170px, 42%) minmax(0, 58%);
    min-height: 252px;
    border-radius: 15px;
    transform: none;
    box-shadow: 0 16px 44px rgba(0,0,0,.20);
}

.gt-next-show-image {
    min-height: 252px;
    height: 100%;
}

.gt-next-show-placeholder {
    font-size: 32px;
}

.gt-next-label {
    top: 13px;
    left: 13px;
    padding: 6px 8px;
    font-size: 8px;
}

.gt-next-show-body {
    grid-template-columns: 1fr;
    align-content: space-between;
    gap: 20px;
    min-width: 0;
    padding: 20px;
}

.gt-next-date {
    font-size: 10px;
}

.gt-next-show-body h2 {
    margin: 7px 0 5px;
    font-size: 23px;
    line-height: 1.12;
}

.gt-next-show-body p,
.gt-next-show-action > span {
    font-size: 11px;
}

.gt-next-show-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gt-next-show-action .gt-button-small {
    flex: 0 0 auto;
}

/* Upcoming events should begin quickly after the hero. */
.gt-upcoming-section {
    padding: 42px 0 48px;
}

.gt-section-header,
.gt-dashboard-head {
    margin-bottom: 17px;
}

.gt-section-header-dark h2 {
    font-size: clamp(28px, 3vw, 36px);
}

.gt-section-header-dark a {
    font-size: 12px;
}

.gt-public-dark .gt-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.gt-public-dark .gt-event-card {
    border-radius: 12px;
}

.gt-public-dark .gt-event-card:hover {
    transform: translateY(-2px);
}

.gt-public-dark .gt-event-image {
    aspect-ratio: 16 / 9;
}

.gt-event-featured-badge {
    top: 9px;
    left: 9px;
    padding: 5px 7px;
    font-size: 9px;
}

.gt-event-placeholder {
    font-size: 27px;
}

.gt-public-dark .gt-card-body {
    padding: 14px;
}

.gt-public-dark .gt-badge {
    padding: 4px 7px;
    font-size: 9px;
}

.gt-public-dark .gt-card-body h3 {
    min-height: 42px;
    margin: 9px 0 10px;
    font-size: 18px;
    line-height: 1.18;
}

.gt-public-dark .gt-meta {
    min-height: 46px;
    gap: 5px;
    font-size: 11px;
}

.gt-meta-row > strong {
    font-size: 11px;
}

.gt-public-dark .gt-card-bottom {
    margin-top: 12px;
    padding-top: 12px;
}

.gt-public-dark .gt-card-price small {
    font-size: 9px;
}

.gt-public-dark .gt-card-price strong {
    font-size: 13px;
}

.gt-public-dark .gt-event-card .gt-button-small {
    min-height: 32px;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 10px;
}

.gt-live-benefits {
    padding: 18px 0;
}

.gt-live-benefit {
    gap: 10px;
    padding: 6px 18px;
}

.gt-live-benefit-icon {
    flex-basis: 31px;
    width: 31px;
    height: 31px;
    font-size: 10px;
}

.gt-live-benefit strong {
    font-size: 11px;
}

.gt-live-benefit p {
    font-size: 10px;
    line-height: 1.45;
}

/* Events catalogue: compact title + filter + inventory, like a ticketing product. */
.gt-events-page {
    padding: 46px 0 64px;
}

.gt-events-heading {
    max-width: 680px;
}

.gt-events-heading h1 {
    margin: 6px 0 10px;
    font-size: clamp(36px, 4.2vw, 48px);
    line-height: 1.03;
}

.gt-events-heading > p {
    max-width: 650px;
    font-size: 13px;
    line-height: 1.6;
}

.gt-event-search {
    margin: 24px 0 18px;
    padding: 8px;
    border-radius: 11px;
}

.gt-search-field input {
    padding: 8px 0;
    font-size: 13px;
}

.gt-event-search .gt-button {
    min-height: 38px;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 11px;
}

.gt-events-result-head {
    margin-bottom: 11px;
}

.gt-events-result-head strong {
    font-size: 11px;
}

/* Footer should not compete with the buying flow. */
.gt-footer {
    padding: 30px 0 16px;
}

.gt-footer-grid {
    gap: 24px;
}

.gt-footer-bottom {
    margin-top: 22px;
}

@media (max-width: 1040px) {
    .gt-home-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .95fr);
        gap: 32px;
    }

    .gt-public-dark .gt-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .gt-home-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 38px 0 42px;
    }

    .gt-home-hero-copy h1 {
        max-width: 650px;
        font-size: clamp(38px, 8vw, 50px);
    }

    .gt-next-show-card {
        max-width: 650px;
    }
}

@media (max-width: 620px) {
    .gt-public-dark .gt-container {
        width: min(100% - 24px, 1160px);
    }

    .gt-home-hero-grid {
        padding: 30px 0 34px;
    }

    .gt-home-hero-copy h1 {
        font-size: clamp(34px, 11vw, 44px);
    }

    .gt-home-hero-copy > p {
        font-size: 13px;
    }

    .gt-next-show-card {
        grid-template-columns: 1fr;
    }

    .gt-next-show-image {
        min-height: 220px;
    }

    .gt-next-show-body {
        padding: 16px;
    }

    .gt-public-dark .gt-card-grid {
        grid-template-columns: 1fr;
    }

    .gt-upcoming-section {
        padding: 34px 0 40px;
    }

    .gt-events-page {
        padding-top: 34px;
    }

    .gt-events-heading h1 {
        font-size: clamp(34px, 11vw, 44px);
    }
}

/* =========================================================
   BileteLive UI v4 — bright, family-friendly marketplace
   The platform shell is neutral and welcoming. Individual
   event artwork can still be rock, theatre, kids, comedy, etc.
   ========================================================= */

:root {
    --bl-page: #f6faf8;
    --bl-page-warm: #fffaf4;
    --bl-surface: #ffffff;
    --bl-surface-soft: #edf8f4;
    --bl-navy: #173238;
    --bl-navy-soft: #315057;
    --bl-muted-light: #687d82;
    --bl-border-light: #d8e7e2;
    --bl-border-strong-light: #c3d9d3;
    --bl-green: #09a982;
    --bl-green-deep: #078468;
    --bl-green-soft: #def5ed;
    --bl-yellow-soft: #fff2c9;
    --bl-light-shadow: 0 12px 34px rgba(31, 73, 66, 0.08);
}

/* Public shell: bright rather than genre-specific. */
.gt-public-dark {
    background: var(--bl-page);
    color: var(--bl-navy);
}

.gt-public-dark main {
    background:
        radial-gradient(700px 360px at 93% 4%, rgba(9,169,130,.10), transparent 68%),
        radial-gradient(600px 300px at 6% 12%, rgba(255,214,130,.13), transparent 68%),
        linear-gradient(180deg, #fbfdfc 0%, var(--bl-page) 42%, #f8fbfa 100%);
}

/* Header */
.gt-nav {
    border-bottom: 1px solid var(--bl-border-light);
    background: rgba(255,255,255,.93);
    color: var(--bl-navy);
    box-shadow: 0 1px 0 rgba(23,50,56,.02);
}

.gt-brand,
.gt-footer-brand {
    color: var(--bl-navy);
}

.gt-brand-name > span {
    color: #668086;
}

.gt-brand-mark::before,
.gt-brand-mark::after,
.gt-footer .gt-brand-mark::before,
.gt-footer .gt-brand-mark::after {
    background: #fff;
}

.gt-nav-links a,
.gt-logout-form button {
    color: #31545b;
}

.gt-nav-links a:hover,
.gt-logout-form button:hover {
    color: var(--bl-green-deep);
}

.gt-nav-buy {
    border-color: rgba(9,169,130,.32);
    background: var(--bl-green);
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(9,169,130,.14);
}

.gt-nav-buy:hover {
    background: var(--bl-green-deep);
    color: #fff !important;
}

.gt-nav-cart-count {
    color: #fff;
}

/* Hero */
.gt-home-hero {
    border-bottom: 1px solid var(--bl-border-light);
    background:
        radial-gradient(520px 300px at 88% 18%, rgba(9,169,130,.11), transparent 72%),
        radial-gradient(420px 240px at 8% 20%, rgba(255,216,147,.16), transparent 70%),
        linear-gradient(135deg, #ffffff 0%, #f2faf7 58%, #fffaf2 100%);
}

.gt-home-hero::before {
    opacity: .33;
    background-image:
        linear-gradient(rgba(23,50,56,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23,50,56,.025) 1px, transparent 1px);
}

.gt-home-hero-glow {
    width: 420px;
    height: 420px;
    right: -80px;
    top: -180px;
    opacity: .55;
    background: radial-gradient(circle, rgba(9,169,130,.13), transparent 66%);
}

.gt-kicker,
.gt-section-kicker {
    color: var(--bl-green-deep);
}

.gt-kicker > span {
    background: var(--bl-green);
}

.gt-home-hero-copy h1 {
    color: var(--bl-navy);
}

.gt-home-hero-copy h1 em,
.gt-events-heading h1 em {
    color: var(--bl-green-deep);
}

.gt-home-hero-copy > p {
    color: #5b7278;
}

.gt-button-primary,
.gt-public-dark .gt-button {
    border-color: rgba(9,169,130,.25);
    background: var(--bl-green);
    color: #fff;
    box-shadow: 0 6px 18px rgba(9,169,130,.12);
}

.gt-public-dark .gt-button:hover {
    background: var(--bl-green-deep);
    color: #fff;
}

.gt-button-outline-dark {
    border-color: var(--bl-border-strong-light) !important;
    background: rgba(255,255,255,.70) !important;
    color: var(--bl-navy) !important;
}

.gt-button-outline-dark:hover {
    border-color: var(--bl-green) !important;
    background: #fff !important;
    color: var(--bl-green-deep) !important;
}

.gt-hero-trust {
    border-top-color: var(--bl-border-light);
}

.gt-hero-trust > div + div {
    border-left-color: var(--bl-border-light);
}

.gt-hero-trust strong {
    color: var(--bl-navy);
}

.gt-hero-trust span {
    color: #71868a;
}

/* Featured event */
.gt-next-show-card {
    border-color: var(--bl-border-light);
    background: #fff;
    color: var(--bl-navy);
    box-shadow: var(--bl-light-shadow);
}

.gt-next-show-image {
    background:
        radial-gradient(circle at 35% 20%, rgba(9,169,130,.15), transparent 38%),
        linear-gradient(135deg, #dff4ed, #edf7f4 55%, #fff6e8);
    color: var(--bl-navy);
}

.gt-next-show-image::after {
    background: linear-gradient(to top, rgba(25,56,61,.10), transparent 55%);
}

.gt-next-label {
    border-color: rgba(9,169,130,.24);
    background: rgba(255,255,255,.92);
    color: var(--bl-green-deep);
}

.gt-next-show-body h2 {
    color: var(--bl-navy);
}

.gt-next-show-body p,
.gt-next-show-action > span {
    color: var(--bl-muted-light);
}

.gt-next-date {
    color: var(--bl-green-deep);
}

/* Catalogue */
.gt-upcoming-section {
    background: rgba(255,255,255,.34);
}

.gt-section-header-dark h2,
.gt-events-heading h1 {
    color: var(--bl-navy);
}

.gt-section-header-dark a,
.gt-public-dark .gt-section-header a,
.gt-search-reset {
    color: var(--bl-green-deep);
}

.gt-public-dark .gt-event-card {
    border-color: var(--bl-border-light);
    background: #fff;
    color: var(--bl-navy);
    box-shadow: 0 5px 20px rgba(30,70,64,.055);
}

.gt-public-dark .gt-event-card:hover {
    border-color: #9bcfc1;
    box-shadow: 0 14px 34px rgba(30,70,64,.10);
}

.gt-public-dark .gt-event-image {
    background:
        radial-gradient(circle at 25% 18%, rgba(9,169,130,.13), transparent 38%),
        linear-gradient(135deg, #dff4ed, #edf8f4 62%, #fff4de);
    color: var(--bl-navy);
}

.gt-event-image-overlay {
    background: linear-gradient(to top, rgba(23,50,56,.08), transparent 48%);
}

.gt-event-featured-badge {
    border-color: rgba(9,169,130,.25);
    background: rgba(255,255,255,.94);
    color: var(--bl-green-deep);
    box-shadow: 0 3px 10px rgba(30,70,64,.06);
}

.gt-event-placeholder {
    max-width: 80%;
    color: #31565d;
    font-size: 22px;
    line-height: 1.08;
    letter-spacing: -.015em;
}

.gt-public-dark .gt-card-body {
    background: #fff;
}

.gt-public-dark .gt-badge {
    border-color: #e1e9e7;
    background: #f4f7f6;
    color: #53696f;
}

.gt-public-dark .gt-badge-green {
    border-color: #bfe7db;
    background: var(--bl-green-soft);
    color: #08745b;
}

.gt-public-dark .gt-badge-seating {
    border-color: #ead9a5;
    background: var(--bl-yellow-soft);
    color: #7a601a;
}

.gt-public-dark .gt-card-body h3 {
    color: var(--bl-navy);
}

.gt-public-dark .gt-meta {
    color: #687e83;
}

.gt-meta-row > strong {
    color: #36a88d;
}

.gt-public-dark .gt-card-bottom {
    border-top-color: #e7efec;
}

.gt-public-dark .gt-card-price small {
    color: #77898d;
}

.gt-public-dark .gt-card-price strong {
    color: #20383e;
}

/* Benefits */
.gt-live-benefits {
    border-top-color: var(--bl-border-light);
    border-bottom: 1px solid var(--bl-border-light);
    background: #edf8f4;
}

.gt-live-benefit + .gt-live-benefit {
    border-left-color: #d0e7e0;
}

.gt-live-benefit-icon {
    border-color: #bce5d9;
    background: #fff;
    color: var(--bl-green-deep);
}

.gt-live-benefit strong {
    color: var(--bl-navy);
}

.gt-live-benefit p {
    color: #60787d;
}

/* Events listing/search */
.gt-events-page {
    background: transparent;
}

.gt-events-heading > p,
.gt-events-result-head span {
    color: #667d82;
}

.gt-event-search {
    border-color: var(--bl-border-light);
    background: #fff;
    box-shadow: 0 7px 22px rgba(30,70,64,.05);
}

.gt-search-field,
.gt-search-field input {
    color: var(--bl-navy);
}

.gt-search-field input::placeholder {
    color: #8ba0a4;
}

.gt-events-result-head {
    color: var(--bl-navy);
}

.gt-public-dark .gt-empty {
    border-color: var(--bl-border-light);
    background: #fff;
    color: #6d8286;
}

/* Event detail / checkout-facing public panels: keep them bright too. */
.gt-public-dark .gt-event-detail {
    color: var(--bl-navy);
    background: transparent;
}

.gt-public-dark .gt-detail-grid,
.gt-public-dark .gt-copy {
    color: var(--bl-navy);
}

.gt-public-dark .gt-fact-grid div,
.gt-public-dark .gt-impact-panel,
.gt-public-dark .gt-ticket-panel {
    border-color: var(--bl-border-light);
    background: #fff;
    color: var(--bl-navy);
    box-shadow: 0 6px 22px rgba(30,70,64,.055);
}

.gt-public-dark .gt-fact-grid small,
.gt-public-dark .gt-muted,
.gt-public-dark .gt-impact-grid span,
.gt-public-dark .gt-ticket-row span {
    color: #6a8085;
}

.gt-public-dark .gt-copy h2,
.gt-public-dark .gt-impact-panel h2,
.gt-public-dark .gt-ticket-panel h2 {
    color: var(--bl-navy);
}

.gt-public-dark .gt-ticket-row {
    border-color: var(--bl-border-light);
    background: #fbfdfc;
}

.gt-public-dark .gt-ticket-row.is-selected {
    border-color: #79c9b5;
    background: #eff9f6;
}

.gt-public-dark .gt-ticket-note {
    background: #f1f7f5;
    color: #60777c;
}

.gt-public-dark .gt-ticket-summary {
    border-top-color: var(--bl-border-light);
}

.gt-public-dark .gt-table-booking select,
.gt-public-dark .gt-seating-chart,
.gt-public-dark .gt-seating-map-scroll,
.gt-public-dark .gt-payment-choice,
.gt-public-dark .gt-split-payment,
.gt-public-dark .gt-table-selection {
    border-color: var(--bl-border-light);
    background: #fff;
    color: var(--bl-navy);
}

/* Footer: light, neutral and suitable for any event category. */
.gt-footer {
    border-top-color: var(--bl-border-light);
    background: #fff;
    color: #667d82;
}

.gt-footer strong {
    color: var(--bl-navy);
}

.gt-footer-bottom {
    border-top-color: var(--bl-border-light);
    color: #819397;
}

/* A little warmth makes the UI friendlier without becoming childish. */
.gt-next-show-card,
.gt-public-dark .gt-event-card,
.gt-event-search,
.gt-public-dark .gt-ticket-panel,
.gt-public-dark .gt-impact-panel {
    transition: box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease;
}

@media (max-width: 860px) {
    .gt-home-hero {
        background: linear-gradient(180deg, #fff 0%, #f2faf7 72%, #fffaf4 100%);
    }
}

/* ==========================================================================
   BileteLive v5 — lively, genre-neutral marketplace
   The platform stays friendly and bright; each event carries its own mood.
   ========================================================================== */

:root {
    --bl-ink: #16353d;
    --bl-ink-soft: #4f6c72;
    --bl-paper: #fffdf8;
    --bl-paper-2: #f8fbfa;
    --bl-teal: #08aa86;
    --bl-teal-dark: #07826a;
    --bl-teal-soft: #daf5ed;
    --bl-coral: #ff786b;
    --bl-coral-soft: #fff0ed;
    --bl-violet: #7667e8;
    --bl-violet-soft: #eeebff;
    --bl-yellow: #f4b63e;
    --bl-yellow-soft-v5: #fff4d3;
    --bl-blue: #4c8ee8;
    --bl-blue-soft: #eaf3ff;
    --bl-pink: #dc70a7;
    --bl-pink-soft: #faeaf3;
    --bl-card-shadow: 0 14px 36px rgba(40, 79, 75, 0.09);
}

.gt-public-dark main {
    background:
        radial-gradient(620px 320px at 92% 0%, rgba(118,103,232,.10), transparent 68%),
        radial-gradient(520px 280px at 8% 5%, rgba(255,120,107,.09), transparent 70%),
        linear-gradient(180deg, #fffefa 0%, #f8fcfa 58%, #fffdfa 100%);
}

/* Keep the product clean, but give it a pulse. */
.gt-nav {
    background: rgba(255,255,255,.96);
}

.gt-brand-mark {
    background: linear-gradient(145deg, #0db38d, #0b9378);
    box-shadow: 0 8px 20px rgba(8,170,134,.18);
}

.gt-nav-buy {
    background: linear-gradient(135deg, #0caf89, #08a47f);
    box-shadow: 0 9px 22px rgba(8,170,134,.18);
}

/* ---------- Events discovery ---------- */
.gt-events-page-vibrant {
    padding-top: 42px;
}

.gt-discover-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid #d9ebe6;
    border-radius: 28px;
    background:
        radial-gradient(330px 220px at 94% 18%, rgba(118,103,232,.16), transparent 70%),
        radial-gradient(280px 180px at 77% 94%, rgba(255,120,107,.15), transparent 70%),
        linear-gradient(135deg, #ecfaf5 0%, #fffef9 52%, #f7f4ff 100%);
    padding: 36px 38px 28px;
    box-shadow: 0 16px 44px rgba(46,87,81,.08);
}

.gt-discover-panel::before,
.gt-discover-panel::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.gt-discover-panel::before {
    width: 86px;
    height: 86px;
    right: 108px;
    top: -36px;
    border: 16px solid rgba(244,182,62,.32);
    transform: rotate(12deg);
}

.gt-discover-panel::after {
    width: 38px;
    height: 38px;
    right: 34px;
    bottom: 22px;
    background: rgba(8,170,134,.18);
    box-shadow: -48px -40px 0 rgba(255,120,107,.13);
}

.gt-events-heading {
    position: relative;
    z-index: 2;
    max-width: 720px;
}

.gt-events-heading h1 {
    margin: 6px 0 8px;
    font-size: clamp(38px, 5vw, 58px);
    line-height: .98;
    letter-spacing: -.035em;
}

.gt-events-heading h1 em {
    font-style: normal;
    color: var(--bl-coral);
}

.gt-events-heading > p {
    max-width: 680px;
    margin: 0;
    color: #557177;
    font-size: 15px;
    line-height: 1.6;
}

.gt-discover-stamps {
    position: absolute;
    z-index: 2;
    right: 34px;
    top: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: rotate(2deg);
}

.gt-discover-stamps span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border: 1px solid rgba(23,53,61,.10);
    border-radius: 999px;
    padding: 7px 11px;
    color: var(--bl-ink);
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(36,73,68,.06);
}

.gt-discover-stamps .is-coral { background: var(--bl-coral-soft); }
.gt-discover-stamps .is-violet { background: var(--bl-violet-soft); }
.gt-discover-stamps .is-yellow { background: var(--bl-yellow-soft-v5); }

.gt-event-search-vibrant {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    margin: 26px 0 0;
    border: 0;
    border-radius: 17px;
    padding: 7px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 28px rgba(34,75,68,.10);
}

.gt-event-search-vibrant .gt-search-field {
    min-height: 46px;
    border: 0;
    border-radius: 12px;
    background: transparent;
}

.gt-event-search-vibrant .gt-search-field > span {
    color: var(--bl-teal-dark);
    font-size: 19px;
}

.gt-event-search-vibrant .gt-button {
    min-height: 46px;
    border-radius: 12px;
    padding-inline: 20px;
}

.gt-category-rail {
    display: flex;
    gap: 9px;
    margin: 20px 0 24px;
    overflow-x: auto;
    padding: 2px 1px 8px;
    scrollbar-width: none;
}

.gt-category-rail::-webkit-scrollbar { display: none; }

.gt-category-chip {
    --chip-bg: #fff;
    --chip-color: var(--bl-ink);
    --chip-border: #dce8e5;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    min-height: 39px;
    border: 1px solid var(--chip-border);
    border-radius: 999px;
    background: var(--chip-bg);
    color: var(--chip-color);
    padding: 8px 13px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.gt-category-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 16px rgba(44,78,74,.08);
}

.gt-category-chip > span {
    font-size: 14px;
}

.gt-category-chip--concert { --chip-bg: #e9faf5; --chip-border: #bce9dc; --chip-color: #08775f; }
.gt-category-chip--family { --chip-bg: #fff0ed; --chip-border: #ffd4cc; --chip-color: #a9463e; }
.gt-category-chip--theatre { --chip-bg: #eeebff; --chip-border: #d9d3ff; --chip-color: #5c4fc0; }
.gt-category-chip--festival { --chip-bg: #fff4d3; --chip-border: #f4dfa4; --chip-color: #8a6415; }
.gt-category-chip--comedy { --chip-bg: #faeaf3; --chip-border: #f0cde0; --chip-color: #9a4672; }
.gt-category-chip--workshop { --chip-bg: #eaf3ff; --chip-border: #cfdef4; --chip-color: #376da9; }

.gt-category-chip.is-active {
    border-color: var(--bl-ink);
    box-shadow: 0 0 0 2px rgba(22,53,61,.04), 0 6px 16px rgba(44,78,74,.08);
}

.gt-category-chip--all.is-active {
    background: var(--bl-ink);
    color: #fff;
    border-color: var(--bl-ink);
}

.gt-events-result-head-vibrant {
    align-items: flex-end;
    margin-bottom: 16px;
}

.gt-events-result-head-vibrant > div {
    display: grid;
    gap: 2px;
}

.gt-events-result-head-vibrant > div > strong {
    color: var(--bl-ink);
    font-size: 18px;
}

.gt-events-result-head-vibrant > div > span {
    color: #7a9094;
    font-size: 12px;
}

.gt-result-trust {
    color: #668086 !important;
    font-size: 12px;
}

/* ---------- Event cards: colorful by category, never genre-locked ---------- */
.gt-events-grid-vibrant,
.gt-upcoming-section-vibrant .gt-card-grid {
    gap: 18px;
}

.gt-public-dark .gt-event-card {
    position: relative;
    border-radius: 21px;
    border-color: #e0eae7;
    box-shadow: 0 7px 24px rgba(38,78,72,.07);
    transform: translateZ(0);
}

.gt-public-dark .gt-event-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--bl-card-shadow);
}

.gt-public-dark .gt-event-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    isolation: isolate;
    font-family: "Gloock", Georgia, serif;
}

.gt-event-card--concert .gt-event-image {
    background: linear-gradient(135deg, #d9f7ed 0%, #cceef5 54%, #eef8ff 100%);
}

.gt-event-card--family .gt-event-image {
    background: linear-gradient(135deg, #fff0ea 0%, #fff6d9 48%, #eeeaff 100%);
}

.gt-event-card--theatre .gt-event-image {
    background: linear-gradient(135deg, #efeaff 0%, #f6eafa 45%, #fff1e8 100%);
}

.gt-event-card--festival .gt-event-image {
    background: linear-gradient(135deg, #fff1c7 0%, #e9f8dd 48%, #dff5f5 100%);
}

.gt-event-card--comedy .gt-event-image {
    background: linear-gradient(135deg, #ffe8f2 0%, #fff2c9 52%, #f3eaff 100%);
}

.gt-event-card--workshop .gt-event-image {
    background: linear-gradient(135deg, #e7f2ff 0%, #e7f8ef 52%, #fff1d9 100%);
}

.gt-event-placeholder-art {
    position: absolute;
    inset: 0;
    z-index: -1;
    display: block;
}

.gt-event-placeholder-icon {
    position: absolute;
    right: 22px;
    bottom: 8px;
    color: rgba(22,53,61,.09);
    font-family: "Manrope", sans-serif;
    font-size: 92px;
    font-weight: 900;
    line-height: 1;
    transform: rotate(-8deg);
}

.gt-event-placeholder-ring {
    position: absolute;
    width: 116px;
    height: 116px;
    right: -30px;
    top: -30px;
    border: 18px solid rgba(255,255,255,.58);
    border-radius: 50%;
}

.gt-event-placeholder-dot {
    position: absolute;
    width: 54px;
    height: 54px;
    left: 26px;
    bottom: 22px;
    border-radius: 18px;
    background: rgba(255,255,255,.38);
    transform: rotate(18deg);
}

.gt-event-placeholder-title {
    position: relative;
    z-index: 2;
    max-width: 72%;
    padding: 20px;
    color: #264c54;
    font-size: clamp(19px, 2vw, 27px);
    line-height: 1.04;
    text-align: left;
    text-wrap: balance;
}

.gt-event-image-overlay {
    z-index: 1;
    background: linear-gradient(to top, rgba(18,53,60,.06), transparent 46%);
}

.gt-event-date-tile {
    position: absolute;
    z-index: 4;
    left: 12px;
    top: 12px;
    display: grid;
    justify-items: center;
    min-width: 48px;
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 13px;
    background: rgba(255,255,255,.91);
    color: var(--bl-ink);
    padding: 6px 8px;
    box-shadow: 0 7px 18px rgba(34,70,66,.08);
    backdrop-filter: blur(8px);
}

.gt-event-date-tile strong {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 17px;
    line-height: 1;
}

.gt-event-date-tile small {
    margin-top: 3px;
    color: #688086;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.gt-event-category-badge {
    position: absolute;
    z-index: 4;
    left: 70px;
    top: 15px;
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    color: #395e65;
    padding: 5px 9px;
    font-size: 10px;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.gt-event-featured-badge {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: auto;
    background: rgba(255,255,255,.92);
    color: #08765f;
    font-size: 10px;
}

.gt-public-dark .gt-card-body {
    padding: 15px 15px 14px;
}

.gt-public-dark .gt-card-body h3 {
    min-height: auto;
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 1.18;
}

.gt-public-dark .gt-meta {
    min-height: 0;
    gap: 4px;
    font-size: 12px;
}

.gt-public-dark .gt-card-bottom {
    margin-top: 13px;
    padding-top: 12px;
}

.gt-public-dark .gt-card-price strong {
    font-size: 15px;
}

.gt-public-dark .gt-event-card .gt-button-small {
    border-radius: 11px;
}

.gt-event-card--family .gt-button-small { background: var(--bl-coral); border-color: var(--bl-coral); }
.gt-event-card--theatre .gt-button-small { background: var(--bl-violet); border-color: var(--bl-violet); }
.gt-event-card--festival .gt-button-small { background: #d99a23; border-color: #d99a23; }
.gt-event-card--comedy .gt-button-small { background: var(--bl-pink); border-color: var(--bl-pink); }
.gt-event-card--workshop .gt-button-small { background: var(--bl-blue); border-color: var(--bl-blue); }

.gt-empty-vibrant {
    display: grid;
    gap: 6px;
    border-style: solid !important;
    background: linear-gradient(135deg, #fff 0%, #f7fbfa 100%) !important;
}

.gt-empty-vibrant strong { color: var(--bl-ink); }
.gt-empty-vibrant span { color: #73888c; }

/* ---------- Home: bright, broad and alive ---------- */
.gt-home-hero-vibrant {
    background:
        radial-gradient(520px 300px at 91% 18%, rgba(118,103,232,.14), transparent 72%),
        radial-gradient(460px 260px at 4% 18%, rgba(255,120,107,.12), transparent 70%),
        linear-gradient(135deg, #fffef9 0%, #effaf6 55%, #f6f3ff 100%);
}

.gt-home-hero-vibrant .gt-home-hero-copy h1 em {
    color: var(--bl-coral);
}

.gt-home-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 17px;
}

.gt-home-category-links a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border: 1px solid #dbe7e4;
    border-radius: 999px;
    padding: 6px 10px;
    color: var(--bl-ink);
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

.gt-home-category-links .is-concert { background: var(--bl-teal-soft); border-color: #bce9dc; }
.gt-home-category-links .is-family { background: var(--bl-coral-soft); border-color: #ffd4cc; }
.gt-home-category-links .is-theatre { background: var(--bl-violet-soft); border-color: #d9d3ff; }
.gt-home-category-links .is-festival { background: var(--bl-yellow-soft-v5); border-color: #f4dfa4; }

.gt-next-show-card-vibrant {
    box-shadow: 0 18px 44px rgba(42,76,72,.10);
}

.gt-next-show-card-vibrant .gt-next-show-image {
    background:
        radial-gradient(circle at 22% 20%, rgba(255,120,107,.18), transparent 34%),
        radial-gradient(circle at 82% 70%, rgba(118,103,232,.14), transparent 38%),
        linear-gradient(135deg, #e3f7f0, #fff5e7 56%, #efebff);
}

.gt-upcoming-section-vibrant {
    background: rgba(255,255,255,.38);
}

.gt-live-benefits-vibrant {
    background:
        linear-gradient(90deg, rgba(218,245,237,.78), rgba(255,244,211,.55) 50%, rgba(238,235,255,.62));
}

/* Footer has a little more personality, but stays neutral. */
.gt-footer {
    background: #fffefa;
}

.gt-footer-bottom span:last-child {
    color: var(--bl-teal-dark);
    font-weight: 700;
}

@media (min-width: 1120px) {
    .gt-public-dark .gt-container {
        width: min(1180px, calc(100% - 40px));
    }
}

@media (max-width: 900px) {
    .gt-discover-stamps {
        display: none;
    }

    .gt-discover-panel {
        padding: 28px 24px 22px;
    }

    .gt-event-search-vibrant {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gt-event-search-vibrant .gt-search-reset {
        grid-column: 1 / -1;
        padding: 0 8px 6px;
    }

    .gt-events-grid-vibrant,
    .gt-upcoming-section-vibrant .gt-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .gt-events-page-vibrant {
        padding-top: 22px;
    }

    .gt-discover-panel {
        border-radius: 22px;
        padding: 22px 17px 17px;
    }

    .gt-events-heading h1 {
        font-size: 38px;
    }

    .gt-event-search-vibrant {
        grid-template-columns: 1fr;
    }

    .gt-event-search-vibrant .gt-button {
        width: 100%;
    }

    .gt-events-result-head-vibrant {
        align-items: flex-start;
    }

    .gt-result-trust {
        display: none;
    }

    .gt-events-grid-vibrant,
    .gt-upcoming-section-vibrant .gt-card-grid {
        grid-template-columns: 1fr;
    }

    .gt-public-dark .gt-event-image {
        aspect-ratio: 16 / 8.5;
    }
}

/* ==========================================================================
   BileteLive UI v6 — marketplace-first, bright, poster-led
   ========================================================================== */

:root {
    --bl-ink: #17313a;
    --bl-ink-2: #24454f;
    --bl-muted: #6d7f84;
    --bl-bg: #fffdf9;
    --bl-surface: #ffffff;
    --bl-line: #dfe9e7;
    --bl-teal: #00a981;
    --bl-teal-deep: #087b67;
    --bl-mint: #dff7f0;
    --bl-coral: #ff735e;
    --bl-coral-soft: #fff0eb;
    --bl-violet: #7659d8;
    --bl-violet-soft: #f0ecff;
    --bl-yellow: #e5a91d;
    --bl-yellow-soft: #fff5cc;
    --bl-blue: #3d79d8;
    --bl-blue-soft: #eaf3ff;
    --bl-rose: #b7487a;
    --bl-rose-soft: #fdebf4;
    --bl-shadow: 0 14px 38px rgba(28, 63, 70, .09);
}

.gt-body {
    background: var(--bl-bg) !important;
    color: var(--bl-ink) !important;
}

.gt-spectrum {
    height: 4px;
    background: linear-gradient(90deg, var(--bl-teal) 0 34%, var(--bl-coral) 34% 51%, #f0c24d 51% 68%, var(--bl-violet) 68% 84%, #4a8be6 84% 100%);
}

.gt-container { width: min(1200px, calc(100% - 40px)); }

/* Header */
.gt-nav-market {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(255,253,249,.95) !important;
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--bl-line) !important;
}

.gt-nav-main-row {
    min-height: 74px;
    display: grid;
    grid-template-columns: auto minmax(280px, 560px) auto;
    align-items: center;
    gap: 28px;
}

.gt-nav-market .gt-brand { text-decoration: none; display:flex; align-items:center; gap:10px; color:var(--bl-ink)!important; }
.gt-nav-market .gt-brand-name { font-family:"Gloock", Georgia, serif; font-size:27px; letter-spacing:-.8px; color:var(--bl-ink)!important; }
.gt-nav-market .gt-brand-name span { font-size:.62em; color:var(--bl-muted)!important; }
.gt-nav-market .gt-brand-mark { width:36px; height:43px; border:2px solid var(--bl-teal); border-radius:7px 7px 9px 9px; transform:rotate(5deg); position:relative; }
.gt-nav-market .gt-brand-mark:before { content:""; position:absolute; width:12px; height:7px; border:2px solid var(--bl-teal); border-bottom:0; border-radius:9px 9px 0 0; top:-9px; left:9px; }
.gt-nav-market .gt-brand-mark span { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--bl-teal); top:8px; right:6px; }

.gt-nav-search {
    height: 44px;
    background:#fff;
    border:1px solid var(--bl-line);
    border-radius:14px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 14px;
    box-shadow:0 3px 16px rgba(28,63,70,.04);
}
.gt-nav-search span { color:var(--bl-teal-deep); font-weight:800; }
.gt-nav-search input { border:0; outline:0; background:transparent; width:100%; font:600 14px/1 "Manrope",sans-serif; color:var(--bl-ink); }
.gt-nav-search input::placeholder { color:#8c9b9f; font-weight:500; }

.gt-nav-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; white-space:nowrap; }
.gt-nav-actions a, .gt-nav-actions button { color:var(--bl-ink)!important; font:700 13px/1 "Manrope",sans-serif; text-decoration:none; background:none; border:0; }
.gt-nav-actions a:hover { color:var(--bl-teal-deep)!important; }
.gt-nav-admin { color:var(--bl-violet)!important; }
.gt-nav-cart { display:flex; align-items:center; gap:6px; }
.gt-nav-cart-count { min-width:20px; height:20px; border-radius:999px; background:var(--bl-coral); color:#fff; display:inline-grid; place-items:center; font-size:11px; }

.gt-subnav-wrap { border-top:1px solid rgba(223,233,231,.8); background:#fff; }
.gt-subnav { min-height:40px; display:flex; align-items:center; gap:22px; overflow-x:auto; scrollbar-width:none; }
.gt-subnav::-webkit-scrollbar { display:none; }
.gt-subnav a { text-decoration:none; white-space:nowrap; color:#516a70; font:700 12px/1 "Manrope",sans-serif; }
.gt-subnav a:hover { color:var(--bl-teal-deep); }
.gt-subnav-spacer { flex:1; }
.gt-subnav-note { white-space:nowrap; color:#8b9a9e; font-size:11px; }

/* Homepage */
.gt-home-market-hero {
    padding:66px 0 42px;
    background:
      radial-gradient(circle at 10% 5%, rgba(0,169,129,.12), transparent 27%),
      radial-gradient(circle at 90% 10%, rgba(118,89,216,.09), transparent 25%),
      linear-gradient(180deg,#fffdf9 0%,#fff 100%);
    border-bottom:1px solid var(--bl-line);
}
.gt-home-market-copy { max-width:850px; }
.gt-kicker-market { display:block; color:var(--bl-teal-deep); font:800 11px/1 "Manrope",sans-serif; letter-spacing:1.7px; margin-bottom:13px; }
.gt-home-market-copy h1, .gt-page-title-row h1, .gt-market-section-head h2, .gt-detail-market-copy h1, .gt-copy-market h2 {
    margin:0; font-family:"Gloock", Georgia, serif; color:var(--bl-ink); letter-spacing:-1.6px; font-weight:400;
}
.gt-home-market-copy h1 { font-size:clamp(42px,5.4vw,72px); line-height:.98; }
.gt-home-market-copy h1 em { color:var(--bl-coral); font-style:normal; }
.gt-home-market-copy p { max-width:780px; margin:20px 0 0; color:#587178; font-size:17px; line-height:1.65; }

.gt-market-search {
    margin-top:32px;
    background:#fff;
    border:1px solid var(--bl-line);
    border-radius:18px;
    padding:8px;
    box-shadow:var(--bl-shadow);
    display:grid;
    grid-template-columns:minmax(260px,1fr) 230px auto;
    gap:8px;
}
.gt-market-search label { min-height:52px; display:flex; align-items:center; gap:11px; padding:0 15px; }
.gt-market-search-main { border-right:1px solid var(--bl-line); }
.gt-market-search label>span { color:var(--bl-teal-deep); font-weight:900; }
.gt-market-search input,.gt-market-search select { width:100%; border:0; outline:0; background:transparent; color:var(--bl-ink); font:600 14px "Manrope",sans-serif; }
.gt-market-search select { appearance:auto; }
.gt-search-go { min-width:126px; border-radius:12px!important; }
.gt-button-primary { background:var(--bl-teal)!important; color:#073e34!important; border:0!important; box-shadow:none!important; font-weight:800!important; }
.gt-button-primary:hover { background:#13b992!important; transform:translateY(-1px); }

.gt-quick-plans { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:16px; color:#7f9195; font-size:12px; }
.gt-quick-plans a { text-decoration:none; color:var(--bl-ink); background:#fff; border:1px solid var(--bl-line); border-radius:999px; padding:7px 12px; font-weight:800; }
.gt-quick-plans a:hover { border-color:var(--bl-teal); color:var(--bl-teal-deep); }

.gt-section { padding:52px 0; }
.gt-category-showcase { background:#fff; }
.gt-market-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.gt-market-section-head>div>span { color:var(--bl-teal-deep); font:800 10px "Manrope",sans-serif; letter-spacing:1.6px; }
.gt-market-section-head h2 { font-size:36px; margin-top:5px; }
.gt-market-section-head>a { color:var(--bl-teal-deep); font-size:13px; font-weight:800; text-decoration:none; }
.gt-mini-promo { color:#8b5f00!important; background:var(--bl-yellow-soft); border:1px solid #f1d986; border-radius:999px; padding:9px 13px; }

.gt-category-tiles { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.gt-category-tile { min-height:138px; border-radius:20px; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; color:var(--bl-ink); position:relative; overflow:hidden; transition:.2s ease; }
.gt-category-tile:before { content:""; position:absolute; width:74px; height:74px; border:18px solid rgba(255,255,255,.48); border-radius:50%; right:-18px; top:-16px; }
.gt-category-tile>span { position:absolute; left:18px; top:17px; width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.68); font-weight:900; }
.gt-category-tile strong { font-size:15px; }
.gt-category-tile small { margin-top:5px; line-height:1.35; color:rgba(23,49,58,.72); font-size:10px; }
.gt-category-tile:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(28,63,70,.11); }
.gt-category-tile.is-concert { background:#cdf5ec; }
.gt-category-tile.is-family { background:#ffe5dd; }
.gt-category-tile.is-theatre { background:#e9e3ff; }
.gt-category-tile.is-festival { background:#ffefb9; }
.gt-category-tile.is-comedy { background:#f8dfec; }
.gt-category-tile.is-workshop { background:#dfeeff; }

.gt-home-events-market { background:#f8fbfa; border-top:1px solid var(--bl-line); }

/* Poster-led event cards */
.gt-market-card-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:22px!important; align-items:start; }
.gt-market-event-card { min-width:0; background:transparent; }
.gt-market-event-poster { display:block; position:relative; aspect-ratio:4/5; border-radius:18px; overflow:hidden; background-size:cover; background-position:center; text-decoration:none; box-shadow:0 5px 16px rgba(28,63,70,.08); transition:.22s ease; }
.gt-market-event-card:hover .gt-market-event-poster { transform:translateY(-4px); box-shadow:0 16px 35px rgba(28,63,70,.16); }
.gt-poster-fallback { position:absolute; inset:0; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.gt-poster-fallback:before,.gt-poster-fallback:after { content:""; position:absolute; border-radius:50%; border:22px solid rgba(255,255,255,.40); }
.gt-poster-fallback:before { width:124px; height:124px; top:-38px; right:-30px; }
.gt-poster-fallback:after { width:82px; height:82px; bottom:60px; left:-34px; opacity:.7; }
.gt-poster-fallback-icon { position:absolute; right:22px; top:24px; font-size:34px; opacity:.23; }
.gt-poster-fallback-date { position:absolute; left:20px; top:20px; min-width:48px; height:52px; border-radius:14px; background:rgba(255,255,255,.84); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--bl-ink); font:800 20px/1 "Manrope",sans-serif; box-shadow:0 4px 14px rgba(28,63,70,.06); }
.gt-poster-fallback-date small { font-size:9px; letter-spacing:.7px; margin-top:4px; }
.gt-poster-fallback strong { position:relative; z-index:2; max-width:90%; color:var(--bl-ink); font-family:"Gloock",Georgia,serif; font-size:25px; line-height:1.02; letter-spacing:-.5px; }
.gt-poster-fallback-venue { position:relative; z-index:2; margin-top:9px; color:rgba(23,49,58,.7); font-size:11px; font-weight:700; }
.gt-market-event-card--concert .gt-poster-fallback { background:linear-gradient(145deg,#d4f8f1,#bfe9f3); }
.gt-market-event-card--family .gt-poster-fallback { background:linear-gradient(145deg,#ffe3dc,#fff0bd); }
.gt-market-event-card--theatre .gt-poster-fallback { background:linear-gradient(145deg,#e9e1ff,#dfe8ff); }
.gt-market-event-card--festival .gt-poster-fallback { background:linear-gradient(145deg,#fff0ae,#ffd8b8); }
.gt-market-event-card--comedy .gt-poster-fallback { background:linear-gradient(145deg,#f9e1ef,#ffe4d8); }
.gt-market-event-card--workshop .gt-poster-fallback { background:linear-gradient(145deg,#dfeeff,#dff7f0); }
.gt-poster-category,.gt-poster-seating { position:absolute; z-index:3; top:12px; border-radius:999px; padding:6px 9px; font:800 9px/1 "Manrope",sans-serif; backdrop-filter:blur(8px); }
.gt-poster-category { left:12px; background:rgba(255,255,255,.91); color:var(--bl-ink); }
.gt-poster-seating { right:12px; top:auto; bottom:12px; background:rgba(0,169,129,.92); color:#fff; }
.gt-market-event-body { padding:14px 3px 0; }
.gt-market-event-date { color:var(--bl-teal-deep); font:800 11px/1.2 "Manrope",sans-serif; text-transform:capitalize; }
.gt-market-event-body h3 { margin:7px 0 7px; font:800 17px/1.18 "Manrope",sans-serif; letter-spacing:-.25px; }
.gt-market-event-body h3 a { color:var(--bl-ink); text-decoration:none; }
.gt-market-event-body p { margin:0; min-height:34px; color:#718388; font-size:11px; line-height:1.45; }
.gt-market-event-body p span { color:#8b9b9f; }
.gt-market-event-footer { margin-top:12px; padding-top:11px; border-top:1px solid var(--bl-line); display:flex; justify-content:space-between; align-items:flex-end; gap:10px; }
.gt-market-event-price small { display:block; color:#8a999d; font-size:9px; }
.gt-market-event-price strong { color:var(--bl-ink); font-size:14px; }
.gt-market-event-link { color:var(--bl-teal-deep); text-decoration:none; font-size:11px; font-weight:900; }
.gt-market-event-link span { display:inline-block; transition:.15s ease; }
.gt-market-event-link:hover span { transform:translateX(3px); }

/* Plan strip */
.gt-plan-strip { background:var(--bl-ink); color:#fff; padding:34px 0; }
.gt-plan-strip-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.gt-plan-strip h2 { margin:8px 0 4px; font:400 32px/1 "Gloock",Georgia,serif; color:#fff; }
.gt-plan-strip p { margin:0; color:#bfd0d3; font-size:13px; }
.gt-plan-bubble { display:inline-block; padding:5px 9px; border-radius:999px; background:var(--bl-coral); color:#fff; font-size:9px; font-weight:900; transform:rotate(-2deg); }
.gt-plan-strip-actions { display:flex; gap:9px; }
.gt-plan-strip-actions a { text-decoration:none; color:#fff; border:1px solid rgba(255,255,255,.22); padding:10px 14px; border-radius:12px; font-size:12px; font-weight:800; }
.gt-plan-strip-actions a.is-primary { background:var(--bl-teal); color:#063e33; border-color:var(--bl-teal); }

/* Events listing */
.gt-events-market-page { padding:46px 0 64px; background:linear-gradient(180deg,#fffdf9 0,#fff 300px); min-height:70vh; }
.gt-page-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:24px; }
.gt-page-title-row h1 { font-size:48px; line-height:1; }
.gt-page-title-row p { margin:9px 0 0; color:#718388; font-size:14px; }
.gt-result-count { display:flex; align-items:baseline; gap:8px; color:#788a8f; }
.gt-result-count strong { color:var(--bl-teal-deep); font-size:28px; }
.gt-result-count span { font-size:11px; font-weight:700; }

.gt-filter-bar { display:grid; grid-template-columns:minmax(260px,1fr) 210px 170px auto auto; gap:8px; background:#fff; border:1px solid var(--bl-line); border-radius:16px; padding:8px; box-shadow:0 10px 30px rgba(28,63,70,.06); }
.gt-filter-search,.gt-filter-select { min-height:46px; display:flex; align-items:center; gap:9px; padding:0 12px; border-right:1px solid var(--bl-line); }
.gt-filter-search span,.gt-filter-select span { color:var(--bl-teal-deep); font-weight:900; }
.gt-filter-search input,.gt-filter-select select { width:100%; border:0; outline:0; background:transparent; font:600 12px "Manrope",sans-serif; color:var(--bl-ink); }
.gt-filter-reset { display:grid; place-items:center; padding:0 8px; color:#8c999d; text-decoration:none; font-size:10px; font-weight:800; }

.gt-category-rail-market { margin:22px 0 12px!important; display:flex!important; flex-wrap:wrap!important; gap:8px!important; }
.gt-category-chip { border-radius:999px!important; padding:9px 12px!important; font-size:11px!important; font-weight:800!important; text-decoration:none!important; border:1px solid transparent!important; box-shadow:none!important; }
.gt-category-chip--all { background:#edf2f1!important; color:var(--bl-ink)!important; }
.gt-category-chip--concert { background:#e1f7f1!important; color:#15755f!important; }
.gt-category-chip--family { background:#fff0eb!important; color:#b64c3c!important; }
.gt-category-chip--theatre { background:#f0ecff!important; color:#5d46b4!important; }
.gt-category-chip--festival { background:#fff5cc!important; color:#8a6500!important; }
.gt-category-chip--comedy { background:#fdebf4!important; color:#9a3d67!important; }
.gt-category-chip--workshop { background:#eaf3ff!important; color:#356aa9!important; }
.gt-category-chip.is-active { outline:2px solid currentColor; outline-offset:1px; }

.gt-date-shortcuts { display:flex; align-items:center; gap:7px; margin-bottom:26px; }
.gt-date-shortcuts>span { color:#87989c; font-size:10px; font-weight:800; margin-right:3px; }
.gt-date-shortcuts a { text-decoration:none; color:#61777d; border:1px solid var(--bl-line); background:#fff; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:800; }
.gt-date-shortcuts a.is-active { background:var(--bl-ink); color:#fff; border-color:var(--bl-ink); }
.gt-events-grid-market { margin-top:0!important; }
.gt-empty-market { grid-column:1/-1; min-height:220px; border:1px dashed #c9d8d5; background:#f9fcfb; border-radius:20px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; text-align:center; }
.gt-empty-market strong { font-size:18px; }
.gt-empty-market span { color:#7a8b90; font-size:12px; }
.gt-empty-market a { color:var(--bl-teal-deep); font-weight:800; font-size:12px; }

/* Event detail */
.gt-event-detail-market { padding:30px 0 70px; background:#fffdf9; }
.gt-detail-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:18px; color:#8a999d; font-size:10px; }
.gt-detail-breadcrumb a { color:var(--bl-teal-deep); text-decoration:none; font-weight:800; }
.gt-detail-market-hero { display:grid; grid-template-columns:minmax(280px,390px) 1fr; gap:44px; align-items:center; padding:26px; border:1px solid var(--bl-line); border-radius:26px; background:#fff; box-shadow:var(--bl-shadow); }
.gt-detail-market-poster { aspect-ratio:4/5; border-radius:20px; overflow:hidden; background:linear-gradient(145deg,#d4f8f1,#e7e0ff); background-size:cover; background-position:center; display:flex; align-items:flex-end; padding:26px; }
.gt-detail-market-poster>span { display:flex; flex-direction:column; gap:8px; }
.gt-detail-market-poster small { color:var(--bl-teal-deep); font-weight:900; }
.gt-detail-market-poster strong { max-width:90%; font:400 34px/1 "Gloock",Georgia,serif; color:var(--bl-ink); }
.gt-detail-market-poster em { color:#657d83; font-size:12px; font-style:normal; }
.gt-detail-market-copy h1 { font-size:clamp(40px,5vw,64px); line-height:1.02; margin-top:18px; }
.gt-detail-subtitle { max-width:650px; color:#667c82; font-size:16px; line-height:1.55; }
.gt-detail-market-facts { display:grid; gap:13px; margin:26px 0; }
.gt-detail-market-facts>div { display:flex; align-items:center; gap:12px; }
.gt-detail-market-facts>div>span { width:36px; height:36px; border-radius:11px; background:#e8f8f4; color:var(--bl-teal-deep); display:grid; place-items:center; font-weight:900; }
.gt-detail-market-facts small { display:block; color:#8a999d; font-size:9px; margin-bottom:2px; }
.gt-detail-market-facts strong { color:var(--bl-ink); font-size:13px; }
.gt-detail-buy-jump { display:inline-flex!important; width:auto!important; padding:13px 17px!important; border-radius:12px!important; text-decoration:none; }

.gt-detail-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:36px; align-items:start; margin-top:34px; }
.gt-detail-content-grid.has-seating { grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr); }
.gt-detail-story { min-width:0; }
.gt-copy-market { padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
.gt-copy-market h2 { font-size:34px; margin:6px 0 15px; }
.gt-copy-market p { color:#60767c; font-size:14px; line-height:1.8; white-space:pre-line; }
.gt-detail-good-to-know { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:28px; }
.gt-detail-good-to-know>div { border:1px solid var(--bl-line); border-radius:16px; padding:15px; background:#fff; }
.gt-detail-good-to-know>div>span { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 7px; border-radius:10px; background:#e4f7f1; color:var(--bl-teal-deep); font-size:10px; font-weight:900; }
.gt-detail-good-to-know strong { display:block; margin-top:10px; font-size:12px; }
.gt-detail-good-to-know small { display:block; margin-top:4px; color:#85969a; font-size:9px; line-height:1.45; }
.gt-ticket-panel-market { position:sticky; top:132px; border:1px solid var(--bl-line)!important; border-radius:22px!important; background:#fff!important; box-shadow:var(--bl-shadow)!important; color:var(--bl-ink)!important; }
.gt-ticket-panel-market h2 { color:var(--bl-ink)!important; }
.gt-ticket-panel-head { display:flex; gap:12px; align-items:flex-start; }
.gt-ticket-panel-head p { margin:3px 0 0; color:#7a8d91; font-size:11px; }
.gt-step-pill { width:28px; height:28px; border-radius:50%; background:var(--bl-teal); color:#063e33; display:grid; place-items:center; font-weight:900; font-size:11px; flex:0 0 auto; }
.gt-ticket-panel-market select { background:#fff!important; color:var(--bl-ink)!important; border-color:var(--bl-line)!important; }
.gt-ticket-panel-market .gt-payment-choice label,.gt-ticket-panel-market .gt-ticket-row { background:#fff!important; border-color:var(--bl-line)!important; color:var(--bl-ink)!important; }
.gt-ticket-panel-market .gt-ticket-note,.gt-ticket-panel-market .gt-table-selection { background:#f6faf9!important; color:#61777d!important; }
.gt-ticket-panel-market .gt-ticket-summary { color:var(--bl-ink)!important; border-color:var(--bl-line)!important; }

/* Footer */
.gt-footer-market { background:#f3f8f6!important; border-top:1px solid var(--bl-line)!important; color:var(--bl-ink)!important; padding:38px 0 18px!important; }
.gt-footer-topline { display:flex; justify-content:space-between; gap:40px; align-items:center; padding-bottom:26px; }
.gt-footer-market .gt-brand-name { color:var(--bl-ink)!important; }
.gt-footer-market .gt-footer-intro p { margin:7px 0 0; color:#718489; font-size:11px; }
.gt-footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.gt-footer-links a { color:#51696f; text-decoration:none; font-size:11px; font-weight:800; }
.gt-footer-trust { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--bl-line); border-bottom:1px solid var(--bl-line); }
.gt-footer-trust>div { padding:18px 18px 18px 0; display:grid; grid-template-columns:34px 1fr; column-gap:9px; border-right:1px solid var(--bl-line); }
.gt-footer-trust>div:last-child { border-right:0; }
.gt-footer-trust>div>span { grid-row:1/3; width:30px; height:30px; border-radius:10px; background:#dff6ef; color:var(--bl-teal-deep); display:grid; place-items:center; font-size:9px; font-weight:900; }
.gt-footer-trust strong { font-size:11px; }
.gt-footer-trust small { color:#819296; font-size:9px; margin-top:3px; }
.gt-footer-market .gt-footer-bottom { color:#8a999d!important; border-top:0!important; padding-top:16px!important; font-size:9px!important; }

@media (max-width: 1100px) {
    .gt-nav-main-row { grid-template-columns:auto 1fr auto; gap:16px; }
    .gt-category-tiles { grid-template-columns:repeat(3,1fr); }
    .gt-market-card-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .gt-filter-bar { grid-template-columns:1fr 190px 160px auto; }
    .gt-filter-reset { grid-column:1/-1; justify-self:start; }
    .gt-detail-content-grid,.gt-detail-content-grid.has-seating { grid-template-columns:1fr; }
    .gt-ticket-panel-market { position:relative; top:auto; }
}

@media (max-width: 820px) {
    .gt-container { width:min(100% - 28px,1200px); }
    .gt-nav-main-row { grid-template-columns:auto 1fr; min-height:66px; }
    .gt-nav-search { grid-column:1/-1; order:3; margin-bottom:10px; }
    .gt-nav-actions { gap:12px; }
    .gt-subnav-note { display:none; }
    .gt-home-market-hero { padding-top:42px; }
    .gt-market-search { grid-template-columns:1fr; }
    .gt-market-search-main { border-right:0; border-bottom:1px solid var(--bl-line); }
    .gt-market-select { border-bottom:1px solid var(--bl-line); }
    .gt-category-tiles { grid-template-columns:repeat(2,1fr); }
    .gt-market-card-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:18px!important; }
    .gt-filter-bar { grid-template-columns:1fr 1fr; }
    .gt-filter-search { grid-column:1/-1; }
    .gt-filter-search,.gt-filter-select { border-right:0; border-bottom:1px solid var(--bl-line); }
    .gt-page-title-row { align-items:flex-start; flex-direction:column; }
    .gt-detail-market-hero { grid-template-columns:1fr; gap:24px; }
    .gt-detail-market-poster { max-width:460px; width:100%; margin:auto; }
    .gt-detail-good-to-know { grid-template-columns:1fr; }
    .gt-plan-strip-inner,.gt-footer-topline { align-items:flex-start; flex-direction:column; }
    .gt-footer-trust { grid-template-columns:1fr 1fr; }
    .gt-footer-trust>div:nth-child(2) { border-right:0; }
    .gt-footer-trust>div:nth-child(-n+2) { border-bottom:1px solid var(--bl-line); }
}

@media (max-width: 560px) {
    .gt-nav-market .gt-brand-name { font-size:23px; }
    .gt-nav-actions>a:not(.gt-nav-cart), .gt-nav-actions .gt-nav-admin { display:none; }
    .gt-home-market-copy h1 { font-size:42px; }
    .gt-home-market-copy p { font-size:14px; }
    .gt-category-tiles { grid-template-columns:1fr 1fr; }
    .gt-category-tile { min-height:120px; padding:14px; }
    .gt-market-card-grid { grid-template-columns:1fr!important; }
    .gt-market-event-poster { aspect-ratio:16/12; }
    .gt-poster-fallback strong { font-size:28px; }
    .gt-filter-bar { grid-template-columns:1fr; }
    .gt-filter-search,.gt-filter-select { grid-column:1; }
    .gt-market-section-head { align-items:flex-start; flex-direction:column; }
    .gt-market-section-head h2 { font-size:30px; }
    .gt-plan-strip-actions { width:100%; flex-wrap:wrap; }
    .gt-detail-market-hero { padding:16px; border-radius:20px; }
    .gt-detail-market-copy h1 { font-size:42px; }
    .gt-footer-trust { grid-template-columns:1fr; }
    .gt-footer-trust>div { border-right:0; border-bottom:1px solid var(--bl-line); }
}

/* ==========================================================================
   BileteLive UI v7 — deeper neutral canvas + table-booking UX
   ========================================================================== */

:root {
    --bl-bg: #e5ece8;
    --bl-surface: #f8faf9;
    --bl-surface-strong: #ffffff;
    --bl-canvas-deep: #dbe5e0;
    --bl-line: #cbd8d3;
    --bl-shadow: 0 18px 44px rgba(28, 63, 70, .12);
}

.gt-body {
    background: var(--bl-bg) !important;
}

.gt-nav-market {
    background: rgba(248, 250, 249, .96) !important;
    border-bottom-color: #cfdad6 !important;
}

.gt-nav-main-row {
    min-height: 72px;
}

/* With categories living on the discovery pages, the header stays calm. */
.gt-subnav-wrap { display: none !important; }

.gt-home-market-hero {
    background:
        radial-gradient(circle at 10% 4%, rgba(0,169,129,.12), transparent 27%),
        radial-gradient(circle at 92% 8%, rgba(118,89,216,.08), transparent 27%),
        linear-gradient(180deg, #e9efec 0%, #e3ebe7 100%);
    border-bottom-color: #cbd8d3;
}

.gt-category-showcase {
    background: #dce6e1 !important;
    border-bottom: 1px solid #c8d5d0;
}

.gt-home-events-market {
    background: #e8efeb !important;
    border-top-color: #cbd8d3 !important;
}

.gt-events-market-page {
    background:
        radial-gradient(circle at 92% 2%, rgba(255,115,94,.06), transparent 24%),
        linear-gradient(180deg, #e2eae6 0%, #e9efec 360px, #e5ece8 100%) !important;
}

.gt-filter-bar,
.gt-market-search,
.gt-nav-search {
    background: rgba(255,255,255,.94) !important;
}

.gt-date-shortcuts a {
    background: #f8faf9;
}

/* Let event inventory pop from the deeper page canvas. */
.gt-market-event-card {
    background: rgba(248,250,249,.96) !important;
    border: 1px solid rgba(198,213,207,.95);
    border-radius: 19px;
    overflow: hidden;
    box-shadow: 0 7px 22px rgba(28,63,70,.08);
    transition: transform .18s ease, box-shadow .18s ease;
}

.gt-market-event-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(28,63,70,.14);
}

.gt-market-event-poster {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.gt-market-event-card:hover .gt-market-event-poster {
    transform: none !important;
    box-shadow: none !important;
}

.gt-market-event-body {
    padding: 14px 14px 15px !important;
}

.gt-detail-market-hero,
.gt-ticket-panel-market,
.gt-detail-good-to-know > div {
    background: rgba(250,252,251,.98) !important;
}

.gt-event-detail-market {
    background:
        radial-gradient(circle at 92% 3%, rgba(118,89,216,.05), transparent 24%),
        linear-gradient(180deg, #e1e9e5 0%, #e8efeb 100%) !important;
}

.gt-detail-story-wide {
    margin-top: 34px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr);
    gap: 34px;
    align-items: end;
    padding: 28px;
    border: 1px solid var(--bl-line);
    border-radius: 22px;
    background: rgba(248,250,249,.76);
}

.gt-detail-story-wide .gt-detail-good-to-know {
    margin-top: 0;
}

/* ---------- Seated event booking: map first, decisions in order ---------- */
.gt-seating-booking-v2 {
    margin-top: 26px;
    padding: 26px;
    border: 1px solid var(--bl-line);
    border-radius: 24px;
    background: rgba(246,249,247,.94);
    box-shadow: var(--bl-shadow);
}

.gt-booking-v2-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 20px;
}

.gt-booking-v2-head h2 {
    margin: 5px 0 6px;
    font: 400 36px/1.05 "Gloock", Georgia, serif;
    letter-spacing: -1px;
    color: var(--bl-ink);
}

.gt-booking-v2-head p {
    margin: 0;
    max-width: 680px;
    color: #647a80;
    font-size: 13px;
    line-height: 1.55;
}

.gt-booking-v2-head .gt-recovery-link {
    white-space: nowrap;
    text-decoration: none;
    color: var(--bl-teal-deep);
    font-size: 11px;
    font-weight: 800;
}

.gt-booking-error {
    margin: 0 0 16px;
    padding: 11px 13px;
    border-radius: 11px;
    background: #fff0ef;
}

.gt-booking-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid var(--bl-line);
    border-radius: 14px;
    background: #eef3f1;
}

.gt-booking-steps > span {
    min-height: 45px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border-right: 1px solid var(--bl-line);
    color: #7a8d91;
    font-size: 11px;
    font-weight: 800;
}

.gt-booking-steps > span:last-child { border-right: 0; }
.gt-booking-steps b {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #d6e1dd;
    color: #61767b;
    font-size: 10px;
}
.gt-booking-steps .is-active,
.gt-booking-steps .is-complete { color: var(--bl-ink); background: #f8fbfa; }
.gt-booking-steps .is-active b,
.gt-booking-steps .is-complete b { background: var(--bl-teal); color: #063e33; }

.gt-booking-v2-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
}

.gt-booking-map-column {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.gt-booking-card,
.gt-booking-summary-sticky {
    border: 1px solid var(--bl-line);
    border-radius: 18px;
    background: #fff;
}

.gt-booking-card { padding: 18px; }

.gt-booking-section-heading {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.gt-booking-section-heading > div:first-child > span {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #dcf4ed;
    color: var(--bl-teal-deep);
    font-size: 11px;
    font-weight: 900;
}

.gt-booking-section-heading h3 {
    margin: 0;
    color: var(--bl-ink);
    font-size: 15px;
    line-height: 1.2;
}

.gt-booking-section-heading p {
    margin: 4px 0 0;
    color: #7a8d91;
    font-size: 10px;
    line-height: 1.45;
}

.gt-party-size-picker {
    display: grid;
    grid-template-columns: repeat(10, minmax(42px, 1fr));
    gap: 7px;
}

.gt-party-size-picker button {
    height: 46px;
    border: 1px solid #cdd9d5;
    border-radius: 12px;
    background: #f7faf8;
    color: var(--bl-ink);
    font: 800 13px/1 "Manrope", sans-serif;
    cursor: pointer;
    transition: .15s ease;
}

.gt-party-size-picker button:hover {
    border-color: #8cbcaf;
    background: #eff8f4;
}

.gt-party-size-picker button.is-active {
    border-color: var(--bl-teal-deep);
    background: #daf4ec;
    color: #075e4f;
    box-shadow: inset 0 0 0 1px var(--bl-teal-deep);
}

.gt-party-fit-note {
    display: block;
    margin-top: 10px;
    color: #71868b;
    font-size: 10px;
}

.gt-map-card { padding-bottom: 14px; }
.gt-map-card .gt-seating-chart { margin-top: 4px; }

.gt-map-card .gt-seating-map-scroll {
    overflow: auto;
    border: 1px solid #cbd8d3;
    border-radius: 16px;
    background: #f2f6f4;
    padding: 16px;
}

.gt-map-card .gt-seating-map-scroll svg {
    min-width: 0;
    width: 100%;
    height: auto;
}

.gt-map-card .gt-stage {
    fill: #17313a !important;
    stroke: #17313a !important;
    stroke-width: 2 !important;
}

.gt-map-card .gt-stage-label {
    fill: #ffffff !important;
    font-size: 22px !important;
    letter-spacing: 1.8px !important;
}

.gt-map-card .gt-map-table rect {
    stroke-width: 2.2 !important;
    filter: drop-shadow(0 2px 2px rgba(28,63,70,.05));
}

.gt-map-card .gt-table-number { font-size: 22px !important; }
.gt-map-card .gt-table-capacity { font-size: 11px !important; }
.gt-map-card .gt-map-table.is-available rect { fill: #e0f4e7 !important; stroke: #3b8f55 !important; }
.gt-map-card .gt-map-table.is-selected rect { fill: #c8eee7 !important; stroke: #008d76 !important; stroke-width: 5 !important; }
.gt-map-card .gt-map-table.is-held rect { fill: #fff1c9 !important; stroke: #bd7a12 !important; }
.gt-map-card .gt-map-table.is-reserved rect { fill: #e2e7e5 !important; stroke: #75827f !important; }
.gt-map-card .gt-map-table.is-blocked rect { fill: #ffe0de !important; stroke: #c33b32 !important; }
.gt-map-card .gt-map-table.is-unfit { opacity: .13 !important; }
.gt-map-card .gt-map-table.is-compatible:hover rect { stroke-width: 4 !important; }

.gt-map-card .gt-seating-legend {
    gap: 10px 14px;
    margin-top: 12px;
    color: #62777c;
    font-size: 10px;
}

.gt-map-card .gt-seating-legend i {
    width: 12px;
    height: 12px;
    border-radius: 4px;
}

.gt-booking-summary-v2 { min-width: 0; }

.gt-booking-summary-sticky {
    position: sticky;
    top: 92px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(28,63,70,.08);
}

.gt-summary-kicker {
    display: block;
    margin-bottom: 10px;
    color: #7c8f93;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

.gt-table-selection-v2 {
    min-height: 112px !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid #d5e1dd !important;
    border-radius: 14px;
    background: #f1f6f4 !important;
}

.gt-table-selection-v2 strong {
    color: var(--bl-ink);
    font-size: 19px;
}

.gt-table-selection-v2 span {
    margin: 0 !important;
    color: #70858a !important;
    font-size: 10px !important;
    line-height: 1.45;
}

.gt-selected-table-label {
    color: var(--bl-teal-deep) !important;
    font-size: 9px !important;
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.gt-selected-table-payment {
    margin-top: 5px !important;
    padding-top: 7px;
    border-top: 1px solid #d9e4e0;
}

.gt-payment-section-v2 {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--bl-line);
}

.gt-payment-section-v2[hidden],
.gt-split-payment[hidden] { display: none !important; }

.gt-booking-section-heading-small { margin-bottom: 10px; }
.gt-booking-section-heading-small h3 { font-size: 13px; }

.gt-payment-choice-v2 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}

.gt-payment-choice-v2 label > span {
    min-height: 0 !important;
    border-radius: 12px;
    padding: 12px !important;
}

.gt-payment-choice-v2 strong { font-size: 11px; }
.gt-payment-choice-v2 small { font-size: 9px; line-height: 1.4; }

.gt-payment-section-v2 .gt-split-payment {
    grid-template-columns: 1fr;
    margin-top: 8px;
    border: 1px solid #b8dcd3;
    border-left-width: 3px;
    border-radius: 12px;
    padding: 11px;
}

.gt-payment-section-v2 .gt-split-payment .quantity-control {
    width: max-content;
}

.gt-ticket-summary-v2 {
    margin-top: 17px !important;
    padding: 15px 0 12px !important;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.gt-ticket-summary-v2 > span {
    color: #6d8186;
    font-size: 10px;
}

.gt-ticket-summary-v2 > strong {
    font-size: 20px;
    color: var(--bl-ink);
}

.gt-booking-checkout {
    min-height: 48px;
    border-radius: 13px !important;
    background: var(--bl-teal) !important;
    color: #063e33 !important;
    font-weight: 900 !important;
}

.gt-booking-checkout:disabled {
    background: #b8cbc5 !important;
    color: #f5f8f7 !important;
    cursor: not-allowed;
}

.gt-booking-secure-note {
    display: block;
    margin-top: 10px;
    color: #809195;
    font-size: 9px;
    line-height: 1.45;
    text-align: center;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* A darker footer anchors the otherwise family-friendly interface. */
.gt-footer-market {
    background: #17313a !important;
    color: #f5faf8 !important;
    border-top-color: #17313a !important;
}

.gt-footer-market .gt-brand-name,
.gt-footer-market .gt-footer-links a,
.gt-footer-market .gt-footer-trust strong {
    color: #f5faf8 !important;
}

.gt-footer-market .gt-footer-intro p,
.gt-footer-market .gt-footer-trust small,
.gt-footer-market .gt-footer-bottom {
    color: #a9bdc1 !important;
}

.gt-footer-market .gt-footer-trust {
    border-color: rgba(255,255,255,.12) !important;
}

.gt-footer-market .gt-footer-trust > div {
    border-color: rgba(255,255,255,.12) !important;
}

.gt-footer-market .gt-footer-trust > div > span {
    background: rgba(0,169,129,.18) !important;
    color: #86e2cb !important;
}

@media (max-width: 1100px) {
    .gt-detail-story-wide {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .gt-booking-v2-grid {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .gt-party-size-picker {
        grid-template-columns: repeat(5, minmax(44px, 1fr));
    }
}

@media (max-width: 900px) {
    .gt-nav-main-row {
        grid-template-columns: auto 1fr auto;
    }

    .gt-booking-v2-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .gt-booking-v2-grid {
        grid-template-columns: 1fr;
    }

    .gt-booking-summary-sticky {
        position: relative;
        top: auto;
    }

    .gt-map-card .gt-seating-map-scroll svg {
        min-width: 680px;
    }
}

@media (max-width: 700px) {
    .gt-seating-booking-v2,
    .gt-detail-story-wide {
        padding: 16px;
        border-radius: 18px;
    }

    .gt-booking-v2-head h2 { font-size: 30px; }
    .gt-booking-steps > span { padding: 0 9px; font-size: 9px; }
    .gt-booking-steps b { width: 20px; height: 20px; }
    .gt-party-size-picker { grid-template-columns: repeat(5, 1fr); }
    .gt-party-size-picker button { height: 42px; }
}

@media (max-width: 560px) {
    .gt-nav-actions > a:first-child { display: none; }
    .gt-detail-story-wide { margin-top: 22px; }
    .gt-booking-steps { grid-template-columns: 1fr; }
    .gt-booking-steps > span { border-right: 0; border-bottom: 1px solid var(--bl-line); }
    .gt-booking-steps > span:last-child { border-bottom: 0; }
    .gt-map-card .gt-seating-map-scroll { padding: 8px; }
    .gt-map-card .gt-seating-map-scroll svg { min-width: 600px; }
}

.gt-results-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 4px 0 16px;
    color: #71868b;
    font-size: 10px;
}

.gt-results-meta-row > div {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.gt-results-meta-row strong {
    color: var(--bl-ink);
    font-size: 18px;
}

.gt-results-meta-row > div span { font-weight: 800; }

@media (max-width: 560px) {
    .gt-results-meta-row > span { display: none; }
}

/* ==========================================================================
   BileteLive UI v8 — balanced darker canvas, stronger hierarchy, real footer
   ========================================================================== */

:root {
    --bl-v8-canvas: #cbd7d2;
    --bl-v8-canvas-deep: #c1cec8;
    --bl-v8-section: #d5dfda;
    --bl-v8-cream: #fbfaf6;
    --bl-v8-footer: #142d36;
    --bl-v8-footer-line: rgba(255,255,255,.12);
}

.gt-body {
    background: var(--bl-v8-canvas) !important;
}

/* Keep the navigation crisp against the denser page canvas. */
.gt-nav-market {
    background: rgba(252,251,247,.97) !important;
    border-bottom: 1px solid #bac9c3 !important;
    box-shadow: 0 4px 18px rgba(20,45,54,.035);
}

/* The homepage now reads as sections, not one pale-green sheet. */
.gt-home-market-hero {
    padding: 50px 0 34px !important;
    background:
        radial-gradient(circle at 8% 0%, rgba(0,169,129,.15), transparent 30%),
        radial-gradient(circle at 88% 2%, rgba(118,89,216,.08), transparent 28%),
        linear-gradient(135deg, #d8e2dd 0%, #d0dcd7 58%, #d7dedc 100%) !important;
    border-bottom: 1px solid #b9c8c2 !important;
}

.gt-home-market-copy h1 {
    font-size: clamp(42px, 4.8vw, 62px) !important;
    line-height: .99 !important;
}

.gt-home-market-copy p {
    margin-top: 16px !important;
    max-width: 760px;
    color: #4d676e !important;
    font-size: 15px !important;
}

.gt-market-search {
    margin-top: 26px !important;
    box-shadow: 0 14px 34px rgba(20,45,54,.11) !important;
}

.gt-category-showcase {
    background: #d8e2dd !important;
    border-bottom: 1px solid #b8c7c1 !important;
}

.gt-home-events-market {
    background: #cbd7d2 !important;
    border-top: 0 !important;
}

.gt-section {
    padding: 46px 0 !important;
}

/* Slightly richer category color: lively, but not children's-app pastel. */
.gt-category-tile.is-concert { background: #bfe9df !important; }
.gt-category-tile.is-family { background: #f7d5c9 !important; }
.gt-category-tile.is-theatre { background: #dcd4f3 !important; }
.gt-category-tile.is-festival { background: #f6df94 !important; }
.gt-category-tile.is-comedy { background: #eccbdc !important; }
.gt-category-tile.is-workshop { background: #cbdff3 !important; }

/* Two-event MVP: use the empty third of the page for useful discovery, not whitespace. */
.gt-home-events-layout.has-discovery {
    display: grid;
    grid-template-columns: minmax(0, 1.72fr) minmax(310px, .9fr);
    gap: 24px;
    align-items: stretch;
}

.gt-home-events-layout.has-discovery .gt-market-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.gt-home-discovery-card {
    position: relative;
    min-height: 100%;
    padding: 28px;
    border-radius: 22px;
    color: #f8fbfa;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,116,95,.26), transparent 27%),
        radial-gradient(circle at 12% 88%, rgba(0,169,129,.2), transparent 28%),
        linear-gradient(145deg, #17333c, #204750);
    box-shadow: 0 16px 36px rgba(20,45,54,.15);
    overflow: hidden;
}

.gt-home-discovery-card::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border: 28px solid rgba(255,255,255,.055);
    border-radius: 50%;
    right: -70px;
    top: -78px;
}

.gt-home-discovery-eyebrow {
    position: relative;
    z-index: 1;
    display: block;
    color: #8be0cb;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.gt-home-discovery-card h3 {
    position: relative;
    z-index: 1;
    margin: 10px 0 8px;
    max-width: 360px;
    color: #fff;
    font: 400 34px/1.03 "Gloock", Georgia, serif;
}

.gt-home-discovery-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 24px;
    max-width: 390px;
    color: #bdd0d4;
    font-size: 12px;
    line-height: 1.6;
}

.gt-home-discovery-links {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
}

.gt-home-discovery-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    color: #f8fbfa;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    background: rgba(255,255,255,.04);
    transition: .18s ease;
}

.gt-home-discovery-links a:hover {
    background: rgba(255,255,255,.10);
    border-color: rgba(134,226,203,.52);
    transform: translateX(2px);
}

.gt-home-discovery-links b { color: #7bdbc3; font-size: 17px; }

/* Catalogue and event detail get a definite canvas/surface contrast. */
.gt-events-market-page {
    background:
        radial-gradient(circle at 96% 0%, rgba(118,89,216,.055), transparent 24%),
        linear-gradient(180deg, #d2ddd8 0%, #c7d4cf 390px, #cbd7d2 100%) !important;
}

.gt-event-detail-market {
    background:
        radial-gradient(circle at 94% 2%, rgba(118,89,216,.05), transparent 26%),
        linear-gradient(180deg, #d0dbd6 0%, #c6d2cd 100%) !important;
}

.gt-detail-market-hero,
.gt-seating-booking-v2,
.gt-detail-story-wide,
.gt-ticket-panel-market,
.gt-booking-card,
.gt-booking-summary-sticky {
    background: var(--bl-v8-cream) !important;
    border-color: #b8c8c1 !important;
}

.gt-detail-story-after-booking {
    margin-top: 26px !important;
    margin-bottom: 8px;
}

.gt-seating-booking-v2 {
    margin-top: 26px !important;
    box-shadow: 0 18px 42px rgba(20,45,54,.13) !important;
}

.gt-map-card .gt-seating-map-scroll {
    background: #edf2ef !important;
    border-color: #b8c7c1 !important;
}

/* Event cards: warm-white inventory cards stand out from the sage canvas. */
.gt-market-event-card {
    background: #fbfaf6 !important;
    border-color: #b9c8c2 !important;
    box-shadow: 0 10px 25px rgba(20,45,54,.10) !important;
}

.gt-market-event-card:hover {
    box-shadow: 0 18px 38px rgba(20,45,54,.16) !important;
}

/* Homepage dark callout and footer become one intentional anchor. */
.gt-plan-strip {
    background: #1a3942 !important;
    padding: 30px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

/* A proper marketplace footer — denser, useful, and trust-led. */
.gt-footer-market {
    background: var(--bl-v8-footer) !important;
    padding: 46px 0 20px !important;
    border-top: 0 !important;
}

.gt-footer-main-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) repeat(4, minmax(130px, .78fr));
    gap: 38px;
    padding-bottom: 34px;
}

.gt-footer-brand-column { max-width: 300px; }
.gt-footer-market .gt-footer-brand .gt-brand-name { font-size: 27px !important; }
.gt-footer-market .gt-footer-intro p {
    margin: 12px 0 0;
    color: #b8c9cc !important;
    font-size: 12px !important;
    line-height: 1.65;
}

.gt-footer-mini-note {
    margin-top: 18px;
    color: #83d9c5;
    font-size: 10px;
    font-weight: 800;
}

.gt-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.gt-footer-column > strong {
    margin-bottom: 4px;
    color: #fff !important;
    font-size: 12px !important;
    letter-spacing: .25px;
}

.gt-footer-column a,
.gt-footer-column span {
    color: #b6c7cb !important;
    text-decoration: none;
    font-size: 11px;
    line-height: 1.45;
}

.gt-footer-column a:hover { color: #8ce0cc !important; }

.gt-footer-trust-wide {
    grid-template-columns: repeat(4, 1fr) !important;
    border-top: 1px solid var(--bl-v8-footer-line) !important;
    border-bottom: 1px solid var(--bl-v8-footer-line) !important;
}

.gt-footer-trust-wide > div {
    padding: 18px 18px 18px 0 !important;
    border-right: 1px solid var(--bl-v8-footer-line) !important;
}

.gt-footer-trust-wide > div:last-child { border-right: 0 !important; }
.gt-footer-trust-wide strong { color: #f7fbfa !important; font-size: 11px !important; }
.gt-footer-trust-wide small { color: #91a8ad !important; font-size: 9px !important; }
.gt-footer-trust-wide > div > span { background: rgba(0,169,129,.17) !important; color: #8ce0cc !important; }

.gt-footer-bottom-market {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-top: 17px !important;
    color: #829a9f !important;
    font-size: 9px !important;
}

@media (max-width: 1100px) {
    .gt-home-events-layout.has-discovery { grid-template-columns: 1fr; }
    .gt-home-discovery-card { min-height: 260px; }
    .gt-footer-main-grid { grid-template-columns: 1.2fr repeat(2, 1fr); }
    .gt-footer-brand-column { grid-row: span 2; }
}

@media (max-width: 760px) {
    .gt-home-market-hero { padding: 36px 0 28px !important; }
    .gt-home-events-layout.has-discovery .gt-market-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .gt-footer-main-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
    .gt-footer-brand-column { grid-column: 1 / -1; grid-row: auto; max-width: none; }
    .gt-footer-trust-wide { grid-template-columns: 1fr 1fr !important; }
    .gt-footer-trust-wide > div:nth-child(2) { border-right: 0 !important; }
    .gt-footer-trust-wide > div:nth-child(-n+2) { border-bottom: 1px solid var(--bl-v8-footer-line) !important; }
}

@media (max-width: 560px) {
    .gt-home-events-layout.has-discovery .gt-market-card-grid { grid-template-columns: 1fr !important; }
    .gt-footer-main-grid { grid-template-columns: 1fr 1fr; }
    .gt-footer-trust-wide { grid-template-columns: 1fr !important; }
    .gt-footer-trust-wide > div { border-right: 0 !important; border-bottom: 1px solid var(--bl-v8-footer-line) !important; }
    .gt-footer-bottom-market { flex-direction: column; gap: 6px; }
}

/* ==========================================================================
   BileteLive UI v9 — marketplace-first contrast
   Darker where it matters, brighter where people browse.
   ========================================================================== */

:root {
    --bl-v9-ink: #12313a;
    --bl-v9-dark: #183640;
    --bl-v9-dark-2: #21444d;
    --bl-v9-canvas: #c5cfcb;
    --bl-v9-canvas-soft: #d8dedb;
    --bl-v9-paper: #f7f5f0;
    --bl-v9-line: #aebdb7;
}

.gt-body {
    background: var(--bl-v9-canvas) !important;
}

.gt-nav-market {
    background: rgba(249,248,244,.98) !important;
    border-bottom-color: #b5c1bd !important;
    box-shadow: 0 5px 18px rgba(18,49,58,.05) !important;
}

/* Hero: dark, compact and unmistakably a ticketing product — not a genre site. */
.gt-home-market-hero-v9 {
    position: relative;
    padding: 42px 0 34px !important;
    color: #f9f7f1;
    background:
        radial-gradient(circle at 88% 18%, rgba(118,89,216,.18), transparent 26%),
        radial-gradient(circle at 6% 8%, rgba(0,180,141,.22), transparent 30%),
        linear-gradient(120deg, #16343d 0%, #1d3e47 58%, #284b54 100%) !important;
    border-bottom: 0 !important;
    overflow: hidden;
}

.gt-home-market-hero-v9::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border: 46px solid rgba(255,255,255,.035);
    border-radius: 50%;
    right: -110px;
    top: -130px;
    pointer-events: none;
}

.gt-home-market-hero-v9 .gt-kicker-market {
    color: #8fe1ce !important;
}

.gt-home-market-hero-v9 .gt-home-market-copy {
    max-width: 780px;
}

.gt-home-market-hero-v9 .gt-home-market-copy h1 {
    color: #fbf8f1 !important;
    font-size: clamp(40px, 4.25vw, 58px) !important;
    line-height: 1.01 !important;
    letter-spacing: -1.8px !important;
}

.gt-home-market-hero-v9 .gt-home-market-copy h1 em {
    color: #ff7866 !important;
}

.gt-home-market-hero-v9 .gt-home-market-copy p {
    max-width: 720px;
    margin-top: 13px !important;
    color: #c6d6d8 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.gt-home-market-hero-v9 .gt-market-search {
    max-width: 1020px;
    margin-top: 22px !important;
    border: 0 !important;
    box-shadow: 0 18px 42px rgba(6,25,30,.28) !important;
}

.gt-home-market-hero-v9 .gt-quick-plans {
    color: #9db6ba !important;
    margin-top: 13px !important;
}

.gt-home-market-hero-v9 .gt-quick-plans a {
    color: #eff7f5 !important;
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.18) !important;
}

.gt-home-market-hero-v9 .gt-quick-plans a:hover {
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(143,225,206,.55) !important;
}

/* Event inventory comes before decorative discovery. */
.gt-home-events-market-v9 {
    padding: 42px 0 48px !important;
    background:
        linear-gradient(180deg, #c3ceca 0%, #c9d2cf 100%) !important;
    border: 0 !important;
}

.gt-home-events-market-v9 .gt-market-section-head {
    margin-bottom: 20px !important;
}

.gt-home-events-market-v9 .gt-market-section-head h2 {
    font-size: 32px !important;
}

.gt-home-events-head-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.gt-events-all-link {
    color: #0f6f5d !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none;
}

.gt-home-v9-event-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 282px)) !important;
    justify-content: start;
    gap: 20px !important;
}

.gt-home-v9-event-grid .gt-market-event-card {
    background: var(--bl-v9-paper) !important;
    border-color: #aebdb7 !important;
    box-shadow: 0 12px 28px rgba(18,49,58,.12) !important;
}

/* Categories: compact and useful, no longer the visual centre of the homepage. */
.gt-category-showcase-v9 {
    padding: 36px 0 42px !important;
    background: #e5e9e6 !important;
    border-top: 1px solid #b6c3be !important;
    border-bottom: 0 !important;
}

.gt-market-section-head-compact {
    margin-bottom: 17px !important;
}

.gt-market-section-head-compact h2 {
    font-size: 29px !important;
}

.gt-category-tiles-v9 {
    gap: 10px !important;
}

.gt-category-tiles-v9 .gt-category-tile {
    min-height: 102px !important;
    padding: 15px !important;
    border-radius: 16px !important;
    justify-content: flex-end !important;
    border: 1px solid rgba(18,49,58,.07);
    box-shadow: 0 6px 15px rgba(18,49,58,.04);
}

.gt-category-tiles-v9 .gt-category-tile:before {
    width: 58px !important;
    height: 58px !important;
    border-width: 14px !important;
    right: -14px !important;
    top: -14px !important;
}

.gt-category-tiles-v9 .gt-category-tile > span {
    width: 29px !important;
    height: 29px !important;
    left: 14px !important;
    top: 13px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
}

.gt-category-tiles-v9 .gt-category-tile strong {
    font-size: 13px !important;
}

.gt-category-tiles-v9 .gt-category-tile small {
    font-size: 9px !important;
    margin-top: 3px !important;
}

/* Listing/detail canvas: darker neutral without a green wash. */
.gt-events-market-page {
    background:
        radial-gradient(circle at 95% 0%, rgba(118,89,216,.055), transparent 22%),
        linear-gradient(180deg, #d1d8d5 0%, #c5cfcb 100%) !important;
}

.gt-event-detail-market {
    background:
        radial-gradient(circle at 94% 0%, rgba(118,89,216,.045), transparent 24%),
        linear-gradient(180deg, #ccd5d1 0%, #c2ccc8 100%) !important;
}

.gt-detail-market-hero,
.gt-seating-booking-v2,
.gt-detail-story-wide,
.gt-ticket-panel-market,
.gt-booking-card,
.gt-booking-summary-sticky {
    background: #f7f6f1 !important;
    border-color: #aebdb7 !important;
}

/* Cards stay calm; posters/artwork provide the genre. */
.gt-market-event-card {
    background: #f7f6f1 !important;
    border-color: #adbbb6 !important;
}

/* Footer: commercial rather than prototype copy. */
.gt-footer-market {
    background: #102832 !important;
}

.gt-footer-bottom-market {
    color: #88a1a6 !important;
}

/* v8 discovery/plan elements are intentionally retired on the v9 homepage. */
.gt-home-discovery-card,
.gt-plan-strip {
    display: none !important;
}

@media (max-width: 900px) {
    .gt-home-market-hero-v9 { padding: 34px 0 28px !important; }
    .gt-home-v9-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
    .gt-home-market-hero-v9 .gt-home-market-copy h1 { font-size: 40px !important; }
    .gt-home-events-head-actions { justify-content: flex-start; }
    .gt-category-tiles-v9 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 560px) {
    .gt-home-v9-event-grid { grid-template-columns: 1fr !important; }
    .gt-home-market-hero-v9 .gt-home-market-copy h1 { font-size: 36px !important; }
}

/* ==========================================================================\n   BileteLive v10 — MVP marketplace polish\n   Keep the v9 palette. Improve density, sparse-event handling and finishing.\n   ========================================================================== */

/* When the MVP has only one or two events, use the full marketplace width
   without making the poster artwork gigantic. Once inventory grows, the
   normal four-across poster grid automatically returns. */
.gt-home-v10-event-grid--sparse {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100%;
}

.gt-home-v10-event-grid--sparse .gt-market-event-card {
    display: grid !important;
    grid-template-columns: minmax(220px, 42%) minmax(0, 1fr);
    min-height: 0;
    border-radius: 20px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-poster {
    aspect-ratio: 1 / 1.414 !important;
    min-height: 0;
    height: auto !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-body {
    min-width: 0;
    padding: 24px 22px 20px !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.gt-home-v10-event-grid--sparse .gt-event-special-tags,
.gt-events-grid-market--sparse .gt-event-special-tags {
    margin-bottom: auto;
}

.gt-home-v10-event-grid--sparse .gt-market-event-date {
    font-size: 12px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-body h3 {
    margin: 10px 0 8px !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
    letter-spacing: -.45px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-body p {
    min-height: 0 !important;
    font-size: 12px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-footer {
    width: 100%;
    margin-top: 20px !important;
    padding-top: 15px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-price strong {
    font-size: 17px !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-link {
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(0,169,129,.09);
    font-size: 12px !important;
}

/* The fallback is an emergency artwork treatment, not a second copy of the
   product information. In sparse homepage cards, keep it abstract and clean. */
.gt-home-v10-event-grid--sparse .gt-poster-fallback strong,
.gt-home-v10-event-grid--sparse .gt-poster-fallback-venue {
    display: none;
}

.gt-home-v10-event-grid--sparse .gt-poster-fallback-icon {
    top: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    font-size: 56px !important;
    opacity: .16 !important;
}

.gt-home-v10-event-grid--sparse .gt-poster-fallback-date {
    left: 20px !important;
    top: 20px !important;
}

.gt-home-v10-event-grid--single {
    grid-template-columns: minmax(0, 720px) !important;
}

/* Inventory feels more intentional: slightly less vertical padding and a
   warmer, clearer separation from the dark hero. */
.gt-home-events-market-v9 {
    padding: 38px 0 42px !important;
    background: linear-gradient(180deg, #c4cfcb 0%, #cbd3d0 100%) !important;
}

.gt-home-events-market-v9 .gt-market-section-head {
    margin-bottom: 18px !important;
}

.gt-home-events-head-actions .gt-mini-promo {
    padding: 7px 11px !important;
    font-size: 11px !important;
    box-shadow: none !important;
}

/* Categories should be useful navigation, not another hero. */
.gt-category-showcase-v9 {
    padding: 30px 0 34px !important;
}

.gt-category-tiles-v9 .gt-category-tile {
    min-height: 90px !important;
    padding: 13px !important;
    border-radius: 14px !important;
}

.gt-category-tiles-v9 .gt-category-tile > span {
    width: 27px !important;
    height: 27px !important;
    left: 12px !important;
    top: 11px !important;
}

.gt-category-tiles-v9 .gt-category-tile strong {
    font-size: 12px !important;
}

.gt-category-tiles-v9 .gt-category-tile small {
    font-size: 8.5px !important;
}

/* Compact the footer now that it has real information architecture. */
.gt-footer-market {
    padding: 38px 0 16px !important;
}

.gt-footer-main-grid {
    gap: 30px !important;
}

.gt-footer-trust-wide {
    margin-top: 28px !important;
}

@media (max-width: 1000px) {
    .gt-home-v10-event-grid--sparse {
        grid-template-columns: 1fr !important;
    }
    .gt-home-v10-event-grid--sparse .gt-market-event-card {
        grid-template-columns: minmax(210px, 34%) minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .gt-home-v10-event-grid--sparse .gt-market-event-card {
        display: block !important;
        min-height: 0;
    }
    .gt-home-v10-event-grid--sparse .gt-market-event-poster {
        min-height: 0;
        aspect-ratio: 1 / 1.414 !important;
    }
    .gt-home-v10-event-grid--sparse .gt-market-event-body {
        padding: 16px 15px 15px !important;
    }
    .gt-home-v10-event-grid--sparse .gt-poster-fallback strong,
    .gt-home-v10-event-grid--sparse .gt-poster-fallback-venue {
        display: block;
    }
}

/* ==========================================================================
   BileteLive UI v11 — FINAL BRAND PALETTE
   Deep petrol  #102C30  — main canvas
   Lighter petrol #1B3D42 — cards / navigation
   Electric lime #D5F36B — buy / selected / live
   Soft lilac #B8A4EA — secondary highlights
   Warm white #F7F4EA — primary text
   ========================================================================== */

:root {
    --bl11-deep: #102C30;
    --bl11-card: #1B3D42;
    --bl11-lime: #D5F36B;
    --bl11-lilac: #B8A4EA;
    --bl11-white: #F7F4EA;
    --bl11-white-86: rgba(247,244,234,.86);
    --bl11-white-68: rgba(247,244,234,.68);
    --bl11-white-48: rgba(247,244,234,.48);
    --bl11-white-18: rgba(247,244,234,.18);
    --bl11-white-11: rgba(247,244,234,.11);
    --bl11-white-07: rgba(247,244,234,.07);
    --bl11-lime-18: rgba(213,243,107,.18);
    --bl11-lime-10: rgba(213,243,107,.10);
    --bl11-lilac-20: rgba(184,164,234,.20);
    --bl11-lilac-11: rgba(184,164,234,.11);
    --bl11-shadow: 0 18px 48px rgba(4,18,20,.22);
    --bl11-shadow-soft: 0 10px 30px rgba(4,18,20,.14);
}

html { background: var(--bl11-deep); }
.gt-body {
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
}

::selection {
    background: var(--bl11-lime);
    color: var(--bl11-deep);
}

/* Brand signature: only the two secondary brand accents. */
.gt-spectrum {
    height: 3px !important;
    background: linear-gradient(90deg,
        var(--bl11-lime) 0 38%,
        var(--bl11-lilac) 38% 62%,
        var(--bl11-lime) 62% 100%) !important;
}

/* --------------------------------------------------------------------------
   Navigation
   -------------------------------------------------------------------------- */
.gt-nav-market {
    background: rgba(27,61,66,.97) !important;
    border-bottom: 1px solid var(--bl11-white-11) !important;
    box-shadow: 0 8px 24px rgba(4,18,20,.18) !important;
}

.gt-nav-market .gt-brand-name,
.gt-nav-market .gt-brand,
.gt-nav-actions a,
.gt-nav-actions button {
    color: var(--bl11-white) !important;
}

.gt-nav-market .gt-brand-name span {
    color: var(--bl11-white-68) !important;
}

.gt-nav-market .gt-brand-mark {
    border-color: var(--bl11-lime) !important;
    color: var(--bl11-lime) !important;
    background: transparent !important;
    box-shadow: 0 0 0 4px var(--bl11-lime-10);
}
.gt-nav-market .gt-brand-mark::before { border-color: var(--bl11-lime) !important; }
.gt-nav-market .gt-brand-mark span { background: var(--bl11-lime) !important; }

.gt-nav-search {
    background: var(--bl11-deep) !important;
    border: 1px solid var(--bl11-white-18) !important;
    box-shadow: none !important;
}
.gt-nav-search span { color: var(--bl11-lime) !important; }
.gt-nav-search input { color: var(--bl11-white) !important; }
.gt-nav-search input::placeholder { color: var(--bl11-white-48) !important; }
.gt-nav-actions a:hover { color: var(--bl11-lime) !important; }
.gt-nav-admin { color: var(--bl11-lilac) !important; }
.gt-nav-cart-count {
    background: var(--bl11-lilac) !important;
    color: var(--bl11-deep) !important;
    font-weight: 900 !important;
}

/* --------------------------------------------------------------------------
   Shared product controls
   Lime always means action / selection / go.
   -------------------------------------------------------------------------- */
.gt-button,
.gt-button-primary,
.gt-search-go,
.gt-booking-checkout {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    border-color: var(--bl11-lime) !important;
    box-shadow: none !important;
}
.gt-button:hover,
.gt-button-primary:hover,
.gt-search-go:hover,
.gt-booking-checkout:hover:not(:disabled) {
    filter: brightness(1.04);
    transform: translateY(-1px);
}
.gt-button-secondary {
    background: transparent !important;
    color: var(--bl11-white) !important;
    border: 1px solid var(--bl11-white-18) !important;
}
.gt-button-secondary:hover {
    border-color: var(--bl11-lilac) !important;
    color: var(--bl11-lilac) !important;
}
.gt-booking-checkout:disabled,
.gt-button:disabled {
    background: rgba(247,244,234,.16) !important;
    border-color: transparent !important;
    color: rgba(247,244,234,.38) !important;
}

a { text-underline-offset: 3px; }

/* --------------------------------------------------------------------------
   Homepage hero
   -------------------------------------------------------------------------- */
.gt-home-market-hero-v9,
.gt-home-market-hero {
    background:
        radial-gradient(circle at 88% 10%, rgba(184,164,234,.17), transparent 27%),
        radial-gradient(circle at 8% 4%, rgba(213,243,107,.10), transparent 28%),
        linear-gradient(118deg, var(--bl11-deep) 0%, var(--bl11-deep) 48%, var(--bl11-card) 100%) !important;
    color: var(--bl11-white) !important;
    border-bottom: 1px solid var(--bl11-white-11) !important;
}
.gt-home-market-hero-v9::after {
    border-color: rgba(184,164,234,.08) !important;
}
.gt-home-market-hero-v9 .gt-kicker-market,
.gt-kicker-market,
.gt-market-section-head > div > span {
    color: var(--bl11-lime) !important;
}
.gt-home-market-hero-v9 .gt-home-market-copy h1,
.gt-home-market-copy h1 {
    color: var(--bl11-white) !important;
}
.gt-home-market-hero-v9 .gt-home-market-copy h1 em,
.gt-home-market-copy h1 em {
    color: var(--bl11-lime) !important;
}
.gt-home-market-hero-v9 .gt-home-market-copy p,
.gt-home-market-copy p {
    color: var(--bl11-white-68) !important;
}

.gt-market-search {
    background: var(--bl11-card) !important;
    border: 1px solid var(--bl11-white-18) !important;
    box-shadow: var(--bl11-shadow) !important;
}
.gt-market-search-main { border-right-color: var(--bl11-white-11) !important; }
.gt-market-search label > span { color: var(--bl11-lime) !important; }
.gt-market-search input,
.gt-market-search select {
    color: var(--bl11-white) !important;
}
.gt-market-search input::placeholder { color: var(--bl11-white-48) !important; }
.gt-market-search select option { color: var(--bl11-deep); background: var(--bl11-white); }

.gt-quick-plans { color: var(--bl11-white-48) !important; }
.gt-home-market-hero-v9 .gt-quick-plans a,
.gt-quick-plans a {
    color: var(--bl11-white) !important;
    background: rgba(247,244,234,.06) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-home-market-hero-v9 .gt-quick-plans a:hover,
.gt-quick-plans a:hover {
    color: var(--bl11-deep) !important;
    background: var(--bl11-lilac) !important;
    border-color: var(--bl11-lilac) !important;
}

/* --------------------------------------------------------------------------
   Homepage inventory and discovery
   -------------------------------------------------------------------------- */
.gt-home-events-market-v9,
.gt-home-events-market,
.gt-category-showcase-v9,
.gt-category-showcase {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-home-events-market-v9 {
    background:
        radial-gradient(circle at 93% 5%, var(--bl11-lilac-11), transparent 24%),
        var(--bl11-deep) !important;
}
.gt-category-showcase-v9 {
    background: var(--bl11-deep) !important;
    border-top: 1px solid var(--bl11-white-11) !important;
}
.gt-market-section-head h2,
.gt-page-title-row h1,
.gt-detail-market-copy h1,
.gt-copy-market h2,
.gt-booking-v2-head h2 {
    color: var(--bl11-white) !important;
}
.gt-market-section-head > a,
.gt-events-all-link,
.gt-market-event-link,
.gt-filter-reset,
.gt-recovery-link,
.gt-booking-v2-head .gt-recovery-link {
    color: var(--bl11-lime) !important;
}
.gt-mini-promo {
    color: var(--bl11-deep) !important;
    background: var(--bl11-lilac) !important;
    border-color: var(--bl11-lilac) !important;
}

/* Event cards: dark platform chrome, artwork stays free to carry its genre. */
.gt-market-event-card,
.gt-home-v9-event-grid .gt-market-event-card,
.gt-home-v10-event-grid--sparse .gt-market-event-card {
    background: var(--bl11-card) !important;
    border: 1px solid var(--bl11-white-11) !important;
    color: var(--bl11-white) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
    overflow: hidden;
}
.gt-market-event-poster {
    border-radius: 18px 18px 0 0 !important;
    background-color: var(--bl11-card) !important;
}
.gt-home-v10-event-grid--sparse .gt-market-event-poster {
    border-radius: 19px 0 0 19px !important;
}
.gt-market-event-body {
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
}
.gt-market-event-date { color: var(--bl11-lime) !important; }
.gt-market-event-body h3,
.gt-market-event-body h3 a,
.gt-market-event-price strong {
    color: var(--bl11-white) !important;
}
.gt-market-event-body p,
.gt-market-event-body p span,
.gt-market-event-price small {
    color: var(--bl11-white-68) !important;
}
.gt-market-event-footer { border-top-color: var(--bl11-white-11) !important; }
.gt-market-event-link {
    color: var(--bl11-lime) !important;
    background: transparent !important;
}
.gt-home-v10-event-grid--sparse .gt-market-event-link {
    background: var(--bl11-lime-10) !important;
}
.gt-poster-category {
    background: rgba(16,44,48,.82) !important;
    color: var(--bl11-white) !important;
    border: 1px solid rgba(247,244,234,.22);
}
.gt-poster-seating {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
}
.gt-poster-fallback-date {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
}
.gt-poster-fallback strong { color: var(--bl11-white) !important; }
.gt-poster-fallback-venue { color: var(--bl11-white-68) !important; }
.gt-poster-fallback::before,
.gt-poster-fallback::after { border-color: rgba(247,244,234,.12) !important; }
.gt-poster-fallback-icon { color: var(--bl11-lime) !important; opacity: .32 !important; }

/* Fallback artwork uses only the core palette, with subtle category shifts. */
.gt-market-event-card--concert .gt-poster-fallback,
.gt-market-event-card--festival .gt-poster-fallback,
.gt-market-event-card--workshop .gt-poster-fallback {
    background: linear-gradient(145deg, var(--bl11-card), var(--bl11-deep)) !important;
}
.gt-market-event-card--family .gt-poster-fallback,
.gt-market-event-card--theatre .gt-poster-fallback,
.gt-market-event-card--comedy .gt-poster-fallback {
    background:
        radial-gradient(circle at 82% 12%, rgba(184,164,234,.34), transparent 31%),
        linear-gradient(145deg, var(--bl11-card), var(--bl11-deep)) !important;
}

/* Category cards: same platform language, two accents. */
.gt-category-tiles-v9 .gt-category-tile,
.gt-category-tile {
    --cat-accent: var(--bl11-lime);
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
    border: 1px solid var(--bl11-white-11) !important;
    border-top: 3px solid var(--cat-accent) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}
.gt-category-tile.is-family,
.gt-category-tile.is-theatre,
.gt-category-tile.is-comedy { --cat-accent: var(--bl11-lilac); }
.gt-category-tile::before { border-color: color-mix(in srgb, var(--cat-accent) 18%, transparent) !important; }
.gt-category-tile > span {
    background: var(--cat-accent) !important;
    color: var(--bl11-deep) !important;
}
.gt-category-tile strong { color: var(--bl11-white) !important; }
.gt-category-tile small { color: var(--bl11-white-68) !important; }
.gt-category-tile:hover {
    transform: translateY(-3px) !important;
    border-color: color-mix(in srgb, var(--cat-accent) 58%, transparent) !important;
    box-shadow: 0 16px 34px rgba(4,18,20,.24) !important;
}

/* --------------------------------------------------------------------------
   Events catalogue
   -------------------------------------------------------------------------- */
.gt-events-market-page,
.gt-event-detail-market,
.gt-page,
.gt-auth-page {
    background:
        radial-gradient(circle at 95% 2%, var(--bl11-lilac-11), transparent 23%),
        var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
}
.gt-page-title-row p,
.gt-results-meta-row,
.gt-results-meta-row > span,
.gt-results-meta-row > div span {
    color: var(--bl11-white-68) !important;
}
.gt-results-meta-row strong { color: var(--bl11-lime) !important; }

.gt-filter-bar {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}
.gt-filter-bar input,
.gt-filter-bar select,
.gt-filter-search,
.gt-filter-select {
    background: transparent !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-filter-bar input::placeholder { color: var(--bl11-white-48) !important; }
.gt-filter-bar select option { color: var(--bl11-deep); background: var(--bl11-white); }
.gt-filter-search > span,
.gt-filter-select > span { color: var(--bl11-lime) !important; }

.gt-category-chip {
    --chip-accent: var(--bl11-lime);
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-category-chip--family,
.gt-category-chip--theatre,
.gt-category-chip--comedy { --chip-accent: var(--bl11-lilac); }
.gt-category-chip > span { color: var(--chip-accent) !important; }
.gt-category-chip:hover {
    border-color: var(--chip-accent) !important;
    color: var(--bl11-white) !important;
}
.gt-category-chip.is-active,
.gt-category-chip--all.is-active {
    background: var(--bl11-lime) !important;
    border-color: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    box-shadow: 0 0 0 3px var(--bl11-lime-10) !important;
}
.gt-category-chip.is-active > span { color: var(--bl11-deep) !important; }

.gt-date-shortcuts { color: var(--bl11-white-48) !important; }
.gt-date-shortcuts a {
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-date-shortcuts a:hover { border-color: var(--bl11-lilac) !important; }
.gt-date-shortcuts a.is-active {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    border-color: var(--bl11-lime) !important;
}
.gt-empty,
.gt-empty-market {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    color: var(--bl11-white-68) !important;
}
.gt-empty strong { color: var(--bl11-white) !important; }
.gt-empty a { color: var(--bl11-lime) !important; }

/* --------------------------------------------------------------------------
   Event detail
   -------------------------------------------------------------------------- */
.gt-detail-breadcrumb,
.gt-detail-breadcrumb a { color: var(--bl11-white-68) !important; }
.gt-detail-market-hero,
.gt-detail-story-wide,
.gt-detail-story-after-booking,
.gt-detail-good-to-know > div,
.gt-ticket-panel-market {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    color: var(--bl11-white) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}
.gt-detail-market-poster {
    background-color: var(--bl11-deep);
    background-image:
        radial-gradient(circle at 80% 12%, rgba(184,164,234,.35), transparent 30%),
        linear-gradient(145deg, var(--bl11-card), var(--bl11-deep));
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.gt-detail-market-poster small { color: var(--bl11-lime) !important; }
.gt-detail-market-poster strong { color: var(--bl11-white) !important; }
.gt-detail-market-poster em { color: var(--bl11-white-68) !important; }
.gt-detail-subtitle,
.gt-detail-market-copy > p,
.gt-copy-market p,
.gt-detail-story-wide p { color: var(--bl11-white-68) !important; }
.gt-detail-market-facts > div > span {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
}
.gt-detail-market-facts small { color: var(--bl11-white-48) !important; }
.gt-detail-market-facts strong { color: var(--bl11-white) !important; }
.gt-badge,
.gt-badge-muted {
    background: rgba(247,244,234,.08) !important;
    color: var(--bl11-white) !important;
    border: 1px solid var(--bl11-white-11) !important;
}
.gt-badge-green {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    border-color: var(--bl11-lime) !important;
}
.gt-badge-seating {
    background: var(--bl11-lilac) !important;
    color: var(--bl11-deep) !important;
    border-color: var(--bl11-lilac) !important;
}

/* --------------------------------------------------------------------------
   Seating / table booking
   -------------------------------------------------------------------------- */
.gt-seating-booking-v2,
.gt-booking-card,
.gt-booking-summary-sticky {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    color: var(--bl11-white) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}
.gt-booking-v2-head p,
.gt-booking-section-heading p,
.gt-party-fit-note,
.gt-booking-secure-note,
.gt-summary-kicker,
.gt-ticket-summary-v2 > span {
    color: var(--bl11-white-68) !important;
}
.gt-booking-section-heading h3,
.gt-ticket-summary-v2 > strong,
.gt-table-selection-v2 strong { color: var(--bl11-white) !important; }

.gt-booking-steps {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-booking-steps > span {
    color: var(--bl11-white-48) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-booking-steps b {
    background: rgba(247,244,234,.10) !important;
    color: var(--bl11-white-68) !important;
}
.gt-booking-steps .is-active,
.gt-booking-steps .is-complete {
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
}
.gt-booking-steps .is-active b,
.gt-booking-steps .is-complete b,
.gt-booking-section-heading > div:first-child > span {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
}

.gt-party-size-picker button {
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-party-size-picker button:hover {
    border-color: var(--bl11-lilac) !important;
    background: var(--bl11-lilac-11) !important;
}
.gt-party-size-picker button.is-active {
    background: var(--bl11-lime) !important;
    border-color: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    box-shadow: 0 0 0 3px var(--bl11-lime-10) !important;
}

.gt-map-card .gt-seating-map-scroll {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-map-card .gt-stage {
    fill: var(--bl11-white) !important;
    stroke: var(--bl11-white) !important;
}
.gt-map-card .gt-stage-label {
    fill: var(--bl11-deep) !important;
}
.gt-map-card .gt-map-table.is-available rect {
    fill: var(--bl11-card) !important;
    stroke: var(--bl11-lime) !important;
}
.gt-map-card .gt-map-table.is-selected rect {
    fill: var(--bl11-lime) !important;
    stroke: var(--bl11-lime) !important;
    stroke-width: 5 !important;
}
.gt-map-card .gt-map-table.is-held rect {
    fill: var(--bl11-lilac) !important;
    stroke: var(--bl11-lilac) !important;
}
.gt-map-card .gt-map-table.is-reserved rect {
    fill: rgba(247,244,234,.14) !important;
    stroke: rgba(247,244,234,.45) !important;
}
.gt-map-card .gt-map-table.is-blocked rect {
    fill: rgba(210,73,73,.18) !important;
    stroke: #e56c6c !important;
}
.gt-map-card .gt-map-table.is-available .gt-table-number,
.gt-map-card .gt-map-table.is-available .gt-table-capacity { fill: var(--bl11-white) !important; }
.gt-map-card .gt-map-table.is-selected .gt-table-number,
.gt-map-card .gt-map-table.is-selected .gt-table-capacity,
.gt-map-card .gt-map-table.is-held .gt-table-number,
.gt-map-card .gt-map-table.is-held .gt-table-capacity { fill: var(--bl11-deep) !important; }
.gt-map-card .gt-map-table.is-reserved .gt-table-number,
.gt-map-card .gt-map-table.is-reserved .gt-table-capacity { fill: rgba(247,244,234,.55) !important; }
.gt-map-card .gt-seating-legend { color: var(--bl11-white-68) !important; }

.gt-table-selection-v2 {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-white-11) !important;
}
.gt-table-selection-v2 span { color: var(--bl11-white-68) !important; }
.gt-selected-table-label { color: var(--bl11-lime) !important; }
.gt-selected-table-payment,
.gt-payment-section-v2 { border-color: var(--bl11-white-11) !important; }

.gt-payment-choice-v2 label > span,
.gt-payment-choice label > span {
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-payment-choice-v2 input:checked + span,
.gt-payment-choice input:checked + span {
    border-color: var(--bl11-lime) !important;
    box-shadow: inset 0 0 0 1px var(--bl11-lime), 0 0 0 3px var(--bl11-lime-10) !important;
    background: var(--bl11-lime-10) !important;
}
.gt-payment-choice-v2 small,
.gt-payment-choice small { color: var(--bl11-white-68) !important; }
.gt-payment-section-v2 .gt-split-payment {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-lilac) !important;
}

/* --------------------------------------------------------------------------
   Cart / checkout / account / generic public cards
   -------------------------------------------------------------------------- */
.gt-auth-card,
.gt-checkout-card,
.gt-form-card,
.gt-table-card,
.gt-ticket-wallet,
.gt-invitation-card,
.gt-party-card,
.gt-role-card,
.gt-cart-order,
.gt-total-box,
.gt-organizer-note,
.gt-scan-result {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    color: var(--bl11-white) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}
.gt-auth-heading h1,
.gt-auth-card h1,
.gt-auth-card h2,
.gt-checkout-card h1,
.gt-checkout-card h2,
.gt-form-card h1,
.gt-form-card h2,
.gt-table-card h2,
.gt-ticket-wallet h2,
.gt-cart-order h2,
.gt-total-box strong,
.gt-profile-list strong {
    color: var(--bl11-white) !important;
}
.gt-muted,
.gt-auth-footnote,
.gt-cart-payment-note,
.gt-ticket-note,
.gt-organizer-note p,
.gt-profile-list span {
    color: var(--bl11-white-68) !important;
}
.gt-auth-form input,
.gt-auth-form select,
.gt-auth-fields input,
.gt-auth-fields select,
.gt-form-card input,
.gt-form-card select,
.gt-form-card textarea,
.gt-checkout-card input,
.gt-checkout-card select,
.gt-invitation-form input,
.gt-promo-form input,
.gt-table-booking select {
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-auth-form input::placeholder,
.gt-form-card input::placeholder,
.gt-form-card textarea::placeholder,
.gt-checkout-card input::placeholder { color: var(--bl11-white-48) !important; }
.gt-auth-form label,
.gt-form-card label,
.gt-checkout-card label { color: var(--bl11-white-86) !important; }
.gt-auth-page a,
.gt-checkout-card a,
.gt-form-card a,
.gt-ticket-wallet a { color: var(--bl11-lime) !important; }
.gt-google-button {
    background: transparent !important;
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-18) !important;
}
.gt-auth-separator::before,
.gt-auth-separator::after,
.gt-cart-lines > div,
.gt-cart-summary { border-color: var(--bl11-white-11) !important; }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.gt-footer-market {
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
    border-top: 1px solid var(--bl11-white-11) !important;
}
.gt-footer-market .gt-brand-name,
.gt-footer-column > strong,
.gt-footer-trust-wide strong { color: var(--bl11-white) !important; }
.gt-footer-market .gt-brand-name span,
.gt-footer-market .gt-footer-intro p,
.gt-footer-column a,
.gt-footer-column span,
.gt-footer-trust-wide small,
.gt-footer-bottom-market { color: var(--bl11-white-68) !important; }
.gt-footer-column a:hover,
.gt-footer-mini-note,
.gt-footer-bottom-market span:last-child { color: var(--bl11-lime) !important; }
.gt-footer-trust-wide {
    border-color: var(--bl11-white-11) !important;
}
.gt-footer-trust-wide > div { border-color: var(--bl11-white-11) !important; }
.gt-footer-trust-wide > div > span {
    background: var(--bl11-lime-10) !important;
    color: var(--bl11-lime) !important;
}
.gt-footer-market .gt-brand-mark {
    border-color: var(--bl11-lime) !important;
    background: transparent !important;
}
.gt-footer-market .gt-brand-mark::before { border-color: var(--bl11-lime) !important; }
.gt-footer-market .gt-brand-mark span { background: var(--bl11-lime) !important; }

/* Pagination */
.gt-pagination nav,
.gt-pagination span,
.gt-pagination a { color: var(--bl11-white-68) !important; }
.gt-pagination a { border-color: var(--bl11-white-18) !important; background: var(--bl11-card) !important; }
.gt-pagination span[aria-current="page"] span {
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    border-color: var(--bl11-lime) !important;
}

/* Responsive refinements for the dark palette. */
@media (max-width: 760px) {
    .gt-nav-market { background: rgba(27,61,66,.99) !important; }
    .gt-market-search-main { border-right: 0 !important; border-bottom: 1px solid var(--bl11-white-11) !important; }
    .gt-home-v10-event-grid--sparse .gt-market-event-poster { border-radius: 18px 18px 0 0 !important; }
}


/* ==========================================================================
   BileteLive UI v12 — mockup header + homepage hero alignment
   Keep v11 palette, tighten hierarchy to match the approved mockup.
   ========================================================================== */

.gt-nav-market-v12 {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: saturate(140%) blur(10px);
}

.gt-nav-main-row-v12 {
    min-height: 74px !important;
    grid-template-columns: auto minmax(360px, 440px) auto !important;
    align-items: center !important;
    gap: 28px !important;
}

.gt-nav-market-v12 .gt-brand {
    gap: 12px !important;
}

.gt-nav-market-v12 .gt-brand-name {
    font-size: 28px !important;
    letter-spacing: -.04em !important;
}

.gt-nav-market-v12 .gt-brand-mark {
    width: 34px !important;
    height: 42px !important;
    border-width: 2px !important;
    border-radius: 8px 8px 11px 11px !important;
    transform: rotate(4deg) !important;
    box-shadow: 0 0 0 4px var(--bl11-lime-10) !important;
}

.gt-nav-search-v12 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    border-radius: 16px !important;
    padding: 0 18px !important;
    background: rgba(16,44,48,.85) !important;
    border-color: rgba(247,244,234,.14) !important;
}

.gt-nav-search-v12 input {
    font-size: 15px !important;
    font-weight: 600 !important;
}

.gt-nav-actions-v12 {
    gap: 28px !important;
    justify-content: end !important;
}

.gt-nav-actions-v12 a {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.gt-nav-actions-v12 .gt-nav-cart {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.gt-home-market-hero-v12 {
    padding: 46px 0 34px !important;
    background:
        radial-gradient(circle at 86% 18%, rgba(184,164,234,.11), transparent 24%),
        radial-gradient(circle at 12% 8%, rgba(213,243,107,.08), transparent 28%),
        linear-gradient(90deg, #12353A 0%, #0F3035 52%, #274863 100%) !important;
}

.gt-home-market-copy-v12 {
    max-width: 980px !important;
}

.gt-home-market-copy-v12 h1 {
    max-width: 980px !important;
    margin: 0 0 14px !important;
    font-size: clamp(56px, 6.2vw, 86px) !important;
    line-height: .96 !important;
    letter-spacing: -.05em !important;
}

.gt-home-market-copy-v12 h1 em {
    font-style: normal !important;
    color: #FF7D6B !important;
}

.gt-home-market-copy-v12 p {
    max-width: 860px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin: 0 0 24px !important;
}

.gt-market-search-v12 {
    max-width: 1200px !important;
    min-height: 74px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: rgba(247,244,234,.98) !important;
    border: 0 !important;
    box-shadow: 0 16px 36px rgba(4,18,20,.18) !important;
}

.gt-market-search-v12 label {
    min-height: 74px !important;
    padding: 0 22px !important;
}

.gt-market-search-v12 .gt-market-search-main {
    border-right: 1px solid rgba(16,44,48,.10) !important;
}

.gt-market-search-v12 label > span {
    color: var(--bl11-deep) !important;
    opacity: .72;
}

.gt-market-search-v12 input,
.gt-market-search-v12 select {
    color: var(--bl11-deep) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.gt-market-search-v12 input::placeholder {
    color: rgba(16,44,48,.48) !important;
}

.gt-market-search-v12 .gt-search-go {
    align-self: center !important;
    justify-self: end !important;
    min-height: 54px !important;
    margin-right: 12px !important;
    padding-inline: 34px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.gt-home-market-hero-v12 .gt-quick-plans {
    margin-top: 18px !important;
    gap: 10px !important;
}

.gt-home-market-hero-v12 .gt-quick-plans span {
    color: var(--bl11-white-68) !important;
}

.gt-home-market-hero-v12 .gt-quick-plans a {
    min-height: 38px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
}

/* The first section after the hero should feel intentionally anchored, not floating. */
.gt-home-events-market-v9 {
    padding-top: 40px !important;
}

.gt-home-events-market-v9 .gt-market-section-head {
    align-items: end !important;
    margin-bottom: 28px !important;
}

.gt-home-events-market-v9 .gt-market-section-head h2 {
    font-size: clamp(36px, 3.6vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
}

@media (max-width: 980px) {
    .gt-nav-main-row-v12 {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .gt-nav-actions-v12 {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 18px !important;
    }

    .gt-nav-search-v12 {
        order: 3 !important;
    }

    .gt-home-market-hero-v12 {
        padding: 34px 0 28px !important;
    }

    .gt-home-market-copy-v12 h1 {
        font-size: clamp(42px, 10vw, 62px) !important;
        line-height: .98 !important;
    }

    .gt-market-search-v12 {
        min-height: auto !important;
    }
}

@media (max-width: 760px) {
    .gt-nav-market-v12 {
        position: static !important;
    }

    .gt-nav-market-v12 .gt-brand-name {
        font-size: 24px !important;
    }

    .gt-nav-search-v12 {
        min-height: 46px !important;
        border-radius: 14px !important;
    }

    .gt-market-search-v12 {
        border-radius: 20px !important;
    }

    .gt-market-search-v12 label {
        min-height: 58px !important;
        padding-inline: 18px !important;
    }

    .gt-market-search-v12 .gt-market-search-main {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(16,44,48,.10) !important;
    }

    .gt-market-search-v12 .gt-search-go {
        width: calc(100% - 24px) !important;
        margin: 0 12px 12px !important;
        min-height: 50px !important;
    }
}


/* ==========================================================================
   BileteLive UI v13 — embedded homepage hero artwork
   Adds the approved festival hero image into the homepage codebase.
   ========================================================================== */

.gt-home-market-hero-v12 {
    overflow: hidden !important;
}

.gt-home-market-shell-v13 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    align-items: center !important;
    gap: 32px !important;
    margin-bottom: 24px !important;
}

.gt-home-hero-visual-v13 {
    position: relative !important;
    margin: 0 !important;
    min-height: 360px !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    border: 1px solid rgba(247,244,234,.12) !important;
    box-shadow: 0 22px 48px rgba(3,12,14,.30) !important;
    background: linear-gradient(180deg, rgba(16,44,48,.24), rgba(16,44,48,.08)) !important;
}

.gt-home-hero-visual-v13::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(180deg, rgba(16,44,48,.06) 0%, rgba(16,44,48,.16) 100%),
        radial-gradient(circle at 0% 50%, rgba(16,44,48,.18), transparent 34%) !important;
    pointer-events: none !important;
}

.gt-home-hero-visual-v13 img {
    width: 100% !important;
    height: 100% !important;
    min-height: 360px !important;
    object-fit: cover !important;
    display: block !important;
}

.gt-market-search-v12 {
    margin-top: 4px !important;
}

@media (max-width: 1200px) {
    .gt-home-market-shell-v13 {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .gt-home-hero-visual-v13 {
        min-height: 280px !important;
        max-width: 920px !important;
    }

    .gt-home-hero-visual-v13 img {
        min-height: 280px !important;
    }
}

@media (max-width: 760px) {
    .gt-home-market-shell-v13 {
        gap: 18px !important;
        margin-bottom: 18px !important;
    }

    .gt-home-hero-visual-v13 {
        min-height: 220px !important;
        border-radius: 22px !important;
    }

    .gt-home-hero-visual-v13 img {
        min-height: 220px !important;
    }
}


/* ==========================================================================
   BileteLive UI v14 — full-bleed mockup hero
   The hero artwork now behaves like the approved mockup: atmospheric background,
   not a boxed card. Search stays prominent and readable over the image.
   ========================================================================== */

.gt-home-market-hero-v14 {
    position: relative !important;
    min-height: 600px !important;
    padding: 58px 0 38px !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: var(--bl11-deep) !important;
}

.gt-home-market-hero-v14::after {
    display: none !important;
}

.gt-home-hero-bg-v14,
.gt-home-hero-overlay-v14 {
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
}

.gt-home-hero-bg-v14 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 52% !important;
    display: block !important;
    transform: scale(1.02) !important;
}

.gt-home-hero-overlay-v14 {
    z-index: -1 !important;
    background:
        linear-gradient(90deg,
            rgba(16,44,48,.98) 0%,
            rgba(16,44,48,.94) 28%,
            rgba(16,44,48,.82) 48%,
            rgba(16,44,48,.36) 68%,
            rgba(16,44,48,.10) 100%),
        linear-gradient(180deg,
            rgba(16,44,48,.08) 0%,
            rgba(16,44,48,.18) 72%,
            rgba(16,44,48,.54) 100%) !important;
}

.gt-home-hero-content-v14 {
    position: relative !important;
    min-height: 500px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.gt-home-market-copy-v14 {
    max-width: 780px !important;
    padding-top: 10px !important;
}

.gt-home-market-copy-v14 h1 {
    max-width: 760px !important;
    font-size: clamp(56px, 5.5vw, 82px) !important;
    text-wrap: balance !important;
}

.gt-home-market-copy-v14 h1 em {
    color: var(--bl11-lime) !important;
}

.gt-home-market-copy-v14 p {
    max-width: 720px !important;
    color: rgba(247,244,234,.78) !important;
    font-size: 16px !important;
}

.gt-home-hero-note-v14 {
    position: absolute !important;
    top: 42px !important;
    right: 44px !important;
    max-width: 260px !important;
    color: var(--bl11-lime) !important;
    font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive !important;
    font-size: clamp(24px, 2.15vw, 38px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
    transform: rotate(-4deg) !important;
    text-shadow: 0 3px 18px rgba(4,18,20,.42) !important;
    pointer-events: none !important;
}

.gt-home-hero-note-v14 span {
    font-family: inherit !important;
    font-size: 1.15em !important;
}

.gt-market-search-v14 {
    position: relative !important;
    z-index: 2 !important;
    width: min(1180px, 100%) !important;
    margin-top: 34px !important;
    background: rgba(247,244,234,.98) !important;
    box-shadow: 0 16px 44px rgba(4,18,20,.30) !important;
}

.gt-home-market-hero-v14 .gt-quick-plans {
    margin-top: 16px !important;
}

/* Retire the boxed v13 visual on the homepage. */
.gt-home-market-shell-v13,
.gt-home-hero-visual-v13 {
    display: contents !important;
}

@media (max-width: 1100px) {
    .gt-home-market-hero-v14 {
        min-height: 570px !important;
    }
    .gt-home-hero-bg-v14 img {
        object-position: 62% 52% !important;
    }
    .gt-home-hero-overlay-v14 {
        background:
            linear-gradient(90deg, rgba(16,44,48,.98) 0%, rgba(16,44,48,.93) 38%, rgba(16,44,48,.58) 68%, rgba(16,44,48,.20) 100%),
            linear-gradient(180deg, rgba(16,44,48,.10), rgba(16,44,48,.48)) !important;
    }
    .gt-home-hero-note-v14 {
        right: 28px !important;
        top: 34px !important;
        font-size: 28px !important;
    }
}

@media (max-width: 760px) {
    .gt-home-market-hero-v14 {
        min-height: auto !important;
        padding: 42px 0 30px !important;
    }
    .gt-home-hero-bg-v14 img {
        object-position: 70% center !important;
        opacity: .72 !important;
    }
    .gt-home-hero-overlay-v14 {
        background: linear-gradient(90deg, rgba(16,44,48,.98) 0%, rgba(16,44,48,.91) 64%, rgba(16,44,48,.62) 100%) !important;
    }
    .gt-home-hero-content-v14 {
        min-height: 0 !important;
    }
    .gt-home-market-copy-v14 h1 {
        font-size: clamp(44px, 13vw, 60px) !important;
    }
    .gt-home-hero-note-v14 {
        display: none !important;
    }
    .gt-market-search-v14 {
        margin-top: 26px !important;
    }
}


/* ==========================================================================
   BileteLive UI v15 — section rhythm + Green Ticketing + refined footer
   Best elements carried over from the latest visual exploration.
   ========================================================================== */

/* Give each homepage section its own depth while staying inside the same brand. */
.gt-home-events-market-v15 {
    background: #123438 !important;
    border-top: 1px solid rgba(247,244,234,.08) !important;
    border-bottom: 1px solid rgba(247,244,234,.08) !important;
}

.gt-category-showcase-v15 {
    background: #0D292D !important;
    border-top: 1px solid rgba(247,244,234,.07) !important;
    border-bottom: 1px solid rgba(247,244,234,.08) !important;
    padding-top: 46px !important;
    padding-bottom: 46px !important;
}

.gt-category-showcase-v15 .gt-market-section-head > div > span {
    color: var(--bl11-lime) !important;
    letter-spacing: .14em !important;
}

.gt-category-showcase-v15 .gt-category-tiles {
    gap: 14px !important;
}

.gt-category-showcase-v15 .gt-category-tile {
    min-height: 132px !important;
    padding: 18px !important;
    border-radius: 16px !important;
    background: #1A4045 !important;
    border: 1px solid rgba(247,244,234,.12) !important;
    box-shadow: none !important;
}

.gt-category-showcase-v15 .gt-category-tile:nth-child(even) {
    border-top-color: var(--bl11-lilac) !important;
}
.gt-category-showcase-v15 .gt-category-tile:nth-child(odd) {
    border-top-color: var(--bl11-lime) !important;
}

.gt-category-showcase-v15 .gt-category-tile > span {
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: var(--bl11-deep) !important;
    background: var(--bl11-lime) !important;
}
.gt-category-showcase-v15 .gt-category-tile:nth-child(even) > span {
    background: var(--bl11-lilac) !important;
}

.gt-category-showcase-v15 .gt-category-tile strong {
    color: var(--bl11-white) !important;
}
.gt-category-showcase-v15 .gt-category-tile small {
    color: var(--bl11-white-48) !important;
}

/* Green ticketing section */
.gt-green-ticketing-v15 {
    background: #123136 !important;
    border-top: 1px solid rgba(247,244,234,.08) !important;
    padding: 58px 0 !important;
}

.gt-green-ticketing-panel {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr) !important;
    gap: 68px !important;
    align-items: center !important;
    padding: 44px 48px !important;
    border-radius: 20px !important;
    background: #1B3D42 !important;
    border: 1px solid rgba(247,244,234,.13) !important;
    box-shadow: 0 18px 46px rgba(4,18,20,.16) !important;
}

.gt-green-ticketing-kicker {
    display: inline-block !important;
    margin-bottom: 18px !important;
    color: var(--bl11-lime) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
}

.gt-green-ticketing-copy h2 {
    margin: 0 !important;
    color: var(--bl11-white) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: clamp(38px, 4vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.gt-green-ticketing-copy h2 em {
    color: var(--bl11-lime) !important;
    font-style: normal !important;
}

.gt-green-ticketing-copy p {
    max-width: 590px !important;
    margin: 24px 0 0 !important;
    color: var(--bl11-white-68) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.gt-green-ticketing-steps {
    display: grid !important;
    gap: 22px !important;
}

.gt-green-step {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    gap: 18px !important;
    align-items: center !important;
}

.gt-green-step > span {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    color: var(--bl11-lime) !important;
    border: 1px solid rgba(213,243,107,.45) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.gt-green-step strong {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--bl11-white) !important;
    font-size: 16px !important;
}

.gt-green-step small {
    display: block !important;
    color: var(--bl11-white-48) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Refined footer: quieter than the marketplace footer, but still useful. */
.gt-footer-v15 {
    background: #081F22 !important;
    border-top: 1px solid rgba(247,244,234,.08) !important;
    padding: 50px 0 24px !important;
}

.gt-footer-v15-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, .8fr)) !important;
    gap: 56px !important;
    align-items: start !important;
}

.gt-footer-v15-brand .gt-brand {
    text-decoration: none !important;
}

.gt-footer-v15-brand p {
    max-width: 340px !important;
    margin: 22px 0 18px !important;
    color: var(--bl11-white-68) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.gt-footer-v15-brand > strong {
    color: var(--bl11-lime) !important;
    font-size: 13px !important;
}

.gt-footer-v15-column {
    display: grid !important;
    gap: 10px !important;
}

.gt-footer-v15-column h3 {
    margin: 2px 0 8px !important;
    color: var(--bl11-white) !important;
    font-size: 14px !important;
    font-family: "Manrope", sans-serif !important;
}

.gt-footer-v15-column a,
.gt-footer-v15-column span {
    color: var(--bl11-white-48) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
}

.gt-footer-v15-column a:hover {
    color: var(--bl11-lime) !important;
}

.gt-footer-v15-bottom {
    display: flex !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin-top: 46px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(247,244,234,.13) !important;
    color: var(--bl11-white-48) !important;
    font-size: 12px !important;
}

.gt-footer-v15-bottom span:last-child {
    color: var(--bl11-white-68) !important;
}

@media (max-width: 980px) {
    .gt-green-ticketing-panel {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
        padding: 34px !important;
    }

    .gt-footer-v15-grid {
        grid-template-columns: 1.2fr 1fr 1fr !important;
    }

    .gt-footer-v15-brand {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 680px) {
    .gt-category-showcase-v15 {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }

    .gt-green-ticketing-v15 {
        padding: 34px 0 !important;
    }

    .gt-green-ticketing-panel {
        padding: 26px 22px !important;
        border-radius: 16px !important;
    }

    .gt-green-step {
        grid-template-columns: 42px 1fr !important;
        gap: 14px !important;
    }

    .gt-green-step > span {
        width: 42px !important;
        height: 42px !important;
    }

    .gt-footer-v15-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 34px 28px !important;
    }

    .gt-footer-v15-brand {
        grid-column: 1 / -1 !important;
    }

    .gt-footer-v15-bottom {
        flex-direction: column !important;
        gap: 8px !important;
    }
}

/* Icon-first account/cart controls and the shared slide-in cart. */
.gt-nav-actions-v12 .gt-nav-icon-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    color: var(--bl11-white) !important;
    text-decoration: none !important;
}

.gt-nav-actions-v12 .gt-nav-icon-link:hover,
.gt-nav-actions-v12 .gt-nav-icon-link:focus-visible {
    background: rgba(213,243,107,.14) !important;
    color: var(--bl11-lime) !important;
}

.gt-nav-actions-v12 .gt-nav-account-link,
.gt-nav-actions-v12 .gt-nav-ticket-link,
.gt-nav-actions-v12 .gt-nav-logout {
    width: auto !important;
    min-width: 0 !important;
    gap: 8px !important;
    padding: 0 10px !important;
    white-space: nowrap !important;
}

.gt-nav-actions-v12 .gt-nav-logout-form {
    display: inline-flex !important;
    margin: 0 !important;
}

.gt-nav-actions-v12 .gt-nav-logout {
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    font: inherit !important;
}

.gt-nav-actions-v12 .gt-nav-link-label {
    color: currentColor !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.gt-nav-icon,
.gt-cart-drawer-title-icon {
    width: 23px !important;
    height: 23px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.gt-nav-cart-icon {
    width: 24px !important;
    height: 24px !important;
}

.gt-nav-actions-v12 .gt-nav-cart-count {
    position: absolute !important;
    top: 1px !important;
    right: 0 !important;
    display: grid !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 5px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.gt-nav-search-v12 .gt-search-icon,
.gt-market-search-v12 .gt-market-search-main > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    font-size: 25px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.gt-cart-drawer-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 80 !important;
    background: rgba(4,18,20,.56) !important;
    opacity: 0 !important;
    transition: opacity .22s ease !important;
}

.gt-cart-drawer-backdrop.is-visible {
    opacity: 1 !important;
}

.gt-cart-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    display: flex !important;
    width: min(430px, calc(100vw - 18px)) !important;
    flex-direction: column !important;
    background: #fbfaf7 !important;
    color: var(--bl11-deep) !important;
    box-shadow: -18px 0 48px rgba(4,18,20,.22) !important;
    transform: translateX(105%) !important;
    transition: transform .28s cubic-bezier(.22,.8,.3,1) !important;
    visibility: hidden !important;
}

.gt-cart-drawer.is-open {
    visibility: visible !important;
    transform: translateX(0) !important;
}

.gt-cart-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 88px !important;
    padding: 20px 26px !important;
    border-bottom: 1px solid rgba(16,44,48,.14) !important;
}

.gt-cart-drawer-header h2 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    color: var(--bl11-deep) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 25px !important;
    line-height: 1.1 !important;
}

.gt-cart-drawer-title-icon {
    color: #B7193A !important;
}

.gt-cart-drawer-close {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #68737f !important;
    cursor: pointer !important;
    font-size: 38px !important;
    font-weight: 300 !important;
    line-height: .8 !important;
}

.gt-cart-drawer-close:hover,
.gt-cart-drawer-close:focus-visible {
    background: rgba(16,44,48,.07) !important;
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer-body {
    overflow-y: auto !important;
    flex: 1 1 auto !important;
    padding: 26px !important;
}

.gt-cart-drawer-intro {
    margin: 0 0 22px !important;
    color: #5f6b76 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.gt-cart-drawer-orders {
    display: grid !important;
    gap: 12px !important;
}

.gt-cart-drawer-order,
.gt-cart-drawer-total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 16px !important;
    border: 1px solid rgba(16,44,48,.14) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.gt-cart-drawer-order > div {
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
}

.gt-cart-drawer-order strong,
.gt-cart-drawer-total strong {
    color: var(--bl11-deep) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.gt-cart-drawer-order span {
    color: #5f6b76 !important;
    font-size: 14px !important;
}

.gt-cart-drawer-total {
    margin-top: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(16,44,48,.14) !important;
    border-bottom: 1px solid rgba(16,44,48,.14) !important;
    background: transparent !important;
    font-size: 16px !important;
}

.gt-cart-drawer-cta {
    margin-top: 22px !important;
}

.gt-cart-drawer-empty {
    display: grid !important;
    min-height: 65vh !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 14px !important;
    text-align: center !important;
}

.gt-cart-drawer-empty-icon {
    display: grid !important;
    width: 128px !important;
    height: 128px !important;
    margin-bottom: 10px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #f0f1f4 !important;
    color: #9aa4b2 !important;
}

.gt-cart-drawer-empty-icon svg {
    width: 56px !important;
    height: 56px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.45 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.gt-cart-drawer-empty h3 {
    margin: 0 !important;
    color: var(--bl11-deep) !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
}

.gt-cart-drawer-empty p {
    margin: 0 0 10px !important;
    color: #68737f !important;
    font-size: 18px !important;
}

.gt-cart-drawer-empty .gt-button {
    width: min(100%, 300px) !important;
}

body.gt-cart-drawer-open {
    overflow: hidden !important;
}

/* Supporting text gets a little more room; display headings keep their existing scale. */
.gt-nav-actions-v12 > a,
.gt-nav-search-v12 input,
.gt-market-search-v12 input,
.gt-market-search-v12 select,
.gt-market-search-v12 .gt-search-go,
.gt-home-market-copy-v12 p,
.gt-home-market-hero-v12 .gt-quick-plans,
.gt-green-ticketing-v15,
.gt-green-ticketing-v15 p,
.gt-green-step strong,
.gt-green-step small,
.gt-footer-v15-brand p,
.gt-footer-v15-column a,
.gt-footer-v15-column span {
    font-family: "Manrope", sans-serif !important;
}

.gt-nav-search-v12 input,
.gt-market-search-v12 input,
.gt-market-search-v12 select {
    font-size: 16px !important;
}

.gt-home-market-copy-v12 p,
.gt-green-ticketing-copy p {
    font-size: 17px !important;
}

.gt-green-ticketing-kicker {
    font-size: 13px !important;
}

.gt-green-ticketing-copy h2 {
    font-family: "Gloock", Georgia, serif !important;
    font-weight: 400 !important;
}

.gt-green-step strong {
    font-size: 17px !important;
}

.gt-green-step small {
    color: rgba(247,244,234,.72) !important;
    font-size: 15px !important;
}

.gt-footer-v15-brand p,
.gt-footer-v15-column a,
.gt-footer-v15-column span {
    font-size: 14px !important;
}

@media (max-width: 980px) {
    .gt-nav-actions-v12 {
        justify-content: flex-start !important;
    }
}

@media (max-width: 680px) {
    .gt-cart-drawer {
        width: min(430px, calc(100vw - 8px)) !important;
    }

    .gt-cart-drawer-header,
    .gt-cart-drawer-body {
        padding-inline: 20px !important;
    }
}


/* ==========================================================================
   BileteLive UI v16 — production polish across discovery, booking and checkout
   ========================================================================== */

/* User-approved event-detail poster rule. Inline event artwork overrides the
   fallback background-image; contain keeps the entire poster visible. */
.gt-detail-market-poster {
    background-color: var(--bl11-deep) !important;
    background-image:
        radial-gradient(circle at 80% 12%, rgba(184,164,234,.35), transparent 30%),
        linear-gradient(145deg, var(--bl11-card), var(--bl11-deep));
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: 1px solid var(--bl11-white-11) !important;
}

/* Never let the sticky marketplace header cover an anchor destination. */
#tickets,
.gt-seating-booking-v2,
.gt-ticket-panel-market {
    scroll-margin-top: 112px !important;
}

/* Focus states should be obvious without introducing another brand color. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--bl11-lilac) !important;
    outline-offset: 3px !important;
}

/* Fix primary links inheriting lime-on-lime text from generic card-link rules. */
.gt-checkout-card a.gt-button:not(.gt-button-secondary),
.gt-empty a.gt-button:not(.gt-button-secondary),
.gt-ticket-wallet a.gt-button:not(.gt-button-secondary),
.gt-form-card a.gt-button:not(.gt-button-secondary),
.gt-auth-card a.gt-button:not(.gt-button-secondary) {
    color: var(--bl11-deep) !important;
}
.gt-checkout-card a.gt-button-secondary,
.gt-empty a.gt-button-secondary,
.gt-ticket-wallet a.gt-button-secondary,
.gt-form-card a.gt-button-secondary,
.gt-auth-card a.gt-button-secondary {
    color: var(--bl11-white) !important;
}

/* Stronger section rhythm on functional pages. */
.gt-events-market-page,
.gt-event-detail-market,
.gt-checkout-page-v16,
.gt-cart-page-v16,
.gt-ticket-wallet-page-v16,
.gt-recovery-page-v16 {
    background:
        radial-gradient(circle at 94% 0%, rgba(184,164,234,.09), transparent 24%),
        linear-gradient(180deg, #102C30 0%, #0E292D 100%) !important;
}

.gt-container.gt-narrow {
    width: min(1040px, calc(100% - 32px)) !important;
}

/* Events catalogue: two results should not look like a half-empty prototype. */
.gt-events-grid-market--sparse {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}
.gt-events-grid-market--sparse .gt-market-event-card {
    display: grid !important;
    grid-template-columns: minmax(210px, 42%) minmax(0, 1fr) !important;
    min-height: 292px !important;
    border-radius: 20px !important;
}
.gt-events-grid-market--sparse .gt-market-event-poster {
    aspect-ratio: 1 / 1.414 !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 20px 0 0 20px !important;
    background-size: cover !important;
}
.gt-events-grid-market--sparse .gt-market-event-body {
    padding: 24px 22px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
}
.gt-events-grid-market--sparse .gt-market-event-body h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
}
.gt-events-grid-market--sparse .gt-market-event-footer {
    margin-top: 18px !important;
}
.gt-empty-market-v16 {
    min-height: 250px !important;
    border-style: solid !important;
    background: var(--bl11-card) !important;
    gap: 12px !important;
}
.gt-empty-market-v16 .gt-button {
    margin-top: 8px !important;
    text-decoration: none !important;
}

/* Event-detail hero: more premium separation and cleaner factual hierarchy. */
.gt-detail-market-hero {
    border-radius: 24px !important;
    padding: 26px !important;
}
.gt-detail-market-copy h1 {
    max-width: 760px !important;
}
.gt-detail-market-facts {
    gap: 14px !important;
}
.gt-detail-market-facts > div {
    border-radius: 14px !important;
}
.gt-detail-buy-jump {
    min-height: 50px !important;
    border-radius: 14px !important;
}

/* Booking surface: clarify hierarchy but keep the current interaction model. */
.gt-seating-booking-v2 {
    border-radius: 24px !important;
}
.gt-booking-card,
.gt-booking-summary-v2 {
    border-radius: 18px !important;
}
.gt-booking-steps > span {
    min-height: 52px !important;
}
.gt-party-size-picker button,
.gt-seating-table {
    transition: transform .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease !important;
}
.gt-party-size-picker button:hover:not(.is-active),
.gt-seating-table:not(:disabled):hover {
    transform: translateY(-2px) !important;
}
.gt-booking-summary-sticky {
    top: 104px !important;
}

/* Checkout / order-review polish. */
.gt-checkout-card-v16,
.gt-payment-result-v16,
.gt-invitation-card-v16 {
    border-radius: 24px !important;
    padding: 30px !important;
}
.gt-checkout-card-v16 .gt-section-header,
.gt-payment-result-v16 .gt-section-header {
    align-items: flex-start !important;
}
.gt-order-number-v16 {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: var(--bl11-white-86) !important;
    background: var(--bl11-deep) !important;
    border: 1px solid var(--bl11-white-11) !important;
    font-size: 12px !important;
    letter-spacing: .02em !important;
}
.gt-checkout-card-v16 .gt-promo-form {
    margin: 24px 0 !important;
    padding: 18px !important;
    border-radius: 16px !important;
    background: rgba(16,44,48,.55) !important;
    border: 1px solid var(--bl11-white-11) !important;
}
.gt-checkout-card-v16 .gt-promo-form .gt-button-row {
    align-items: stretch !important;
}
.gt-checkout-card-v16 .gt-promo-form input {
    min-height: 46px !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
}
.gt-checkout-card-v16 .gt-table-card {
    overflow: hidden !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}
.gt-checkout-card-v16 .gt-table-card table {
    width: 100% !important;
}
.gt-checkout-card-v16 .gt-total-box {
    padding: 18px 20px !important;
    border-radius: 16px !important;
    background: rgba(16,44,48,.48) !important;
    border: 1px solid var(--bl11-white-11) !important;
}
.gt-checkout-card-v16 .gt-checkout-actions {
    align-items: center !important;
    padding-top: 6px !important;
}

/* Payment result: clear success/cancel state and fully visible CTA. */
.gt-payment-result-v16 {
    position: relative !important;
    overflow: hidden !important;
}
.gt-payment-result-v16::before {
    content: '' !important;
    position: absolute !important;
    width: 220px !important;
    height: 220px !important;
    right: -90px !important;
    top: -110px !important;
    border-radius: 50% !important;
    background: rgba(213,243,107,.09) !important;
}
.gt-payment-result-v16.is-cancelled::before {
    background: rgba(184,164,234,.10) !important;
}
.gt-payment-result-icon-v16 {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center !important;
    margin-bottom: 14px !important;
    border-radius: 50% !important;
    color: var(--bl11-deep) !important;
    background: var(--bl11-lime) !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}
.gt-payment-result-v16 .gt-button-row {
    margin-top: 24px !important;
}

/* Cart: clearer empty state and summary. */
.gt-empty-cart-v16 {
    min-height: 220px !important;
    background: var(--bl11-card) !important;
    border-style: solid !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}
.gt-empty-icon-v16 {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    color: var(--bl11-deep) !important;
    background: var(--bl11-lime) !important;
    font-size: 24px !important;
}
.gt-cart-order,
.gt-cart-summary {
    border-radius: 20px !important;
}

/* Ticket wallet: warm-white digital tickets with actual readable hierarchy. */
.gt-ticket-wallet-container-v16 {
    width: min(1080px, calc(100% - 32px)) !important;
}
.gt-ticket-wallet-heading-v16 {
    margin-bottom: 24px !important;
}
.gt-ticket-wallet-heading-v16 h1 {
    margin: 6px 0 8px !important;
    color: var(--bl11-white) !important;
    font-family: "Gloock", Georgia, serif !important;
    font-size: clamp(40px, 5vw, 58px) !important;
    line-height: 1 !important;
}
.gt-ticket-wallet-heading-v16 p {
    margin: 0 !important;
    color: var(--bl11-white-68) !important;
}
.gt-ticket-wallet-v16 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
.gt-wallet-card-v16 {
    min-height: 300px !important;
    padding: 22px !important;
    border-radius: 20px !important;
    background: var(--bl11-white) !important;
    color: var(--bl11-deep) !important;
    border: 1px solid rgba(16,44,48,.10) !important;
    box-shadow: 0 14px 32px rgba(4,18,20,.18) !important;
}
.gt-wallet-card-v16 .gt-wallet-main h2,
.gt-wallet-card-v16 .gt-wallet-main p,
.gt-wallet-card-v16 .gt-wallet-main strong,
.gt-wallet-card-v16 .gt-ticket-code {
    color: var(--bl11-deep) !important;
}
.gt-wallet-card-v16 .gt-wallet-main h2 {
    margin: 12px 0 8px !important;
    font-size: 21px !important;
    line-height: 1.12 !important;
}
.gt-wallet-card-v16 .gt-wallet-main p {
    margin: 5px 0 !important;
    opacity: .72 !important;
    font-size: 13px !important;
}
.gt-wallet-card-v16 .gt-badge {
    color: var(--bl11-deep) !important;
    border-color: rgba(16,44,48,.10) !important;
}
.gt-wallet-card-v16 .gt-badge-green {
    background: var(--bl11-lime) !important;
}
.gt-wallet-card-v16 .gt-qr-box {
    align-self: center !important;
}
.gt-wallet-card-v16 .gt-qr-image {
    background: #fff !important;
    border: 1px solid rgba(16,44,48,.10) !important;
    border-radius: 16px !important;
    padding: 10px !important;
    box-shadow: 0 6px 18px rgba(16,44,48,.08) !important;
}
.gt-wallet-card-v16 .gt-token-details summary,
.gt-wallet-card-v16 .gt-token-details code,
.gt-wallet-card-v16 .gt-copy-token {
    color: var(--bl11-deep) !important;
}
.gt-wallet-card-v16 .gt-copy-token {
    border: 1px solid rgba(16,44,48,.16) !important;
    background: transparent !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
}
.gt-wallet-code-v16 {
    display: grid !important;
    gap: 3px !important;
    margin-top: 14px !important;
}
.gt-wallet-code-v16 small {
    color: rgba(16,44,48,.52) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}
.gt-wallet-card-v16.is-used {
    opacity: .64 !important;
}

/* Invitation recovery: keep it focused, not a giant full-width form. */
.gt-invitation-card-v16 {
    max-width: 780px !important;
    margin-inline: auto !important;
}
.gt-invitation-card-v16 .gt-invitation-form {
    margin-top: 26px !important;
}
.gt-invitation-card-v16 .gt-invitation-form input {
    min-height: 52px !important;
    border-radius: 12px !important;
    padding: 0 15px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
}

@media (max-width: 900px) {
    .gt-events-grid-market--sparse {
        grid-template-columns: 1fr !important;
    }
    .gt-ticket-wallet-v16 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 680px) {
    #tickets,
    .gt-seating-booking-v2,
    .gt-ticket-panel-market {
        scroll-margin-top: 24px !important;
    }
    .gt-events-grid-market--sparse .gt-market-event-card {
        grid-template-columns: 1fr !important;
    }
    .gt-events-grid-market--sparse .gt-market-event-poster {
        aspect-ratio: 1 / 1.414 !important;
        min-height: 0 !important;
        border-radius: 18px 18px 0 0 !important;
    }
    .gt-checkout-card-v16,
    .gt-payment-result-v16,
    .gt-invitation-card-v16 {
        padding: 22px !important;
        border-radius: 18px !important;
    }
    .gt-wallet-card-v16 {
        grid-template-columns: 1fr !important;
    }
}

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

/* Feedback polish: explain table states before the map and keep actions obvious. */
.gt-map-card .gt-seating-legend {
    position: sticky;
    top: 92px;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid var(--bl11-white-11);
    border-radius: 12px;
    background: var(--bl11-card);
}
.gt-map-card .gt-seating-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--bl11-white-86);
    font-size: 11px;
}
.gt-map-card .gt-seating-legend i {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    border: 2px solid;
    border-radius: 4px;
}
.gt-map-card .gt-seating-legend .is-available { background: var(--bl11-card); border-color: var(--bl11-lime); }
.gt-map-card .gt-seating-legend .is-selected { background: var(--bl11-lime); border-color: var(--bl11-lime); }
.gt-map-card .gt-seating-legend .is-held { background: var(--bl11-lilac); border-color: var(--bl11-lilac); }
.gt-map-card .gt-seating-legend .is-reserved { background: rgba(247,244,234,.14); border-color: rgba(247,244,234,.55); }
.gt-map-card .gt-seating-legend .is-blocked { background: rgba(210,73,73,.22); border-color: #e56c6c; }
.gt-map-card .gt-seating-legend .is-unfit { background: rgba(247,244,234,.06); border-color: var(--bl11-white-48); border-style: dashed; }
.gt-map-card .gt-map-table.is-unfit { opacity: .42 !important; pointer-events: auto !important; cursor: not-allowed; }
.gt-map-card .gt-map-table.is-reserved,
.gt-map-card .gt-map-table.is-blocked,
.gt-map-card .gt-map-table.is-held { cursor: not-allowed; }
.gt-booking-steps .is-upcoming { opacity: .58; }

.gt-market-event-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 999px;
    color: var(--bl11-deep) !important;
    background: var(--bl11-lime) !important;
    text-decoration: none;
}
.gt-market-event-link:hover { background: var(--bl11-white) !important; }

.gt-wallet-order-card-v16 {
    overflow: hidden;
    border: 1px solid rgba(247,244,234,.14);
    border-radius: 20px;
    background: var(--bl11-card);
    box-shadow: var(--bl11-shadow-soft);
}
.gt-wallet-order-header-v16 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border-bottom: 1px solid var(--bl11-white-11);
}
.gt-wallet-order-header-v16 h2 { margin: 6px 0 5px; color: var(--bl11-white); font-size: 24px; }
.gt-wallet-order-header-v16 p { margin: 0; color: var(--bl11-white-86); font-size: 13px; }
.gt-wallet-ticket-list-v16 { display: grid; gap: 1px; background: var(--bl11-white-11); }
.gt-wallet-ticket-row-v16 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 170px;
    gap: 18px;
    align-items: center;
    padding: 18px 22px;
    background: var(--bl11-white);
    color: var(--bl11-deep);
}
.gt-wallet-ticket-row-v16.is-used { background: #e7e8e4; }
.gt-wallet-ticket-info-v16 { display: grid; gap: 7px; min-width: 0; }
.gt-wallet-ticket-info-v16 > strong { color: var(--bl11-deep); font-size: 15px; }
.gt-wallet-ticket-info-v16 > span:not(.gt-badge):not(.gt-wallet-code-v16) { color: rgba(16,44,48,.76); font-size: 13px; }
.gt-wallet-ticket-info-v16 .gt-badge { width: max-content; color: var(--bl11-deep) !important; }
.gt-wallet-ticket-row-v16 .gt-wallet-code-v16 { display: flex; align-items: baseline; gap: 8px; margin-top: 3px; }
.gt-wallet-ticket-row-v16 .gt-wallet-code-v16 small { color: rgba(16,44,48,.72) !important; }
.gt-wallet-ticket-row-v16 .gt-wallet-code-v16 b { color: var(--bl11-deep); font-family: "IBM Plex Mono", ui-monospace, monospace; }
.gt-wallet-ticket-qr-v16 { display: grid; justify-items: center; gap: 8px; }
.gt-wallet-ticket-qr-v16 .gt-qr-image { width: 128px; height: 128px; }
.gt-wallet-ticket-qr-v16 .gt-copy-token { color: var(--bl11-deep) !important; border-color: rgba(16,44,48,.28) !important; }

@media (max-width: 680px) {
    .gt-map-card .gt-seating-legend { top: 12px; }
    .gt-wallet-order-header-v16 { flex-direction: column; }
    .gt-wallet-ticket-row-v16 { grid-template-columns: 1fr; }
    .gt-wallet-ticket-qr-v16 { justify-items: start; }
}

/* Keep the cart drawer on the same deep-teal / cream / lime palette as the marketplace. */
.gt-cart-drawer {
    background: #f7f4ea !important;
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer-title-icon,
.gt-cart-drawer-close {
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer-close:hover,
.gt-cart-drawer-close:focus-visible {
    background: rgba(16,44,48,.08) !important;
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer-empty-icon {
    background: rgba(213,243,107,.28) !important;
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer .gt-button,
.gt-cart-drawer .gt-button-full {
    border-color: var(--bl11-lime) !important;
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
}

.gt-cart-drawer .gt-button:hover,
.gt-cart-drawer .gt-button:focus-visible {
    border-color: var(--bl11-deep) !important;
    background: var(--bl11-deep) !important;
    color: var(--bl11-white) !important;
}

/* Sparse homepage cards must still make the purchase action look available. */
.gt-home-v10-event-grid--sparse .gt-market-event-link {
    min-height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid var(--bl11-lime) !important;
    border-radius: 12px !important;
    background: var(--bl11-lime) !important;
    color: var(--bl11-deep) !important;
    opacity: 1 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.gt-home-v10-event-grid--sparse .gt-market-event-link:hover,
.gt-home-v10-event-grid--sparse .gt-market-event-link:focus-visible {
    border-color: var(--bl11-white) !important;
    background: var(--bl11-white) !important;
    color: var(--bl11-deep) !important;
}

/* Discovery chips use the same soft genre accents as the event taxonomy. */
.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 112px !important;
    min-height: 48px !important;
    border-width: 1px !important;
    border-style: solid !important;
    text-align: center !important;
    font-family: "Gloock", Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: .01em !important;
    box-shadow: 0 8px 18px rgba(4,18,20,.12) !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip--rock {
    background: #c5e5f3 !important;
    border-color: #c5e5f3 !important;
    color: #183c58 !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip--metal {
    background: #2d466e !important;
    border-color: #6d89b5 !important;
    color: #f4f7fb !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip--christmas {
    background: #c84d59 !important;
    border-color: #e17a82 !important;
    color: #fff8f1 !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip--family {
    background: #f7d5c9 !important;
    border-color: #f7d5c9 !important;
    color: #5a2b2b !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip--workshop {
    background: #cbdff3 !important;
    border-color: #cbdff3 !important;
    color: #203c5c !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip:hover,
.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip:focus-visible {
    border-color: var(--bl11-white) !important;
    background: var(--bl11-white) !important;
    color: var(--bl11-deep) !important;
    transform: translateY(-1px);
}

/* Match the public category rail: dark pills, white labels, colorful icons. */
.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip {
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    gap: 10px !important;
    border: 1px solid var(--bl11-white-18) !important;
    border-radius: 999px !important;
    background: var(--bl11-card) !important;
    color: var(--bl11-white) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

.gt-home-market-hero-v12 .gt-discovery-chip-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    color: var(--bl11-lime) !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.gt-home-market-hero-v12 .gt-discovery-chip--metal .gt-discovery-chip-icon,
.gt-home-market-hero-v12 .gt-discovery-chip--family .gt-discovery-chip-icon {
    color: var(--bl11-lilac) !important;
}

.gt-home-market-hero-v12 .gt-discovery-chip--christmas .gt-discovery-chip-icon {
    color: #f27a83 !important;
}

.gt-home-market-hero-v12 .gt-discovery-chip--workshop .gt-discovery-chip-icon {
    color: #9ec7ed !important;
}

.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip:hover,
.gt-home-market-hero-v12 .gt-quick-plans .gt-discovery-chip:focus-visible {
    border-color: currentColor !important;
    background: rgba(247,244,234,.12) !important;
    color: var(--bl11-white) !important;
    transform: translateY(-1px);
}

/* Keep the events-page search icon as prominent as the homepage search icon. */
.gt-events-market-page .gt-filter-search > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.gt-event-special-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    min-height: 26px;
    margin: 0 0 8px;
}

.gt-event-special-tags span,
.gt-badge-special {
    display: inline-flex !important;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid rgba(184,164,234,.38);
    border-radius: 999px;
    background: var(--bl11-lilac-11) !important;
    color: var(--bl11-white) !important;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.gt-event-special-tags .gt-event-category-tag {
    background: rgba(16,44,48,.82) !important;
    border-color: rgba(247,244,234,.22) !important;
    color: var(--bl11-white) !important;
}

.gt-event-special-tags .gt-special-tag,
.gt-badge-special.gt-special-tag {
    border-color: transparent !important;
    color: #183c58 !important;
}

.gt-event-special-tags .gt-special-tag--rock,
.gt-badge-special.gt-special-tag--rock {
    background: #c5e5f3 !important;
    border-color: #c5e5f3 !important;
    color: #183c58 !important;
}

.gt-event-special-tags .gt-special-tag--metal,
.gt-badge-special.gt-special-tag--metal {
    background: #2d466e !important;
    border-color: #6d89b5 !important;
    color: #f4f7fb !important;
}

.gt-event-special-tags .gt-special-tag--christmas,
.gt-badge-special.gt-special-tag--christmas {
    background: #c84d59 !important;
    border-color: #e17a82 !important;
    color: #fff8f1 !important;
}

.gt-event-special-tags .gt-special-tag--family,
.gt-badge-special.gt-special-tag--family {
    background: #f7d5c9 !important;
    border-color: #f7d5c9 !important;
    color: #5a2b2b !important;
}

.gt-event-special-tags .gt-special-tag--workshop,
.gt-badge-special.gt-special-tag--workshop {
    background: #cbdff3 !important;
    border-color: #cbdff3 !important;
    color: #203c5c !important;
}

.gt-market-event-body .gt-event-special-tags {
    justify-content: flex-start !important;
}

.gt-market-event-body .gt-event-special-tags .gt-event-category-tag,
.gt-market-event-body .gt-event-special-tags .gt-special-tag {
    box-sizing: border-box;
    height: 28px;
    min-height: 28px;
    padding: 0 10px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
    font-size: 10px;
}

/* Keep every hero badge on the same visual baseline. */
.gt-detail-market-copy .gt-badge-row > .gt-badge {
    box-sizing: border-box;
    min-height: 48px;
    padding: 0 16px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
}

.gt-detail-market-copy .gt-badge-row {
    align-items: stretch;
    justify-content: flex-start;
}

/* Keep event tags at the top of the hero, with deliberate space before the title. */
.gt-detail-market-hero {
    align-items: start !important;
}

.gt-detail-market-copy .gt-badge-row {
    margin-bottom: 42px !important;
}

/* Match the hero poster to A6/A7 artwork so no fallback frame shows beside it. */
.gt-detail-market-poster {
    aspect-ratio: 1 / 1.414 !important;
    background-size: cover !important;
    background-color: transparent !important;
    border: 0 !important;
}

.gt-event-support-notice {
    margin: 24px 0 28px;
    padding: 20px 22px;
    border: 1px solid rgba(213,243,107,.28);
    border-left: 4px solid var(--bl11-lime);
    border-radius: 14px;
    background: rgba(213,243,107,.08);
    color: var(--bl11-white-86);
    font-size: 15px;
    line-height: 1.6;
}

.gt-event-support-notice p {
    margin: 0;
}

.gt-event-support-notice p + p {
    margin-top: 7px;
}

.gt-event-support-notice strong {
    color: var(--bl11-white);
}

.gt-ticket-price small {
    display: block;
    margin-bottom: 4px;
    color: var(--bl11-white-68);
    font-family: "Manrope", sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

/* Footer trust and legal fields, ready for the final policy content. */
.gt-footer-v15-trust {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(320px, 1.3fr) !important;
    gap: 14px !important;
    margin-top: 42px !important;
    padding: 22px 0 !important;
    border-top: 1px solid rgba(247, 244, 234, .13) !important;
    border-bottom: 1px solid rgba(247, 244, 234, .13) !important;
}

.gt-footer-v15-trust-item,
.gt-footer-v15-payment {
    min-height: 72px !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    background: rgba(247, 244, 234, .07) !important;
    border: 1px solid rgba(247, 244, 234, .06) !important;
}

.gt-footer-v15-trust-item {
    display: grid !important;
    grid-template-columns: 42px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 14px !important;
}

.gt-footer-v15-trust-icon {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: rgba(0, 169, 129, .2) !important;
    color: var(--bl11-lime) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.gt-footer-v15-trust-item strong {
    display: block !important;
    color: var(--bl11-white) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

.gt-footer-v15-trust-item small {
    display: block !important;
    margin-top: 4px !important;
    color: var(--bl11-white-68) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.gt-footer-v15-payment {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 14px !important;
}

.gt-footer-v15-payment > span:first-child {
    margin-right: 4px !important;
    color: var(--bl11-white-68) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.gt-footer-v15-payment-chip {
    display: inline-flex !important;
    min-width: 48px !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #18212d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
}

.gt-footer-v15-payment-chip--visa {
    color: #1434cb !important;
    font-family: Arial, sans-serif !important;
    font-style: italic !important;
    letter-spacing: -.04em !important;
}

.gt-footer-v15-payment-chip--mastercard {
    min-width: 48px !important;
    padding: 0 !important;
}

.gt-footer-v15-payment-chip--mastercard > span {
    position: relative !important;
    width: 27px !important;
    height: 18px !important;
    display: block !important;
}

.gt-footer-v15-payment-chip--mastercard > span::before,
.gt-footer-v15-payment-chip--mastercard > span::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
}

.gt-footer-v15-payment-chip--mastercard > span::before {
    left: 0 !important;
    background: #eb001b !important;
}

.gt-footer-v15-payment-chip--mastercard > span::after {
    right: 0 !important;
    background: #f79e1b !important;
}

.gt-footer-v15-payment-chip--gpay {
    color: #4285f4 !important;
    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
}

.gt-footer-v15-payment-chip--apple {
    color: #111827 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.gt-footer-v15-bottom {
    align-items: flex-start !important;
}

.gt-footer-v15-legal-brand {
    display: grid !important;
    gap: 6px !important;
    min-width: 250px !important;
}

.gt-footer-v15-legal-brand span {
    color: var(--bl11-white-68) !important;
    line-height: 1.35 !important;
}

.gt-footer-v15-legal-brand span:last-child {
    color: var(--bl11-white-48) !important;
}

.gt-footer-v15-legal-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 10px 20px !important;
}

.gt-footer-v15-legal-links a,
.gt-footer-v15-cookie-button {
    color: var(--bl11-white-68) !important;
    font: inherit !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

.gt-footer-v15-legal-links a:hover,
.gt-footer-v15-cookie-button:hover {
    color: var(--bl11-lime) !important;
}

.gt-footer-v15-cookie-button {
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(247, 244, 234, .18) !important;
    border-radius: 10px !important;
    background: transparent !important;
    cursor: pointer !important;
}

@media (max-width: 1100px) {
    .gt-footer-v15-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .gt-footer-v15-payment {
        justify-content: flex-start !important;
    }
}

@media (max-width: 680px) {
    .gt-detail-market-copy .gt-badge-row {
        margin-bottom: 30px !important;
    }

    .gt-footer-v15-trust {
        grid-template-columns: 1fr !important;
        margin-top: 32px !important;
    }

    .gt-footer-v15-bottom {
        align-items: stretch !important;
    }

    .gt-footer-v15-legal-links {
        justify-content: flex-start !important;
    }
}

/* Organizer operations: keep KPI values and scanner controls readable on the dark shell. */
.gt-organizer-dashboard,
.gt-scanner-page {
    color: var(--bl11-white) !important;
}

.gt-organizer-dashboard .gt-dashboard-head h1,
.gt-organizer-dashboard .gt-dashboard-head p,
.gt-scanner-page .gt-scanner-heading h1,
.gt-scanner-page .gt-scanner-heading p,
.gt-scanner-page .gt-scanner-panel h2,
.gt-scanner-page .gt-scanner-recent h2 {
    color: var(--bl11-white) !important;
}

.gt-organizer-dashboard .gt-kpi,
.gt-scanner-page .gt-scanner-event-filter,
.gt-scanner-page .gt-scanner-stats div,
.gt-scanner-page .gt-scanner-panel,
.gt-scanner-page .gt-scanner-recent {
    background: var(--bl11-card) !important;
    border-color: var(--bl11-white-11) !important;
    color: var(--bl11-white) !important;
    box-shadow: var(--bl11-shadow-soft) !important;
}

.gt-organizer-dashboard .gt-kpi span,
.gt-scanner-page .gt-scanner-stats span,
.gt-scanner-page .gt-live-indicator,
.gt-scanner-page .gt-lookup-ticket small {
    color: var(--bl11-white-68) !important;
}

.gt-organizer-dashboard .gt-kpi strong,
.gt-scanner-page .gt-scanner-stats strong {
    color: var(--bl11-lime) !important;
}

.gt-organizer-dashboard .gt-warning-band {
    background: var(--bl11-lime-10) !important;
    border: 1px solid var(--bl11-lime-18) !important;
    color: var(--bl11-white-86) !important;
}

.gt-organizer-dashboard .gt-table-card h2,
.gt-organizer-dashboard .gt-table-card th,
.gt-organizer-dashboard .gt-table-card td,
.gt-scanner-page .gt-responsive-table th,
.gt-scanner-page .gt-responsive-table td {
    color: var(--bl11-white) !important;
    border-color: var(--bl11-white-11) !important;
}

.gt-organizer-dashboard .gt-table-card th,
.gt-scanner-page .gt-responsive-table th {
    color: var(--bl11-white-68) !important;
}

.gt-organizer-dashboard .gt-table-card a,
.gt-scanner-page .gt-manual-token summary {
    color: var(--bl11-lime) !important;
}

.gt-scanner-page .gt-scanner-event-filter label,
.gt-scanner-page .gt-scanner-lookup label,
.gt-scanner-page .gt-manual-token label {
    color: var(--bl11-white) !important;
}

.gt-scanner-page .gt-scanner-event-filter select,
.gt-scanner-page .gt-scanner-lookup input,
.gt-scanner-page .gt-manual-token input,
.gt-scanner-page .gt-icon-button {
    background: var(--bl11-deep) !important;
    border-color: var(--bl11-white-18) !important;
    color: var(--bl11-white) !important;
}

.gt-scanner-page .gt-scanner-event-filter select option {
    background: var(--bl11-white) !important;
    color: var(--bl11-deep) !important;
}

.gt-scanner-page .gt-camera-status,
.gt-scanner-page .gt-scanner-panel .gt-muted,
.gt-scanner-page .gt-lookup-ticket span {
    color: var(--bl11-white-68) !important;
}

.gt-scanner-page .gt-manual-token,
.gt-scanner-page .gt-lookup-results,
.gt-scanner-page .gt-lookup-ticket {
    border-color: var(--bl11-white-11) !important;
}

/* Event-detail flow: explain the event before opening the seating step. */
.gt-event-purchase-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
    gap: 28px;
    align-items: start;
    margin-top: 28px;
}

.gt-event-story-first,
.gt-event-purchase-card {
    box-sizing: border-box;
    min-width: 0;
    border: 1px solid var(--bl11-white-11);
    border-radius: 22px;
    background: var(--bl11-card);
    box-shadow: var(--bl11-shadow-soft);
}

.gt-event-story-first {
    padding: 30px;
}

.gt-event-story-first h2,
.gt-event-purchase-card h2 {
    margin: 6px 0 14px;
    color: var(--bl11-white);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
}

.gt-event-description {
    margin: 0;
    color: var(--bl11-white-68);
    font-size: 15px;
    line-height: 1.8;
    white-space: normal;
    overflow-wrap: anywhere;
}

.gt-event-description > :first-child { margin-top: 0; }
.gt-event-description > :last-child { margin-bottom: 0; }
.gt-event-description p { margin: 0 0 1em; }
.gt-event-description ul { list-style: disc; }
.gt-event-description ol { list-style: decimal; }
.gt-event-description ul, .gt-event-description ol { padding-left: 1.5em; margin: 1em 0; }
.gt-event-description li + li { margin-top: .35em; }
.gt-event-description h2, .gt-event-description h3 { color: var(--bl11-white); margin: 1em 0 .5em; }
.gt-event-description a { color: var(--bl11-lime); text-decoration: underline; text-underline-offset: 3px; }
.gt-event-description blockquote { margin: 1em 0; padding-left: 1em; border-left: 3px solid var(--bl11-lilac); }
.gt-event-description img { max-width: 100%; height: auto; }

.gt-event-story-first .gt-event-support-notice {
    margin: 26px 0 0;
}

.gt-event-purchase-card {
    position: sticky;
    top: 112px;
    padding: 26px;
}

.gt-event-purchase-card > .gt-step-pill {
    display: grid;
    margin-bottom: 16px;
}

.gt-event-purchase-card .gt-kicker-market {
    display: block;
    color: var(--bl11-lime);
}

.gt-event-purchase-price {
    display: block;
    margin: 4px 0 14px;
    color: var(--bl11-lime);
    font-size: 24px;
    line-height: 1.2;
}

.gt-event-purchase-card > p {
    margin: 0;
    color: var(--bl11-white-68);
    font-size: 12px;
    line-height: 1.6;
}

.gt-event-purchase-options {
    display: grid;
    gap: 8px;
    margin: 20px 0;
}

.gt-event-purchase-options > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid var(--bl11-white-11);
    border-radius: 12px;
    color: var(--bl11-white-68);
    font-size: 11px;
}

.gt-event-purchase-options strong {
    color: var(--bl11-white);
    white-space: nowrap;
}

.gt-event-purchase-continue {
    width: 100% !important;
    min-height: 52px;
    justify-content: space-between;
    text-align: left;
}

.gt-event-purchase-condition {
    display: block;
    margin-top: 14px;
    color: var(--bl11-white-48);
    font-size: 10px;
    line-height: 1.5;
}

.gt-seating-booking-v2[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .gt-event-purchase-flow {
        grid-template-columns: 1fr;
    }

    .gt-event-purchase-card {
        position: static;
    }
}

@media (max-width: 560px) {
    .gt-event-story-first,
    .gt-event-purchase-card {
        padding: 22px;
        border-radius: 18px;
    }

    .gt-event-purchase-options > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

/* The event overview keeps the artwork and story beside the reservation panel. */
.gt-event-overview {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    gap: 28px;
    align-items: start;
}

.gt-event-overview > * { min-width: 0; }

.gt-event-landscape {
    display: block;
    width: 100%;
    height: auto;
}

/* Keep the booking grid shrinkable; only the zoomed map scrolls horizontally. */
.gt-booking-v2-grid > *,
.gt-booking-map-column > *,
.gt-seating-booking-v2 .gt-seating-chart {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.gt-booking-map-column { grid-template-columns: minmax(0, 1fr); }

.gt-seating-booking-v2 .gt-map-card .gt-seating-map-scroll {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    max-height: 75vh;
    overscroll-behavior-x: contain;
}

.gt-seating-booking-v2 .gt-map-card .gt-seating-map-scroll svg {
    min-width: 0;
    max-width: none;
}

.gt-map-zoom {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
}

.gt-map-zoom button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--bl11-white-18);
    border-radius: 8px;
    background: var(--bl11-deep);
    color: var(--bl11-white);
    cursor: pointer;
}

.gt-map-zoom button:disabled { opacity: .4; cursor: default; }
.gt-map-zoom svg { width: 20px; height: 20px; }
.gt-map-zoom output { width: 46px; text-align: center; font-size: 13px; }

@media (max-width: 900px) {
    .gt-seating-booking-v2 .gt-booking-v2-grid { grid-template-columns: minmax(0, 1fr); }
    .gt-seating-booking-v2 .gt-party-size-picker { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .gt-seating-booking-v2 .gt-party-size-picker button { min-width: 0; padding: 0; height: 44px; }
    .gt-seating-booking-v2 .gt-seating-legend { position: static; flex-wrap: wrap; }
    .gt-seating-booking-v2 .gt-seating-legend > span { white-space: normal; }
}

@media (max-width: 560px) {
    .gt-seating-booking-v2 { padding: 14px !important; }
    .gt-seating-booking-v2 .gt-booking-card { padding: 12px; }
    .gt-seating-booking-v2 .gt-booking-v2-head h2 { font-size: 26px; line-height: 1.15; }
    .gt-seating-booking-v2 .gt-booking-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gt-seating-booking-v2 .gt-booking-steps > span { gap: 5px; padding: 8px 5px; font-size: 10px; border-bottom: 0; }
    .gt-seating-booking-v2 .gt-seating-legend { gap: 8px 12px; font-size: 11px; padding: 10px; }
}

.gt-event-mobile-reserve { display: none; }

.gt-event-location-icon { width: 22px; height: 22px; }

.gt-detail-market-facts > div > .gt-event-date-badge {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 48px;
    height: 56px;
    gap: 2px;
}

.gt-event-date-badge b { font-size: 22px; line-height: 1; }
.gt-event-date-badge em { font-size: 10px; line-height: 1; font-style: normal; text-transform: uppercase; }
.gt-event-address { display: block; margin-top: 5px; color: var(--bl11-white-68); font-size: 13px; }

.gt-event-landscape-placeholder {
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--bl11-deep);
    color: var(--bl11-white);
}

.gt-event-overview .gt-detail-market-copy h1 {
    font-size: 38px !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}

.gt-event-overview .gt-detail-market-copy .gt-badge-row {
    gap: 8px;
    margin-bottom: 24px !important;
}

.gt-event-overview .gt-detail-market-copy .gt-badge-row > .gt-badge {
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
}

.gt-event-overview .gt-event-story {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--bl11-white-11);
}

.gt-event-overview .gt-event-story h2,
.gt-event-overview .gt-event-purchase-card h2 {
    font-size: 24px;
    line-height: 1.2;
}

.gt-event-overview .gt-event-support-notice {
    padding: 18px 0;
    border: 0;
    border-top: 1px solid var(--bl11-white-11);
    border-radius: 0;
    background: transparent;
}

.gt-event-overview .gt-detail-good-to-know > div {
    padding: 12px 0;
    background: transparent !important;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
}

.gt-event-overview .gt-event-purchase-card {
    border-radius: 8px;
}

.gt-event-overview .gt-event-purchase-options > div {
    padding: 12px 0;
    border-width: 0 0 1px;
    border-radius: 0;
    flex-wrap: wrap;
    font-size: 13px;
}

.gt-event-overview .gt-event-purchase-continue {
    white-space: normal;
    font-size: 14px;
}

.gt-event-overview .gt-event-purchase-condition {
    font-size: 12px;
    color: var(--bl11-white-68);
}

@media (max-width: 900px) {
    .gt-event-overview { grid-template-columns: 1fr; }

    .gt-event-mobile-reserve:not([hidden]) {
        display: block;
        position: fixed;
        inset: auto 0 0;
        z-index: 90;
        padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
        background: var(--bl11-card);
        border-top: 1px solid var(--bl11-white-18);
        box-shadow: 0 -4px 20px rgba(0, 0, 0, .16);
    }

    .gt-event-mobile-reserve-link {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-height: 58px;
        padding: 10px 14px;
        border-radius: 8px;
        background: var(--bl11-lime);
        color: var(--bl11-deep) !important;
        text-decoration: none;
    }

    .gt-event-mobile-reserve-link svg { width: 24px; height: 24px; }
    .gt-event-mobile-reserve-link strong { font-size: 15px; line-height: 1.25; }
    .gt-event-mobile-reserve-link > span { font-size: 12px; line-height: 1.4; }
    body:has([data-mobile-reserve]) .gt-footer-market { padding-bottom: 112px !important; }
}

.gt-detail-market-hero {
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.gt-detail-market-poster {
    width: 100% !important;
    aspect-ratio: 16 / 7 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    background-size: cover !important;
}

.gt-detail-market-copy {
    padding: 28px 30px 30px !important;
}

.gt-detail-market-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.gt-detail-market-facts > div {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 9px !important;
    min-width: 0;
}

.gt-detail-market-facts > div > div {
    min-width: 0;
}

@media (max-width: 560px) {
    .gt-event-detail-market > .gt-container { width: 100% !important; }
    .gt-event-detail-market .gt-detail-breadcrumb { padding-inline: 16px; }
    .gt-event-overview .gt-detail-market-hero { border-radius: 0 !important; border-inline: 0; }
    .gt-event-overview > .gt-event-purchase-card,
    .gt-event-overview > .gt-ticket-panel-market { margin-inline: 14px; }

    .gt-detail-market-copy {
        padding: 22px 16px !important;
    }

    .gt-detail-market-poster {
        aspect-ratio: 16 / 9 !important;
        border-radius: 18px 18px 0 0 !important;
    }

    .gt-detail-market-facts {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .gt-detail-market-facts > div {
        flex-direction: row !important;
        align-items: center !important;
        gap: 14px !important;
    }

    .gt-detail-market-facts > div > span {
        flex: 0 0 48px;
        width: 48px;
        height: 56px;
    }

    .gt-detail-market-facts strong { font-size: 15px !important; line-height: 1.5; }
    .gt-detail-market-facts small { font-size: 11px !important; }
    .gt-event-overview .gt-event-description { font-size: 16px; line-height: 1.7; }

    .gt-event-mobile-reserve-link {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 3px 12px;
    }

    .gt-event-mobile-reserve-link svg { grid-row: 1 / 3; }
    .gt-event-mobile-reserve-link > span { grid-column: 2; }

    .gt-event-overview .gt-detail-market-copy h1 {
        font-size: 28px !important;
    }
}
