/* ===================================
   CBF 2026 — Inscrição
   Landing page única (canvas, sem header/footer do tema).
   Todas as classes usam o prefixo .cbf- e vivem só nesta página.
   =================================== */

:root {
    --cbf-teal: #12B3AB;
    --cbf-teal-dark: #0E9B94;
    --cbf-teal-light: #3ED5CC;
    --cbf-ink: #0F2A33;
    --cbf-body: #4A6570;
    --cbf-muted: #7A8F96;
    --cbf-dark-1: #08262F;
    --cbf-dark-2: #0C3A42;
    --cbf-mint-1: #E4F6F3;
    --cbf-surface: #FBFDFD;
    --cbf-border: rgba(15, 42, 51, .09);

    --cbf-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --cbf-header-h: 84px;
    --cbf-section-pad: 88px 72px;
    --cbf-radius: 18px;
    --cbf-shadow: 0 2px 12px rgba(15, 42, 51, .04);
    --cbf-transition: .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    :root { --cbf-transition: 0s; }
}

/* ===================================
   RESET / BASE
   =================================== */
.cbf, .cbf *, .cbf *::before, .cbf *::after {
    box-sizing: border-box;
}

body.cbf-2026-canvas {
    margin: 0;
    font-family: var(--cbf-font);
    color: var(--cbf-ink);
    background: var(--cbf-surface);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.cbf {
    width: 100%;
    overflow-x: hidden;
}

.cbf :where(h1, h2, h3, h4, p, dl, dd, ul) {
    margin: 0;
}

.cbf ul {
    list-style: none;
    padding: 0;
}

.cbf a {
    color: inherit;
    text-decoration: none;
}

.cbf img {
    max-width: 100%;
    display: block;
}

.cbf-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px;
}

.cbf-container--narrow {
    max-width: 860px;
}

.cbf-container--programacao {
    max-width: 1100px;
}

/* Âncoras: compensa a altura do header sticky */
.cbf-hero,
.cbf-resultados,
.cbf-edicoes,
.cbf-ficha,
.cbf-patrocinadores,
.cbf-programacao,
.cbf-inscricao,
.cbf-footer {
    scroll-margin-top: var(--cbf-header-h);
}

@media (prefers-reduced-motion: no-preference) {
    html:has(.cbf-2026-canvas) {
        scroll-behavior: smooth;
    }
}

/* ===================================
   TIPOGRAFIA / SEÇÕES GENÉRICAS
   =================================== */
.cbf-section {
    padding: var(--cbf-section-pad);
    background: var(--cbf-surface);
}

.cbf-section--dark {
    background: linear-gradient(160deg, var(--cbf-dark-1), var(--cbf-dark-2));
    color: #fff;
}

.cbf-section__title {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--cbf-ink);
    margin-bottom: 40px;
}

.cbf-section__title--center {
    text-align: center;
}

.cbf-section__title--onDark {
    color: #fff;
}

.cbf-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 999px;
    background: rgba(18, 179, 171, .14);
    color: var(--cbf-teal-light);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* ===================================
   BOTÕES
   =================================== */
.cbf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 32px;
    min-height: 44px;
    border-radius: 999px;
    font-family: var(--cbf-font);
    font-size: 15px;
    font-weight: 700;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform var(--cbf-transition), background var(--cbf-transition), border-color var(--cbf-transition), box-shadow var(--cbf-transition);
}

.cbf-btn--primary {
    background: var(--cbf-teal);
    color: #fff;
}

.cbf-btn--primary:hover {
    background: var(--cbf-teal-dark);
    transform: translateY(-1px);
}

.cbf-btn.cbf-btn--ghost {
    background: rgba(0, 0, 0, .3);
    border-color: rgba(255, 255, 255, .5);
    color: #fff;
}

.cbf-btn--ghost:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, .08);
}

.cbf-btn--whatsapp {
    background: #25D366;
    color: #fff;
}

.cbf-btn--whatsapp:hover {
    background: #1ebe5b;
    transform: translateY(-1px);
}

.cbf-btn--lg {
    padding: 16px 38px;
    font-size: 16px;
}

