/* ========================================================================
   REBBIFY FRONTEND SPACING CONTRACT — 2026-10-05
   AJUSTE #LAYOUT-GAP-02

   O header é sticky e continua no fluxo do documento. Portanto não devemos
   somar novamente a altura do menu ao padding do primeiro bloco.
   A tela de solicitar viagem recebe a classe rebbify-preserve-ride-top-gap e
   fica fora destas correções.
   ======================================================================== */

body.rebbify-compact-top-gap {
    --rb-page-top-gap: 22px;
}

/* Site público: respiro simples e consistente após o menu. */
body.rebbify-public-ui.rebbify-compact-top-gap > .rebbify-site-header + :not(.rebbify-member-strip) {
    padding-top: var(--rb-page-top-gap) !important;
}

/* Usuário autenticado visitando páginas públicas: menu + faixa de conta já
   ocupam espaço no fluxo; adicionamos somente um respiro normal. */
body.rebbify-public-ui.rebbify-compact-top-gap > .rebbify-member-strip + * {
    padding-top: 20px !important;
}

/* Breadcrumbs internos não acrescentam outro topo exagerado. */
body.rebbify-public-ui.rebbify-compact-top-gap > :is(.blog-page, .contact-section) .breadcrumb-list.in-section {
    padding-top: 0 !important;
    padding-bottom: 18px !important;
}

/* Área logada do passageiro. A página de solicitação de viagem não recebe
   rebbify-compact-top-gap e, por isso, mantém o layout atual intacto. */
body.rebbify-passenger-ui.rebbify-compact-top-gap .driver-dashboard__header {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

body.rebbify-passenger-ui.rebbify-compact-top-gap .driver-dashboard-content {
    margin-top: 8px !important;
}

body.rebbify-passenger-ui.rebbify-compact-top-gap .rebbify-site-header ~ .breadcrumb,
body.rebbify-passenger-ui.rebbify-compact-top-gap .rebbify-member-strip ~ .breadcrumb {
    padding-top: 16px !important;
}

/* Caso uma página autenticada tenha um primeiro bloco direto depois da faixa
   da conta, evita herdar paddings antigos de 80/100/140px. Não interfere em
   .driver-dashboard, que possui seu próprio contrato acima. */
body.rebbify-passenger-ui.rebbify-compact-top-gap > .rebbify-member-strip + :not(.driver-dashboard) {
    padding-top: 18px !important;
}

@media (max-width: 991px) {
    body.rebbify-compact-top-gap {
        --rb-page-top-gap: 18px;
    }

    body.rebbify-passenger-ui.rebbify-compact-top-gap .driver-dashboard__header {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

@media (max-width: 575px) {
    body.rebbify-compact-top-gap {
        --rb-page-top-gap: 14px;
    }

    body.rebbify-public-ui.rebbify-compact-top-gap > .rebbify-member-strip + * {
        padding-top: 14px !important;
    }

    body.rebbify-passenger-ui.rebbify-compact-top-gap .driver-dashboard-content {
        margin-top: 6px !important;
    }

    body.rebbify-public-ui.rebbify-compact-top-gap > :is(.blog-page, .contact-section) .breadcrumb-list.in-section {
        padding-bottom: 14px !important;
    }
}
