/**
 * Paleta App Solution: branco, preto, cinza e azul escuro.
 * Sobrescreve :root quando styles.min.css (login) não reflete styles.css.
 */
:root {
  --primary-rgb: 15, 40, 71;
  --info-rgb: 15, 40, 71;
  --dark-rgb: 15, 40, 71;
  --orange-rgb: 100, 116, 139;
}

/**
 * App Solution: .desktop-logo/.toggle-logo = arte escura (fundo claro);
 * .desktop-white/.toggle-white = arte branca (sidebar/barra escura). Sem filter.
 */

/* Login (layouts/main-login): .ht-40 = 40px de altura — insuficiente para logo largo */
.custom-page .header-logo {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

.custom-page .header-logo img.desktop-logo,
.custom-page .header-logo img.desktop-white,
.custom-page .header-logo img.toggle-logo,
.custom-page .header-logo img.toggle-white {
    height: auto !important;
    max-height: 180px;
    width: auto !important;
    max-width: min(100%, 320px);
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .custom-page .header-logo img.desktop-logo,
    .custom-page .header-logo img.desktop-white,
    .custom-page .header-logo img.toggle-logo,
    .custom-page .header-logo img.toggle-white {
        max-height: 76px;
        max-width: min(100%, 260px);
    }
}

/* Painel logado: logo largo (App Solution) — tema usa 2rem na sidebar, pouco legível */
.app-sidebar .main-sidebar-header {
    height: auto;
    min-height: 4rem;
    padding-block: 0.85rem;
    padding-inline: 1rem;
}

.app-sidebar .main-sidebar-header .header-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 14rem;
}

.app-sidebar .main-sidebar-header .header-logo img {
    height: auto !important;
    max-height: 3.35rem;
    width: auto !important;
    max-width: 100%;
    object-fit: contain;
    line-height: normal !important;
}

/* Barra superior (mobile / horizontal): um pouco maior que os 2rem padrão */
@media (max-width: 991.98px) {
    .app-header .horizontal-logo .header-logo img {
        height: auto !important;
        max-height: 2.35rem;
        width: auto !important;
        max-width: min(52vw, 220px);
        object-fit: contain;
        line-height: normal !important;
    }
}

@media (min-width: 992px) {
    .app-header .horizontal-logo .header-logo img {
        height: auto !important;
        max-height: 2.5rem;
        width: auto !important;
        max-width: 220px;
        object-fit: contain;
    }
}

/* Home hero: template .logo was 8.5rem + white squircle border — remove frame, scale wide logo */
.landing-body .wrapper.style1.fullscreen .logo {
    width: auto;
    height: auto;
    max-width: min(94vw, 560px);
    margin-inline: auto;
    line-height: 0;
    border: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
    display: block;
}

.landing-body .wrapper.style1.fullscreen .logo > span,
.landing-body .wrapper.style1.fullscreen .logo a {
    display: block;
    border: none;
    line-height: 0;
}

.landing-body .wrapper.style1.fullscreen .logo img,
.main-banner-container .logo img {
    filter: none;
    width: 100%;
    max-width: min(94vw, 560px);
    height: auto;
    display: block;
    margin-inline: auto;
}

@media (min-width: 768px) {
    .landing-body .wrapper.style1.fullscreen .logo,
    .landing-body .wrapper.style1.fullscreen .logo img,
    .main-banner-container .logo img {
        max-width: min(90vw, 640px);
    }
}

/* Mesmo quadro branco do .logo global em banners que não usam wrapper.style1 */
.landing-body .landing-banner .main-banner-container .logo,
.landing-body .main-banner-container .logo {
    width: auto;
    height: auto;
    max-width: min(94vw, 400px);
    margin-inline: auto;
    line-height: 0;
    border: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
    display: block;
}

.landing-body .landing-banner .main-banner-container .logo > span,
.landing-body .landing-banner .main-banner-container .logo a,
.landing-body .main-banner-container .logo > span,
.landing-body .main-banner-container .logo a {
    display: block;
    border: none;
    line-height: 0;
}

.landing-body .landing-banner .main-banner-container .logo img {
    width: 100%;
    max-width: min(94vw, 400px);
    height: auto;
    display: block;
    margin-inline: auto;
}

/* Rodapé: logo da marca (branco / transparente — sem multiply) */
.landing-body .landing-footer .footer-brand-logo {
    border: none !important;
    border-radius: 0 !important;
    height: auto !important;
    max-height: none;
    width: auto;
    max-width: 240px;
    object-fit: contain;
}

/* Badges App Store / Google Play: fundo branco no cartão para contraste no rodapé escuro */
.landing-body .landing-footer .footer-store-link {
    display: inline-block;
    line-height: 0;
    background-color: #fff;
    padding: 8px 12px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.landing-body .landing-footer .footer-store-link:hover {
    opacity: 0.95;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.landing-body .landing-footer .footer-store-img {
    display: block;
    height: 44px;
    width: auto;
    max-width: min(100%, 180px);
    object-fit: contain;
    border: none;
    border-radius: 4px;
    mix-blend-mode: normal;
}
