/* BFL — Lei visual: container 1200px e títulos de seção */
.bfl-container-master {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* —— Header mobile (somente <lg: bloco já tem .lg:hidden no HTML) —— */
.bfl-header-mobile__bar {
    position: relative;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
}

.bfl-header-mobile__bar-left {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
    min-width: 0;
    flex: 0 1 auto;
}

.bfl-header-mobile__bar-right {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

.bfl-header-mobile__logo-wrap {
    display: flex;
    align-items: center;
    min-width: 0;
}

.bfl-header-mobile__bar-left .bfl-mobile-menu {
    align-self: center;
}

.bfl-header-mobile__logo-link:focus-visible {
    outline: 2px solid #ffd100;
    outline-offset: 3px;
    border-radius: 4px;
}

.bfl-mobile-menu {
    align-self: stretch;
    display: flex;
    align-items: center;
}

.bfl-mobile-menu > summary {
    list-style: none;
}

.bfl-mobile-menu > summary::-webkit-details-marker {
    display: none;
}

.bfl-mobile-menu__summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0;
    color: #ffffff;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
}

.bfl-mobile-menu__summary:focus {
    outline: none;
}

.bfl-mobile-menu__summary:focus-visible {
    outline: 2px solid #ffd100;
    outline-offset: 2px;
}

.bfl-mobile-menu__icon {
    position: relative;
    display: block;
    width: 1.35rem;
    height: 1.1rem;
}

.bfl-mobile-menu__svg-open,
.bfl-mobile-menu__svg-close {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1.35rem;
    height: 1.1rem;
}

.bfl-mobile-menu__svg-close {
    display: none;
    width: 1.1rem;
    height: 1.1rem;
}

.bfl-mobile-menu[open] .bfl-mobile-menu__svg-open {
    display: none;
}

.bfl-mobile-menu[open] .bfl-mobile-menu__svg-close {
    display: block;
}

.bfl-mobile-menu__panel {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: 100vw;
    margin-top: 2px;
    z-index: 45;
    display: flex;
    flex-direction: column;
    padding: 0.35rem 0 0.5rem;
    background: linear-gradient(180deg, #0033a0 0%, #002878 100%);
    border-bottom: 3px solid #ffd100;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    box-sizing: border-box;
}

.bfl-mobile-menu__link {
    display: block;
    padding: 0.75rem 1.25rem;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.bfl-mobile-menu__link:last-child {
    border-bottom: 0;
}

.bfl-mobile-menu__link:hover,
.bfl-mobile-menu__link:focus-visible {
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffd100;
}

.bfl-header-mobile__login:focus-visible {
    outline: 2px solid #ffd100;
    outline-offset: 2px;
}

.bfl-mobile-lang > summary {
    list-style: none;
}

.bfl-mobile-lang > summary::-webkit-details-marker {
    display: none;
}

.bfl-mobile-lang__summary:focus {
    outline: none;
}

.bfl-mobile-lang__summary:focus-visible {
    outline: 2px solid #ffd100;
    outline-offset: 2px;
}

.bfl-header-mobile__welcome {
    position: relative;
    z-index: 40;
}

.bfl-header-mobile__welcome-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bfl-mobile-lang {
    position: relative;
}

/* —— Faixa azul header mobile: régua lateral + proporções (≤1023px; bloco .bfl-header-mobile é lg:hidden) —— */
@media (max-width: 1023px) {
    .bfl-header-mobile__bar {
        padding: 0.625rem clamp(0.5rem, 3.5vw, 0.875rem);
        box-sizing: border-box;
    }

    .bfl-header-mobile__welcome {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem);
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem);
    }

    .bfl-header-mobile__bar-left {
        gap: 0.25rem;
    }

    .bfl-header-mobile__bar-right {
        gap: 0.1875rem;
    }

    /* Altura total única 43px — hambúrguer, logo, LOGIN e idioma (só mobile) */
    .bfl-mobile-menu__summary {
        width: 43px;
        height: 43px;
        min-height: 43px;
        border-radius: 0.5rem;
        box-sizing: border-box;
    }

    .bfl-mobile-menu__icon {
        width: 1.15rem;
        height: 0.9rem;
    }

    .bfl-mobile-menu__svg-open,
    .bfl-mobile-menu__svg-close {
        width: 1.15rem;
        height: 0.9rem;
    }

    .bfl-mobile-menu__svg-close {
        width: 0.95rem;
        height: 0.95rem;
    }

    .bfl-header-mobile__logo {
        height: 43px;
        max-height: 43px;
        width: auto;
        display: block;
        object-fit: contain;
    }

    .bfl-header-mobile__login {
        height: 43px;
        min-height: 43px;
        max-height: 43px;
        min-width: 5.75rem;
        padding: 0 0.9375rem;
        gap: 0.375rem;
        border-radius: 0.3125rem;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
    }

    .bfl-header-mobile__login-icon {
        width: 0.875rem;
        height: 0.875rem;
    }

    .bfl-header-mobile__login-text {
        font-size: 0.8125rem;
        letter-spacing: 0.05em;
        line-height: 1;
        padding-top: 0;
    }

    .bfl-mobile-lang__summary {
        height: 43px;
        min-height: 43px;
        max-height: 43px;
        margin: 0;
        padding: 0;
        gap: 0.3125rem;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
    }

    .bfl-mobile-lang__flag {
        height: 43px;
        width: auto;
        max-height: 43px;
        display: block;
        object-fit: contain;
        object-position: center;
        border: none;
        box-shadow: none;
    }

    .bfl-mobile-lang__chevron {
        width: 0.5625rem;
        height: 0.5625rem;
        opacity: 0.55;
        margin-left: 0.0625rem;
    }
}

@media (max-width: 1023px) {
    /* Régua lateral = mesma largura útil das demais seções; !important vence .bfl-container-master { padding: 0 !important } */
    .bfl-container-master.bfl-shields-strip__inner {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem) !important;
    }

    .bfl-shields-strip__scroll {
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: clamp(0.5rem, 3.5vw, 0.875rem);
        mask-image: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px), transparent);
        /* Barra horizontal do track/thumb some; rolagem horizontal por toque continua */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .bfl-shields-strip__scroll::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }
}

