/* === FOOTER === */
.footer { background: var(--footer-bg); color: var(--footer-color); padding-top: 40px; }
.footer-top { padding-bottom: 30px; }
.footer-col { margin-bottom: 30px; }
.footer-title {
    font-size: 15px; font-weight: 700; margin-bottom: 20px;
    position: relative; padding-bottom: 10px; color: var(--footer-color);
}
.footer-title:after {
    content: ''; position: absolute; bottom: 0; left: 0;
    width: 30px; height: 2px; background: var(--secondary-color);
}
.footer-content p { font-size: 13px; line-height: 1.7; color: var(--footer-text-muted); }
.footer-contact li {
    display: flex; align-items: flex-start; gap: 10px;
    margin-bottom: 12px; font-size: 13px; color: var(--footer-text-muted);
}
.footer-links li { margin-bottom: 10px; }
.footer-links a {
    color: var(--footer-text-muted); text-decoration: none;
    font-size: 13px; transition: all 0.3s;
}
.footer-links a:hover { color: var(--secondary-color); padding-left: 3px; }

.footer-social { display: flex; gap: 10px; margin-bottom: 20px; }
.social-icon {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; background: var(--footer-border-dim);
    border-radius: 50%; color: var(--footer-color); transition: all 0.3s;
}
.social-icon:hover { background: var(--secondary-color); color: var(--footer-color); }

.footer-bottom {
    border-top: 1px solid var(--footer-border-dim);
    padding: 20px 0; font-size: 12px; color: var(--footer-text-dim);
}
.footer-bottom p { margin: 3px 0; }

@media (max-width: 767px) {
    .footer { padding-top: 30px; }
    .footer-title { margin-bottom: 15px; }
}
