:root {
    --primary: #7d50d6;
    --primary-dark: #3f2559;
    --secondary: #ff4d2d;
    --secondary-dark: #c93220;
    --ink: #24132d;
    --muted: #70537c;
    --paper: #ffffff;
    --soft: #f0e4ff;
    --line: #d8c0f4;
    --accent: var(--secondary);
    --accent-ink: #ffffff;
    --link: var(--primary);
    --glow: #ffd831;
    --night: var(--primary-dark);
    --page-background:
        linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
    --header-line: rgba(30, 18, 48, .16);
    --header-background: rgba(255, 248, 239, .92);
    --nav-ink: var(--primary-dark);
    --brand-mark:
        radial-gradient(circle at 50% 34%, #ffd831 0 25%, transparent 26%),
        conic-gradient(from 220deg, var(--secondary), #ff9b20, var(--primary), var(--secondary));
    --mark-border: var(--primary-dark);
    --mark-ink: var(--primary-dark);
    --radius-round: 999px;
    --short-shadow: 0 7px 0 rgba(30, 18, 48, .18);
    --hero-ink: #ffffff;
    --hero-muted: #fff0e5;
    --hero-background:
        linear-gradient(90deg, rgba(63, 37, 89, .92), rgba(255, 77, 45, .34) 52%, rgba(63, 37, 89, .08)),
        url("../../images/background_com_lateral.png") center / cover;
    --hero-fade-height: 320px;
    --hero-fade:
        linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .28) 42%, rgba(255, 255, 255, .82) 76%, #ffffff 100%);
    --badge-line: rgba(255, 255, 255, .5);
    --badge-background: rgba(30, 18, 48, .24);
    --button-border: var(--primary-dark);
    --button-background: #ffffff;
    --button-ink: var(--primary-dark);
    --button-primary: var(--primary);
    --button-primary-ink: #ffffff;
    --button-dark: var(--secondary);
    --button-shadow: 0 7px 0 rgba(30, 18, 48, .28);
    --button-shadow-hover: 0 4px 0 rgba(30, 18, 48, .3);
    --panel: rgba(255, 255, 255, .96);
    --panel-border: var(--primary-dark);
    --panel-shadow: 0 8px 0 rgba(30, 18, 48, .16);
    --icon-background: var(--secondary);
    --icon-ink: #ffffff;
    --schedule-header: var(--primary);
    --schedule-header-ink: #ffffff;
    --filter-background: #ffffff;
    --filter-ink: var(--primary-dark);
    --pill-background: rgba(125, 80, 214, .15);
    --pill-ink: var(--primary-dark);
    --venue-background:
        linear-gradient(180deg, rgba(63, 37, 89, .08), rgba(63, 37, 89, .44)),
        url("../../images/background.png") center / cover;
    --footer-background: #fff7ef;
    --footer-ink: var(--primary-dark);
    --footer-muted: var(--muted);
}

.theme-original .brand-logo {
    width: 190px;
    height: 124px;
    filter: drop-shadow(0 5px 0 rgba(30, 18, 48, .18));
    margin-bottom: -54px;
}

.theme-original.is-scrolled .brand-logo {
    width: 118px;
    height: 58px;
    margin-bottom: 0;
    filter: drop-shadow(0 3px 0 rgba(30, 18, 48, .12));
}

.theme-original.is-scrolled .brand-logo img {
    max-height: 58px;
}

.theme-original .nav {
    min-height: 72px;
    transition: min-height .22s ease;
}

.theme-original.is-scrolled .nav {
    min-height: 64px;
}

.theme-original .nav-links {
    padding-left: 210px;
    transition: padding-left .22s ease, padding-top .22s ease;
}

.theme-original.is-scrolled .nav-links {
    padding-left: 138px;
}

@media (max-width: 940px) {
    .theme-original .brand-logo {
        width: 156px;
        height: 102px;
        margin-bottom: -42px;
    }

    .theme-original .nav-links {
        padding: 98px 24px 28px;
    }

    .theme-original.is-scrolled .brand-logo {
        width: 112px;
        height: 56px;
        margin-bottom: 0;
    }

    .theme-original.is-scrolled .brand-logo img {
        max-height: 56px;
    }

    .theme-original.is-scrolled .nav-links {
        padding: 98px 24px 28px;
    }
}

.theme-original .hero-content {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 42px;
    align-items: center;
    min-height: 560px;
    padding: 42px 0 88px;
}

.theme-original h1 {
    max-width: 700px;
    color: #ffffff;
    text-shadow:
        5px 5px 0 var(--primary-dark),
        9px 9px 0 rgba(255, 77, 45, .92),
        13px 13px 0 rgba(125, 80, 214, .86);
}

.theme-original .section-title h2 {
    color: var(--primary-dark);
    text-shadow: 3px 3px 0 rgba(255, 77, 45, .26);
}

.theme-original .theme-art {
    display: block;
}

.theme-original .hero-logo {
    width: min(500px, 100%);
    margin: 0 0 0 auto;
    filter: drop-shadow(0 16px 0 rgba(30, 18, 48, .26));
}

.theme-original .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 55% 52%, rgba(255, 77, 45, .22), transparent 18rem),
        linear-gradient(120deg, transparent 0 66%, rgba(125, 80, 214, .28) 66% 67%, transparent 67%);
    pointer-events: none;
}