@media (min-width: 1024px) {
    .bfl-shields-strip__scroll {
        mask-image: none;
    }
}

/* —— Vitrine hero (3 cards): ajustes somente mobile —— */
@media (max-width: 1023px) {
    /* Mesma medida 0.75rem do ajuste NOTÍCIAS: topo da vitrine + base após o último card (MELHOR GOLEIRO) */
    section.bfl-hero-vitrine {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .bfl-hero-vitrine__grid {
        height: auto !important;
        min-height: 0 !important;
        gap: 0.75rem;
    }

    .bfl-hero-vitrine__grid > .bfl-hero-card:first-child {
        min-height: 23rem;
    }

    .bfl-hero-vitrine__grid > .bfl-hero-card.bfl-hero-card--atleta {
        min-height: 22.5rem;
    }

    .bfl-hero-card__content {
        padding-top: 2.75rem;
        padding-bottom: 1.85rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__ribbon {
        top: 0.5rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__ribbon-flag {
        padding: 0.2rem 0.45rem 0.25rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__ribbon-text {
        font-size: 0.8125rem;
        letter-spacing: 0.04em;
        line-height: 1.15;
        padding-top: 0.1rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__content {
        padding-top: 5.25rem;
        padding-bottom: 2.15rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__title {
        font-size: clamp(1.45rem, 6vw, 1.7rem);
        line-height: 1.05;
        margin-bottom: 0.65rem;
        margin-top: 0.1rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__atleta-meta {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .bfl-hero-card--atleta .bfl-hero-card__atleta-meta p {
        line-height: 1.45;
    }

    .bfl-hero-card__title {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .bfl-hero-card__excerpt {
        display: block !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        overflow: visible !important;
    }

    .bfl-hero-card__atleta-meta p {
        overflow-wrap: anywhere;
    }
}

@media (min-width: 1024px) {
    .bfl-hero-card__excerpt {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* —— Ranking / artilharia: card mobile (layout oficial + refinamento guias) —— só <lg —— */
@media (max-width: 1023px) {
    .bfl-ranking-artilharia {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem);
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem);
    }

    .bfl-ranking-artilharia__list {
        gap: 0.75rem;
    }

    .bfl-ranking-card-mobile {
        /* Régua: mesma largura útil do topo à base (fixa com teto + centralizada no card) */
        --bfl-rk-edge: clamp(0.8125rem, 3vw, 1.0625rem);
        --bfl-rk-rule-max: 21.25rem;
        background-color: #ebebeb;
        border-radius: 10px;
        overflow: hidden;
        border: 1px solid rgba(11, 29, 79, 0.1);
        box-shadow: 0 4px 14px rgba(11, 29, 79, 0.08);
    }

    .bfl-ranking-card-mobile__guide {
        box-sizing: border-box;
        width: min(calc(100% - 2 * var(--bfl-rk-edge)), var(--bfl-rk-rule-max));
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .bfl-ranking-card-mobile__head {
        padding: 0;
        background: linear-gradient(180deg, #d4d4d4 0%, #c8c8c8 100%);
        border-bottom: 2px solid #ffffff;
    }

    .bfl-ranking-card-mobile__guide--head {
        padding: 0.55rem 0 0.6rem;
    }

    /* Grade única topo + base: col1 eixo esquerdo | col2 centro | col3 eixo direito */
    .bfl-ranking-card-mobile__head-inner,
    .bfl-ranking-card-mobile__stats-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 0.5rem;
        width: 100%;
        box-sizing: border-box;
    }

    .bfl-ranking-card-mobile__head-inner {
        align-items: center;
        min-height: 3.35rem;
        padding: 0;
    }

    .bfl-ranking-card-mobile__head-pos {
        grid-column: 1;
        justify-self: start;
        font-family: 'Bebas Neue', sans-serif;
        font-size: clamp(2.75rem, 13vw, 3.5rem);
        line-height: 0.88;
        color: #2E2E2E;
        letter-spacing: 0.02em;
        display: flex;
        align-items: center;
    }

    .bfl-ranking-card-mobile__head-mid {
        grid-column: 2;
        min-width: 0;
        pointer-events: none;
    }

    .bfl-ranking-card-mobile__head-label {
        grid-column: 3;
        justify-self: end;
        font-family: 'Bebas Neue', sans-serif;
        font-size: 0.625rem;
        letter-spacing: 0.16em;
        color: #2E2E2E;
        text-align: right;
        line-height: 1.15;
        max-width: 100%;
        padding-top: 0.15em;
    }

    .bfl-ranking-card-mobile__body {
        padding: 0;
        background-color: #ebebeb;
    }

    .bfl-ranking-card-mobile__guide--body {
        padding: 1.1rem 0 1.15rem;
    }

    .bfl-ranking-card-mobile__body-inner {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 1rem;
        width: 100%;
        box-sizing: border-box;
    }

    .bfl-ranking-card-mobile__avatar {
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        object-fit: cover;
        flex-shrink: 0;
        border: 2px solid rgba(255, 255, 255, 0.95);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    }

    .bfl-ranking-card-mobile__info {
        min-width: 0;
        flex: 1;
        padding-top: 0.1rem;
    }

    .bfl-ranking-card-mobile__nome {
        margin: 0 0 0.4rem;
        padding: 0;
        font-family: 'Bebas Neue', sans-serif;
        font-size: clamp(1.15rem, 4.2vw, 1.4rem);
        line-height: 1.08;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #0b1d4f;
    }

    .bfl-ranking-card-mobile__meta {
        margin: 0 0 0.3rem;
        padding: 0;
        font-family: 'Roboto', 'Montserrat', sans-serif;
        font-size: 0.8125rem;
        line-height: 1.4;
        color: #1a1a1a;
        overflow-wrap: anywhere;
    }

    .bfl-ranking-card-mobile__meta:last-child {
        margin-bottom: 0;
    }

    .bfl-ranking-card-mobile__stats {
        padding: 0;
        background: linear-gradient(180deg, #e0e0e0 0%, #d6d6d6 100%);
        border-top: 1px solid rgba(255, 255, 255, 0.85);
    }

    .bfl-ranking-card-mobile__guide--stats {
        padding: 0.95rem 0 1.1rem;
    }

    .bfl-ranking-card-mobile__stats-inner {
        row-gap: 0;
        align-items: stretch;
    }

    .bfl-ranking-card-mobile__stat {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-width: 0;
        padding: 0;
    }

    .bfl-ranking-card-mobile__stat--gols {
        grid-column: 1;
        align-items: flex-start;
        text-align: left;
    }

    .bfl-ranking-card-mobile__stat--posicao {
        grid-column: 2;
        align-items: center;
        text-align: center;
    }

    .bfl-ranking-card-mobile__stat--clube {
        grid-column: 3;
        align-items: flex-end;
        text-align: right;
    }

    .bfl-ranking-card-mobile__stat-label {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 0.53125rem;
        letter-spacing: 0.08em;
        color: #5a6578;
        line-height: 1.18;
        margin: 0 0 0.38rem;
        min-height: 2.65rem;
        display: flex;
        align-items: flex-end;
        width: 100%;
        box-sizing: border-box;
        padding-inline: 0;
    }

    .bfl-ranking-card-mobile__stat--gols .bfl-ranking-card-mobile__stat-label {
        justify-content: flex-start;
        text-align: left;
    }

    .bfl-ranking-card-mobile__stat--posicao .bfl-ranking-card-mobile__stat-label {
        justify-content: center;
        text-align: center;
    }

    .bfl-ranking-card-mobile__stat--clube .bfl-ranking-card-mobile__stat-label {
        justify-content: flex-end;
        text-align: right;
    }

    .bfl-ranking-card-mobile__stat-value {
        font-family: 'Bebas Neue', sans-serif;
        font-size: clamp(1.05rem, 4vw, 1.3rem);
        line-height: 1.05;
        color: #0b1d4f;
        word-break: break-word;
        hyphens: manual;
        min-height: 2.9rem;
        display: flex;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }

    .bfl-ranking-card-mobile__stat--gols .bfl-ranking-card-mobile__stat-value {
        justify-content: flex-start;
        font-size: clamp(1.55rem, 7vw, 2rem);
        color: #0b1d4f;
        letter-spacing: 0.02em;
    }

    .bfl-ranking-card-mobile__stat--posicao .bfl-ranking-card-mobile__stat-value {
        justify-content: center;
    }

    .bfl-ranking-card-mobile__stat--clube .bfl-ranking-card-mobile__stat-value {
        justify-content: flex-end;
    }

    .bfl-ranking-card-mobile__stat-shield {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 2.9rem;
        width: 100%;
        box-sizing: border-box;
        padding: 0.15rem 0;
    }

    .bfl-ranking-card-mobile__stat-shield img {
        width: 2.625rem;
        height: 2.625rem;
        max-width: 100%;
        object-fit: contain;
    }
}

/* —— Próximos jogos: mobile (.bfl-proxjogos-m) —— alinhado ao print: card quase reto, setas finas grandes, HORÁRIO AC cinza —— */
@media (max-width: 1023px) {
    section.bfl-proximos-jogos {
        background-color: #ededed;
        overflow-x: visible;
        /* Espaço até PRÓXIMOS JOGOS = só o margin-bottom da vitrine (0.75rem). Remove excesso de mt-12 + padding-top de py-8 (barra laranja). */
        margin-top: 0;
        /* Barra vermelha até ÚLTIMAS TRANSFERÊNCIAS: remove mb-12 (3rem) do HTML; colapsava com mt-8 da seção seguinte → até 3rem de vão */
        margin-bottom: 0 !important;
        padding-top: 0;
        /* Abaixo do card branco até o fim do cinza: 0.75rem (barra vermelha), em vez de 2rem herdado do py-8 (barra laranja) */
        padding-bottom: 0.75rem;
    }

    /* Mesmo recuo horizontal de .bfl-transferências: título e card alinham às “guias” do layout */
    section.bfl-proximos-jogos .bfl-container-master {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem) !important;
    }

    /* Espaço título → card: 0.75rem (barra vermelha / mesma referência da vitrine), em vez de 24px do .bfl-section-header global */
    section.bfl-proximos-jogos .bfl-section-header {
        margin-bottom: 0.75rem !important;
    }
}

.bfl-proxjogos-m {
    width: 100%;
    box-sizing: border-box;
}

.bfl-proxjogos-m__stage {
    width: 100%;
    box-sizing: border-box;
    overflow: visible;
}

/* Setas sobre o card branco (viewport): sempre visíveis, sem depender de área lateral / overflow */
.bfl-proxjogos-m__ruler {
    display: block;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
}

.bfl-proxjogos-m__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: #0b1d4f;
    cursor: pointer;
    box-sizing: border-box;
    opacity: 0.92;
    transform: translateY(-50%);
    -webkit-tap-highlight-color: transparent;
}

.bfl-proxjogos-m__arrow--prev {
    left: 0.125rem;
}

.bfl-proxjogos-m__arrow--next {
    right: 0.125rem;
}

.bfl-proxjogos-m__arrow:hover {
    opacity: 1;
    color: #0b1d4f;
}

.bfl-proxjogos-m__arrow:focus {
    outline: none;
}

.bfl-proxjogos-m__arrow:focus-visible {
    outline: 2px solid rgba(11, 29, 79, 0.35);
    outline-offset: 2px;
}

.bfl-proxjogos-m__arrow-svg {
    display: block;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    filter: drop-shadow(0 0 0.35px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 1px rgba(255, 255, 255, 0.85));
}

.bfl-proxjogos-m__viewport {
    position: relative;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.bfl-proxjogos-m__card[hidden] {
    display: none !important;
}

.bfl-proxjogos-m__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: clamp(2.5rem, 7vw, 3.1rem) clamp(1.125rem, 4.5vw, 1.625rem) clamp(2.75rem, 7vw, 3.35rem);
    min-height: clamp(25rem, 72vw, 31rem);
    background-color: #ffffff;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 8px 24px rgba(11, 29, 79, 0.06);
}

.bfl-proxjogos-m__link {
    flex-shrink: 0;
    margin: 0 0 clamp(1.5rem, 4.5vw, 2rem);
    padding: 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(1.125rem, 4.5vw, 1.35rem);
    letter-spacing: 0.08em;
    color: #0b1d4f;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 1px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
    line-height: 1.05;
}

.bfl-proxjogos-m__link:hover {
    color: #ffd100;
    border-bottom-color: #ffd100;
}

.bfl-proxjogos-m__shields {
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(0.45rem, 2.2vw, 0.75rem);
    width: 100%;
    min-height: clamp(6rem, 24vw, 8rem);
    margin: clamp(0.5rem, 2vw, 0.85rem) 0 clamp(1.5rem, 4.5vw, 2rem);
}

.bfl-proxjogos-m__shield-img {
    width: clamp(4.75rem, 22vw, 6.75rem);
    height: clamp(4.75rem, 22vw, 6.75rem);
    max-width: 44vw;
    max-height: 44vw;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.bfl-proxjogos-m__meta {
    flex-shrink: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    margin-top: auto;
}

.bfl-proxjogos-m__date {
    margin: 0 0 clamp(0.7rem, 2.2vw, 0.95rem);
    padding: 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(1.28rem, 5.2vw, 1.6rem);
    line-height: 1.12;
    letter-spacing: 0.03em;
    color: #0b1d4f;
}

.bfl-proxjogos-m__time {
    margin: 0 0 clamp(0.5rem, 1.8vw, 0.75rem);
    padding: 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(2.5rem, 12.5vw, 3.5rem);
    line-height: 0.92;
    letter-spacing: 0.03em;
    color: #0b1d4f;
}

/* Print: rótulo secundário em cinza médio, não azul escuro */
.bfl-proxjogos-m__tz {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', 'Montserrat', sans-serif;
    font-size: clamp(0.9375rem, 3.6vw, 1.0625rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b6b6b;
}

/* —— Últimas transferências: mobile (layout oficial / régua interna) —— */
@media (max-width: 1023px) {
    .bfl-transferencias {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem);
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem);
        /* Respiro acima do título ÚLTIMAS TRANSFERÊNCIAS: 8px + 5px = 13px (somente mobile) */
        padding-top: 13px;
    }

    .bfl-transferencias__list {
        gap: 0.75rem;
    }

    .bfl-transfer-card {
        background-color: #ebebeb;
        border-radius: 10px;
        overflow: hidden;
        border: 1px solid rgba(11, 29, 79, 0.1);
        box-shadow: 0 4px 14px rgba(11, 29, 79, 0.08);
    }

    .bfl-transfer-card__guide {
        box-sizing: border-box;
        padding: 0.9rem clamp(0.75rem, 3.2vw, 1rem);
    }

    /* 3 colunas reais: foto fixa | texto flex (min 0) | transferência largura fixa reservada */
    .bfl-transfer-card__inner {
        display: grid;
        grid-template-columns: 3.5rem minmax(0, 1fr) 7.125rem;
        align-items: center;
        column-gap: 0.5rem;
        width: 100%;
        box-sizing: border-box;
    }

    .bfl-transfer-card__left {
        display: contents;
    }

    .bfl-transfer-card__avatar {
        grid-column: 1;
        justify-self: center;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 50%;
        object-fit: cover;
        flex-shrink: 0;
        border: 2px solid rgba(255, 255, 255, 0.95);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .bfl-transfer-card__text {
        grid-column: 2;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        align-self: center;
        overflow: visible;
        position: relative;
        z-index: 0;
    }

    .bfl-transfer-card__label-nome {
        display: none;
    }

    .bfl-transfer-card__name-row {
        margin: 0 0 0.2rem;
        padding: 0;
        line-height: 1.15;
        min-width: 0;
        overflow: hidden;
    }

    .bfl-transfer-card__nome {
        font-family: 'Bebas Neue', sans-serif;
        font-size: clamp(0.95rem, 3.6vw, 1.15rem);
        line-height: 1.1;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #0b1d4f;
        font-weight: 400;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .bfl-transfer-card__meta--detail-desktop,
    .bfl-transfer-card__datetime.bfl-transfer-card__meta--detail-desktop {
        display: none;
    }

    .bfl-transfer-card__age-mobile {
        margin: 0 0 0.1rem;
        padding: 0;
        font-family: 'Roboto', 'Montserrat', sans-serif;
        font-size: 0.75rem;
        line-height: 1.35;
        color: #2e2e2e;
        white-space: nowrap;
    }

    .bfl-transfer-card__datehour-mobile {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.45rem;
        margin: 0;
        padding: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        font-family: 'Roboto', 'Montserrat', sans-serif;
        font-size: clamp(0.5625rem, 2.35vw, 0.75rem);
        line-height: 1.35;
        color: #2e2e2e;
    }

    .bfl-transfer-card__date-part,
    .bfl-transfer-card__time-part {
        flex-shrink: 0;
        white-space: nowrap;
    }

    .bfl-transfer-card__clubs {
        grid-column: 3;
        justify-self: stretch;
        align-self: center;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        gap: 0.2rem;
        flex-shrink: 0;
        position: relative;
        z-index: 1;
        background-color: #ebebeb;
    }

    .bfl-transfer-card__club {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.15rem;
        width: 2.35rem;
        min-width: 2.35rem;
        max-width: 2.35rem;
        flex: 0 0 2.35rem;
        box-sizing: border-box;
    }

    .bfl-transfer-card__shield {
        width: 1.85rem;
        height: 1.85rem;
        object-fit: contain;
        display: block;
    }

    .bfl-transfer-card__arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        padding: 0;
        color: #0b1d4f;
    }

    .bfl-transfer-card__arrow-svg {
        width: 1.05rem;
        height: 1.05rem;
        display: block;
    }

    .bfl-transfer-card__club-label {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 0.5rem;
        letter-spacing: 0.05em;
        line-height: 1;
        text-transform: uppercase;
        text-align: center;
        color: #2e2e2e;
    }
}

@media (min-width: 1024px) {
    .bfl-transferencias {
        padding-left: 0;
        padding-right: 0;
    }

    .bfl-transfer-card {
        background-color: #ebebeb;
        border-radius: 0;
        border: none;
        box-shadow: none;
        overflow: visible;
        height: 104px;
    }

    .bfl-transfer-card__guide {
        padding: 0;
        height: 100%;
        box-sizing: border-box;
    }

    .bfl-transfer-card__inner {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        height: 100%;
        padding: 1rem;
        box-sizing: border-box;
        column-gap: 0;
        width: 100%;
    }

    .bfl-transfer-card__left {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        flex: 1 1 auto;
        min-width: 0;
    }

    .bfl-transfer-card__avatar {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        object-fit: cover;
        flex-shrink: 0;
        border: 1px solid rgba(0, 0, 0, 0.1);
        box-shadow: none;
    }

    .bfl-transfer-card__text {
        font-family: 'Roboto', 'Montserrat', sans-serif;
        font-size: 14px;
        line-height: 1.375;
        color: #000000;
        min-width: 0;
    }

    .bfl-transfer-card__name-row {
        margin: 0 0 0.125rem;
        padding: 0;
    }

    .bfl-transfer-card__label-nome {
        display: inline;
        font-weight: 400;
    }

    .bfl-transfer-card__nome {
        font-family: inherit;
        font-size: 15px;
        font-weight: 700;
        line-height: inherit;
        letter-spacing: normal;
        text-transform: none;
        color: #000000;
    }

    .bfl-transfer-card__meta--detail-desktop,
    .bfl-transfer-card__datetime.bfl-transfer-card__meta--detail-desktop {
        display: block;
    }

    .bfl-transfer-card__meta,
    .bfl-transfer-card__datetime {
        margin: 0 0 0.125rem;
        padding: 0;
        font-family: inherit;
        font-size: 14px;
        line-height: 1.375;
        color: #000000;
    }

    .bfl-transfer-card__datetime {
        margin-bottom: 0;
    }

    .bfl-transfer-card__age-mobile,
    .bfl-transfer-card__datehour-mobile {
        display: none;
    }

    .bfl-transfer-card__clubs {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.75rem;
        flex-shrink: 0;
    }

    .bfl-transfer-card__club {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 50px;
        min-width: 50px;
        gap: 0.25rem;
    }

    .bfl-transfer-card__shield {
        width: 2.5rem;
        height: 2.5rem;
        object-fit: contain;
    }

    .bfl-transfer-card__arrow {
        color: #000000;
        padding: 0 0.25rem;
    }

    .bfl-transfer-card__arrow-svg {
        width: 1.5rem;
        height: 1.5rem;
    }

    .bfl-transfer-card__club-label {
        font-family: 'Bebas Neue', sans-serif;
        font-size: 10px;
        line-height: 1;
        letter-spacing: normal;
        text-transform: uppercase;
        text-align: center;
        color: #000000;
        margin: 0;
    }
}

.bfl-section-header {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}

.bfl-title {
    font-family: 'Bebas Neue', sans-serif !important;
    color: #0b1d4f !important;
    font-size: 24px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.bfl-line {
    flex-grow: 1 !important;
    min-width: 0 !important;
    height: 1px !important;
    background-color: #0b1d4f !important;
    opacity: 0.3 !important;
}

.bfl-grid-2-head .bfl-section-header {
    margin-bottom: 0 !important;
}

/* Apoiadores / Parceiros: espaço título→box só via gap do flex (mobile 0.75rem; desktop 2rem = ex mb-8 entre faixas) */
.bfl-apoiadores-parceiros .bfl-section-header {
    margin-bottom: 0 !important;
}

@media (max-width: 1023px) {
    /* Barra vermelha antes de Apoiadores: ex-mb-12 (3rem) colapsava com Apoiadores */
    /* Barra vermelha após PRÓXIMOS JOGOS: remove mt-8 (2rem) do HTML — junto com margin-bottom 0 em próximos, some o vão excessivo */
    .bfl-home-transferencias-ranking {
        margin-bottom: 0.75rem !important;
        margin-top: 0 !important;
    }

    .bfl-apoiadores-parceiros {
        margin-top: 0 !important;
    }

    /* Títulos na mesma régua horizontal de .bfl-transferências */
    .bfl-apoiadores-parceiros .bfl-container-master {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem) !important;
    }

    /* Banner: um azul só — sem hover clareando o fundo no mobile */
    .bfl-apoiadores-parceiros__banner-link:hover,
    .bfl-apoiadores-parceiros__banner-link:focus {
        background-color: transparent !important;
    }
}

a.bfl-section-header {
    text-decoration: none !important;
    color: inherit !important;
}

/* —— Seção vídeos: BFL-TV & Entrevistas (thumbnail + player premium) —— */
.bfl-video-section {
    width: 100%;
    background-color: #ffffff;
    padding: 3rem 0;
    box-sizing: border-box;
}

/* Mobile: coluna = título + card (print); md+: duas colunas como antes (BFL-TV | ENTREVISTAS) */
.bfl-video-section__layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .bfl-video-section__layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
}

.bfl-video-section__column {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .bfl-video-section__column {
        gap: 2rem;
    }
}

.bfl-video-section__column .bfl-section-header {
    margin-bottom: 0 !important;
}

.bfl-video-section__column .bfl-video-card {
    width: 100%;
}

/* Mobile: mesma lógica de espaçamento de section.bfl-proximos-jogos (padding/margens + título→card 0.75rem) */
@media (max-width: 1023px) {
    .bfl-video-section {
        margin-top: 0;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0.75rem !important;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }

    .bfl-video-section .bfl-container-master {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        box-sizing: border-box;
    }

    /* Entre bloco BFL-TV e bloco ENTREVISTAS: 0.75rem (como gap da vitrine / ritmo próximos) */
    .bfl-video-section__layout {
        gap: 0.75rem;
    }

    /* Título → card: 0.75rem como section.bfl-proximos-jogos .bfl-section-header */
    .bfl-video-section__column {
        gap: 0 !important;
    }

    .bfl-video-section__column .bfl-section-header {
        margin-bottom: 0.75rem !important;
    }

    /* Somente BFL-TV: +13px de margem superior ao título (mobile) */
    .bfl-video-section__column:first-child .bfl-section-header {
        margin-top: 13px;
    }
}

.bfl-video-card {
    margin: 0;
    padding: 0;
}

.bfl-video-card__link {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid rgba(11, 29, 79, 0.22);
    box-shadow:
        0 22px 50px rgba(5, 12, 32, 0.38),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset,
        0 -40px 80px rgba(0, 0, 0, 0.15) inset;
    text-decoration: none;
    color: inherit;
}

.bfl-video-card__link:focus {
    outline: none;
}

.bfl-video-card__link:focus-visible {
    outline: 3px solid #febd11;
    outline-offset: 3px;
}

.bfl-video-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: #050d22;
}

/* Fallback “thumbnail”: textura + luzes de quadra / estúdio (varia por card). */
.bfl-video-card__media--fallback {
    background-color: #050d22;
    background-image:
        repeating-linear-gradient(
            -8deg,
            transparent,
            transparent 2px,
            rgba(255, 255, 255, 0.02) 2px,
            rgba(255, 255, 255, 0.02) 3px
        ),
        radial-gradient(ellipse 100% 55% at 50% 0%, rgba(254, 189, 17, 0.35) 0%, transparent 58%),
        radial-gradient(ellipse 70% 50% at 12% 88%, rgba(0, 51, 160, 0.55) 0%, transparent 50%),
        radial-gradient(ellipse 60% 45% at 92% 72%, rgba(255, 255, 255, 0.08) 0%, transparent 42%),
        linear-gradient(168deg, #0a1638 0%, #0b1d4f 38%, #001e5c 62%, #020814 100%);
}

.bfl-video-card--tone-b .bfl-video-card__media--fallback {
    background-image:
        repeating-linear-gradient(
            6deg,
            transparent,
            transparent 2px,
            rgba(255, 255, 255, 0.018) 2px,
            rgba(255, 255, 255, 0.018) 3px
        ),
        radial-gradient(ellipse 90% 50% at 70% 8%, rgba(180, 140, 255, 0.12) 0%, transparent 45%),
        radial-gradient(ellipse 55% 40% at 8% 60%, rgba(254, 189, 17, 0.12) 0%, transparent 48%),
        radial-gradient(ellipse 80% 55% at 50% 100%, rgba(0, 40, 100, 0.65) 0%, transparent 55%),
        linear-gradient(195deg, #0d1528 0%, #121a3a 45%, #050a18 100%);
}

.bfl-video-card__media--fallback::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.35;
    background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 3px 3px;
    pointer-events: none;
}

.bfl-video-card__thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: scale(1.02);
    filter: saturate(1.08) contrast(1.05);
}

.bfl-video-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(8, 16, 40, 0.25) 0%, transparent 32%),
        linear-gradient(
            to bottom,
            rgba(11, 29, 79, 0.05) 0%,
            rgba(0, 0, 0, 0.25) 45%,
            rgba(0, 0, 0, 0.72) 72%,
            rgba(0, 0, 0, 0.88) 100%
        );
}

.bfl-video-card__vignette {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.45);
}

.bfl-video-card__shine {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(125deg, rgba(255, 255, 255, 0.14) 0%, transparent 38%, transparent 62%, rgba(255, 255, 255, 0.04) 100%);
    opacity: 0.55;
    mix-blend-mode: overlay;
}

.bfl-video-card__play {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(5rem, 16vw, 6.75rem);
    height: clamp(5rem, 16vw, 6.75rem);
}

.bfl-video-card__play-halo {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    max-width: 6.25rem;
    max-height: 6.25rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(254, 189, 17, 0.28) 0%, transparent 68%);
    filter: blur(3px);
    opacity: 0.95;
}

.bfl-video-card__play-ring {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(3.65rem, 11.5vw, 5rem);
    height: clamp(3.65rem, 11.5vw, 5rem);
    border-radius: 50%;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.06) 100%);
    border: 3px solid rgba(255, 255, 255, 0.95);
    box-shadow:
        0 12px 36px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        inset 0 -2px 8px rgba(0, 0, 0, 0.2);
    color: #ffffff;
    backdrop-filter: blur(6px);
}

.bfl-video-card__play-icon {
    width: 40%;
    height: 40%;
    margin-left: 7%;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
}

.bfl-video-card__bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    gap: 0;
    padding: 0;
    pointer-events: none;
}

.bfl-video-card__meta {
    text-align: left;
    max-width: 100%;
    padding: 0 1rem 0.5rem;
}

@media (min-width: 768px) {
    .bfl-video-card__meta {
        padding: 0 1.35rem 0.55rem;
    }
}

.bfl-video-card__title {
    margin: 0 0 0.15rem;
    padding: 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(2rem, 5vw, 3.15rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    color: #febd11;
    text-shadow:
        0 0 24px rgba(254, 189, 17, 0.35),
        0 3px 14px rgba(0, 0, 0, 0.75),
        0 1px 0 rgba(0, 0, 0, 0.9);
}

.bfl-video-card__subtitle {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', 'Montserrat', sans-serif;
    font-size: clamp(1rem, 2.15vw, 1.2rem);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #f5f7fb;
    text-shadow:
        0 1px 10px rgba(0, 0, 0, 0.75),
        0 0 1px rgba(0, 0, 0, 0.9);
}

.bfl-video-card__chrome {
    padding: 0.4rem 1rem 0.55rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.12) 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
}

@media (min-width: 768px) {
    .bfl-video-card__chrome {
        padding: 0.45rem 1.35rem 0.6rem;
    }
}

.bfl-video-card__ticker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-family: 'Roboto', 'Montserrat', sans-serif;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.72);
    text-transform: uppercase;
    padding-bottom: 0.35rem;
}

