/**
 * 作品カード上段のビジュアル枠。inc/anime-card-visual.php と対で使う。
 *
 * 構造は画像の有無に関わらず固定:
 *   上段（.anime-visual）… シーズン（左上） + タイトル（左下・最大3行） + 背景
 *   下段（呼び元のカード本体）… スタジオ等
 *
 * 背景は実画像（.anime-visual__photo + スクリム）か、
 * 画像未登録時のプレースホルダ（.anime-visual__bg 内の .anime-thumb-ph）。
 * 画像が登録されれば背景だけが差し替わり、情報の並びは変わらない。
 *
 * 縦横比は 2/1。16:9 より低くして、一覧全体の高さを抑えている。
 */

.anime-visual {
  --visual-lines: 3;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  background: #eef1f4;
}

/* 背景レイヤー ------------------------------------------------------- */
.anime-visual__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.anime-visual__bg {
  position: absolute;
  inset: 0;
}
/* 実画像の上に白文字を載せるためのスクリム（下ほど濃い） */
.anime-visual__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(10, 14, 22, .86) 0%,
    rgba(10, 14, 22, .55) 38%,
    rgba(10, 14, 22, .12) 68%,
    rgba(10, 14, 22, 0) 100%
  );
}

/* 前面テキスト ------------------------------------------------------- */
.anime-visual__season {
  position: absolute;
  z-index: 2;
  top: 6px;
  left: 11px;
  font-size: .62rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
}
.anime-visual__title {
  position: absolute;
  z-index: 2;
  left: 11px;
  right: 9px;
  bottom: 6px;
  text-align: left;
  font-weight: 700;
  font-size: .86rem;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-line-clamp: var(--visual-lines);
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 長い英数字タイトルでも枠から溢れさせない */
  overflow-wrap: anywhere;
}

/* 画像未登録: プレースホルダの配色をそのまま使う（濃色インク） */
.anime-visual--ph .anime-visual__season { color: var(--ph-accent, #5b6774); }
.anime-visual--ph .anime-visual__title  { color: #26303b; }

/* 実画像: スクリムの上に白文字 */
.anime-visual--photo .anime-visual__season {
  left: 9px;
  color: #fff;
  background: rgba(10, 14, 22, .5);
  padding: 1px 6px;
  border-radius: 999px;
}
.anime-visual--photo .anime-visual__title {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
}

/* ランキングカード: 左上の順位バッジと重ならないようシーズンを右上へ */
.anime-visual--rank .anime-visual__season {
  left: auto;
  right: 9px;
}

/* 幅の狭い端末では文字も少しだけ詰める */
@media (max-width: 599px) {
  .anime-visual__title  { font-size: .82rem; left: 10px; right: 8px; }
  .anime-visual__season { font-size: .6rem; left: 10px; }
  .anime-visual--photo .anime-visual__season { left: 8px; }
  .anime-visual--rank .anime-visual__season { left: auto; right: 8px; }
}
