/* [ssr_site_footer] — the homepage canvas's footer (Homepage v3): the deepest charcoal, a brand
   column and four link columns, a rule, the legal line and the compliance marks. See
   sections/footer.php. Tokens aliased locally with literal fallbacks; the inner container is the
   Site Editor's wide width; every intentional paragraph is classed and restored as
   `.ssr-ft .ssr-ft__p`. Global styles 116474 prints after this file, so link and list rules are
   written at two classes or with a type selector. */

.ssr-ft {
  --ft-bg:        var(--surface-dark-deep, #232324);
  --ft-ink:       var(--text-on-dark, #fff);
  --ft-muted:     var(--text-on-dark-muted, #b3b1b6);
  --ft-line:      var(--border-on-dark, rgba(255, 255, 255, .14));
  --ft-green:     var(--green-300, #e2f18a);
  --ft-display:   var(--font-display, Outfit, system-ui, sans-serif);
  --ft-body:      var(--font-body, 'Public Sans', system-ui, sans-serif);
  --ft-max:       var(--wp--style--global--wide-size, 1240px);  /* page width: Site Editor > Styles > Layout */

  display: block;
  background: var(--ft-bg);
  color: var(--ft-muted);
  padding: clamp(40px, 4.5vw, 56px) 24px 28px;
  font-family: var(--ft-body);
  font-size: 14.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.ssr-ft *, .ssr-ft *::before, .ssr-ft *::after { box-sizing: border-box; }
.ssr-ft p:not([class]) { display: contents; margin: 0; padding: 0; }
.ssr-ft p:empty { display: none; }
.wp-block-template-part:has(> .ssr-ft) { margin: 0; padding: 0; max-width: none; }

.ssr-ft__inner {
  max-width: var(--ft-max);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr));
  gap: 32px 36px;
}

/* brand */
.ssr-ft__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; }
.ssr-ft .ssr-ft__logo { display: block; text-decoration: none; }
.ssr-ft .ssr-ft__logoimg { display: block; height: 30px; width: auto; }   /* the 3b README: 30px in the footer */
.ssr-ft .ssr-ft__p { display: block; margin: 0; padding: 0; line-height: 1.6; color: var(--ft-muted); }
.ssr-ft .ssr-ft__license { font-size: 13px; line-height: 1.5; }
.ssr-ft .ssr-ft__phone { color: var(--ft-ink); font-weight: 600; text-decoration: none; }
.ssr-ft .ssr-ft__phone:hover { color: var(--ft-green); }

/* columns */
.ssr-ft__col { min-width: 0; }
.ssr-ft__colh { margin: 0 0 12px; font-family: var(--ft-display); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ft-ink); }
.ssr-ft ul.ssr-ft__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ssr-ft li.ssr-ft__li { margin: 0; padding: 0; }
.ssr-ft .ssr-ft__link { color: var(--ft-muted); text-decoration: none; transition: color .15s ease; }
.ssr-ft .ssr-ft__link:hover, .ssr-ft .ssr-ft__link:focus-visible { color: var(--ft-ink); }

/* the legal line */
.ssr-ft__bottom {
  max-width: var(--ft-max);
  margin: 36px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--ft-line);
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
  gap: 16px 24px;
  font-size: 13px;
}
.ssr-ft__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.ssr-ft .ssr-ft__legallink { color: var(--ft-muted); text-decoration: none; }
.ssr-ft .ssr-ft__legallink:hover, .ssr-ft .ssr-ft__legallink:focus-visible { color: var(--ft-ink); }
.ssr-ft__marks { display: flex; align-items: center; gap: 18px; }
.ssr-ft .ssr-ft__mark { display: block; height: 34px; width: auto; }

.ssr-ft a:focus-visible { outline: 2px solid var(--ft-green); outline-offset: 2px; border-radius: 4px; }

@media (max-width: 1023px) {
  .ssr-ft__inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ssr-ft__brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .ssr-ft { padding: 40px 20px 24px; }
  .ssr-ft__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
  .ssr-ft__bottom { margin-top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .ssr-ft * { transition: none !important; }
}