.bfl-video-card__time-sep {
    opacity: 0.5;
    margin: 0 0.12em;
    font-weight: 500;
}

.bfl-video-card__ticker-icons {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.78);
}

.bfl-video-card__ctrl {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem;
    border-radius: 4px;
    opacity: 0.88;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.bfl-video-card__ctrl svg {
    width: 0.95rem;
    height: 0.95rem;
    display: block;
}

.bfl-video-card__progress {
    width: 100%;
    padding-top: 0.1rem;
}

.bfl-video-card__progress-track {
    height: 5px;
    border-radius: 3px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.35) 100%);
    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.6),
        0 1px 0 rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.bfl-video-card__progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #e6a800 0%, #febd11 35%, #ffe066 100%);
    box-shadow:
        0 0 14px rgba(254, 189, 17, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

/* Faixa dos 3 blocos institucionais (sem título): topo inalterado; respiro até o <hr> vem só do separador (29px). */
.bfl-institutional-3-strip {
    margin-top: clamp(1.25rem, 2.8vw, 1.75rem);
    margin-bottom: 0;
}

/* Separador após os 3 banners: substitui my-12 (~48px) por 29px exatos até a linha do <hr>. */
.bfl-hr-after-institutional-3 {
    box-sizing: border-box;
    width: 100%;
    height: 0;
    margin-top: 29px;
    margin-bottom: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 1023px) {
    /* 3 blocos: largura útil = mesma régua de transferências / apoiadores; gap vertical = 0.75rem (laranja) */
    .bfl-institutional-3-strip .bfl-container-master {
        padding-left: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        padding-right: clamp(0.5rem, 3.5vw, 0.875rem) !important;
        box-sizing: border-box;
    }

    .bfl-institutional-3-strip .bfl-container-master > .grid {
        gap: 0.75rem !important;
    }

    /* Barra vermelha: margin-top 29px do <hr> até vídeos; no mobile = mesma medida da laranja (0.75rem) */
    .bfl-hr-after-institutional-3 {
        margin-top: 0.75rem !important;
    }
}

/* —— Rodapé institucional BFL (layout oficial — ajuste fino) —— */
.bfl-site-footer {
    width: 100%;
}

.bfl-footer-stripe {
    height: 5px;
    width: 100%;
    background-color: #ffd100;
}

.bfl-footer-main {
    width: 100%;
    background-color: #0033a0;
}

.bfl-footer-main-inner {
    padding: 3.25rem 1.25rem 4rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .bfl-footer-main-inner {
        padding: 4rem 0 4.5rem;
    }
}

.bfl-footer-sponsors-heading {
    margin: 0 0 2rem;
    text-align: center;
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(1.5rem, 3.4vw, 2.25rem);
    font-weight: 400;
    letter-spacing: 0.16em;
    line-height: 1.1;
    color: #ffffff;
    text-transform: uppercase;
}

.bfl-footer-sponsors-heading-accent {
    color: #ffd100;
}

/* Patrocinadores Masters: grade fixa, até 5 por linha; linhas centralizadas (sem carrossel). */
.bfl-footer-sponsors-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(0.875rem, 2vw, 1.25rem);
    margin-bottom: 3.5rem;
    width: 100%;
}

