/* Fluxo de seleção de ingressos — independente de scripts externos. */
.event-brand-header {
    display: inline-flex;
    align-items: center;
    height: 100%;
    color: #17151e !important;
    text-decoration: none !important;
    font-family: Montserrat, Arial, sans-serif;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .08em;
}

#video-search-header,
#header-user-profile,
#mobile-bars-icon-pro,
#mobile-navigation-pro,
#mobile-search-drawer,
#mobile-drawer-overlay,
#sidebar-nav {
    display: none !important;
}

.ticket-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147482000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(1px);
}
.ticket-modal-overlay.is-open { display: flex; }

.ticket-modal {
    width: min(100%, 520px);
    max-height: min(92vh, 760px);
    overflow: auto;
    background: #fff;
    border: 1px solid #dedde1;
    border-radius: 4px;
    box-shadow: 0 14px 36px rgba(0,0,0,.16);
    font-family: Montserrat, Arial, sans-serif;
}
.ticket-modal-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:58px;
    padding:0 18px;
    border-bottom:1px solid #e8e7ea;
}
.ticket-modal-header h3 {
    margin:0;
    color:#5e5965;
    font-size:14px;
    font-weight:500;
}
.ticket-modal-close {
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:#88838d;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.ticket-option {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px 20px;
    border-bottom:1px solid #ecebef;
}

.ticket-option.is-locked {
    opacity:.5;
    background:#f8f8f9;
}
.ticket-option.is-locked .ticket-option-info,
.ticket-option.is-locked .ticket-counter {
    pointer-events:none;
}
.ticket-option-info strong {
    display:block;
    margin-bottom:3px;
    color:#4f4a55;
    font-size:12px;
    font-weight:700;
}
.ticket-option-info span {
    display:block;
    color:#5d5862;
    font-size:11px;
}
.ticket-option-info small {
    display:block;
    margin-top:4px;
    color:#99939f;
    font-size:9px;
}
.ticket-counter {
    display:flex;
    align-items:center;
    gap:9px;
}
.ticket-counter button {
    width:38px;
    height:38px;
    border:1px solid #dedde1;
    border-radius:3px;
    background:#fff;
    color:#8a858f;
    cursor:pointer;
    font-size:16px;
}
.ticket-counter button.add {
    background:#ff9d0a;
    border-color:#ff9d0a;
    color:#fff;
}
.ticket-counter button:disabled {
    opacity:.42;
    cursor:not-allowed;
    background:#f7f7f8;
    border-color:#e5e4e7;
    color:#aaa6ad;
}
.ticket-qty {
    min-width:20px;
    color:#5b5660;
    text-align:center;
    font-size:12px;
}
.ticket-modal-footer {
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:12px;
    align-items:center;
    padding:16px 20px;
}
.ticket-total strong {
    display:block;
    color:#5a5560;
    font-size:20px;
}
.ticket-total small { color:#77717d; font-size:9px; }
.ticket-finish {
    min-height:46px;
    border:0;
    border-radius:4px;
    background:#ff9d0a;
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.ticket-finish:disabled {
    background:#f4f4f5;
    color:#c4c1c7;
    border:1px solid #e3e2e5;
    cursor:not-allowed;
}
.ticket-modal-note {
    padding:0 20px 16px;
    color:#8d8793;
    font-size:9px;
    line-height:1.5;
}
body.ticket-modal-open { overflow:hidden !important; }

.event-simple-footer {
    padding: 36px 20px;
    background: #1b073e;
    color: #fff;
    text-align: center;
    font-family: Montserrat, Arial, sans-serif;
}
.event-simple-footer strong { display:block; margin-bottom:8px; font-size:16px; }
.event-simple-footer span { opacity:.78; font-size:11px; }

@media (max-width: 520px) {
    .ticket-modal-overlay { padding: 12px; }
    .ticket-option { padding: 13px 14px; }
    .ticket-modal-footer { padding: 14px; }
    .ticket-counter { gap:6px; }
    .ticket-counter button { width:34px; height:34px; }
}