/* Destaque em loop no CTA principal de inscrição. */
@keyframes cbfBtnPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(18, 179, 171, .55);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 16px rgba(18, 179, 171, 0);
        transform: scale(1.045);
    }
}

.cbf-btn--pulse {
    animation: cbfBtnPulse 2.2s ease-in-out infinite;
}

.cbf-btn--pulse:hover {
    animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
    .cbf-btn--pulse {
        animation: none;
    }
}

/* ===================================
   HEADER STICKY
   =================================== */
.cbf-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(8, 38, 47, .92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.cbf-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: var(--cbf-header-h);
}

.cbf-header__brand {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    flex-shrink: 0;
}

.cbf-header__brand-main {
    font-size: 17px;
    font-weight: 800;
    color: #fff;
}

.cbf-header__brand-sub {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--cbf-teal-light);
}

.cbf-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.cbf-header__nav ul {
    display: flex;
    gap: 32px;
}

.cbf-header__nav a {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, .82);
    transition: color var(--cbf-transition);
}

.cbf-header__nav a:hover {
    color: var(--cbf-teal-light);
}

.cbf-header__cta {
    flex-shrink: 0;
    padding: 11px 26px;
    font-size: 14px;
}

.cbf-header__toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 10px;
    cursor: pointer;
    flex-shrink: 0;
}

.cbf-header__toggle span {
    display: block;
    width: 20px;
    height: 2px;
    margin: 0 auto;
    background: #fff;
    transition: transform var(--cbf-transition), opacity var(--cbf-transition);
}

.cbf-header__toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.cbf-header__toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.cbf-header__toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ===================================
   HERO
   =================================== */
.cbf-hero {
    position: relative;
    min-height: 660px;
    padding: 56px 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--cbf-dark-1);
}

.cbf-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.cbf-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.cbf-hero__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(4, 23, 30, .96), rgba(6, 40, 48, .08));
}

.cbf-hero__row {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.cbf-hero__content {
    max-width: 720px;
    padding: 40px;
    background: rgba(20, 34, 38, .1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, .08);
}

.cbf-hero__logo {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.cbf-hero__logo .cbf-hero__logo-img {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
}

.cbf-hero__logo .cbf-hero__brand-img {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
}

@media (max-width: 900px) {
    .cbf-hero__row {
        flex-direction: column;
    }

    .cbf-hero__logo {
        order: -1;
    }

    .cbf-hero__logo .cbf-hero__logo-img {
        max-width: 260px;
    }

    .cbf-hero__logo .cbf-hero__brand-img {
        max-width: 260px;
    }
}

.cbf-hero__title {
    font-size: 68px;
    font-weight: 800;
    line-height: 1.05;
    color: #fff;
    letter-spacing: -.01em;
}

.cbf-hero__title-accent {
    color: var(--cbf-teal-light);
}

.cbf-hero__subtitle {
    margin-top: 18px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .72);
}

.cbf-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.cbf-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 18px;
    min-height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.cbf-pill i {
    color: var(--cbf-teal-light);
}

.cbf-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 36px;
}

/* ===================================
   CARDS (padrão geral)
   =================================== */
.cbf-card {
    background: #fff;
    border: 1px solid var(--cbf-border);
    border-radius: var(--cbf-radius);
    box-shadow: var(--cbf-shadow);
}

/* ===================================
   2025 FOI UM SUCESSO
   =================================== */
.cbf-resultados__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.cbf-resultados__card {
    padding: 40px 24px;
    text-align: center;
}

.cbf-resultados__numero {
    display: block;
    font-size: 44px;
    font-weight: 800;
    color: var(--cbf-teal-dark);
    line-height: 1;
}

.cbf-resultados__label {
    display: block;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--cbf-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
}

/* ===================================
   NOSSAS EDIÇÕES
   =================================== */
.cbf-edicoes__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.cbf-edicoes__card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--cbf-radius);
    box-shadow: none;
    padding: 28px 24px;
}

