/**
 * 47-val.css — V.aL（作家紹介映像）表示
 * 層: al（aL固有・移植不可）
 * 対象: parts経由 single-al_artist.php > al_artist_render_val()
 * 注意: 縦横比はJS/HTMLでなくCSSで固定。ショート=9:16 / フル=16:9。
 *       サムネは横長hqdefaultをobject-fit:coverで枠に合わせる。
 */
/* ---- 見出し直下の全体ブロック ---- */
.lr-val {
	margin-block: var(--lr-space-lg);
}
/* ---- 左右レイアウト（モバイル=縦積み） ---- */
.lr-val__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--lr-space-md);
	margin-block-start: var(--lr-space-md);
}
/* タブレット以上: フル(左・広) + ショート(右・狭) の2カラム */
@media (min-width: 600px) {
	.lr-val__layout {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		align-items: start;
	}
}
/* ---- カラム見出し ---- */
.lr-val__label {
	margin-block-end: var(--lr-space-xs);
	color: var(--lr-text);
	font-weight: var(--lr-weight-bold);
}
/* ---- トラック（1本=単体 / 複数=横スクロールスナップ） ---- */
.lr-val__track {
	display: flex;
	gap: var(--lr-space-sm);
}
.lr-val__track[data-slider="1"] {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	padding-block-end: var(--lr-space-xs);
}
.lr-val__track[data-slider="1"] .lr-val__item {
	scroll-snap-align: start;
}
/* ---- 動画アイテム（ボタン） ---- */
.lr-val__item {
	flex: 0 0 auto;
	display: block;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	text-align: start;
}
/* フルカラムは1本を幅いっぱいに */
.lr-val__col[data-kind="full"] .lr-val__item {
	flex-basis: 100%;
}
/* ---- サムネ枠（縦横比をkindで固定） ---- */
.lr-val__frame {
	position: relative;
	display: block;
	overflow: hidden;
	background-color: var(--lr-text);
	border-radius: var(--lr-radius);
}
.lr-val__col[data-kind="full"] .lr-val__frame {
	aspect-ratio: 16 / 9;
}
/* ショートは縦型。フル基準の高さに合わせるため、幅を絞る */
.lr-val__col[data-kind="short"] .lr-val__frame {
	aspect-ratio: 9 / 16;
	width: 160px;
	max-width: 45vw;
}
.lr-val__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* ---- 再生ボタン（三角） ---- */
.lr-val__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.55);
}
.lr-val__play::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 16px;
	border-color: transparent transparent transparent var(--lr-white);
	transform: translateX(2px);
}
.lr-val__item:hover .lr-val__play,
.lr-val__item:focus-visible .lr-val__play {
	background-color: var(--lr-accent);
}
/* ---- タイトル ---- */
.lr-val__title {
	display: block;
	margin-block-start: var(--lr-space-xs);
	color: var(--lr-text);
	line-height: var(--lr-leading-tight);
}
/* ---- 再生中（iframe差し込み後） ---- */
.lr-val__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}