/* Footer. */
.site-footer { background: var(--bg-2); border-top: 1px solid var(--line); padding-top: clamp(60px, 7vw, 100px); }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: clamp(48px, 6vw, 80px); }
@media (max-width: 880px) { .footer-top { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 520px) { .footer-top { grid-template-columns: 1fr; } }
.footer-brand .brand { font-size: 2rem; }
.footer-brand p { margin-top: 16px; max-width: 32ch; color: var(--text-3); }
.footer-col h4 { font-family: var(--font-body); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-3); margin-bottom: 20px; font-weight: 700; }
.footer-col ul { display: flex; flex-direction: column; gap: 12px; }
.footer-col a, .footer-col li { color: var(--text-2); font-size: 0.95rem; transition: color var(--dur-fast) var(--ease); }
.footer-col a:hover { color: var(--accent); }
.hours-row { display: flex; justify-content: space-between; gap: 16px; font-size: 0.9rem; }
.hours-row .d { color: var(--text-2); }
.hours-row .t { color: var(--text-3); }
.hours-row.closed .t { color: var(--text-3); font-style: italic; }
.socials { display: flex; gap: 14px; margin-top: 6px; }
.socials a { width: 38px; height: 38px; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; color: var(--text-2); transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.socials a:hover { color: var(--accent); border-color: var(--accent); }
.socials svg { width: 16px; height: 16px; }
.footer-bottom { border-top: 1px solid var(--line); padding-block: 26px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 0.82rem; color: var(--text-3); }

.footer-legal a { color: var(--text-3); transition: color var(--dur-fast) var(--ease); }
.footer-legal a:hover { color: var(--accent); }
