/* ============================================================
   car-index.css
   /car/ 車種一覧トップ（親階層ページ）固有スタイル。
   guide-common.css の後に読み込む。モバイルファースト。
   ============================================================ */

/* 固定フッターCTAが最後のカードを隠さないよう余白を確保 */
.car-index-page {
  padding-bottom: clamp(96px, 24vw, 120px);
}

.car-index-guide {
  margin-top: 28px;
}

.car-category-section {
  margin: 0;
}

.car-category-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 掲載校数のピルを足したので、行数固定の grid をやめて flex にした。
   子要素が増減してもリンクがカード下端に揃う（.car-category-card__desc が伸びる）。 */
.car-category-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 4.5vw, 26px);
  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);
}

.car-category-card__title {
  margin: 0;
  color: var(--guide-ink);
  font-size: 1.12rem;
  line-height: 1.5;
}

/* 掲載校数のピル。数値は car_plan_price_school_count() から取る */
.car-category-card__count {
  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;
}

.car-category-card__desc {
  flex: 1 1 auto;
  margin: 0;
  color: var(--guide-muted);
  font-size: 0.94rem;
  line-height: 1.75;
}

.car-category-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;
}

.car-category-card__link::after {
  content: "›";
  margin-left: 8px;
}

.car-category-card__link:hover,
.car-category-card__link:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(45, 52, 54, 0.1);
}

@media (min-width: 768px) {
  .car-index-page {
    padding-bottom: 48px;
  }

  .car-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .car-category-card {
    gap: 14px;
  }
}
