/* =========================================================
    Component: Feature Card Horizontal
    File: assets/css/3_components/feature-card-horizontal.css
   ========================================================= */

/* --- 1. ベース設定（スマホ・共通） --- */
.c-cardHorizontal {
  border-bottom: 1px solid var(--wan-color-border, #e7e7e7);
  padding-bottom: var(--wan-s-6);
  margin-bottom: var(--wan-s-4);
}

.c-cardHorizontal .c-cardHorizontal__link {
  display: grid;
  /* 左側120px固定、右側は残り全部 */
  grid-template-columns: 120px 1fr;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}

/* 画像エリア */
.c-cardHorizontal .c-cardHorizontal__img {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 4px;
  overflow: hidden;
}

.c-cardHorizontal .c-cardHorizontal__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* コンテンツエリア（タイトル・メタ） */
.c-cardHorizontal .c-cardHorizontal__content {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.c-cardHorizontal .c-cardHorizontal__title {
  font-size: var(--wan-f-size-md);
  font-weight: var(--wan-f-weight-bold);
  margin-bottom: var(--wan-s-1);
  color: var(--wan-color-text, #333333);
}

.c-cardHorizontal .c-cardHorizontal__meta {
  font-size: var(--wan-s-3); /* 💡 12px */
  color: var(--wan-color-text-muted, #777777);
  line-height: var(--wan-f-lh-tight);
  margin-top: auto;
}

/* スマホ：日付とリード文は非表示 */
.c-cardHorizontal .c-cardHorizontal__date,
.c-cardHorizontal .c-cardHorizontal__desc {
  display: none;
}

/* バッジのスタイル */
.c-cardHorizontal__rankBadge {
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 36px;
  background: var(--wan-color-text-muted, #777777);
  color: var(--wan-color-text-white, #ffffff);
  font-size: var(--wan-f-size-sm);
  font-weight: var(--wan-f-weight-bold);
  display: flex;
  justify-content: center;
  align-items: center;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 85%, 0 100%);
  z-index: 2;
}

.c-cardHorizontal__rankBadge[data-rank="1"] { background: var(--wan-color-brand, #ff922b); }
.c-cardHorizontal__rankBadge[data-rank="2"] { background: var(--wan-color-silver, #adb5bd); } /* シルバー */
.c-cardHorizontal__rankBadge[data-rank="3"] { background: var(--wan-color-bronze, #c19a6b); } /* ブロンズ */

/* --- 2. PC表示（769px以上） --- */
@media screen and (min-width: 769px) {
  .c-cardHorizontal .c-cardHorizontal__link {
    grid-template-columns: 200px 1fr;
    gap: 20px 24px;
  }

  .c-cardHorizontal .c-cardHorizontal__title {
    font-size: 1.2rem;
    margin-bottom: var(--wan-s-2);
  }

  /* PC：日付を表示 */
  .c-cardHorizontal .c-cardHorizontal__date {
    display: block;
    font-size: var(--wan-s-3);
    color: var(--wan-color-text-muted, #777777);
    margin-top: 4px;
  }

  /* PC：リード文を表示 */
  .c-cardHorizontal .c-cardHorizontal__desc {
    grid-column: 1 / -1;
    grid-row: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: var(--wan-f-size-sm); 
    color: var(--wan-color-text-muted, #777777);
    line-height: var(--wan-f-lh-base, 1.6);
    margin-top: var(--wan-s-2);
  }
}