.cbf-edicoes__card--destaque {
    background: linear-gradient(135deg, var(--cbf-teal), var(--cbf-teal-dark));
    border-color: transparent;
}

.cbf-edicoes__ano {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: var(--cbf-teal-light);
}

.cbf-edicoes__card--destaque .cbf-edicoes__ano {
    color: #fff;
}

.cbf-edicoes__tema {
    display: block;
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, .85);
}

.cbf-edicoes__card--destaque .cbf-edicoes__tema {
    color: #fff;
}

.cbf-edicoes__btn {
    margin-top: 16px;
    padding: 10px 22px;
    min-height: auto;
    font-size: 14px;
}

/* ===================================
   FICHA TÉCNICA (CBF 2026)
   =================================== */
.cbf-ficha__table {
    background: #fff;
    border: 1px solid var(--cbf-border);
    border-radius: var(--cbf-radius);
    box-shadow: var(--cbf-shadow);
    overflow: hidden;
}

.cbf-ficha__row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 24px;
    padding: 20px 32px;
    border-bottom: 1px solid var(--cbf-border);
}

.cbf-ficha__row:last-child {
    border-bottom: none;
}

.cbf-ficha__row dt {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--cbf-teal-dark);
}

.cbf-ficha__row dd {
    margin: 0;
    font-size: 16px;
    color: var(--cbf-ink);
    line-height: 1.5;
}

/* ===================================
   PATROCINADORES
   =================================== */
.cbf-patrocinadores__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.cbf-patrocinadores__card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 32px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    color: var(--cbf-ink);
}

.cbf-patrocinadores__logo {
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
}

.cbf-patrocinadores__apoio {
    margin-top: 48px;
    text-align: center;
}

.cbf-patrocinadores__apoio h3 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--cbf-muted);
    margin-bottom: 10px;
}

.cbf-patrocinadores__apoio p {
    font-size: 15px;
    color: var(--cbf-body);
    line-height: 1.7;
}

/* ===================================
   PROGRAMAÇÃO
   =================================== */
.cbf-programacao__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cbf-painel {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 32px;
    padding: 32px;
    background: #fff;
    border: 1px solid var(--cbf-border);
    border-radius: var(--cbf-radius);
    box-shadow: var(--cbf-shadow);
}

.cbf-painel__quando {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cbf-painel__data {
    font-size: 15px;
    font-weight: 700;
    color: var(--cbf-ink);
}

.cbf-painel__hora {
    font-size: 13px;
    font-weight: 600;
    color: var(--cbf-teal-dark);
}

.cbf-painel__numero {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    color: var(--cbf-teal-dark);
    margin-bottom: 8px;
}

.cbf-painel__titulo {
    font-size: 20px;
    font-weight: 800;
    color: var(--cbf-ink);
    line-height: 1.3;
}

.cbf-painel__subtitulo {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--cbf-muted);
}

.cbf-painel__moderacao {
    margin-top: 12px;
    font-size: 14px;
    color: var(--cbf-teal-dark);
    font-weight: 600;
}

.cbf-painel__moderacao strong {
    color: var(--cbf-ink);
    font-weight: 700;
}

.cbf-painel__debatedores-label {
    margin-top: 14px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--cbf-muted);
}

.cbf-painel__temas {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cbf-painel__temas li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--cbf-body);
}

.cbf-painel__tema-titulo {
    font-weight: 700;
    color: var(--cbf-ink);
    margin-right: 4px;
}

.cbf-programacao__aviso {
    margin-bottom: 28px;
    text-align: center;
    font-size: 13px;
    color: var(--cbf-muted);
    font-style: italic;
}

/* ===================================
   INSCRIÇÃO
   =================================== */
.cbf-inscricao {
    background: linear-gradient(160deg, var(--cbf-mint-1), var(--cbf-surface));
}

.cbf-inscricao__card {
    background: linear-gradient(160deg, var(--cbf-dark-1), var(--cbf-dark-2));
    border-radius: 24px;
    padding: 64px 56px;
    text-align: center;
}

.cbf-inscricao__subtitulo {
    margin-top: 12px;
    font-size: 16px;
    color: rgba(255, 255, 255, .72);
}

