/* Footer component (always loaded) */
.wt-footer { background: var(--wt-soft); color: var(--wt-navy); padding-top: clamp(3rem, 6vw, 4.5rem); }
.wt-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: clamp(1.75rem, 4vw, 3.5rem); padding-bottom: 3rem; }
.wt-footer__tagline { margin: 1.25rem 0 0.5rem; font-family: var(--wt-font-head); font-size: 1.15rem; color: var(--wt-navy); line-height: 1.4; }
.wt-footer__about { max-width: 44ch; font-size: 0.93rem; }
.wt-footer__title { font-family: var(--wt-font-body); font-size: 0.98rem; font-weight: 700; color: var(--wt-navy); margin-bottom: 1rem; letter-spacing: 0.01em; }
.wt-footer .wt-menu { flex-direction: column; align-items: flex-start; gap: 0.55rem; }
.wt-footer a { color: var(--wt-navy); text-decoration: none; transition: color 0.2s, transform 0.2s; }
.wt-footer a:hover { color: var(--wt-primary); }
.wt-footer .wt-menu a { display: inline-block; font-size: 0.94rem; color: var(--wt-navy);}
.wt-footer .wt-menu a:hover { transform: translateX(3px); color: var(--wt-primary);}
.wt-footer__contact { list-style: none; display: grid; gap: 0.8rem; font-size: 0.94rem; }
.wt-footer__contact li { display: flex; gap: 0.7rem; align-items: flex-start; }
.wt-footer__contact .wt-icon { color: var(--wt-primary); margin-top: 0.2rem; }
.wt-footer__admin-note { margin-top: 1rem; font-size: 0.8rem; }
.wt-footer__admin-note a { color: var(--wt-gold); text-decoration: underline; }
.wt-social { list-style: none; display: flex; gap: 0.6rem; margin-top: 1.25rem; }
.wt-social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, 0.18); }
.wt-social a:hover { background: rgba(0, 0, 0, 0.1); border-color: rgba(0,0,0, 0.4); }
.wt-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem 2rem; padding-block: 1.5rem; border-top: 1px solid rgba(0, 0, 0, 0.1); font-size: 0.88rem; }
.wt-footer__bottom p { margin: 0; }
.wt-menu--legal { flex-direction: row !important; flex-wrap: wrap; gap: 0.5rem 1.5rem !important; }

@media (max-width: 960px) { .wt-footer__grid { grid-template-columns: 1fr 1fr; } .wt-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .wt-footer__grid { grid-template-columns: 1fr; } .wt-footer__bottom { flex-direction: column; align-items: flex-start; } }

