/* ============================================================
   season-index.css
   /season/ 時期から探す（時期別ページの親ハブ）固有スタイル。
   guide-common.css の後に読み込む。モバイルファースト。
   3つの時期を同じ優先度・同じ配色で並べる（色で時期を区別しない）。
   ============================================================ */

/* 固定フッターCTAが最後のカードを隠さないよう余白を確保 */
.season-index-page {
  padding-bottom: clamp(96px, 24vw, 120px);
}

.season-index-guide {
  margin-top: 28px;
}

.season-hub-section {
  margin: 0;
}

.season-hub-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 対象月ピル・平均料金を足したので、grid をやめて flex にした
   （align-self: flex-start でピルを内容幅に収めるため）。 */
.season-hub-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(22px, 5vw, 30px);
  background: #fff;
  border: 1px solid var(--guide-border);
  border-top: 5px solid var(--guide-gold);
  border-radius: 16px;
  box-shadow: 0 9px 28px rgba(45, 52, 54, 0.06);
}

.season-hub-card__title {
  margin: 0;
  color: var(--guide-ink);
  font-size: 1.18rem;
  line-height: 1.5;
}

/* 対象月のピルと平均料金。数値は inc/data/monthly.php から取る */
.season-hub-card__months {
  display: inline-block;
  align-self: flex-start;
  margin: 0;
  padding: 3px 10px;
  background: #eef5f7;
  border-radius: 999px;
  color: #536970;
  font-size: 0.74rem;
  font-weight: 800;
}

.season-hub-card__price {
  margin: 0;
  color: var(--guide-ink);
  font-size: 0.92rem;
  font-weight: 700;
}

.season-hub-card__desc {
  flex: 1 1 auto;
  margin: 0;
  color: var(--guide-muted);
  font-size: 0.94rem;
  line-height: 1.75;
}

.season-hub-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 46px;
  padding: 0 22px;
  color: var(--btn-plain-text, #2d3436);
  font-weight: 700;
  text-decoration: none;
  background: var(--btn-plain-bg, #fff);
  border: 1px solid var(--btn-plain-border, #d8dcdd);
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(45, 52, 54, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.season-hub-card__link::after {
  content: "›";
  margin-left: 8px;
}

.season-hub-card__link:hover,
.season-hub-card__link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(45, 52, 54, 0.1);
}

@media (min-width: 768px) {
  .season-index-page {
    padding-bottom: 48px;
  }

  .season-hub-grid {
    gap: 20px;
  }

  .season-hub-card {
    gap: 14px;
  }
}
