/**
 * tankobu-core の動的ブロックの体裁。
 *
 * 色・余白・文字サイズは子テーマの theme.json が出すCSS変数を参照するので、
 * デザインを変えるときは theme.json 側を触ればここは触らなくてよい。
 */

.tankobu-list__heading {
	margin-block: var(--wp--preset--spacing--60, 4rem) var(--wp--preset--spacing--30, 1rem);
	padding-block-end: 0.4em;
	border-block-end: 1px solid var(--wp--preset--color--gray-light, #e7e9ec);
	font-size: var(--wp--preset--font-size--large, 1.25rem);
}

.tankobu-list__heading:first-child {
	margin-block-start: 0;
}

.tankobu-list__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ── 業績1件 ── */

.tankobu-publication {
	margin-block-end: var(--wp--preset--spacing--50, 2.5rem);
}

.tankobu-publication > p {
	margin-block: 0;
}

.tankobu-publication__authors {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.7;
}

.tankobu-publication__title {
	margin-block: 0.2em !important;
	font-weight: 500;
	line-height: 1.6;
}

.tankobu-publication__source,
.tankobu-publication__links,
.tankobu-award__meta {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
	line-height: 1.7;
}

.tankobu-publication__corresponding {
	margin-block-start: 0.2em !important;
	font-size: 0.78em;
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

.tankobu-sep {
	padding-inline: 0.15em;
	color: var(--wp--preset--color--gray-light, #e7e9ec);
}

.tankobu-link {
	color: var(--wp--preset--color--accent, #17335e);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.tankobu-publication__summary {
	margin-block-start: 0.6em;
	padding-inline-start: 0.9em;
	border-inline-start: 2px solid var(--wp--preset--color--gray-light, #e7e9ec);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

.tankobu-publication__summary p {
	margin-block: 0.3em;
}

/* ── 単一業績の書誌情報 ── */

.tankobu-publication-meta {
	margin-block: var(--wp--preset--spacing--40, 1.5rem);
	padding: var(--wp--preset--spacing--40, 1.5rem);
	background: color-mix(in srgb, var(--wp--preset--color--gray-light, #e7e9ec) 35%, transparent);
	border-radius: 2px;
}

.tankobu-meta__list {
	display: grid;
	grid-template-columns: minmax(7em, max-content) 1fr;
	gap: 0.5em 1.2em;
	margin: 0;
}

.tankobu-meta__label {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

.tankobu-meta__value {
	margin: 0;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	overflow-wrap: anywhere;
}

@media (max-width: 600px) {
	.tankobu-meta__list {
		grid-template-columns: 1fr;
		gap: 0.1em;
	}

	.tankobu-meta__value {
		margin-block-end: 0.7em;
	}
}

/* ── 関連するお知らせ ── */

.tankobu-related-news {
	margin-block-start: var(--wp--preset--spacing--60, 4rem);
}

.tankobu-news {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2em 0.9em;
	align-items: baseline;
	padding-block: 0.7em;
	border-block-end: 1px solid var(--wp--preset--color--gray-light, #e7e9ec);
}

.tankobu-news__date {
	flex: 0 0 auto;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
	font-variant-numeric: tabular-nums;
}

.tankobu-news__source {
	font-size: 0.8em;
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

/* ── 受賞・助成 ── */

.tankobu-award {
	margin-block-end: var(--wp--preset--spacing--40, 1.5rem);
}

.tankobu-award > p {
	margin-block: 0;
}

.tankobu-award__title {
	font-weight: 500;
	line-height: 1.6;
}

.tankobu-award__note {
	margin-block-start: 0.3em;
	font-size: 0.82em;
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

.tankobu-award__note p {
	margin-block: 0.2em;
}

.tankobu-empty {
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

/* ── 配信回 ── */

.tankobu-episode {
	padding-block: var(--wp--preset--spacing--40, 1.5rem);
	border-block-end: 1px solid var(--wp--preset--color--gray-light, #e7e9ec);
}

.tankobu-episode > p {
	margin-block: 0;
}

.tankobu-episode__head {
	display: flex;
	gap: 0.8em;
	align-items: baseline;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
}

.tankobu-episode__number {
	font-weight: 700;
	color: var(--wp--preset--color--accent, #17335e);
	font-variant-numeric: tabular-nums;
}

.tankobu-episode__title {
	margin-block: 0.25em !important;
	font-weight: 500;
	line-height: 1.6;
}

.tankobu-episode__excerpt,
.tankobu-episode__guest,
.tankobu-episode__links {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--gray-mid, #6b7280);
	line-height: 1.7;
}

.tankobu-spotify-embed {
	display: block;
	max-width: 100%;
	margin-block: var(--wp--preset--spacing--40, 1.5rem);
	border: 0;
}

/* ==========================================================================
   目次（tankobu/toc）
   ========================================================================== */

.tankobu-toc {
	margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--gray-light);
	border-radius: 0.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.tankobu-toc__title {
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.tankobu-toc__list {
	margin-block: var(--wp--preset--spacing--20) 0;
	padding-left: 1.4em;
	line-height: 1.8;
}

.tankobu-toc__sublist {
	padding-left: 1.4em;
	list-style-type: lower-roman;
}

.tankobu-toc__item a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.tankobu-toc__item a:hover,
.tankobu-toc__item a:focus {
	text-decoration: underline;
}

/* ==========================================================================
   お知らせの出典（tankobu/news-source）
   ========================================================================== */

.tankobu-news-source {
	margin-block: 0.3rem 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--gray-mid);
}

.tankobu-news-source a {
	color: var(--wp--preset--color--gray-mid);
}

/* ==========================================================================
   配信回のプレーヤー（tankobu/episode-player）
   ========================================================================== */

.tankobu-episode-player {
	margin-block: var(--wp--preset--spacing--40);
}

.tankobu-episode-player .tankobu-spotify-embed {
	border-radius: 12px;
	display: block;
	width: 100%;
	max-width: 100%;
}

.tankobu-episode-player__links {
	margin-block: var(--wp--preset--spacing--20) 0;
	font-size: var(--wp--preset--font-size--small);
}
