/* Identidade visual compartilhada. Somente aparência; não altera o layout dos módulos. */
.bspay-shared-logo {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    flex: 0 0 auto;
}

.logo-icon:has(> .bspay-shared-logo),
.sidebar-logo:has(> .bspay-shared-logo),
.brand-logo:has(> .bspay-shared-logo),
.mark:has(> .bspay-shared-logo),
.brand > .logo:has(> .bspay-shared-logo) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.logo-icon:has(> .bspay-shared-logo),
.sidebar-logo:has(> .bspay-shared-logo),
.brand-logo:has(> .bspay-shared-logo) {
    width: 142px !important;
    min-width: 142px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.header > .logo.bspay-checkout-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important;
}

.header > .logo.bspay-checkout-logo > .bspay-shared-logo {
    width: 142px !important;
    height: 48px !important;
}

/* Topo único dos módulos: voltar, marca central e configurações. */
nav.navbar.bspay-module-navbar {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 68px !important;
    height: 68px !important;
    padding: 0 16px !important;
    background: #13271d !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 5px 18px rgba(9,30,19,.16) !important;
}

.bspay-module-navbar .bspay-top-action {
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.08) !important;
    color: #f3faf5 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.bspay-module-navbar .bspay-top-action:hover {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.23) !important;
}

.bspay-module-navbar .bspay-top-action svg {
    width: 22px !important;
    height: 22px !important;
}

.bspay-module-navbar .bspay-top-logo {
    width: 156px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    padding: 7px 12px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,.16) !important;
    overflow: hidden !important;
}

.bspay-module-navbar .bspay-top-logo .bspay-shared-logo {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

@media (max-width: 480px) {
    nav.navbar.bspay-module-navbar { grid-template-columns: 44px minmax(0, 1fr) 44px !important; gap: 8px !important; padding: 0 12px !important; }
    .bspay-module-navbar .bspay-top-action { width: 42px !important; height: 42px !important; }
    .bspay-module-navbar .bspay-top-logo { width: 142px !important; height: 44px !important; padding: 6px 10px !important; }
}