@media (min-width: 1024px) {
    .bfl-footer-sponsors-stack {
        margin-bottom: 4rem;
    }
}

.bfl-footer-sponsor-row {
    --bfl-sponsor-gap: clamp(0.5rem, 2vw, 1.125rem);
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    gap: var(--bfl-sponsor-gap);
    overflow: visible;
}

/* Linha completa (5 logos): ocupa 100% da largura útil do container (régua 1200px). */
.bfl-footer-sponsor-row.bfl-footer-sponsor-row--five {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bfl-footer-sponsor-row.bfl-footer-sponsor-row--five .bfl-footer-sponsor-box {
    width: 100%;
    min-width: 0;
    max-width: none;
}

.bfl-footer-sponsor-box {
    flex: 0 0 auto;
    box-sizing: border-box;
    width: min(11rem, calc((100% - 4 * var(--bfl-sponsor-gap)) / 5));
    min-height: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background-color: #ffffff;
    color: rgba(0, 51, 160, 0.38);
    font-family: Montserrat, sans-serif;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.65);
}

.bfl-footer-sponsor-box-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.5rem 0.65rem;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
}

.bfl-footer-sponsor-img {
    display: block;
    max-width: 92%;
    max-height: 5rem;
    width: auto;
    height: auto;
    object-fit: contain;
}

