@charset "utf-8";

/* ==========================================================
   TABLET & SMALL DESKTOPS (Max 1080px)
   ========================================================== */
@media (max-width: 1080px) {
    body {
        overflow-x: hidden !important;
    }

    #menu-2 {
        display: none !important;
    }

    #menu {
        display: flex !important;
        justify-content: space-between !important;
        box-sizing: border-box !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 0 30px 0 30px !important;
    }

    #logo {
        position: relative;
        width: 150px !important;
        border: none !important;
        padding: 10px 0 !important;
    }

    #btn-menu {
        position: relative;
        width: 30px;
        height: 25px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    #btn-menu div {
        width: 100%;
        height: 3px;
        background-color: #fff;
    }

    #produtos main {
        flex-direction: column !important;
        gap: 20px;
    }

    #produtos main p {
        width: 100% !important;
    }
}

/* ==========================================================
   MOBILE PHONES (Max 768px)
   ========================================================== */
@media (max-width: 768px) {
    /* TYPOGRAPHY */
    h1, h2, h4, h5, h6 {
        font-size: 45px !important;
        line-height: 1.1em !important;
    }
    
    h3 {
        font-size: 30px !important;
        line-height: 1.2em !important;
    }
    
    p, a {
        font-size: 13px !important;
    }

    /* HEADER */
    #cabecalho {
        padding: 40px 20px !important;
        height: 100vh !important;
        text-align: center;
    }

    #cabecalho p {
        white-space: normal !important;
    }

    /* SOBRE NÓS */
    section#sobre-nos {
        padding: 60px 20px !important;
        flex-direction: column !important;
    }

    section#sobre-nos .text {
        width: 100% !important;
    }

    section#sobre-nos .text p {
        padding-right: 0 !important;
    }

    section#sobre-nos .background {
        width: 100% !important;
        height: 300px !important;
        margin-top: 40px;
        background-position: center !important;
    }

    /* PRODUTOS */
    #produtos {
        padding: 60px 20px !important;
    }

    #produtos .vitrine {
        flex-direction: column !important;
        gap: 20px;
        margin-top: 40px;
    }

    #produtos .vitrine div {
        width: 100% !important;
        height: 400px !important;
    }

    /* Mantém as descrições sempre visíveis em mobile em forma de overlay */
    #produtos .vitrine div .descricao {
        opacity: 1 !important;
        background-color: transparent !important;
        justify-content: flex-end !important;
        padding-bottom: 20px !important;
        background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%) !important;
        border-radius: 0 !important;
    }

    #produtos .vitrine div .descricao h3,
    #produtos .vitrine div .descricao a {
        color: #fff !important;
    }

    /* RIDERS & CLIPS TEXTS */
    figure.fulzin section, 
    figure.fofin section,
    #clips section {
        bottom: 30px !important;
        left: 20px !important;
        right: 20px !important;
        text-align: left;
    }

    #clips {
        padding: 0 !important;
    }

    /* RODAPÉ E CONTATO */
    .fixed-footer {
        display: none !important; /* Desabilita o espaçador fake do footer fixo no mobile */
    }

    footer#rodape {
        position: relative !important;
        height: auto !important;
        padding: 50px 20px !important;
        z-index: 1 !important;
    }

    footer#rodape main {
        margin-bottom: 50px !important;
    }

    footer#rodape main ul {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 30px;
    }

    footer#rodape .logotipo {
        position: static !important;
        width: 100% !important;
        margin-top: 20px;
    }

    div#btn-placa {
        bottom: 20px !important;
        right: 20px !important;
    }
}
