/* ============================================================
   여우원 카드 (album-item) — 사용자 화면(/album, /home) +
   관리자 미리보기(/admin/models 모달) 공통 스타일.
   "사용자가 보는 카드" 가 항상 사실의 기준 (single source of truth).
   ============================================================ */

/* 기본 grid 컨테이너 — 페이지 별로 추가 제약을 덧씌울 수 있다 */
.album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 25px;
}

.album-item {
  background: #051627;
  border: 1px solid rgba(204, 163, 84, 0.3);
  border-radius: 15px;
  overflow: hidden;
  transition: all 0.3s;
  position: relative;
}
.album-item:hover {
  border-color: #cca354;
  box-shadow: 0 0 20px rgba(204, 163, 84, 0.3);
  transform: translateY(-5px);
}

.album-item .item-img {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #0a1628;
}
.album-item .item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.album-item .cate-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: linear-gradient(135deg, #cca354, #b8934a);
  color: #051627;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  z-index: 2;
}

.album-item .info { padding: 14px 14px 12px; }

.album-item .sorting { margin-bottom: 10px; text-align: center; }
.album-item .sorting span {
  display: inline-block;
  background: rgba(204, 163, 84, 0.15);
  color: #cca354;
  /* 명시적으로 brand 골드 보더 — 레거시 .sorting span { border:1px solid #c5c5c5 }
     가 leak 해서 흰 테두리로 보이는 케이스 방지. */
  border: 1px solid rgba(204, 163, 84, 0.30);
  padding: 3px 9px;
  border-radius: 12px;
  font-size: 12px;
  margin-right: 4px;
  margin-bottom: 4px;
}

.album-item .member-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.album-item .name { color: #fff; font-size: 17px; font-weight: 600; }
.album-item .recommend {
  background: #ff6b6b;
  color: #fff;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 11px;
}

.album-item .details {
  color: #aaa;
  font-size: 13px;
  margin-bottom: 10px;
}

.album-item .status-box {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 13px;
}
.album-item .status-box.available {
  background: rgba(76, 175, 80, 0.15);
  border: 1px solid rgba(76, 175, 80, 0.3);
}
.album-item .status-box.dating {
  background: rgba(255, 82, 82, 0.15);
  border: 1px solid rgba(255, 82, 82, 0.3);
}
.album-item .status-box.pending {
  background: rgba(249, 191, 59, 0.15);
  border: 1px solid rgba(249, 191, 59, 0.4);
}
.album-item .status-box.hidden {
  background: rgba(100, 116, 139, 0.18);
  border: 1px solid rgba(100, 116, 139, 0.4);
}
.album-item .status-box.available span { color: #4caf50; font-weight: 600; }
.album-item .status-box.dating    span { color: #ff5252; font-weight: 600; }
.album-item .status-box.pending   span { color: #facc15; font-weight: 600; }
.album-item .status-box.hidden    span { color: #94a3b8; font-weight: 600; }
.album-item .status-box img { width: 22px; height: 22px; }

.album-item .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 11px 20px;
  background: linear-gradient(135deg, #ff4757, #ff6b81);
  color: #ffffff;
  border-radius: 22px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.3s;
  box-shadow: 0 6px 20px rgba(255, 71, 87, 0.4);
  animation: albumBtnPulse 2s infinite;
}
.album-item .btn:hover {
  background: linear-gradient(135deg, #ff6b81, #ff4757);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 71, 87, 0.5);
}
.album-item .btn.gray {
  background: #666;
  cursor: not-allowed;
  animation: none;
  box-shadow: none;
}
.album-item .btn.gray:hover {
  background: #666;
  transform: none;
  box-shadow: none;
}

@keyframes albumBtnPulse {
  0%   { box-shadow: 0 6px 20px rgba(255, 71, 87, 0.4); }
  50%  { box-shadow: 0 6px 30px rgba(255, 71, 87, 0.7); }
  100% { box-shadow: 0 6px 20px rgba(255, 71, 87, 0.4); }
}

.album-item .rating {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
}
.album-item .rating i { color: #cca354; font-size: 13px; }
.album-item .rating span { color: #cca354; font-size: 12px; font-weight: 600; }
