 :root {
      --pretoPrincipal: black;
      --offWhite: rgb(255, 255, 242);
      --redEscuro: #c0392b;
      --redVibrante: #ff3333;
      --redSangue: #e74c3c;
      --Dourado: #D4AF37;
      --AzulTech: #3B82F6;
      --CinzaChumbo: #2B2B2B;
      --Verdesucesso: #27AE60;
      --LaranjaEnergia: #FF8C42;
    }

    /* ================================================
       FOOTER
       ================================================ */

    footer {
        background-color: var(--pretoPrincipal);
        padding: 70px 20px 0;
        color: var(--offWhite);
        font-family: 'Montserrat';
    }

    .footer-wrapper {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 40px;
    }

    /* -------- Bloco da marca -------- */

    .footer-brand {
        flex: 1;
        min-width: 240px;
        max-width: 340px;
    }

    .footer-brand .logo {
        font-size: 1.5rem;
        font-weight: 800;
        letter-spacing: .5px;
        margin-bottom: 14px;
    }

    .footer-brand .logo span {
        color: var(--redVibrante);
        font-weight: 900;
    }

    .footer-brand p {
        font-size: 0.88rem;
        color: rgba(255, 255, 242, 0.55);
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .footer-social {
        display: flex;
        gap: 12px;
    }

    .footer-social a {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 242, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--offWhite);
        text-decoration: none;
        font-size: 1.05rem;
        transition: all 0.3s ease;
    }

    .footer-social a:hover {
        background-color: var(--redVibrante);
        border-color: var(--redVibrante);
        transform: translateY(-3px);
    }

    /* -------- Colunas de links -------- */

    .info-wrapper {
        display: flex;
        flex-direction: row;
        gap: 80px;
        flex-wrap: wrap;
    }

    footer .info h3,
    footer .info2 h3 {
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--redVibrante);
        margin: 0 0 18px;
    }

    footer .info a,
    footer .info2 a {
        display: block;
        text-decoration: none;
        color: rgba(255, 255, 242, 0.75);
        font-size: 0.85rem;
        font-weight: 500;
        letter-spacing: .3px;
        margin-bottom: 14px;
        position: relative;
        width: fit-content;
        transition: color 0.3s ease, transform 0.3s ease;
    }

    footer .info a:hover,
    footer .info2 a:hover {
        color: var(--offWhite);
      
        
    }

    footer .info a::before,
    footer .info2 a::before {
        content: "";
        position: absolute;
        left: -14px;
        top: 50%;
        transform: translateY(-50%) scaleX(0);
        transform-origin: left;
        width: 8px;
        height: 2px;
        background-color: var(--redVibrante);
        transition: transform 0.3s ease;
    }

    footer .info a:hover::before,
    footer .info2 a:hover::before {
        transform: translateY(-50%) scaleX(1);
    }

    /* -------- Linha e copyright -------- */

    footer hr {
        max-width: 1200px;
        margin: 45px auto 20px;
        border: none;
        border-top: 1px solid rgba(255, 255, 242, 0.1);
    }

    .copy {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        padding-bottom: 24px;
        font-size: 13px;
        color: rgba(255, 255, 242, 0.45);
    }

    .copy .legal-links {
        display: flex;
        gap: 20px;
    }

    .copy .legal-links a {
        color: rgba(255, 255, 242, 0.45);
        text-decoration: none;
        transition: color 0.3s ease;
    }

    .copy .legal-links a:hover {
        color: var(--redVibrante);
    }

    /* ================================================
       Responsividade
       ================================================ */

    @media (max-width: 768px) {
        .footer-wrapper {
            flex-direction: column;
        }

        .info-wrapper {
            gap: 40px;
        }

        .copy {
            flex-direction: column;
            text-align: center;
        }
    }