#footer { margin-top: auto; }
.site-footer { background: var(--footer-bg); color: var(--footer-text); padding: 40px 40px 0; }
.footer-row-1 { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; padding-bottom: 30px; border-bottom: 1px solid #444; }
.footer-col h4 { color: #fff; font-size: 0.92rem; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.footer-col a, .footer-col p { display: block; color: var(--footer-text); font-size: 0.83rem; margin-bottom: 6px; transition: color var(--transition), padding-left var(--transition); }
.footer-col a:hover { color: var(--primary-color); text-decoration: none; padding-left: 4px; }
.footer-row-2 { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; padding: 30px 0; border-bottom: 1px solid #444; }
.newsletter-form { display: flex; gap: 6px; margin-top: 8px; }
.newsletter-form input { flex:1; padding: 7px 10px; border: 1px solid #555; border-radius: 4px; background: #3a3a3a; color: #fff; font-size: 0.82rem; outline: none; }
.newsletter-form button { padding: 7px 12px; background: var(--primary-color); color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 0.82rem; transition: opacity 0.2s; }
.newsletter-form button:hover { opacity: 0.85; }
.newsletter-form button.subscribed { background: #555; cursor: default; }
.social-links { display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.social-links a { font-size: 0.82rem; padding: 4px 10px; border: 1px solid #555; border-radius: 20px; transition: border-color var(--transition), color var(--transition); }
.social-links a:hover { border-color: var(--primary-color); color: var(--primary-color); text-decoration: none; }
.footer-row-3 { text-align: center; padding: 16px 0; font-size: 0.8rem; color: #888; }
@media (max-width: 1024px) { .footer-row-1, .footer-row-2 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 768px)  { .footer-row-1, .footer-row-2 { grid-template-columns: 1fr; } .site-footer { padding: 30px 20px 0; } }
