/**
 * c-column-card / c-column-category-chip
 * コラム一覧のカードとカテゴリ絞り込みチップ（新規機能・手書き）。
 *
 * クライアント共有のデザインモックアップの構成（サムネイル16:10・カテゴリバッジ・
 * 日付・タイトル・抜粋2行・ホバーで浮き上がる）を、既存の求人カード
 * （assets/css/components/job-card.css）の余白/角丸の作法に合わせて実装。
 */

/* ---------- カードグリッド ---------- */
.c-column-grid {
	/*
	 * an-box 併用のため align-items を明示。an-box の既定 align-items:center は
	 * grid コンテナにも作用し、カードが実際の高さいっぱいに揃わず
	 * 中央寄せの不揃いな高さになってしまうため stretch で上書きする。
	 */
	display: grid;
	align-items: stretch;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	width: 1280px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 40px;
	list-style: none;
}

.c-column-card {
	/*
	 * an-box 併用のため display/flex-direction/align-items を明示。
	 * 未指定だと inherit される align-items:center のままで、子の
	 * c-column-card__link が幅いっぱいに広がらず、カードがグリッドセルの中で
	 * 中央寄せの細い状態になってしまう。
	 */
	display: flex;
	flex-direction: column;
	align-items: stretch;
	list-style: none;
}
.c-column-card__link {
	/*
	 * an-box 併用のため align-items を明示。inherit される center のままだと
	 * 子（サムネイル・本文）が幅いっぱいに広がらず中央寄せの細い表示になる。
	 */
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	height: 100%;
	background: var(--an-color-white);
	border: 1px solid var(--an-color-border);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.3s, transform 0.3s, border-color 0.3s;
}
.c-column-card__link:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px -22px rgba(15, 156, 124, 0.45);
	border-color: var(--an-color-brand);
}
.c-column-card__thumb {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--an-color-surface);
	/* an-box 併用のため flex-direction を明示（base.css の .an-box は既定 column） */
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.c-column-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.c-column-card__placeholder {
	font-size: 40px;
	color: var(--an-color-border);
}
.c-column-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	font-family: var(--an-font-base);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--an-color-white);
	background: var(--an-color-accent);
	padding: 4px 11px;
	border-radius: 5px;
}
.c-column-card__body {
	/* an-box 併用のため align-items を明示（inherit する center だとタイトル等が中央寄せになる） */
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex: 1;
	padding: 18px 20px 22px;
}
.c-column-card__meta {
	/* an-box 併用のため flex-direction を明示（base.css の .an-box は既定 column） */
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
}
.c-column-card__cat {
	font-family: var(--an-font-base);
	font-size: 11px;
	font-weight: 700;
	color: var(--an-color-brand);
	background: var(--an-color-surface-green);
	padding: 3px 10px;
	border-radius: 5px;
}
.c-column-card__date {
	font-family: var(--an-font-base);
	font-size: 11.5px;
	color: var(--an-color-text);
	opacity: 0.55;
}
.c-column-card__title {
	font-family: var(--an-font-base);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.6;
	color: var(--an-color-text);
	margin-top: 12px;
	transition: color 0.2s;
	/* 3行までで省略（元モックアップは2行だが、日本語見出しは長くなりやすいため余裕を持たせた） */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.c-column-card__link:hover .c-column-card__title {
	color: var(--an-color-brand);
}
.c-column-card__excerpt {
	font-family: var(--an-font-base);
	font-size: 12.5px;
	color: var(--an-color-text);
	opacity: 0.6;
	line-height: 1.8;
	margin-top: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- カテゴリ絞り込みチップ ---------- */
.c-column-category-chip-list {
	/* an-box 併用のため flex-direction を明示（base.css の .an-box は既定 column） */
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	width: 1280px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 40px;
}
.c-column-category-chip-list__label {
	display: inline-block;
	flex: none;
	font-family: var(--an-font-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: var(--an-color-text);
	opacity: 0.5;
	margin-right: 4px;
}
.c-column-category-chip {
	/*
	 * この部品は an-box/an-text（base.css の共通リセット）を付けていない
	 * 生の <a> 要素なので、自身のレイアウト系プロパティは全て明示する。
	 * display:inline-flex + flex:none を付けないと、親の
	 * .c-column-category-chip-list（display:flex; flex-wrap:wrap）の中で
	 * ブロック要素的に幅いっぱいへ広がり、チップが1列ずつ縦積みになる不具合が
	 * あった（ユーザーのスクリーンショットで発覚）。
	 */
	display: inline-flex;
	align-items: center;
	flex: none;
	width: fit-content;
	white-space: nowrap;
	box-sizing: border-box;
	font-family: var(--an-font-base);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--an-color-text);
	background: var(--an-color-white);
	border: 1px solid var(--an-color-border);
	border-radius: 999px;
	padding: 8px 18px;
	margin: 0;
	transition: all 0.2s;
}
.c-column-category-chip:hover {
	border-color: var(--an-color-brand);
	color: var(--an-color-brand);
}
.c-column-category-chip.is-current {
	background: var(--an-color-brand);
	border-color: var(--an-color-brand);
	color: var(--an-color-white);
}

@media (max-width: 900px) {
	.c-column-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 540px) {
	.c-column-grid {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 0 24px;
	}
	.c-column-category-chip-list {
		padding: 0 24px;
	}
}