.cbf-inscricao__form-wrap {
    margin-top: 40px;
    text-align: left;
}

.cbf-inscricao__aviso {
    text-align: center;
    color: rgba(255, 255, 255, .85);
    font-size: 15px;
    line-height: 1.7;
}

/* Estado de sucesso inline */
.cbf-inscricao__sucesso {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 48px 24px;
    text-align: center;
}

.cbf-inscricao__sucesso i {
    font-size: 44px;
    color: var(--cbf-teal-light);
}

.cbf-inscricao__sucesso-titulo {
    font-size: 22px;
    font-weight: 800;
    color: #fff;
}

.cbf-inscricao__sucesso-sub {
    font-size: 15px;
    color: rgba(255, 255, 255, .75);
    max-width: 420px;
}

.cbf-inscricao__sucesso-pendente {
    font-size: 14px;
    color: rgba(255, 255, 255, .6);
    font-style: italic;
}

/* ---- Contact Form 7 ---- */
.cbf-form-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 24px;
}

.cbf-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.cbf-field label {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, .85);
    text-transform: uppercase;
    letter-spacing: .02em;
}

.cbf-inscricao__form .wpcf7-form-control-wrap {
    display: block;
}

.cbf-inscricao__form input.wpcf7-form-control,
.cbf-inscricao__form select.wpcf7-form-control {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    font-family: var(--cbf-font);
    font-size: 15px;
    color: var(--cbf-ink);
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    transition: border-color var(--cbf-transition), box-shadow var(--cbf-transition);
}

.cbf-inscricao__form input.wpcf7-form-control:focus,
.cbf-inscricao__form select.wpcf7-form-control:focus {
    outline: none;
    border-color: var(--cbf-teal);
    box-shadow: 0 0 0 3px rgba(18, 179, 171, .28);
}

.cbf-inscricao__form input.wpcf7-not-valid {
    border-color: #e0685c;
}

.cbf-field--consent {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    margin-top: 4px;
}

.cbf-field--consent .wpcf7-form-control-wrap {
    display: flex;
}

.cbf-field--consent .wpcf7-list-item {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cbf-field--consent input[type="checkbox"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 2px;
    accent-color: var(--cbf-teal);
}

.cbf-field--consent .wpcf7-list-item-label {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .78);
    text-transform: none;
    font-weight: 500;
}

.cbf-field--consent a {
    color: var(--cbf-teal-light);
    text-decoration: underline;
}

.cbf-field--submit {
    grid-column: 1 / -1;
    margin-top: 8px;
}

.cbf-inscricao__form input.wpcf7-submit {
    width: 100%;
    padding: 16px 32px;
    min-height: 52px;
    font-family: var(--cbf-font);
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: var(--cbf-teal);
    border: none;
    border-radius: 999px;
    cursor: pointer;
    transition: background var(--cbf-transition), transform var(--cbf-transition);
}

.cbf-inscricao__form input.wpcf7-submit:hover {
    background: var(--cbf-teal-dark);
}

.cbf-inscricao__form input.wpcf7-submit:disabled {
    opacity: .7;
    cursor: wait;
}

.cbf-inscricao__form .wpcf7-spinner {
    display: block;
    margin: 12px auto 0;
}

.cbf-inscricao__form .wpcf7-response-output {
    grid-column: 1 / -1;
    margin: 16px 0 0;
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    border: 1px solid rgba(255, 255, 255, .2);
    color: #fff;
}

.cbf-inscricao__form form.invalid .wpcf7-response-output,
.cbf-inscricao__form form.aborted .wpcf7-response-output,
.cbf-inscricao__form form.spam .wpcf7-response-output,
.cbf-inscricao__form form.failed .wpcf7-response-output {
    background: rgba(224, 104, 92, .18);
    border-color: rgba(224, 104, 92, .4);
}

.cbf-inscricao__form form.sent .wpcf7-response-output {
    background: rgba(18, 179, 171, .18);
    border-color: rgba(18, 179, 171, .4);
}

.cbf-inscricao__form .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #f3a99e;
}

