/* ============================================================
   MENU "TIMBRE" — o cabeçalho como parte do documento
   Some o cartão flutuante branco: fica uma faixa de papel osso
   com um fio de tinta embaixo, tipografia monoespaçada e o
   painel de projetos em forma de gaveta de arquivo.
   Carregado depois de theme.css e megamenu.css — sobrescreve.
   ============================================================ */

:root {
    --menu-nanquim: #101315;
    --menu-osso: #F4F1E8;
    --menu-lacre: #FF5A36;
    --menu-tinta-fraca: rgba(16, 19, 21, .52);
    --menu-fio: rgba(16, 19, 21, .8);
    --menu-fio-fraco: rgba(16, 19, 21, .22);
    --menu-mono: ui-monospace, SFMono-Regular, "Courier New", monospace;
}

/* ---------- A faixa ---------- */

.header {
    width: 100%;
    margin: 0;
    padding: 15px 0;
    height: auto;
    background: var(--menu-osso);
    border-bottom: 1px solid var(--menu-fio);
    border-radius: 0;
    box-shadow: none;
    transition: padding .3s cubic-bezier(.22,1,.36,1), background .3s ease;
}

/* um segundo fio, mais fraco: a régua dupla do documento */
.header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 1px;
    background: var(--menu-fio-fraco);
    pointer-events: none;
}

.header .container-fluid {
    width: min(1120px, 92vw);
    margin: 0 auto;
    padding: 0;
}

.header .header-logo img {
    max-height: 30px;
    width: auto;
    transition: max-height .3s cubic-bezier(.22,1,.36,1);
}

/* condensa quando a página rola */
.header.rolado {
    padding: 9px 0;
    background: rgba(244, 241, 232, .96);
    backdrop-filter: saturate(1.1) blur(6px);
}

.header.rolado .header-logo img { max-height: 24px; }

/* ---------- Os itens ---------- */

.header .header-menu .nav {
    font-family: var(--menu-mono);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.header .header-menu .nav .nav-item .nav-link {
    color: var(--menu-nanquim);
    transition: color .2s ease;
}

@media (min-width: 992px) {
    .header .header-menu .nav .nav-item { margin-left: 30px; }

    /* o fio que corre por baixo do item vira laranja */
    .header .header-menu .nav .nav-item .nav-link:before {
        background: var(--menu-lacre);
        bottom: -5px;
    }

    .header .header-menu .nav .nav-item .nav-link:hover { color: var(--menu-nanquim); }

    /* o item da página atual leva um quadrado de registro */
    .header .header-menu .nav .nav-item .nav-link.active { color: var(--menu-nanquim); }

    .header .header-menu .nav .nav-item .nav-link.active:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -9px;
        width: 4px;
        height: 4px;
        margin-left: -2px;
        background: var(--menu-lacre);
    }
}

/* o ícone social, do mesmo peso do resto */
.header .header-end a {
    color: var(--menu-nanquim);
    font-size: 14px;
    transition: color .2s ease;
}

.header .header-end a:hover { color: var(--menu-lacre); }

/* o botão do menu no celular */
.header .mobile-nav-toggle span,
.header .mobile-nav-toggle span:before,
.header .mobile-nav-toggle span:after {
    background: var(--menu-nanquim);
}

/* ---------- A gaveta de projetos ---------- */

@media (min-width: 992px) {
    .mega-painel {
        top: calc(100% + 20px);
        width: min(760px, 92vw);
        padding: 22px;
        background: var(--menu-osso);
        border: 1px solid var(--menu-fio);
        border-radius: 0;
        box-shadow: 6px 6px 0 rgba(16, 19, 21, .07);
        gap: 24px;
    }

    /* marcas de canto, como na folha da ficha */
    .mega-painel::after {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 11px;
        height: 11px;
        border: 1px solid var(--menu-lacre);
        border-right: 0;
        border-bottom: 0;
        pointer-events: none;
    }

    .mega-painel::before { top: -20px; height: 20px; }
}

