/* ==========================================================================
   FBR — Navegação institucional (compartilhada por TODAS as páginas)
   Fonte única: editar aqui reflete em index/sgp/sgt/cloud/sign/política.
   Usa os tokens já existentes em cada página: --dark, --primary, --white.
   Desktop: barra horizontal + "Produtos ▾" (dropdown no hover).
   < 1100px: botão hambúrguer + gaveta lateral (Produtos vira acordeão).
   ========================================================================== */

.site-nav-menu {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav-menu > li { position: relative; }

.site-nav-menu a,
.site-nav-sub-toggle {
    color: var(--dark, #1a1a2e);
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;            /* nunca quebra no meio do item */
    transition: color 0.25s ease;
}

/* Sublinhado animado (mesmo efeito do nav antigo) */
.site-nav-menu > li > a::after,
.site-nav-sub-toggle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    height: 2px;
    width: 0;
    background: var(--primary, #0066cc);
    transition: width 0.25s ease;
}
.site-nav-menu > li > a:hover,
.site-nav-sub-toggle:hover { color: var(--primary, #0066cc); }
.site-nav-menu > li > a:hover::after,
.site-nav-item--sub:hover .site-nav-sub-toggle::after { width: 100%; }

/* Item atual (produto da página) */
.site-nav-menu a.is-current { color: var(--primary, #0066cc); font-weight: 700; }
.site-nav-menu > li > a.is-current::after { width: 100%; }

/* Botão "Produtos" */
.site-nav-sub-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.site-nav-caret { font-size: 0.7rem; transition: transform 0.25s ease; }
.site-nav-item--sub:hover .site-nav-caret { transform: rotate(180deg); }

/* Dropdown (desktop = hover) */
.site-nav-sub {
    list-style: none;
    margin: 0;
    padding: 0.45rem 0;
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    min-width: 250px;
    background: var(--white, #fff);
    border: 1px solid #e6e9f0;
    border-radius: 12px;
    box-shadow: 0 14px 40px rgba(20, 30, 60, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 1100;
}
.site-nav-item--sub:hover .site-nav-sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
/* ponte invisível para o mouse não "cair" entre o botão e o dropdown */
.site-nav-item--sub::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 16px;
}
.site-nav-sub a {
    display: block;
    padding: 0.62rem 1.1rem;
    font-size: 0.92rem;
}
.site-nav-sub a::after { display: none; }
.site-nav-sub a:hover { background: #f3f7ff; color: var(--primary, #0066cc); }
.site-nav-sub a.is-current { background: #f3f7ff; }

/* Hambúrguer (oculto no desktop) */
.site-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0 9px;
    background: none;
    border: 0;
    cursor: pointer;
    position: relative;
    z-index: 1060;          /* acima da gaveta, para fechar */
}
.site-nav-toggle__bar {
    height: 2.5px;
    width: 100%;
    background: var(--dark, #1a1a2e);
    border-radius: 3px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__bar:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__bar:nth-child(2) { opacity: 0; }
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__bar:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* Backdrop da gaveta.
   IMPORTANTE: a gaveta (#siteNavMenu) é filha de .navbar (position:fixed; z-index:1000),
   que cria um contexto de empilhamento próprio — então o z-index da gaveta só vale DENTRO
   da navbar (nível 1000 global). Por isso o backdrop (no <body>) precisa ficar ABAIXO de
   1000; caso contrário ele cobre a navbar inteira (gaveta inclusa) e qualquer clique fecha. */
.site-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s;
    z-index: 900;
}
.site-nav-backdrop.is-open { opacity: 1; visibility: visible; }

/* ==========================  < 1100px: gaveta  ========================== */
@media (max-width: 1100px) {
    .site-nav-toggle { display: flex; }

    .site-nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: min(84vw, 360px);
        height: 100vh;
        max-height: 100vh;
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 7rem 1.25rem 2rem;
        background: var(--white, #fff);
        box-shadow: -12px 0 40px rgba(20, 30, 60, 0.18);
        transform: translateX(105%);
        transition: transform 0.3s ease;
        z-index: 1050;
    }
    .site-nav-menu.is-open { transform: translateX(0); }

    .site-nav-menu > li { width: 100%; border-bottom: 1px solid #eef1f6; }

    .site-nav-menu > li > a,
    .site-nav-sub-toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0.95rem 0.4rem;
        font-size: 1rem;
    }
    .site-nav-menu > li > a::after,
    .site-nav-sub-toggle::after { display: none; }

    /* Produtos vira acordeão */
    .site-nav-sub {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        min-width: 0;
        padding: 0;
        background: #f7f9fc;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    .site-nav-item--sub.is-open .site-nav-sub { max-height: 460px; }
    .site-nav-item--sub.is-open .site-nav-caret { transform: rotate(180deg); }
    .site-nav-item--sub::before { display: none; }
    .site-nav-sub a { padding: 0.8rem 1.1rem; }
}
