/* ==========================================================================
   Footer - directory band, brand band, legal bar. Loaded on every page.
   ========================================================================== */
.adz-footer { font-family: var(--adz-font-body); color: var(--adz-ink); }
.adz-footer a { color: inherit; text-decoration: none; }
.adz-footer ul { list-style: none; margin: 0; padding: 0; }

/* Directory band */
.adz-footer__dir { background: var(--adz-bg-soft); border-top: 1px solid var(--adz-line); padding: 48px 0 44px; }
.adz-footer__dir-title { font-family: var(--adz-font-head); font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; margin: 0; }
.adz-footer__dir-sub { color: var(--adz-muted); font-size: 15px; margin: 4px 0 24px; }
.adz-footer__dir-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 32px; }
.adz-footer__dir-group h3 { font-family: var(--adz-font-body); font-size: 15.5px; font-weight: 800; margin: 0 0 8px; color: var(--adz-ink); }
.adz-footer__dir-group h3 a:hover { color: var(--adz-green-d); }
.adz-footer__dir-group li { font-size: 14px; color: var(--adz-muted); line-height: 1.9; }
.adz-footer__dir-group li a:hover { color: var(--adz-green-d); }

/* Brand band */
.adz-footer__main { background: var(--adz-mint); padding: 52px 0 48px; }
.adz-footer__grid { display: grid; grid-template-columns: 1.3fr .9fr .9fr 1.5fr; gap: 32px; align-items: start; }
.adz-footer__logo img { max-height: 56px; width: auto; display: block; }
.adz-footer__wordmark { font-family: var(--adz-font-head); font-size: 24px; font-weight: 800; color: var(--adz-ink); }
.adz-footer__wordmark span { color: var(--adz-green-d); } .adz-footer__wordmark em { font-style: normal; color: var(--adz-orange); }
.adz-footer__brand p { color: var(--adz-muted); font-size: 14.5px; line-height: 1.6; margin: 14px 0 12px; max-width: 34ch; }
.adz-footer__mail { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14.5px; }
.adz-footer__mail:hover { color: var(--adz-green-d); }
.adz-footer__col h3, .adz-footer__cta h3 { font-family: var(--adz-font-head); font-size: 16px; font-weight: 800; margin: 0 0 12px; color: var(--adz-ink); }
.adz-footer__cta h3 { font-size: 21px; line-height: 1.25; }
.adz-footer__links li { font-size: 14.5px; font-weight: 600; line-height: 2; }
.adz-footer__links li a:hover { color: var(--adz-green-d); }
.adz-footer__cta p { color: var(--adz-muted); font-size: 14.5px; line-height: 1.6; margin: 0 0 16px; max-width: 42ch; }
.adz-footer__cta-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.adz-footer__social { width: 46px; height: 46px; border-radius: 50%; background: var(--adz-green-d); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; transition: .15s; }
.adz-footer__social:hover { background: var(--adz-green-dd); color: #fff; transform: translateY(-1px); }

/* Legal bar */
.adz-footer__bar { background: #fff; border-top: 1px solid var(--adz-line); padding: 18px 0; }
.adz-footer__bar-in { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13.5px; color: var(--adz-muted); }
.adz-footer__legal { display: flex; gap: 18px; }
.adz-footer__legal a { font-weight: 700; } .adz-footer__legal a:hover { color: var(--adz-green-d); }

@media (max-width: 980px) { .adz-footer__dir-grid { grid-template-columns: repeat(2, 1fr); } .adz-footer__grid { grid-template-columns: 1fr 1fr; } .adz-footer__cta { grid-column: 1 / -1; } }
@media (max-width: 600px) { .adz-footer__dir-grid, .adz-footer__grid { grid-template-columns: 1fr; } }
