/* TicketFan One 2.1.1 reliability and quality layer. */

.tf-public-event-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .42rem .7rem;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
}

.tf-event-finished .tf-public-event-status,
.tf-event-cancelled .tf-public-event-status,
.tf-event-postponed .tf-public-event-status {
    background: #fff7ed;
    color: #9a3412;
}

.tf-event-finished .tf-event-price-card__price,
.tf-event-finished .tf-mobile-buy-bar,
.tf-event-finished form.cart,
.tf-event-finished .tf-ticket-selector,
.tf-event-cancelled .tf-event-price-card__price,
.tf-event-cancelled .tf-mobile-buy-bar,
.tf-event-cancelled form.cart,
.tf-event-cancelled .tf-ticket-selector,
.tf-event-postponed .tf-event-price-card__price,
.tf-event-postponed .tf-mobile-buy-bar,
.tf-event-postponed form.cart,
.tf-event-postponed .tf-ticket-selector {
    display: none !important;
}

.tf-event-finished .tf-event-price-card,
.tf-event-cancelled .tf-event-price-card,
.tf-event-postponed .tf-event-price-card {
    align-content: start;
}

.tf-event-data-state,
[data-tf-internal-verification],
.tf-internal-verification {
    display: none !important;
}

.tf-finished-panel {
    border: 1px solid rgba(249, 115, 22, .25);
    background: linear-gradient(180deg, #fffaf5, #fff);
    border-radius: 1rem;
    padding: 1.25rem;
}

.tf-finished-panel h2,
.tf-finished-panel h3 {
    margin: .4rem 0;
}

.tf-legal-review-warning {
    margin: 0 0 1.5rem;
    padding: 1rem 1.1rem;
    border: 1px solid #f59e0b;
    border-left-width: .35rem;
    border-radius: .75rem;
    background: #fffbeb;
    color: #78350f;
}

.tf-about-page .tf-about-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 9vw, 8rem) 0;
    background: radial-gradient(circle at 78% 20%, rgba(242, 138, 36, .3), transparent 34%), #071426;
    color: #fff;
}

.tf-about-page .tf-about-hero h1 {
    max-width: 16ch;
    margin: .65rem 0 1rem;
    font-size: clamp(2.3rem, 6vw, 5.1rem);
    line-height: .98;
    text-wrap: balance;
}

.tf-about-page .tf-about-hero p {
    max-width: 62ch;
    font-size: clamp(1rem, 1.7vw, 1.25rem);
    color: rgba(255, 255, 255, .82);
}

.tf-about-page .tf-about-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 22rem);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.tf-about-page .tf-about-aside {
    position: sticky;
    top: calc(var(--tf-header-height, 88px) + 1.5rem);
    padding: 1.25rem;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}

@media (max-width: 840px) {
    .tf-about-page .tf-about-content {
        grid-template-columns: 1fr;
    }
    .tf-about-page .tf-about-aside {
        position: static;
    }
}


/* TicketFan One 2.1.2 focused availability and card polish. */
.tf-badge--pending {
    border: 1px solid rgba(180, 106, 0, .24);
    background: #fff4d6;
    color: #7a4500;
}

.tf-badge--available {
    background: #e8f7ef;
    color: #09663b;
}

.tf-event-card__badge {
    max-width: calc(100% - 2rem);
    min-height: 0;
    padding: .42rem .65rem;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(7, 17, 30, .16);
    font-size: .63rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-hero-event__top .tf-badge {
    max-width: 58%;
    justify-content: center;
    text-align: center;
    white-space: normal;
}

.tf-team-card__stats {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: .8rem 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.tf-team-card__stats > span {
    flex: 1 1 50%;
    min-width: 0;
    padding: 0 .85rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.tf-team-card__stats > span:first-child {
    padding-left: 0;
}

.tf-team-card__stats > span + span {
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.tf-team-card__stats small {
    font-size: .6rem;
}

.tf-team-card__stats strong {
    margin-top: .28rem;
    font-size: 1rem;
    line-height: 1.25;
}

.tf-team-card__cta {
    min-height: 44px;
    border: 1px solid rgba(255, 255, 255, .13);
    background: rgba(255, 255, 255, .055);
    box-shadow: inset 3px 0 0 var(--team-accent);
}

.tf-team-card__cta .tf-icon {
    color: var(--team-accent);
}

@media (max-width: 480px) {
    .tf-event-card__badge {
        max-width: calc(100% - 1.5rem);
        font-size: .59rem;
    }
    .tf-hero-event__top {
        align-items: flex-start;
    }
    .tf-hero-event__top .tf-badge {
        max-width: 54%;
    }
}

/* Keep status information inside the card body, away from event imagery. */
.tf-event-card__meta-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.tf-event-card__status {
    max-width: 52%;
    min-height: 24px;
    padding: .32rem .55rem;
    flex: 0 1 auto;
    overflow: hidden;
    font-size: .58rem;
    line-height: 1.15;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tf-event-card__media .tf-event-card__badge {
    display: none !important;
}

@media (max-width: 480px) {
    .tf-event-card__meta-line {
        align-items: flex-start;
        flex-direction: column;
        gap: .5rem;
    }
    .tf-event-card__status {
        max-width: 100%;
        text-align: left;
    }
}
