/* Desktop reading scale and customer-facing account surfaces. */
:root { --muted: #b8bac3; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #ff6d76; outline-offset: 5px; }
.primary-menu a, .header-account, .header-ticket { font-size: 15px; font-weight: 650; letter-spacing: .015em; }
.header-commerce { font-size: 14px; letter-spacing: .025em; }
.utility-bar p, .utility-links { font-size: 12px; letter-spacing: .06em; }
.brand__logo { flex-shrink: 0; }
.brand__copy strong { font-size: 19px; letter-spacing: .055em; }
.brand__copy small { font-size: 10px; letter-spacing: .22em; }
.broadcast-hero { min-height: 760px; }
.broadcast-hero__content { padding-top: 164px; padding-bottom: 134px; }
.hero-title { max-width: 710px; font-size: clamp(48px, 5.2vw, 76px); line-height: 1.08; letter-spacing: -.035em; text-transform: none; }
.hero-series { margin-bottom: 15px; font-size: 13px; font-weight: 600; }
.hero-kicker { font-size: 13px; font-weight: 650; }
.hero-meta { font-size: 14px; text-transform: none; font-weight: 500; }
.countdown strong { font-family: var(--body); font-size: 36px; font-weight: 650; font-variant-numeric: tabular-nums; line-height: 1.15; }
.countdown small { font-size: 12px; letter-spacing: .06em; font-weight: 500; }
.button { font-size: 14px; letter-spacing: .02em; font-weight: 650; }
.broadcast-hero__rail small { font-size: 11px; letter-spacing: .08em; }
.broadcast-hero__rail strong { font-size: 14px; font-weight: 600; text-transform: none; }
.broadcast-hero__rail-action a { font-size: 13px; letter-spacing: .025em; }
.section { padding-top: 88px; padding-bottom: 88px; }
.section-heading h2, .ppv-banner__content h2, .social-stage h2, .event-detail__intro h2 { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.16; letter-spacing: -.025em; }
.section-heading__copy { max-width: 420px; font-size: 16px; line-height: 1.8; }
.eyebrow, .panel-label { font-size: 13px; font-weight: 650; letter-spacing: .07em; }
.tab-list button { font-size: 14px; font-weight: 650; letter-spacing: .025em; text-transform: none; }
.tab-list button span { font-size: 11px; }
.event-overview__copy h3 { font-size: 34px; line-height: 1.25; font-weight: 650; text-transform: none; }
.event-overview__copy > p:not(.panel-label) { font-size: 16px; line-height: 1.8; }
.event-facts dt { font-size: 12px; letter-spacing: .05em; font-weight: 600; }
.event-facts dd { font-size: 20px; font-weight: 600; text-transform: none; }
.text-link { font-size: 13px; font-weight: 650; letter-spacing: .025em; text-transform: none; }
.fighter strong { font-size: clamp(18px, 2.4vw, 28px); line-height: 1.25; text-transform: none; font-weight: 650; }
.fighter small { font-size: 13px; }
.feature-grid h3, .watch-steps h3 { margin-top: 32px; font-size: 20px; line-height: 1.3; text-transform: none; }
.feature-grid p, .watch-steps p { font-size: 15px; line-height: 1.75; }
.ppv-banner__price small, .ppv-banner__price span { font-size: 12px; font-weight: 500; letter-spacing: .04em; }
.event-poster__body h3, .event-card__content h2 { font-size: 25px; line-height: 1.3; text-transform: none; }
.event-poster__body > p, .event-card__content > p { font-size: 13px; font-weight: 600; letter-spacing: .03em; }
.event-poster__status { font-size: 11px; font-weight: 650; }
.event-detail__content h1 { max-width: 810px; font-size: clamp(44px, 5.2vw, 72px); }
.event-detail__hero { min-height: 590px; }
.event-info-grid small { font-size: 12px; }
.event-info-grid strong { font-size: 21px; line-height: 1.4; text-transform: none; }
.event-buy-card h2 { font-size: 38px; }
.archive-hero h1 { font-size: clamp(42px, 5vw, 68px); }
.event-filters label > span { font-size: 12px; }
.event-card__footer { font-size: 12px; text-transform: none; }
.page-shell { padding-top: 164px; }
.page-shell__header { padding-bottom: 30px; }
.page-shell__header h1 { font-size: 46px; }
.page-shell__content { padding-top: 32px; }
.page-shell__content h2, .page-shell__content h3 { text-transform: none; line-height: 1.3; }
.page-shell__content h2 { font-size: 30px; }
.page-description { margin: 16px 0 0; color: var(--muted); }
.footer-column h2 { font-size: 13px; letter-spacing: .06em; }
.footer-column a { font-size: 14px; font-weight: 500; }
.site-footer__bottom { font-size: 11px; letter-spacing: .04em; text-transform: none; }
.reveal { opacity: 1; transform: none; }

/* The native dialog provides focus containment, Escape, and an inert background. */
body.account-open { overflow: hidden; }
.customer-dialog { position: fixed; width: min(480px, calc(100vw - 48px)); max-height: calc(100vh - 48px); padding: 38px; margin: auto; overflow-y: auto; border: 1px solid #33343d; border-radius: 14px; background: #111217; color: var(--text); box-shadow: 0 28px 120px #000b; }
.customer-dialog::backdrop { background: #030407bb; backdrop-filter: blur(9px); }
.customer-dialog__close { position: absolute; top: 12px; right: 14px; width: 30px; height: 30px; padding: 0; border: 1px solid #383941; border-radius: 50%; background: #202128; color: #fff; font-size: 23px; line-height: 1; cursor: pointer; }
.customer-entry { width: min(calc(100% - 80px), 1240px); min-height: 750px; margin: 0 auto; padding: 158px 0 68px; display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; }
.customer-entry__story { position: relative; overflow: hidden; min-height: 540px; border: 1px solid var(--line); border-radius: 16px 0 0 16px; background: #111216; }
.customer-entry__visual { position: absolute; inset: 0; background: linear-gradient(0deg, #090b10 2%, #090b1099 65%, #090b1033), var(--bfa-home-image) 67% center / cover; opacity: .85; }
.customer-entry__copy { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: end; padding: 44px; }
.customer-entry__copy h1 { font-size: 48px; line-height: 1.14; letter-spacing: -.025em; }
.customer-entry__copy > p:not(.eyebrow) { max-width: 390px; margin: 22px 0; color: #d0d1d7; font-size: 15px; line-height: 1.8; }
.customer-entry__copy ol { display: grid; gap: 13px; margin: 8px 0 0; padding: 0; list-style: none; font-size: 14px; color: #eee; }
.customer-entry__copy li { display: flex; align-items: center; gap: 14px; }
.customer-entry__copy li span { color: #fa626c; font-size: 12px; font-weight: 700; }
.customer-entry__form { display: flex; flex-direction: column; justify-content: center; padding: 42px 54px; background: #111217; border: 1px solid var(--line); border-left: 0; border-radius: 0 16px 16px 0; }
.customer-entry__form .woocommerce { width: 100%; }
.bfa-auth-card { width: 100%; }
.bfa-auth-card h2 { font-size: 28px; font-weight: 650; line-height: 1.25; letter-spacing: -.025em; text-transform: none; }
.bfa-auth-card .eyebrow { margin: 0 0 12px; font-size: 10px; letter-spacing: .13em; }
.auth-intro { margin: 12px 0 24px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.auth-tabs { display: flex; gap: 6px; margin-bottom: 25px; padding: 4px; border: 1px solid #2e3039; border-radius: 7px; background: #0b0c10; }
.auth-tabs button { flex: 1; padding: 10px 14px; border: 0; border-radius: 4px; background: transparent; color: #afb1bb; font-size: 14px; font-weight: 600; cursor: pointer; }
.auth-tabs button[aria-selected='true'] { background: #30313a; color: #fff; box-shadow: 0 2px 8px #0004; }
.bfa-auth-form { margin: 0; }
.bfa-auth-form > label { display: block; margin-bottom: 8px; color: #e5e6eb; font-size: 13px; font-weight: 500; }
.bfa-auth-form input:not([type='hidden']):not([type='checkbox']) { display: block; width: 100%; height: 46px; margin: 0 0 18px; padding: 10px 13px; border: 1px solid #42444e; border-radius: 5px; background: #1a1c23; color: #fff; font: inherit; font-size: 16px; }
.bfa-auth-form input:focus { outline: 2px solid #ef5360; outline-offset: 1px; border-color: transparent; }
.auth-password { position: relative; }
.bfa-auth-form .auth-password input { padding-right: 74px !important; }
.auth-password button { position: absolute; right: 7px; top: 8px; padding: 6px 9px; border: 0; border-radius: 3px; color: #d6d7df; background: #2b2d36; font-size: 11px; cursor: pointer; }
.auth-options { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 2px 0 23px; color: #c7c8d1; font-size: 12px; }
.auth-options label { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.auth-options input { accent-color: var(--red); width: 15px; height: 15px; margin: 0; }
.auth-options a, .auth-footer a { color: #f2f3f6; text-underline-offset: 4px; }
.bfa-auth-form button.auth-submit, .woocommerce .bfa-auth-form button.auth-submit { display: flex; width: 100%; justify-content: space-between; align-items: center; min-height: 46px; padding: 12px 17px; margin-top: 18px; border: 0; border-radius: 5px; background: #d82232; color: #fff; font-size: 14px; font-weight: 650; letter-spacing: 0; text-transform: none; cursor: pointer; }
.bfa-auth-form button.auth-submit:hover, .woocommerce .bfa-auth-form button.auth-submit:hover { background: #f13344; color: #fff; }
.auth-hint { margin-top: -7px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.auth-footer { margin: 25px 0 0; padding-top: 19px; border-top: 1px solid var(--line); color: var(--muted); text-align: center; font-size: 12px; line-height: 1.8; }
.customer-entry__form .woocommerce-error, .customer-entry__form .woocommerce-message, .customer-entry__form .woocommerce-info { margin: 0 0 22px; font-size: 13px; line-height: 1.6; background: #25212a; }
.bfa-auth-form .woocommerce-privacy-policy-text { margin: 15px 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.customer-subnav { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 32px; }
.customer-subnav a { padding-bottom: 13px; border-bottom: 2px solid transparent; color: var(--muted); text-decoration: none; font-size: 14px; }
.customer-subnav a[aria-current], .customer-subnav a:hover { color: #fff; border-color: var(--red); }
.library-empty { padding: 55px 30px; border: 1px solid var(--line); background: #101116; text-align: center; }
.library-empty__icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 24px; border: 1px solid #66313a; border-radius: 50%; background: #2b1820; color: #ff6270; font-size: 32px; }
.page-shell__content .library-empty h2 { font-size: 28px; }
.library-empty .bfa-notice { max-width: 620px; padding: 18px 0 0; margin: 0 auto; border: 0; background: none; }
.library-empty .bfa-notice p { font-size: 15px; }
.bfa-library__item { gap: 28px; }
.bfa-library__image { position: relative; display: block; flex: 0 0 230px; align-self: stretch; min-height: 135px; overflow: hidden; }
.bfa-library__image img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.bfa-library__image span { position: absolute; display: grid; place-items: center; width: 42px; height: 42px; left: calc(50% - 21px); top: calc(50% - 21px); border: 1px solid #ffffff88; border-radius: 50%; background: #06070aaa; font-size: 26px; }
.bfa-library__details { flex: 1; }
.bfa-library__access { margin: 12px 0 0; color: #99d8b2; font-size: 12px; }
.bfa-watch > .text-link, .bfa-watch-state > .text-link { display: inline-block; margin-bottom: 28px; }
.watch-support { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; margin-top: 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.watch-support a { flex-shrink: 0; color: #fff; }
.bfa-library__item h3 { font-size: 25px; line-height: 1.3; text-transform: none; }
.bfa-watch-state h2, .bfa-watch__heading h2 { font-size: 32px; }
.woocommerce-account .page-shell__content .woocommerce { grid-template-columns: 225px minmax(0, 1fr); gap: 28px; align-items: start; }
.woocommerce-MyAccount-navigation a { font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.woocommerce-MyAccount-content { padding: 30px; }
.woocommerce-MyAccount-content .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.customer-welcome h2 { color: #fff; font-size: 28px; }
.customer-welcome > p:last-child { margin: 14px 0 27px; font-size: 15px; }
.account-shortcuts { display: grid; gap: 13px; }
.account-shortcuts > a { position: relative; display: block; padding: 22px 22px 22px 74px; border: 1px solid #30313b; background: #181920; text-decoration: none; }
.account-shortcuts > a:hover { border-color: #b83f4b; background: #211a20; }
.shortcut-icon { position: absolute; top: 20px; left: 22px; color: #f05c69; font-size: 27px; }
.account-shortcuts h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.account-shortcuts p { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.woocommerce-account .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .page-shell__content .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* Editorial discovery and support sections. */
.arena-story { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding-bottom: 72px; }
.arena-story__image { position: relative; min-height: 400px; background: linear-gradient(0deg, #040507b0, transparent 70%), var(--bfa-walkout-image) 68% center / cover; border: 1px solid var(--line); }
.arena-story__image span { position: absolute; bottom: 25px; left: 28px; font-size: 12px; letter-spacing: .15em; }
.arena-story h2 { font-size: 40px; }
.arena-story__copy > p:not(.eyebrow) { margin: 24px 0; color: var(--muted); line-height: 1.85; }
.arena-story__copy ul { padding-left: 20px; margin: 0 0 28px; color: #d2d3da; line-height: 2.2; font-size: 14px; }
.arena-story__copy li::marker { color: var(--red); }
.social-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 88px; background: #35363d; border: 1px solid #35363d; }
.social-card { position: relative; display: block; min-height: 235px; padding: 32px; background: #191a22; text-decoration: none; transition: background .2s ease; }
.social-card:hover { background: #242631; }
.social-card--youtube { background: #bb202e; }
.social-card--youtube:hover { background: #d02738; }
.social-card > span { font-size: 11px; letter-spacing: .1em; color: #d6d7de; text-transform: uppercase; }
.social-card h3 { margin: 24px 0 10px; font-size: 21px; font-weight: 650; }
.social-card p { margin: 0; max-width: 295px; color: #c9cbd5; font-size: 14px; line-height: 1.75; }
.social-card--youtube p { color: #fff; }
.social-card b { position: absolute; right: 26px; top: 25px; font-size: 24px; font-weight: 400; }
.home-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: 75px; padding-top: 0; }
.home-faq h2 { font-size: 40px; margin-bottom: 24px; }
.faq-list details { border-bottom: 1px solid #34353e; }
.faq-list details:first-child { border-top: 1px solid #34353e; }
.faq-list summary { position: relative; padding: 22px 32px 22px 0; list-style: none; cursor: pointer; font-size: 16px; font-weight: 600; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 5px; color: #ff5b68; font-size: 21px; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list p { margin: 0; padding: 0 25px 24px 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
@media (max-width: 1100px) {
    .customer-entry { width: calc(100% - 48px); }
    .customer-entry__copy, .customer-entry__form { padding: 32px; }
    .customer-entry__copy h1 { font-size: 40px; }
    .arena-story, .home-faq { gap: 36px; }
}
@media (max-width: 1699px) {
    .primary-menu a, .header-account, .header-commerce { font-size: 16px; }
    .brand__copy { display: grid; }
}
@media (max-width: 760px) {
    .customer-entry { grid-template-columns: 1fr; padding-top: 130px; }
    .customer-entry__story { display: none; }
    .customer-entry__form { border: 1px solid var(--line); border-radius: 12px; }
    .social-cards, .arena-story, .home-faq { grid-template-columns: 1fr; }
    .hero-title { font-size: 44px; }
    .customer-dialog { padding: 36px 24px 24px; }
    .woocommerce-account .page-shell__content .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .bfa-auth-form > label, .auth-intro, .auth-options, .auth-hint, .auth-footer, .bfa-auth-form .woocommerce-privacy-policy-text { font-size: 14px; }
    .bfa-auth-form input:not([type='hidden']):not([type='checkbox']), .woocommerce input.input-text, .woocommerce select, .woocommerce textarea { font-size: 16px; }
    .fighter small, .fight-row__meta span, .fight-event__bout-meta, .past-card__meta, .past-card__fights > span { font-size: 13px; letter-spacing: .02em; }
    .tab-list button { font-size: 14px; }
    .customer-entry { width: min(calc(100% - 28px), 540px); min-height: 0; padding-top: 112px; padding-bottom: 42px; }
    .customer-entry__form { padding: 24px 18px; }
    .customer-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 42px 18px 20px; }
    .auth-options { flex-wrap: wrap; }
    .customer-subnav { gap: 12px 20px; }
    .page-shell__header h1 { font-size: clamp(32px, 11vw, 46px); overflow-wrap: anywhere; }
    .woocommerce-MyAccount-content { min-width: 0; padding: 18px; }
    .bfa-watch-state h2, .bfa-watch__heading h2 { font-size: clamp(26px, 8vw, 34px); overflow-wrap: anywhere; }
    .watch-support { flex-wrap: wrap; }
}
@media (max-width: 480px) {
    .brand__copy strong { font-size: 15px; letter-spacing: .035em; }
    .brand__copy small { font-size: 8.5px; letter-spacing: .18em; }
}

/* Mobile authentication controls have complete finger-sized targets. */
@media (max-width: 720px) {
    .customer-dialog { padding-top: 60px; }
    .customer-dialog__close { width: 44px; height: 44px; }
    .auth-password button { top: 1px; right: 1px; display: flex; align-items: center; justify-content: center; min-width: 60px; height: 44px; padding: 0 8px; font-size: 12px; }
}
@media (max-width: 375px) {
    .brand__copy strong { font-size: .85rem; }
    .brand__copy small { font-size: .47rem; letter-spacing: .15em; }
}

/* Keep the home hero usable on shorter laptop displays and scaled monitors. */
@media (min-width: 901px) and (max-width: 1599px) and (max-height: 950px) {
    .broadcast-hero { min-height: 660px; }
    .broadcast-hero__content { padding-top: 104px; padding-bottom: 108px; }
    .hero-title { font-size: clamp(52px, 4.2vw, 64px); }
    .hero-meta { margin-top: 18px; }
    .countdown--hero { margin: 20px 0; }
    .countdown--hero span { padding-top: 10px; padding-bottom: 9px; }
    .countdown--hero strong { font-size: 32px; }
    .broadcast-hero__rail > div { min-height: 72px; }
    .experience.section { padding-top: 64px; }
}

/* Wide displays keep the arena at a readable scale beside the copy. */
@media (min-width: 1600px) {
    .broadcast-hero { background-size: auto 120%; background-position: right center; }
    .hero-title { max-width: 900px; }
}

/* The two-row laptop header needs clear space above the first hero line. */
@media (min-width: 1100px) and (max-width: 1699px) {
    .page-shell { padding-top: 190px; }
    .customer-entry { padding-top: 190px; }
}
@media (min-width: 1100px) and (max-width: 1599px) and (max-height: 950px) {
    .broadcast-hero { min-height: 740px; }
    .broadcast-hero__content { padding-top: 190px; padding-bottom: 105px; }
}

/* The pending-email shortcode replaces account navigation with a focused code form. */
.bfa-email-verification { width: min(100%, 680px); margin: 0 auto; padding: clamp(24px, 4vw, 42px); border: 1px solid #3b3d47; border-top: 3px solid var(--red); border-radius: 8px; background: linear-gradient(150deg, rgba(227,29,43,.07), transparent 55%), #111217; color: #e5e6eb; overflow-wrap: anywhere; }
.bfa-email-verification > h2 { margin: 0 0 18px; color: #fff; font-size: clamp(25px, 3vw, 32px); font-weight: 750; line-height: 1.25; text-transform: none; }
.bfa-email-verification > p { margin: 12px 0; color: #c5c7d0; font-size: 15px; line-height: 1.75; }
.bfa-email-verification > p[role='alert'] { margin-top: 20px; padding: 15px 17px; border-left: 3px solid #ff6d78; background: #281920; color: #ffd5d9; }
.bfa-email-verification > form { margin: 0; }
.bfa-email-verification > form:first-of-type { margin-top: 28px; }
.bfa-email-verification > form:first-of-type > p { margin: 0 0 20px; }
.bfa-email-verification label { display: block; margin-bottom: 10px; color: #eeeef3; font-size: 15px; font-weight: 650; }
.bfa-email-verification input[name='bfa_email_code'] { display: block; width: min(100%, 340px); min-height: 60px; padding: 12px 16px; border: 1px solid #70737f; border-radius: 5px; background: #1b1d25; color: #fff; font-family: var(--body); font-size: 25px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: .35em; line-height: 1.3; }
.bfa-email-verification input[name='bfa_email_code']:focus { outline: 2px solid #ff6d78; outline-offset: 3px; border-color: #ff6d78; }
.bfa-email-verification .button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 13px 20px; border: 1px solid #50525e; border-radius: 5px; background: #20222b; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0; line-height: 1.4; text-transform: none; cursor: pointer; }
.bfa-email-verification .button:hover { border-color: #8d909e; background: #2b2e38; transform: none; }
.bfa-email-verification .button:focus-visible, .bfa-email-verification a:focus-visible { outline: 3px solid #ff6d78; outline-offset: 3px; }
.bfa-email-verification > form:first-of-type .button { width: min(100%, 340px); border-color: #d82232; background: #d82232; }
.bfa-email-verification > form:first-of-type .button:hover { border-color: #f13344; background: #f13344; }
.bfa-email-verification > form:nth-of-type(2) > p { margin: 16px 0 0; }
.bfa-email-verification > p:last-child { margin-top: 27px; padding-top: 22px; border-top: 1px solid #363944; font-size: 14px; }
.bfa-email-verification > p:last-child a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 8px; color: #eeeef3; text-underline-offset: 4px; }
@media(max-width:480px) {
    .bfa-email-verification { padding: 24px 20px; }
    .bfa-email-verification .button, .bfa-email-verification input[name='bfa_email_code'] { width: 100%; }
    .bfa-email-verification > form:first-of-type .button { width: 100%; }
}
