/**
 * Napoleon — Sidebar Fit v2 (2026-08-09)
 *
 * Objetivo: o menu lateral NUNCA gerar scroll, em qualquer monitor.
 *
 * v1 (02/07) usava 3 degraus de media query calibrados pra 14 itens de topo.
 * O menu cresceu pra 16 (O Conselho, Scalyze, Geração de Leads) e os degraus
 * ficaram curtos: num notebook 1366x768 o viewport real é ~600-640px e o tier
 * mais compacto ainda pedia 726px. Voltou o scroll.
 *
 * v2 troca degraus por FÓRMULA CONTÍNUA: a altura disponível é dividida pelo
 * número de slots ocupados (itens de topo + submenu aberto) e vira o tamanho
 * do item, com clamp() garantindo piso de legibilidade. O JS irmão
 * (napoleon-sidebar-fit.js) só mede e escreve --nap-slots/--nap-head; se ele
 * falhar, o padrão 16 do CSS já cobre o caso comum.
 *
 * Gate em 992px porque é onde o tema liga a sidebar fixa (theme.css), não
 * 1200px como na v1 — entre 992 e 1199 a v1 não aplicava nada.
 */

@media (min-width: 992px) {
    .lagom.lagom-layout-left-wide,
    .lagom.lagom-layout-left {
        --nap-slots: 16;
        --nap-avail: calc(100vh - var(--nap-head, 56px) - 16px);
        --nap-slot: calc(var(--nap-avail) / var(--nap-slots));

        /* line-height é o que trava o piso do item: sem isso nada abaixo de 24px */
        --nap-line: clamp(17px, calc(var(--nap-slot) - 8px), 24px);

        --app-nav-left-wide-link-padding-v: clamp(3px, calc((var(--nap-slot) - var(--nap-line)) / 2), 16px);
        --app-nav-left-link-font-size: clamp(13px, calc(var(--nap-slot) / 3.2), 15px);
        --app-nav-left-icon-size: clamp(14px, calc(var(--nap-slot) / 2.6), 18px);
        --app-nav-left-wide-dropdown-padding-v: clamp(4px, calc(var(--nap-slot) / 3), 16px);
    }

    .lagom.lagom-layout-left-wide .app-nav-menu .menu > li > a:not(.btn),
    .lagom.lagom-layout-left .app-nav-menu .menu > li > a:not(.btn) {
        line-height: var(--nap-line);
    }

    .lagom.lagom-layout-left-wide .app-nav-menu .menu > li .dropdown-menu li > a:not(.btn),
    .lagom.lagom-layout-left .app-nav-menu .menu > li .dropdown-menu li > a:not(.btn) {
        line-height: var(--nap-line);
        padding-top: clamp(2px, calc(var(--nap-slot) / 8), 6px);
        padding-bottom: clamp(2px, calc(var(--nap-slot) / 8), 6px);
    }

    /* header do logo: 86px fixos na v1, agora encolhe junto (vale ~2 itens) */
    .lagom.lagom-layout-left-wide .app-nav-header > .container,
    .lagom.lagom-layout-left .app-nav-header > .container {
        padding: clamp(8px, 2.2vh, 24px) 24px;
    }
    .lagom.lagom-layout-left-wide .app-nav-header .logo img,
    .lagom.lagom-layout-left .app-nav-header .logo img {
        height: clamp(24px, 4.4vh, 38px);
        max-width: 100%;
    }

    /* custom.css tem "transition: all .3s !important" na nav: sem neutralizar,
       cada resize vira sanfona e o JS mede no meio da animação */
    .lagom.lagom-layout-left-wide .app-nav-menu .menu > li > a:not(.btn),
    .lagom.lagom-layout-left-wide .app-nav-menu .menu > li > a:not(.btn) > i:first-child,
    .lagom.lagom-layout-left-wide .app-nav-menu .menu > li > a:not(.btn) > .item-text {
        transition: color .3s ease-out, background .3s ease-out !important;
    }

    /* rede de segurança: se ainda assim sobrar, scrollbar fina em vez da grossa */
    .lagom .app-nav .app-nav-menu {
        scrollbar-width: thin;
        scrollbar-color: rgba(0, 0, 0, .22) transparent;
        overscroll-behavior: contain;
    }
    .lagom .app-nav .app-nav-menu::-webkit-scrollbar { width: 5px; }
    .lagom .app-nav .app-nav-menu::-webkit-scrollbar-track { background: transparent; }
    .lagom .app-nav .app-nav-menu::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .22);
        border-radius: 3px;
    }
}
