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

.footer{

    background: var(--card-bg);

    border-top: 1px solid var(--border-color);

    padding: 10px 0 30px;

    margin-top: 100px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr 2fr;

    gap:60px;

}

/* ===========================
   LOGO
=========================== */

.footer-logo{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:20px;

}

.footer-logo img{

    width:60px;

    height:60px;

    object-fit:contain;

}

.footer-logo h2{

    font-family:var(--heading-font);

    font-size:1.4rem;

    margin-bottom:2px;

}

.footer-logo span{

    color:var(--secondary-color);

    letter-spacing:4px;

    font-size:.85rem;

}

.footer-text{

    color:var(--text-light);

    line-height:1.8;

    margin-bottom:25px;

}

/* ===========================
   TITLES
=========================== */

.footer-column h3{

    margin-bottom:22px;

    font-size:1.05rem;

    font-weight:700;

}

/* ===========================
   LINKS
=========================== */

.footer-column ul{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer-column ul a{

    color:var(--text-light);

    transition:.3s;

}

.footer-column ul a:hover{

    color:var(--secondary-color);

    padding-left:8px;

}

.footer-column p{

    color:var(--text-light);

    margin-bottom:5px;

}

.footer-column span{

    display:block;

    color:var(--text-color);

}

/* ===========================
   SOCIAL
=========================== */

.footer-socials{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

}

.footer-socials a{

    padding:10px 18px;

    border:1px solid var(--border-color);

    border-radius:50px;

    transition:.35s;

    color:var(--text-color);

}

.footer-socials a:hover{

    background:var(--secondary-color);

    color:#fff;

    border-color:var(--secondary-color);

}

/* ===========================
   NEWSLETTER
=========================== */

.newsletter-form{

    display:flex;

    flex-direction:column;

    gap:15px;

    margin-top:20px;

}

.newsletter-form input{

    width:100%;

    padding:14px 18px;

    border-radius:10px;

    border:1px solid var(--border-color);

    background:var(--background-color);

    color:var(--text-color);

    outline:none;

    transition:.3s;

}

.newsletter-form input:focus{

    border-color:var(--secondary-color);

}

.newsletter-form button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:var(--secondary-color);

    color:#fff;

    cursor:pointer;

    font-weight:600;

    transition:.35s;

}

.newsletter-form button:hover{

    transform:translateY(-3px);

    opacity:.95;

}

.newsletter-message{

    font-size:.9rem;

    margin-top:5px;

    min-height:22px;

}

.newsletter-message.success{

    color:#16a34a;

}

.newsletter-message.error{

    color:#ef4444;

}

/* ===========================
   BOTTOM
=========================== */

.footer-bottom{

    margin-top:70px;

    padding-top:25px;

    border-top:1px solid var(--border-color);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    color:var(--text-light);

    font-size:.95rem;

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1100px){

    .footer-grid{

        grid-template-columns:repeat(2,1fr);

        gap:45px;

    }

}

@media(max-width:768px){

    .footer{

        padding:10px 0 25px;

    }

    .footer-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .footer-bottom{

        flex-direction:column;

        text-align:center;

    }

    .footer-logo{

        justify-content:center;

    }

    .footer-socials{

        justify-content:center;

    }

}