/**
 * FOOT-01 — shared footer structure + mobile tap targets (all skins).
 * Visual tokens stay in each skin §13; layout/a11y sizing lives here.
 */

/* Legacy compiled main.css — drop fixed copy/address spacing; skins set their own. */
#footer .footer__copy {
  margin-top: var(--dv-footer-rule-gap, 2.875rem);
  padding-top: 1rem;
}

#footer .footer__info p.footer__address {
  margin-bottom: 1rem;
}

#footer .footer__info .logo.logo--footer {
  margin-bottom: var(--dv-footer-logo-gap, 0.3rem);
}

#footer .footer__copy .devision-link-dark,
#footer .footer__copy .devision-link-light {
  display: inline-block;
  line-height: 0;
  vertical-align: text-bottom;
}

#footer .footer__copy .devision-credit-logo {
  display: block;
  height: 0.9rem;
  width: auto;
  vertical-align: text-bottom;
}

#footer .footer__copy .devision-link-dark svg,
#footer .footer__copy .devision-link-light svg {
  vertical-align: text-bottom;
}

/* devision-light.svg: five "vision" letterforms (#495160). Safety net if inline SVG is cached. */
body.footer-chrome--light #footer .devision-link-light svg #Group path {
  fill: #495160 !important;
}

body.footer-chrome--light #footer .devision-link-dark svg > g > g[id="Group_1"] > path,
body.footer-chrome--light #footer .devision-link-dark svg g[id="Group_1"] path {
  fill: #495160 !important;
}

#footer .logo.logo--footer {
  display: block;
}

@media (min-width: 992px) {
  #footer .footer__grid {
    align-items: center;
    width: 100%;
  }

  #footer .footer__info {
    align-items: flex-start;
    text-align: left;
  }

  #footer .footer__menus-col {
    padding-top: var(--dv-footer-menu-eyebrow-inset, 0.35rem);
  }
}

/* SVG as <img> can collapse to 0×0 with width/height: auto — keep an explicit width. */
#footer .logo.logo--footer .logo__img {
  display: block;
  width: min(240px, 100%);
  max-width: 100%;
  height: auto;
  max-height: var(--dv-footer-logo-max, 3rem);
  object-fit: contain;
  object-position: left center;
}

.footer__heading {
  font-family: var(--dv-font-body);
  font-weight: var(--dv-font-weight-bold, 700);
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dv-color-muted-ink);
  margin: 0 0 1rem;
}

.footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer__menu li + li {
  margin-top: 0.35rem;
}

/* FOOT-01 / CD: body-style links (overrides legacy main.css uppercase 15px). */
#footer .footer__menu a {
  font-family: var(--dv-font-body);
  font-size: 0.9rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
  opacity: 1;
}

/* Beat legacy main.css `.social-links li svg { 43px }`. Icon fills the <a> hit target; hover stays on the link. */
#footer .social-links {
  gap: var(--dv-footer-social-gap, 0.5rem);
}

#footer .social-links li + li {
  margin-left: 0;
}

#footer .social-links a {
  box-sizing: border-box;
}

#footer .social-links li svg {
  display: block;
  width: var(--dv-footer-social-icon-size, var(--dv-footer-social-size, 2rem));
  height: var(--dv-footer-social-icon-size, var(--dv-footer-social-size, 2rem));
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

@media (max-width: 767px) {
  #footer .logo.logo--footer .logo__img {
    max-height: var(--dv-footer-logo-max-mobile, 2.75rem);
  }

  #footer .social-links a {
    width: var(--dv-footer-social-size-mobile, var(--dv-footer-social-size, 2.75rem));
    height: var(--dv-footer-social-size-mobile, var(--dv-footer-social-size, 2.75rem));
    min-width: var(--dv-footer-social-min-mobile, var(--dv-footer-social-min, 44px));
    min-height: var(--dv-footer-social-min-mobile, var(--dv-footer-social-min, 44px));
  }

  #footer .footer__menu a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-block: 0.35rem;
  }

  #footer .footer__copy p {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
  }

  .footer__menus-grid {
    row-gap: 1.5rem;
  }
}

/* Light footer band (six skins): legacy main.css assumes teal + white type. */
body.footer-chrome--light #footer {
  background-color: var(--dv-color-bg);
  color: var(--dv-color-text);
}

body.footer-chrome--light #footer .footer__info {
  color: var(--dv-color-text);
}

body.footer-chrome--light #footer .footer__info p {
  opacity: 1;
}

body.footer-chrome--light #footer .footer__address,
body.footer-chrome--light #footer .footer__menu a {
  color: var(--dv-color-text);
}

body.footer-chrome--light #footer .footer__menu a:hover {
  color: var(--dv-color-link-hover);
}

body.footer-chrome--light #footer .footer__copy {
  color: var(--dv-color-muted-ink);
}

body.footer-chrome--light #footer .footer__copy a,
body.footer-chrome--light #footer .footer__copy .copy {
  color: var(--dv-color-muted-ink);
}

body.footer-chrome--light #footer .logo.logo--footer .logo__img--skin-svg {
  filter: none;
}

/* Bundled social SVGs use fill="#fff"; recolour on light footers. Geometry (circle /
   square / strip / bare) lives in each skin §13 - do not add boxes here. */
body.footer-chrome--light #footer .social-links a {
  color: var(--dv-color-heading);
}

body.footer-chrome--light #footer .social-links svg path {
  fill: currentColor;
}