.mega-titulo {
    font-family: var(--menu-mono);
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--menu-lacre);
    font-weight: 400;
    margin: 0 0 6px;
}

.mega-sub {
    font-family: var(--menu-mono);
    font-size: 9.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--menu-tinta-fraca);
    line-height: 1.7;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--menu-fio);
}

/* cada projeto é uma linha numerada do catálogo */
.mega-itens { counter-reset: catalogo; }

.mega-item {
    position: relative;
    gap: 12px;
    padding: 8px 6px;
    border-radius: 0;
    border-bottom: 1px dotted var(--menu-fio-fraco);
    font-family: var(--menu-mono);
    font-size: 10.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--menu-nanquim);
    transition: background .18s ease, padding-left .18s ease;
}

.mega-item::before {
    counter-increment: catalogo;
    content: counter(catalogo, decimal-leading-zero);
    color: var(--menu-tinta-fraca);
    flex: 0 0 auto;
}

.mega-item:hover,
.mega-item:focus-visible,
.mega-item.ativo {
    background: rgba(16, 19, 21, .045);
    padding-left: 12px;
}

.mega-item.ativo::before { color: var(--menu-lacre); }

.mega-item-capa {
    width: 30px;
    height: 24px;
    border-radius: 0;
    border: 1px solid var(--menu-fio-fraco);
    background: transparent;
}

.mega-item-capa img {
    filter: saturate(.9) contrast(1.02);
    transition: filter .2s ease;
}

.mega-item:hover .mega-item-capa img,
.mega-item.ativo .mega-item-capa img { filter: saturate(1.05) contrast(1.04); }

.mega-todos {
    font-family: var(--menu-mono);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--menu-nanquim);
    padding: 8px 0 4px;
    border-bottom: 1px solid var(--menu-fio);
}

.mega-todos::after { content: " ↗"; color: var(--menu-lacre); }

.mega-todos:hover { color: var(--menu-lacre); border-bottom-color: var(--menu-lacre); }

/* a prévia vira o anexo da gaveta */
.mega-previa {
    background: transparent;
    border: 1px solid var(--menu-fio-fraco);
    border-radius: 0;
    padding: 14px;
}

.mega-previa-imagem {
    border-radius: 0;
    border: 1px solid var(--menu-fio-fraco);
    background: transparent;
    margin-bottom: 12px;
}

.mega-previa-imagem img {
    filter: contrast(1.03) saturate(1.02);
}

.mega-previa-item h4 {
    font-family: var(--menu-mono);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--menu-nanquim);
    margin: 0 0 6px;
}

.mega-previa-item p {
    font-family: "Fraunces", Georgia, serif;
    font-size: 12.5px;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(16, 19, 21, .78);
}

/* ---------- Celular: o menu vira a lista da pasta ---------- */

@media (max-width: 991.98px) {
    .header { padding: 12px 0; }

    .header .header-menu {
        background: var(--menu-osso);
        border-bottom: 1px solid var(--menu-fio);
        box-shadow: 0 14px 24px rgba(16, 19, 21, .08);
    }

    .header .header-menu .nav { padding: 6px 0 14px; }

    .header .header-menu .nav .nav-item {
        margin-bottom: 0;
        border-bottom: 1px dotted var(--menu-fio-fraco);
    }

    .header .header-menu .nav .nav-item .nav-link {
        display: block;
        padding: 13px 4px;
        font-size: 11.5px;
        letter-spacing: .18em;
    }

    .header .header-menu .nav .nav-item .nav-link.active { color: var(--menu-lacre); }

    .abrir-painel::before,
    .abrir-painel::after { background: var(--menu-nanquim); }

    .mega-item {
        border-bottom: 0;
        font-size: 10px;
        padding: 8px 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header,
    .header .header-logo img,
    .mega-item { transition: none; }
}
