/* The dark sitewide footer: invitation, newsletter/social, navigation and family of businesses. */
@layer components {
  .mp-footer {
    background: var(--mp-color-surface);
    color: var(--mp-color-text-2);
    font: var(--mp-weight-body) var(--mp-fs-sm) / var(--mp-lh-body) var(--mp-font-body);
    border-block-start: var(--mp-border) solid var(--mp-color-line);
  }
  .mp-footer__top {
    display: grid;
    gap: var(--mp-space-xl);
    padding-block: var(--mp-space-section);
  }
  .mp-footer__eyebrow {
    color: var(--mp-color-text-2);
    font: var(--mp-weight-ui) var(--mp-fs-label) / var(--mp-lh-snug) var(--mp-font-ui);
    letter-spacing: var(--mp-track-caps);
    text-transform: uppercase;
  }
  .mp-footer__headline {
    margin-block: var(--mp-space-s) var(--mp-space-m);
    color: var(--mp-color-text);
    font: var(--mp-weight-display) var(--mp-fs-display-xl) / var(--mp-lh-display) var(--mp-font-display);
    letter-spacing: var(--mp-track-display);
    text-transform: uppercase;
  }
  .mp-footer__headline span { color: var(--mp-color-accent-text); }
  .mp-footer__intro { max-inline-size: var(--mp-w-aside); font-size: var(--mp-fs-lead); }
  .mp-footer__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-s) var(--mp-space-m); margin-block-start: var(--mp-space-l); }
  .mp-footer__connect { padding: var(--mp-space-panel); background: var(--mp-color-surface-2); border: var(--mp-border) solid var(--mp-color-line); border-radius: var(--mp-radius-lg); }
  .mp-footer__connect-title { margin-block: var(--mp-space-xs); color: var(--mp-color-text); font: var(--mp-weight-display) var(--mp-fs-display-s) / var(--mp-lh-tight) var(--mp-font-display); text-transform: uppercase; letter-spacing: var(--mp-track-display); }
  .mp-footer__form { margin-block: var(--mp-space-m) var(--mp-space-xs); }
  .mp-footer__form .ff-el-group { margin-block-end: var(--mp-space-s); } /* vendor-alias */
  .mp-footer__form .ff-el-form-check-label { align-items: flex-start; font-size: var(--mp-fs-xs); } /* vendor-alias */
  .mp-footer__form .ff-el-form-check-input { margin-block-start: var(--mp-space-3xs); } /* vendor-alias */
  .mp-footer__form .ff-btn-submit { inline-size: 100%; } /* vendor-alias */
  .mp-footer__form .ff-el-input--label > label { color: var(--mp-color-text); } /* vendor-alias */
  .mp-footer__form .ff-el-form-control::placeholder { color: var(--mp-color-text-2); } /* vendor-alias */
  .mp-footer__pending { margin-block-start: var(--mp-space-m); color: var(--mp-color-text); }
  .mp-footer__fine { font-size: var(--mp-fs-xs); }
  .mp-footer__follow { margin-block-start: var(--mp-space-m); padding-block-start: var(--mp-space-m); border-block-start: var(--mp-border) solid var(--mp-color-line); }
  .mp-footer__follow .mp-social { margin-block-start: var(--mp-space-xs); color: var(--mp-color-text); }
  .mp-footer__follow .mp-social__list { gap: var(--mp-space-2xs); }
  .mp-footer__follow .mp-social__link { border: var(--mp-border) solid var(--mp-color-line); }
  .mp-footer__follow .mp-social__link:hover { color: var(--mp-color-accent-text); }
  .mp-footer__main {
    display: grid;
    gap: var(--mp-space-xl);
    padding-block: var(--mp-space-xl);
    border-block: var(--mp-border) solid var(--mp-color-line);
  }
  .mp-footer__about { max-inline-size: var(--mp-w-aside); }
  .mp-footer__home { display: inline-block; }
  .mp-footer__logo { inline-size: calc(var(--mp-space-2xl) * 2); block-size: auto; }
  .mp-footer__heritage { margin-block: var(--mp-space-m) var(--mp-space-s); color: var(--mp-color-text); font: var(--mp-weight-display) var(--mp-fs-display-2xs) / var(--mp-lh-snug) var(--mp-font-display); text-transform: uppercase; }
  .mp-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--mp-space-3xs); font-style: normal; }
  .mp-footer__name { color: var(--mp-color-text); font-weight: var(--mp-weight-ui); }
  .mp-footer__hours { margin-block-start: var(--mp-space-s); font-size: var(--mp-fs-xs); }
  .mp-footer__hours summary { min-block-size: var(--mp-tap); padding-block: var(--mp-space-xs); color: var(--mp-color-text); cursor: pointer; }
  .mp-footer__hours p { margin-block-start: var(--mp-space-xs); }
  .mp-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mp-space-l) var(--mp-space-m); }
  .mp-footer__title { margin-block-end: var(--mp-space-xs); color: var(--mp-color-text); font: var(--mp-weight-ui) var(--mp-fs-xs) / var(--mp-lh-tight) var(--mp-font-ui); letter-spacing: var(--mp-track-caps); text-transform: uppercase; }
  .mp-footer__group { margin-block-start: var(--mp-space-m); }
  .mp-footer__link { display: inline-flex; align-items: center; gap: var(--mp-space-2xs); min-block-size: var(--mp-tap); color: inherit; text-decoration: none; transition: color var(--mp-dur-fast) var(--mp-ease-out); }
  .mp-footer__link:hover { color: var(--mp-color-accent-text); }
  .mp-footer__businesses { padding-block: var(--mp-space-xl); }
  .mp-footer__business-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--mp-space-2xs) var(--mp-space-m); margin-block-end: var(--mp-space-m); }
  .mp-footer__brands { display: grid; border-block: var(--mp-border) solid var(--mp-color-line); }
  .mp-footer__brand { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--mp-space-2xs) var(--mp-space-s); padding-block: var(--mp-space-m); text-decoration: none; transition: color var(--mp-dur-fast) var(--mp-ease-out); }
  .mp-footer__brand + .mp-footer__brand { border-block-start: var(--mp-border) solid var(--mp-color-line); }
  .mp-footer__brand-name { color: var(--mp-color-text); font: var(--mp-weight-display) var(--mp-fs-display-s) / var(--mp-lh-tight) var(--mp-font-display); letter-spacing: var(--mp-track-display); text-transform: uppercase; }
  .mp-footer__brand-description { grid-column: 1 / -1; font-size: var(--mp-fs-xs); }
  .mp-footer__brand > .mp-icon { color: var(--mp-color-accent-text); }
  .mp-footer__brand:hover .mp-footer__brand-name { color: var(--mp-color-accent-text); }
  .mp-footer__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--mp-space-s) var(--mp-space-l); padding-block: 0 calc(var(--mp-h-dock) + var(--mp-space-l) + var(--mp-safe-b)); font-size: var(--mp-fs-xs); }
  .mp-footer__policies { display: flex; flex-wrap: wrap; gap: 0 var(--mp-space-m); }
  @media (hover: hover) and (pointer: fine) {
    .mp-footer__links .mp-footer__link { min-block-size: 0; padding-block: var(--mp-space-2xs); }
    .mp-footer__contact .mp-footer__link { min-block-size: 0; padding-block: var(--mp-space-3xs); }
  }
  @media (width >= 48rem) {
    .mp-footer__top { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; }
    .mp-footer__main { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    .mp-footer__brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mp-footer__brand { padding: var(--mp-space-l) var(--mp-space-m); }
    .mp-footer__brand:first-child { padding-inline-start: 0; }
    .mp-footer__brand:last-child { padding-inline-end: 0; }
    .mp-footer__brand + .mp-footer__brand { border-block-start: 0; border-inline-start: var(--mp-border) solid var(--mp-color-line); }
    .mp-footer__base { padding-block-end: var(--mp-space-l); }
  }
  @media (width >= 64rem) {
    .mp-footer__top { gap: var(--mp-space-3xl); }
    .mp-footer__headline { font-size: var(--mp-fs-display-2xl); }
    .mp-footer__main { gap: var(--mp-space-3xl); }
    .mp-footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
}