@media (min-width: 1024px) {
    .bfl-footer-sponsor-box {
        min-height: 7.75rem;
        font-size: 0.75rem;
    }

    .bfl-footer-sponsor-img {
        max-height: 5.5rem;
    }
}

/* Patrocinadores Masters — mobile: 1 logo por vez, setas, card dominante (desktop usa .bfl-footer-sponsors-stack; este bloco só ≤1023px). */
@media (max-width: 1023px) {
    /* Espaçamento vertical do rodapé mobile (prints: reduz vão acima do título, patrocinador→BFL, antes de INSTITUCIONAL, acima da barra de copyright). Desktop ≥1024 intacto. */
    .bfl-footer-main-inner {
        padding-top: 1rem;
        padding-bottom: 2rem;
    }

    .bfl-footer-sponsors-m {
        margin-bottom: 1.25rem;
        width: 100%;
        box-sizing: border-box;
    }

    .bfl-footer-sponsors-m__stage {
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }

    .bfl-footer-sponsors-m__ruler {
        display: block;
        position: relative;
        width: 100%;
        box-sizing: border-box;
        padding: 0;
    }

    .bfl-footer-sponsors-m__viewport {
        position: relative;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .bfl-footer-sponsors-m__slide[hidden] {
        display: none !important;
    }

    .bfl-footer-sponsors-m__slide {
        margin: 0;
    }

    .bfl-footer-sponsors-m__box {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex: none;
        min-height: clamp(10rem, 44vw, 14rem);
        border-radius: 1rem;
    }

    .bfl-footer-sponsors-m__box .bfl-footer-sponsor-box-inner {
        min-height: clamp(9rem, 40vw, 12.5rem);
        padding: clamp(0.75rem, 3vw, 1.25rem) clamp(2.35rem, 9vw, 3rem);
        box-sizing: border-box;
    }

    .bfl-footer-sponsors-m__box .bfl-footer-sponsor-img {
        max-width: min(94%, 20rem);
        max-height: clamp(5rem, 36vw, 9.5rem);
        width: auto;
        height: auto;
        object-fit: contain;
    }

    .bfl-footer-sponsors-m__arrow {
        position: absolute;
        top: 50%;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        min-width: 2.5rem;
        min-height: 2.5rem;
        padding: 0;
        margin: 0;
        border: none;
        border-radius: 4px;
        background: transparent;
        color: #b8c0cc;
        cursor: pointer;
        box-sizing: border-box;
        opacity: 0.95;
        transform: translateY(-50%);
        -webkit-tap-highlight-color: transparent;
    }

    .bfl-footer-sponsors-m__arrow--prev {
        left: 0.2rem;
    }

    .bfl-footer-sponsors-m__arrow--next {
        right: 0.2rem;
    }

    .bfl-footer-sponsors-m__arrow:hover {
        opacity: 1;
        color: #9aa3b0;
    }

    .bfl-footer-sponsors-m__arrow:focus {
        outline: none;
    }

    .bfl-footer-sponsors-m__arrow:focus-visible {
        outline: 2px solid rgba(255, 255, 255, 0.45);
        outline-offset: 2px;
    }

    .bfl-footer-sponsors-m__arrow-svg {
        display: block;
        flex-shrink: 0;
        width: 1.75rem;
        height: 1.75rem;
    }
}

.bfl-footer-grid-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.75rem;
    padding-top: 3rem;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    align-items: start;
}

