/* =============================================================
   HOLY-MOLY LP — #footer セクション（仕様書 §5-12）
   ============================================================= */

.footer__top {
  padding-top: var(--space-10);
}

.footer__top-inner {
  background: var(--c-surface-card);
  color: var(--c-text-on-card);
  border-radius: var(--radius-card);
  padding: var(--space-6) var(--space-4);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  text-align: center;
}

.footer__logo img {
  display: block;
  width: auto;
  height: 72px;
}

.footer__menu {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-family: var(--ff-body);
  font-size: var(--fs-nav);
}

.footer__menu a {
  color: inherit;
}

.footer__menu--legal {
  margin-top: var(--space-2);
  font-size: var(--fs-caption);
}

.footer__sns {
  display: flex;
  align-items: center;
  gap: 20px;
}

.footer__sns img {
  display: block;
}

.footer__bottom {
  margin-top: var(--space-10);
  padding-top: 60px;
  padding-inline: var(--gutter);
  padding-bottom: var(--space-6);
  background: linear-gradient(180deg, var(--midnight-700) 0%, #3D0FA3 100%);
  text-align: center;
  color: var(--c-text);
}

.footer__brand-name {
  font-family: var(--ff-display);
  font-size: 22px;
}

.footer__brand-name rt {
  font-family: var(--ff-body);
  font-size: 9px;
}

.footer__tagline {
  margin-top: var(--space-2);
  font-family: var(--ff-body);
  font-size: 12px;
}

.footer__cta {
  margin-top: 20px;
  width: min(258px, 100%);
}

@media (min-width: 768px) {
  .footer__top-inner {
    flex-direction: row;
    justify-content: space-between;
    min-height: 162px;
    padding-inline: var(--space-8);
    text-align: left;
  }

  .footer__logo img {
    height: 108px;
  }

  .footer__menu {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-2) 32px;
  }
}
