/*
 * Yumeyuri Logo Opening Safe
 * 古いオープニング要素を止め、新しい専用クラスの演出だけを表示します。
 */

/* 旧トップページHTML・旧プラグインのオープニングは二重表示防止のため無効化 */
.yumeyuri-home .yh-opening,
.yumeyuri-home .yh-opening-card,
body .yumeyuri-opening {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  animation: none !important;
}

.yumeyuri-safe-opening {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at center, rgba(239, 247, 232, .72), rgba(255, 253, 247, .96) 52%, #fffdf8 100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .5s ease,
    visibility .5s ease;
}

html.yumeyuri-safe-opening-ready .yumeyuri-safe-opening,
.yumeyuri-safe-opening.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.yumeyuri-safe-opening.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.yumeyuri-safe-opening__card {
  width: min(88vw, 430px);
  padding: clamp(28px, 5vw, 44px) clamp(22px, 4vw, 38px);
  border: 1px solid rgba(201, 215, 184, .9);
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 52px rgba(23, 70, 45, .11);
  text-align: center;
  transform: translateY(8px) scale(.985);
  transition: transform .58s ease;
}

.yumeyuri-safe-opening.is-active .yumeyuri-safe-opening__card,
html.yumeyuri-safe-opening-ready .yumeyuri-safe-opening__card {
  transform: translateY(0) scale(1);
}

.yumeyuri-safe-opening__logo {
  display: block;
  width: min(190px, 46vw);
  height: auto;
  margin: 0 auto 16px;
}

.yumeyuri-safe-opening__name {
  margin: 0 0 10px;
  color: #16452e;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "YuMincho", serif;
  font-size: clamp(22px, 5vw, 31px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.45;
}

.yumeyuri-safe-opening__copy {
  margin: 0;
  color: #526153;
  font-size: clamp(14px, 3.5vw, 16px);
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.8;
}

html.yumeyuri-safe-opening-lock,
html.yumeyuri-safe-opening-lock body {
  overflow: hidden;
}

@media (max-width: 480px) {
  .yumeyuri-safe-opening {
    padding: 18px;
  }

  .yumeyuri-safe-opening__card {
    border-radius: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yumeyuri-safe-opening,
  .yumeyuri-safe-opening__card {
    transition: none;
  }
}