@media (min-width: 900px) {
    .bfl-footer-grid-3 {
        grid-template-columns: minmax(220px, 1.45fr) 1fr 1fr;
        gap: 2.5rem 3.25rem;
        padding-top: 3.25rem;
    }
}

/* Rodapé mobile: vão título→card patrocinador e separador→logo BFL (só ≤1023px; vem depois das regras do grid para vencer a cascata). */
@media (max-width: 1023px) {
    .bfl-footer-sponsors-heading {
        margin-bottom: 10px;
        white-space: nowrap;
    }

    .bfl-footer-grid-3 {
        padding-top: 0;
    }
}

.bfl-footer-col-brand {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

@media (min-width: 900px) {
    .bfl-footer-col-brand {
        text-align: left;
        align-items: flex-start;
        padding-right: 1.25rem;
        padding-top: 0.125rem;
    }
}

.bfl-footer-col-links {
    min-width: 0;
}

.bfl-footer-logo {
    display: block;
    width: auto;
    max-width: min(100%, 288px);
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    object-position: left center;
    filter: brightness(1.04) drop-shadow(0 2px 12px rgba(0, 0, 0, 0.16));
}

@media (min-width: 900px) {
    .bfl-footer-logo {
        max-width: min(100%, 364px);
        margin-left: 0;
        margin-right: 0;
        object-position: left top;
    }
}

@media (max-width: 1023px) {
    .bfl-footer-logo {
        margin-top: 20px;
    }
}

.bfl-footer-social {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: min(100%, 288px);
    gap: 0;
    margin-top: 1.25rem;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (min-width: 900px) {
    .bfl-footer-social {
        max-width: min(100%, 364px);
        margin-left: 0;
        margin-right: 0;
        margin-top: 1.4rem;
    }
}

.bfl-footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5625rem;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.32);
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.bfl-footer-social-link:hover {
    background-color: rgba(255, 209, 0, 0.1);
    border-color: rgba(255, 209, 0, 0.55);
    color: #ffd100;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
}

.bfl-footer-social-link:focus-visible {
    outline: 2px solid #ffd100;
    outline-offset: 2px;
}

.bfl-footer-social-icon {
    width: 1.2rem;
    height: 1.2rem;
    flex-shrink: 0;
}

@media (max-width: 359px) {
    .bfl-footer-social-link {
        width: 2.25rem;
        height: 2.25rem;
        border-radius: 0.5rem;
    }

    .bfl-footer-social-icon {
        width: 1.05rem;
        height: 1.05rem;
    }
}

.bfl-footer-col-title {
    margin: 0 0 1.5rem;
    padding: 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.375rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
    color: #ffd100;
}

.bfl-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bfl-footer-links li {
    margin: 0 0 0.8rem;
    padding: 0;
    line-height: 1.45;
}

.bfl-footer-links li:last-child {
    margin-bottom: 0;
}

.bfl-footer-links a {
    font-family: Montserrat, sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.bfl-footer-links a:hover {
    color: #ffd100;
    text-decoration: underline;
}

.bfl-footer-bar {
    width: 100%;
    background-color: #001748;
}

.bfl-footer-bar-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 0.875rem;
    padding: 1.05rem 1.25rem;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .bfl-footer-bar-inner {
        flex-direction: row;
        align-items: center;
        padding: 1.1rem 0;
    }
}

.bfl-footer-bar-left,
.bfl-footer-bar-right {
    margin: 0;
    font-family: Roboto, sans-serif;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    text-align: center;
}

@media (min-width: 768px) {
    .bfl-footer-bar-left {
        text-align: left;
    }
    .bfl-footer-bar-right {
        text-align: right;
    }
}
