/* Compact, editable footer groups. Specific selectors keep WordPress layout
 * utilities from turning the three groups into one long stack of links. */
.footer.footer { padding:48px 0 24px; background:linear-gradient(110deg,#ECFAF9,#FFF8F5 75%); border-top:1px solid #E4E9F0; }
.footer .footer__inner, .footer .footer__base {
  width:calc(100% - 2 * var(--hearth-page-gutter)); max-width:var(--hearth-content-max);
  margin-inline:auto; padding-inline:0;
}
.footer .footer__inner { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,2fr); gap:56px; padding-bottom:28px; align-items:start; }
.footer .footer__brand { margin:0; padding:0; }
.footer .footer__tag { margin:14px 0 0; max-width:260px; font-size:14px; line-height:1.6; color:#475569; }
.footer .footer__cols { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; width:100%; max-width:none; margin:0; padding:0; align-items:start; justify-items:stretch; }
.footer .footer__col { display:block; min-width:0; padding:0; margin:0; }
.footer .footer__label { margin:0 0 10px; font-size:12px; line-height:1.5; font-weight:700; color:#233D4D; letter-spacing:.06em; text-transform:uppercase; }
.footer .footer__links, .footer .footer__policies { list-style:none; margin:0; padding:0; }
.footer .footer__links li, .footer .footer__policies li { margin:0; padding:0; }
.footer .footer__links a, .footer .footer__policies a {
  display:inline-flex; align-items:center; min-height:44px; padding:6px 0;
  max-width:100%; font-size:14px; line-height:1.5; color:#475569;
  text-decoration:none; overflow-wrap:break-word;
}
.footer .footer__links a:hover, .footer .footer__policies a:hover { color:#233D4D; text-decoration:underline; text-underline-offset:4px; }
.footer a:focus-visible { outline:2px solid #233D4D; outline-offset:4px; border-radius:3px; }
.footer .footer__base { display:block; padding-top:14px; }
.footer .footer__policies { display:flex; flex-wrap:wrap; gap:0 24px; }
.footer .footer__policies a { font-size:12px; }
.footer .footer__credits { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; margin-top:10px; }
.footer .footer__credits p { margin:0; font-size:12px; line-height:1.6; color:#475569; }
@media(max-width:1000px) {
  .footer .footer__inner { grid-template-columns:1fr; gap:28px; }
  .footer .footer__brand { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; }
  .footer .footer__tag { margin:0; }
}
@media(max-width:600px) {
  .footer.footer { padding-top:32px; }
  .footer .footer__cols { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
  .footer .footer__col--support { grid-column:1/-1; }
  .footer .footer__col--support .footer__links { display:flex; flex-wrap:wrap; gap:0 24px; }
  .footer .footer__label { margin-bottom:6px; }
  .footer .footer__policies { gap:0 20px; }
}