/* Honeypot do WP Armour: mantém fora da tela sem afetar o layout do form */
.cbf-inscricao__form .fadyen,
.cbf-inscricao__form input[name*="wp_armour"] {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* ===================================
   RODAPÉ / CONTATO
   =================================== */
.cbf-footer {
    background: var(--cbf-dark-1);
    color: rgba(255, 255, 255, .8);
    padding: 88px 72px 0;
}

.cbf-footer__inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 56px;
}

.cbf-footer__titulo {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
}

.cbf-footer__desc {
    margin-top: 10px;
    font-size: 14px;
    color: rgba(255, 255, 255, .6);
}

.cbf-footer__subtitulo {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--cbf-teal-light);
    margin-bottom: 16px;
}

.cbf-footer__lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cbf-footer__lista a {
    font-size: 14px;
    transition: color var(--cbf-transition);
}

.cbf-footer__lista a:hover {
    color: var(--cbf-teal-light);
}

.cbf-footer__endereco {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 16px;
    color: rgba(255, 255, 255, .7);
}

.cbf-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 24px 0;
}

.cbf-footer__bottom p {
    font-size: 13px;
    color: rgba(255, 255, 255, .5);
    text-align: center;
}

/* ===================================
   RESPONSIVO
   =================================== */
@media (max-width: 1100px) {
    :root {
        --cbf-section-pad: 64px 40px;
    }

    .cbf-container {
        padding: 0 24px;
    }

    .cbf-patrocinadores__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cbf-footer {
        padding: 56px 40px 0;
    }

    .cbf-footer__inner {
        grid-template-columns: 1fr 1fr;
    }

    .cbf-inscricao__card {
        padding: 48px 32px;
    }
}

@media (max-width: 900px) {
    .cbf-header__nav,
    .cbf-header__cta {
        display: none;
    }

    .cbf-header__toggle {
        display: flex;
    }

    .cbf-header--open .cbf-header__nav {
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--cbf-dark-1);
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        padding: 8px 24px 20px;
    }

    .cbf-header--open .cbf-header__nav ul {
        flex-direction: column;
        gap: 4px;
    }

    .cbf-header--open .cbf-header__nav a {
        display: block;
        padding: 12px 4px;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .cbf-header--open .cbf-header__cta {
        display: flex;
        margin: 4px 24px 20px;
    }

    .cbf-hero {
        min-height: 0;
        padding-top: 24px;
    }

    .cbf-hero__scrim {
        background: linear-gradient(180deg, rgba(4, 23, 30, .55), rgba(4, 23, 30, .96) 55%);
    }

    .cbf-hero__title {
        font-size: 52px;
    }

    .cbf-hero__content {
        max-width: 100%;
    }

    .cbf-resultados__grid,
    .cbf-edicoes__grid {
        grid-template-columns: 1fr;
    }

    .cbf-form-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cbf-painel {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cbf-painel__quando {
        flex-direction: row;
        gap: 10px;
        align-items: baseline;
    }

    .cbf-ficha__row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .cbf-footer__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    :root {
        --cbf-section-pad: 48px 20px;
        --cbf-header-h: 64px;
    }

    .cbf-container {
        padding: 0 20px;
    }

    .cbf-header__inner {
        gap: 12px;
    }

    .cbf-header__brand-main {
        font-size: 15px;
    }

    .cbf-hero__title {
        font-size: 40px;
    }

    .cbf-hero__subtitle {
        font-size: 13px;
    }

    .cbf-hero__actions {
        flex-direction: column;
    }

    .cbf-hero__actions .cbf-btn {
        width: 100%;
    }

    .cbf-section__title {
        font-size: 28px;
        margin-bottom: 28px;
    }

    .cbf-inscricao__card {
        padding: 36px 20px;
        border-radius: 18px;
    }

    .cbf-form-grid {
        grid-template-columns: 1fr;
    }

    .cbf-patrocinadores__grid {
        grid-template-columns: 1fr 1fr;
    }

    .cbf-footer {
        padding: 40px 20px 0;
    }
}











