@layer block {
  /* stylelint-disable no-descending-specificity */
  /* stylelint-disable comment-empty-line-before */
  .rewards-footer-wrapper {
    display: flex;
    place-content: center;
  }

  .rewards-footer {
    padding: 3rem 0;
  }

  @media (min-width: 768px) {
    .rewards-footer-wrapper {
      border-left: 1px solid var(--text-color);
      width: 100%;
      padding: 0 2rem 0 4rem;
      box-sizing: border-box;
    }
  }

  .rewards-footer > div > div {
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    margin-inline: auto;
  }

  .rewards-footer img {
    width: 20rem;
    height: auto;
  }

  /* ======================================= */
  /* Champion */
  .chp.rewards-footer {
    margin-block: auto;
  }

  .chp.rewards-footer p {
    margin: 0;
  }

  .chp.rewards-footer p em {
    color: transparent !important;
    background: url('/icons/ClubChampion_Logo_white.svg') center/contain
      no-repeat;
    aspect-ratio: 1 / 0.4;
    height: 4.7em;
    display: block;
    margin-block-end: 1em;
  }

  .chp.rewards-footer p .button {
    margin-block-end: 0;
  }

  @media (min-width: 768px) {
    .rewards-footer-wrapper:has(.chp) {
      border-left-color: var(--clr-white);
      margin-block: 3rem;
    }
  }

  /* ======================================= */
  /* Maidenform */
  .mdf.rewards-footer p {
    white-space: nowrap;
    font: var(--font-body-cond);
    font-size: 1.5rem;
    line-height: 1;
    margin: 0;
  }

  .mdf.rewards-footer p strong {
    font: var(--font-pragmatica-extd-bold);
    font-size: 180%;
  }

  .mdf.rewards-footer p:is(:nth-child(3)) {
    font: var(--font-pragmatica-extd);
    color: var(--clr-brand-magenta-med);
    font-size: 1.4rem;
    line-height: 0.5;
  }

  .mdf.rewards-footer p:is(:nth-child(3)) strong {
    font-size: 315%;
    line-height: 1.2;
  }

  .mdf.rewards-footer p em {
    color: transparent !important;
    background: url('/icons/MaidenformRewards_Logo.png') center/contain
      no-repeat;
    aspect-ratio: 1 / 0.4;
    height: 8em;
    display: block;
    margin-block-end: 1em;
  }

  .mdf.rewards-footer p .button {
    width: 8.5em;
  }

  /* ======================================= */
  /* Hanes */
  .rewards-footer-wrapper:has(.hns) {
    margin: var(--spacing-s) auto;
    width: calc(100% - var(--gutter-4xl));
    place-content: flex-start;
  }

  .hns.rewards-footer > div > div {
    align-items: flex-start;
    text-align: left;
  }

  .hns.rewards-footer p {
    font-weight: var(--fw-semibold);
    margin: 0;
  }

  .hns.rewards-footer p em {
    color: transparent !important;
    background: url('/icons/HanesRewards_Logo.png') center/contain no-repeat;
    aspect-ratio: 1 / 0.4;
    height: 4.7em;
    display: block;
    margin-block-end: 1em;
  }

  .hns.rewards-footer p + p {
    line-height: 1.1;
  }

  .hns.rewards-footer p + p + p {
    color: var(--text-color-accent);
    line-height: 1.1;
    margin-block-start: var(--spacing-m);
    font-weight: var(--fw-bold);
  }

  .hns.rewards-footer p + p + p strong {
    font-size: 160%;
    font-weight: var(--fw-black);
  }

  .hns.rewards-footer img {
    width: 70%;
  }

  .rewards-footer .button {
    margin-block-end: 0;
  }

  @media (width >= 768px) {
    .rewards-footer-wrapper:has(.hns) {
      border-left: 0;
    }
  }

  @media (width >= 1024px) {
    .rewards-footer-wrapper:has(.hns) {
      margin-block: var(--spacing-3xl);
      border-left: 1px solid var(--clr-neutral-80);
      padding-inline-start: var(--gutter-3xl);
    }

    .rewards-footer-wrapper:has(.hns) .rewards-footer {
      padding-block: 0;
    }
  }

  @media (width >= 1180px) {
    .hns.rewards-footer img {
      width: 90%;
    }
  }
}
