/* ページ切り替え：COMING SOON 静止（アニメ完全停止） */

.loader-bg,
#page-loader {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #0a0908 !important;
  background-image:
    radial-gradient(ellipse at center, rgba(90, 65, 25, 0.45) 0%, rgba(10, 9, 8, 0) 55%),
    linear-gradient(180deg, #16130f 0%, #050505 100%) !important;
  overflow: hidden;
}

.loader-bg.is-show,
#page-loader.is-show {
  display: flex !important;
}

.loader-bg::before,
.loader-bg::after,
#page-loader::before,
#page-loader::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 28px;
  background-color: #111;
  background-image: radial-gradient(circle at center, #050505 38%, transparent 40%);
  background-size: 18px 28px;
  background-repeat: repeat-y;
  background-position: center top;
  box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.2);
  pointer-events: none;
  animation: none !important;
}

.loader-bg::before,
#page-loader::before { left: 0; }

.loader-bg::after,
#page-loader::after { right: 0; }

/* 静止表示本体 */
.loader-bg .loader,
#page-loader .loader,
.loader.film-reel,
.loader {
  position: relative !important;
  width: 220px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 18px 24px !important;
  text-indent: 0 !important;
  border: 2px solid #d4af37 !important;
  border-radius: 2px !important;
  background: #120f0a !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #d4af37 !important;
  font-family: "Courier New", Courier, monospace !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: 0.35em !important;
  text-align: center !important;
  line-height: 1.4 !important;
  /* 回転・点滅を完全停止 */
  animation: none !important;
  -webkit-animation: none !important;
  transform: none !important;
  -webkit-transform: none !important;
}

.loader-bg .loader::before,
.loader-bg .loader::after,
#page-loader .loader::before,
#page-loader .loader::after,
.loader.film-reel::before,
.loader.film-reel::after,
.loader::before,
.loader::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

.loader-caption {
  display: none !important; /* 文言は .loader 側に集約 */
}

/* Bootstrap 丸スピナーも停止 */
.spinner-border,
.spinner-border.film-spinner,
.spinner-border.text-primary,
.spinner-grow {
  animation: none !important;
  -webkit-animation: none !important;
  color: #d4af37 !important;
  border-color: #d4af37 !important;
  border-right-color: #d4af37 !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  font-family: "Courier New", Courier, monospace !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
}

.spinner-border::before,
.spinner-border.film-spinner::before,
.spinner-border.text-primary::before {
  content: "COMING SOON" !important;
  display: inline-block !important;
  color: #d4af37 !important;
}