.theme-original .info-strip {
    margin-top: -124px;
}

.theme-original .about-event {
    padding: 88px 0 56px;
}

.theme-original .about-event-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 34px;
    align-items: center;
}

.theme-original .about-event-title {
    grid-column: 1 / -1;
}

.theme-original .about-event-title span {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--secondary);
    font-size: .82rem;
    font-weight: 950;
    text-transform: uppercase;
}

.theme-original .about-event-title h2 {
    margin: 0;
    color: var(--primary-dark);
    font-size: clamp(2rem, 4.8vw, 4rem);
    line-height: .98;
    text-transform: uppercase;
    text-shadow: 3px 3px 0 rgba(255, 77, 45, .24);
}

.theme-original .about-event-copy {
    max-width: 680px;
    padding: 0;
}

.theme-original .about-event-copy p {
    margin: 0;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.theme-original .about-event-copy p + p {
    margin-top: 16px;
}

.theme-original .frieren-about-art {
    display: grid;
    margin: 0;
    place-items: center;
}

.theme-original .frieren-about-art img {
    width: min(100%, 504px);
    filter: drop-shadow(0 18px 20px rgba(30, 18, 48, .18));
}

@media (max-width: 940px) {
    .theme-original .about-event-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .theme-original .about-event-copy {
        max-width: none;
    }

    .theme-original .frieren-about-art {
        order: 2;
    }

    .theme-original .hero-content {
        grid-template-columns: 1fr;
        gap: 28px;
        min-height: 560px;
        padding-top: 42px;
        padding-bottom: 84px;
    }

    .theme-original .hero-logo {
        width: min(360px, 92vw);
        margin-inline: auto;
    }
}

@media (max-width: 640px) {
    .theme-original .frieren-about-art img {
        width: min(100%, 384px);
    }

    .theme-original h1 {
        text-shadow:
            3px 3px 0 var(--primary-dark),
            6px 6px 0 rgba(255, 77, 45, .92),
            9px 9px 0 rgba(125, 80, 214, .86);
    }
}

.theme-original .tickets-page {
    min-height: 100vh;
    padding: 118px 0 72px;
    background: var(--paper);
}

.theme-original .tickets-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: end;
    margin-bottom: 34px;
}

.theme-original .tickets-hero h1 {
    max-width: 780px;
    margin: 0;
    color: var(--primary-dark, var(--night));
    font-size: clamp(2.4rem, 6vw, 5rem);
    line-height: .95;
    text-transform: uppercase;
    text-shadow: 3px 3px 0 rgba(255, 77, 45, .26);
}

.theme-original .tickets-hero p {
    max-width: 650px;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.7;
}

.theme-original .tickets-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 15px;
}

.theme-original .ticket-card {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 2px solid var(--panel-border);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: var(--panel-shadow);
}

.theme-original .ticket-card.featured {
    background:
        linear-gradient(180deg, rgba(125, 80, 214, .08), rgba(255, 77, 45, .08)),
        var(--panel);
}

.theme-original .ticket-card header {
    display: grid;
    gap: 8px;
}

.theme-original .ticket-card span {
    color: var(--accent);
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
}

.theme-original .ticket-card h2 {
    margin: 0;
    color: var(--primary-dark, var(--night));
    font-size: 1.55rem;
}

.theme-original .ticket-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.theme-original .ticket-price {
    color: var(--primary, var(--link));
    font-size: 2.35rem;
    font-weight: 950;
    line-height: 1;
}

.theme-original .qr-frame {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    padding: 18px;
    border: 2px solid var(--panel-border);
    border-radius: 8px;
    background: #ffffff;
}

.theme-original .qr-code {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 1;
    object-fit: contain;
}

.theme-original .ticket-note {
    padding: 14px 16px;
    border-left: 5px solid var(--accent);
    background: rgba(255, 77, 45, .08);
    color: var(--muted);
    line-height: 1.55;
}

.theme-original .pix-copy {
    display: grid;
    gap: 10px;
}

.theme-original .pix-copy input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    padding: 0;
}

.theme-original .pix-copy-button {
    width: 100%;
}

@media (max-width: 980px) {
    .theme-original .tickets-grid,
    .theme-original .tickets-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .theme-original .tickets-page {
        padding-top: 96px;
    }
}
