﻿/* 共通のベーススタイル */
.overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
}

/* ローディングアニメーションあり */
.overlay--loading {
  background: rgba(255, 255, 255, 0.7);
}

/* 単純なブロック（白マスクなど） */
.overlay--plain {
  background: rgba(0, 0, 0, 0.2);
}

/* ローディングスピナー */
.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  margin: -24px 0 0 -24px;
  border: 6px solid #ccc;
  border-top-color: #af1749;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* ローディングアニメーション（メッセージ） */
.loading-text {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateX(-50%);
  font-weight: bold;
  color: #af1749;
  font-size: 16px;
}

/* スピンアニメーション */
@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
