/* ===========================
   FOOTER
=========================== */
.footer{
    background:var(--bg-navbar);
    border-top:1px solid var(--border-subtle);
    padding:70px 0 30px;
    position:relative;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1.2fr;
    gap:50px;
    padding-bottom:50px;
}

.footer-brand .logo{
    font-size:34px;
    margin-bottom:16px;
}

.footer-brand p{
    color:var(--text-muted);
    font-size:15px;
    line-height:1.7;
    max-width:320px;
    margin-bottom:20px;
}

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

.footer-social a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--surface-3);
    color:var(--text-primary);
    border:1px solid var(--border-subtle);
    text-decoration:none;
    transition:var(--transition-fast);
}

.footer-social a:hover{
    background:var(--accent-primary);
    border-color:var(--accent-primary);
    transform:translateY(-4px);
}

.footer-col h4{
    color:var(--text-primary);
    font-size:16px;
    font-weight:700;
    margin-bottom:22px;
}

.footer-col ul{
    list-style:none;
}

.footer-col ul li{
    margin-bottom:14px;
}

.footer-col ul li a{
    color:var(--text-muted);
    text-decoration:none;
    font-size:15px;
    transition:var(--transition-fast);
}

.footer-col ul li a:hover{
    color:var(--accent-secondary);
}

.footer-newsletter p{
    color:var(--text-muted);
    font-size:15px;
    margin-bottom:18px;
}

.newsletter-form{
    display:flex;
    gap:10px;
}

.newsletter-form input{
    flex:1;
    padding:13px 16px;
    border:1px solid var(--border-subtle);
    border-radius:var(--radius-sm);
    background:var(--surface-3);
    color:var(--text-primary);
    font-size:14px;
}

.newsletter-form input::placeholder{
    color:var(--text-muted);
}

.newsletter-form input:focus{
    outline:none;
    border-color:var(--accent-secondary);
    box-shadow:0 0 15px var(--glow-soft);
}

.newsletter-form button{
    background:var(--accent-primary);
    color:var(--text-primary);
    border:none;
    border-radius:var(--radius-sm);
    padding:0 20px;
    cursor:pointer;
    transition:var(--transition-fast);
}

.newsletter-form button:hover{
    background:var(--accent-secondary);
}

.newsletter-msg{
    margin-top:12px;
    font-size:13px;
    color:var(--accent-secondary);
}

.footer-bottom{
    border-top:1px solid var(--border-subtle);
    padding-top:26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:var(--text-muted);
    font-size:14px;
}

.footer-bottom a{
    color:var(--text-muted);
    text-decoration:none;
    margin-left:22px;
    transition:var(--transition-fast);
}

.footer-bottom a:hover{
    color:var(--accent-secondary);
}
