@font-face {
    font-family: 'Poppins-Bold';
    src: url(fontes/Poppins-Bold.ttf) format('truetype');
}

@font-face {
    font-family: 'Poppins-Regular';
    src: url(fontes/Poppins-Regular.ttf) format('truetype');
}

@font-face {
    font-family: 'Poppins-SemiBold';
    src: url(fontes/Poppins-SemiBold.ttf) format('truetype');
}

@font-face {
    font-family: 'Poppins-black';
    src: url(fontes/Poppins-Black.ttf) format('truetype');
}

* {
    text-decoration: none;
}

a, button {
    cursor: pointer;
}

:root {
    --branca: rgb(251, 249, 249);
    --principal: rgb(245, 62, 78);
}

/* ── Desktop header ───────────────────────────────────────────── */

#header {
    padding-top: 5svh;
    width: 100svw;
    display: flex;
    align-items: center;
}

#header_esquerdo {
    border-radius: 0 4svw 4svw 0;
    width: 10svw;
    height: 5svh;
    background-color: var(--principal);
    display: flex;
    align-items: center;
}

/* Hamburguer oculto no desktop */
#header_esquerdo_barrinhas {
    display: none;
}

#header_meio_img {
    padding-left: 1svw;
    padding-right: 1svw;
    height: 5svh;
}

#header_direito {
    display: flex;
    align-items: center;
    flex-grow: 1;
}

#header_direito_navegacao {
    padding-left: 2svw;
    padding-right: 2svw;
    height: 5svh;
    background-color: var(--principal);
    border-radius: 4svw;
    width: 51svw;
}

#header_direito_navegacao_rotas {
    display: flex;
    justify-content: space-between;
    height: 100%;
}

#header_direito_navegacao button {
    color: var(--branca);
    font-family: 'Poppins-Regular';
    font-size: 0.75svw;
    background-color: transparent;
    border: none;
    height: 100%;
    padding: 0 1svw;
    transition: opacity 0.3s;
}

#header_direito > a > button {
    margin-left: 1svw;
    margin-right: 1.7svw;
    padding: 0 2svw;
    font-size: 0.75svw;
    color: var(--principal);
    height: 5svh;
    border: 0.2svw solid var(--principal);
    border-radius: 4svw;
    background-color: transparent;
    font-family: 'Poppins-Regular';
}

#header_direito_canto_icones {
    display: flex;
    gap: 1.2svw;
    align-items: center;
}

#header_direito_canto_icones img {
    width: 1svw;
    transition: transform 0.3s ease;
}

#header_direito_canto_icones img:hover {
    transform: scale(1.3);
}

/* ── Menu lateral (sempre no DOM, oculto por padrão) ─────────── */

#menu_lateral {
    display: none;
}

#overlay_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1px);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
}

#overlay_menu.ativo {
    opacity: 1;
    visibility: visible;
}

/* ── Mobile (≤ 1024 px) ──────────────────────────────────────── */

@media screen and (max-width: 904px) {

    /* Hamburguer */
    #header_esquerdo {
        width: 30svw;
        border-radius: 0 2.5svh 2.5svh 0;
        justify-content: flex-end;
        padding-right: 5svw;
    }

    #header_esquerdo_barrinhas {
        display: flex;
        flex-direction: column;
        gap: 0.6svh;
        cursor: pointer;
    }

    #header_esquerdo_barrinhas div {
        background-color: var(--branca);
        height: 0.5svh;
        border-radius: 1svh;
        width: 5svw;
    }

    /* Logo */
    #header_meio_img {
        height: 5svh;
        margin-left: 2svw;
        margin-right: 2svw;
    }

    /* Lado direito vira pílula vermelha decorativa */
    #header_direito {
        background-color: var(--principal);
        border-radius: 5svh 0 0 5svh;
        width: 30svw;
        height: 5svh;
    }

    /* Esconde itens de desktop */
    #header_direito_navegacao,
    #header_direito > a,
    #header_direito_canto_icones {
        display: none;
    }

    /* Menu lateral — ativo no mobile */
    #menu_lateral {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 70svh;
        background-color: var(--branca);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 1svh;
        z-index: 999;
        border-radius: 5svh 5svh 0 0;
        padding-top: 5svh;
        /* Sombra APENAS quando visível — controlada pela classe abaixo */
        transition: transform 0.4s ease-in-out;
    }

    #menu_lateral button {
        color: var(--principal);
        background-color: transparent;
        border: none;
        font-family: 'Poppins-Regular';
        width: 60svw;
        font-size: 1.5svh;
        height: 5svh;
    }

    /* Ícones do menu lateral */
    #menu_lateral_icones {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8svw;
        margin-top: 4svh;
        padding-bottom: 5svh;
    }

    #menu_lateral_icones a img {
        width: 6svw;
        height: auto;
        filter: brightness(0);
        opacity: 0.8;
    }

    /* Botão loja no menu lateral */
    #menu_lateral_loja button {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: 0.3svh solid var(--principal) !important;
        background-color: transparent;
        border-radius: 3svh !important;
        height: 5svh;
        width: 50svw;
        margin-top: 2svh;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: 'Poppins-SemiBold';
        color: var(--principal);
        box-sizing: border-box;
    }

    #menu_lateral_icones_container {
        margin-top: 6svh;
        display: flex;
        flex-direction: row;
        gap: 11svw;
    }

    #menu_lateral_icones_container a img {
        width: 6svw;
    }

    /* Estados de visibilidade do menu */
    .menu-escondido {
        transform: translateY(100%);
        box-shadow: none;           /* sem sombra quando oculto */
    }

    .menu-visivel {
        transform: translateY(0);
        box-shadow: 0 -4svh 4000svh rgba(0, 0, 0, 0.6);   /* sombra só aqui */
    }
}
