/* ===== Footer (compact, aligned) ===== */
.zr-footer{
  background:var(--zr-footer);
  border-top:1px solid var(--zr-border);
  margin-top:64px;
}
.zr-footer .container{ padding:44px var(--container-pad-x); }

/* Columns: brand / nav / resources / newsletter */
.footer-top{
  display:grid; gap:32px; grid-template-columns:1fr;
}
@media (min-width:1024px){
  .footer-top{ grid-template-columns:1.2fr 1fr 1fr; }
}

/* Brand */
.footer-brand__head{ display:flex; align-items:center; gap:10px; }
.footer-brand__logo{ width:34px; height:34px; border-radius:12px; object-fit:contain; background:transparent; }
.footer-brand__name{ font-weight:700; font-size:var(--fs-15); }
.footer-brand__desc{ margin-top:10px; color:var(--zr-muted); line-height:1.55; max-width:60ch; font-size:var(--fs-14); }

/* Social */
.footer-social{ display:flex; gap:10px; margin-top:10px; }
.social-btn{ display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; border:1px solid var(--zr-border); }
.social-btn:hover{ background:var(--zr-elevated); }

/* Links */
.footer-links{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.footer-links__title{ font-weight:700; font-size:var(--fs-14); }
.footer-links__list{ margin:10px 0 0; padding:0; list-style:none; }
.footer-links__list li + li{ margin-top:6px; }
.footer-link{ color:var(--zr-teal); text-decoration:none; font-weight:500; text-decoration-color:transparent; transition:color .15s ease, text-decoration-color .15s ease; }
.footer-link:hover,.footer-link:focus{ color:var(--zr-ink); text-decoration:underline; text-underline-offset:3px; }
.footer-link:focus-visible{ outline:2px solid rgba(11,61,46,.30); outline-offset:2px; }

/* Newsletter (tight 38px rhythm) */
.footer-newsletter__title{ font-weight:700; font-size:var(--fs-14); }
.footer-newsletter__desc{ margin-top:10px; font-size:var(--fs-14); color:var(--zr-muted); }

.newsletter-form{
  display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:12px;
}
@media (max-width:600px){ .newsletter-form{ grid-template-columns:1fr; } }

.newsletter-form input{
  height:var(--ctr-h-md);
  padding:0 var(--ctr-pad-x);
  border-radius:var(--radius);
  border:1px solid #D3DDD9;
  background:#fff; color:var(--zr-ink);
  font-size:var(--fs-13); outline:none; box-shadow:none;
}
.newsletter-form input::placeholder{ color:#8A9591; }
.newsletter-form input:focus{
  border-color:#99B5AD;
  box-shadow:0 0 0 3px rgba(11,61,46,.12);
}

.newsletter-form .btn-primary{
  height:var(--ctr-h-md);
  padding:0 16px;
  border-radius:var(--radius);
  white-space:nowrap;
  font-size:var(--fs-13);
}

/* Bottom */
.footer-bottom{
  border-top:1px solid var(--zr-border);
  padding:12px 0; color:var(--zr-muted); font-size:var(--fs-13);
}


/* Newsletter stacked: input on top, button below full width */
.newsletter-form{ display:block; }
.newsletter-form input{ display:block; width:100%; margin:12px 0; }
.newsletter-form .btn-primary{ display:block; width:100%; height:var(--ctr-h-md); }

/* Soften titles + links a touch */
.footer-links__title,
.footer-newsletter__title{ font-weight:600; }   /* was 700 */
.footer-link{ font-weight:500; }                /* keep light and crisp */