/* ダミー画像用のプレースホルダースタイル */
.placeholder {
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 14px;
  border-radius: 8px;
}

/* ロゴプレースホルダー */
.logo-placeholder {
  background-color: #f5f5f5;
  padding: 10px;
  border-radius: 4px;
  display: inline-block;
}

/* vaton rewardロゴ用スタイル */
.vaton-logo-text {
  color: var(--color-primary);
  font-weight: bold;
  display: inline-block;
}

/* gift walletロゴ用スタイル */
.gift-logo-text {
  color: var(--color-secondary);
  font-weight: bold;
  display: inline-flex;
  align-items: center;
}

.gift-logo-text::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: var(--color-secondary);
  border-radius: 3px;
  margin-right: 5px;
}

/* アプリ画面プレースホルダー */
.app-screen-placeholder {
  width: 100%;
  height: 400px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* パートナーロゴプレースホルダー */
.partner-logo-placeholder {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}

/* ポイントアイコンプレースホルダー */
.point-icon-placeholder {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

/* アニメーション */
@-webkit-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-moz-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@-ms-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fade-in {
  -webkit-animation: fadeIn 0.5s ease-in-out;
  -moz-animation: fadeIn 0.5s ease-in-out;
  -ms-animation: fadeIn 0.5s ease-in-out;
  animation: fadeIn 0.5s ease-in-out;
}

/* ページ読み込み完了時のスタイル */
body.loaded .fade-in {
  opacity: 1;
}
