/*
 * YP Custom Footer v1.0.2
 *
 * 配置先：
 * /wp-content/themes/yourpleasure/assets/css/footer.css
 *
 * ロゴ配置先：
 * /wp-content/themes/yourpleasure/assets/images/footer-logo.svg
 *
 * v1.0.2 修正：
 * - 背景色を #babf95 に変更
 * - DigiPressのli装飾に負けないように list-style / 疑似要素を強制リセット
 * - リンク前の装飾を小さな > に変更
 * - 独自footer内のlegal/copyright系は削除前提
 */

.yp-site-footer,
.yp-site-footer * {
  box-sizing: border-box !important;
}

.yp-site-footer {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 76px 0 76px !important;
  color: #2f2a24 !important;
  background: #babf95 !important;
  border-top: 0 !important;
}

.yp-site-footer a {
  color: inherit !important;
  text-decoration: none !important;
}

.yp-site-footer .yp-site-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.15fr) minmax(260px, 1fr) minmax(260px, 1fr) !important;
  gap: clamp(34px, 5vw, 72px) !important;
  width: min(1180px, calc(100% - 56px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: start !important;
}

.yp-site-footer .yp-site-footer__brand,
.yp-site-footer .yp-site-footer__nav,
.yp-site-footer .yp-site-footer__nav-block {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.yp-site-footer .yp-site-footer__logo-link {
  display: inline-block !important;
  width: min(240px, 68vw) !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.yp-site-footer .yp-site-footer__logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.yp-site-footer .yp-site-footer__name {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #26343d !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.08em !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.yp-site-footer .yp-site-footer__text {
  max-width: 360px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(38, 52, 61, 0.84) !important;
  font-size: 13.5px !important;
  line-height: 2 !important;
  letter-spacing: 0.04em !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.yp-site-footer .yp-site-footer__cta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
}

.yp-site-footer .yp-site-footer__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  box-shadow: none !important;
  transition:
    transform 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease,
    background-color 240ms ease !important;
}

.yp-site-footer .yp-site-footer__button--primary {
  color: #ffffff !important;
  background: #4f5a3d !important;
  border: 1px solid #4f5a3d !important;
}

.yp-site-footer .yp-site-footer__button--secondary {
  color: #26343d !important;
  background: rgba(255, 255, 255, 0.34) !important;
  border: 1px solid rgba(38, 52, 61, 0.26) !important;
}

.yp-site-footer .yp-site-footer__nav {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}

.yp-site-footer .yp-site-footer__heading {
  position: relative !important;
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  color: #26343d !important;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.12em !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.yp-site-footer .yp-site-footer__heading::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  display: block !important;
  width: 28px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(38, 52, 61, 0.42) !important;
  border: 0 !important;
  transform: none !important;
}

/* DigiPressのli装飾対策 */
.yp-site-footer .yp-site-footer__list,
.yp-site-footer .yp-site-footer__list li {
  list-style: none !important;
  list-style-type: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.yp-site-footer .yp-site-footer__list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.yp-site-footer .yp-site-footer__list li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

.yp-site-footer .yp-site-footer__list li::before,
.yp-site-footer .yp-site-footer__list li::after {
  content: none !important;
  display: none !important;
}

.yp-site-footer .yp-site-footer__list a {
  position: relative !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 7px !important;
  color: rgba(38, 52, 61, 0.86) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transition:
    color 220ms ease,
    transform 220ms ease !important;
}

.yp-site-footer .yp-site-footer__list a::before {
  content: ">" !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(38, 52, 61, 0.62) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  background: none !important;
  border: 0 !important;
  transform: none !important;
}

.yp-site-footer .yp-site-footer__list a::after {
  content: none !important;
  display: none !important;
}

/* 念のため、旧bottom系が残っていても非表示 */
.yp-site-footer .yp-site-footer__bottom,
.yp-site-footer .yp-site-footer__legal,
.yp-site-footer .yp-site-footer__copyright {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .yp-site-footer .yp-site-footer__button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(38, 52, 61, 0.1) !important;
  }

  .yp-site-footer .yp-site-footer__list a:hover {
    color: #26343d !important;
    transform: translateX(2px) !important;
  }
}

@media screen and (max-width: 1080px) {
  .yp-site-footer .yp-site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .yp-site-footer .yp-site-footer__brand {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 0 32px !important;
    align-items: center !important;
  }

  .yp-site-footer .yp-site-footer__logo-link {
    grid-row: 1 / span 3 !important;
    margin: 0 !important;
  }

  .yp-site-footer .yp-site-footer__text {
    max-width: 620px !important;
  }

  .yp-site-footer .yp-site-footer__cta {
    margin-top: 22px !important;
  }
}

@media screen and (max-width: 767px) {
  .yp-site-footer {
    padding: 54px 0 !important;
  }

  .yp-site-footer .yp-site-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    width: calc(100% - 28px) !important;
  }

  .yp-site-footer .yp-site-footer__brand {
    display: block !important;
    text-align: center !important;
  }

  .yp-site-footer .yp-site-footer__logo-link {
    width: min(190px, 58vw) !important;
    margin: 0 auto 20px !important;
  }

  .yp-site-footer .yp-site-footer__name {
    font-size: 18px !important;
    text-align: center !important;
  }

  .yp-site-footer .yp-site-footer__text {
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.9 !important;
    text-align: left !important;
  }

  .yp-site-footer .yp-site-footer__cta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 24px !important;
  }

  .yp-site-footer .yp-site-footer__button {
    width: 100% !important;
    min-height: 44px !important;
  }

  .yp-site-footer .yp-site-footer__nav {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .yp-site-footer .yp-site-footer__heading {
    margin-bottom: 16px !important;
    text-align: left !important;
  }

  .yp-site-footer .yp-site-footer__list {
    gap: 9px !important;
  }

  .yp-site-footer .yp-site-footer__list a {
    font-size: 13px !important;
  }
}

@media screen and (max-width: 374px) {
  .yp-site-footer .yp-site-footer__inner {
    width: calc(100% - 20px) !important;
  }
}
