/* 画像と PHOTO NEEDED プレースホルダー */
.lw-photo {
	position: relative;
	display: block;
	aspect-ratio: var(--lw-ratio, 4 / 5);
	overflow: hidden;
	background: var(--lw-grad-placeholder);
}

.lw-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--lw-focus, center);
}

/* プレースホルダー（文字は text 色: #4A403C 上で 8.8:1。半透明の白は使わない） */
.lw-photo--ph {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px;
	text-align: center;
}

.lw-photo__needed {
	font-family: var(--lw-font-en);
	font-size: var(--lw-fs-micro);
	letter-spacing: 0.24em;
	color: var(--lw-text);
}

.lw-photo__label {
	font-family: var(--lw-font-en);
	font-size: var(--lw-fs-eyebrow);
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--lw-text);
}

.lw-photo__spec {
	font-size: var(--lw-fs-micro);
	letter-spacing: 0.08em;
	color: var(--lw-accent-pale);
}

/* 本番で必須スロットが未設定のとき（文字なしの暗い枠） */
.lw-photo--blank {
	background: rgba(var(--lw-text-rgb), 0.07);
}

/* 仮画像（提供画像の候補を仮表示）。ラベルはローカル・ステージング、またはログイン中の編集者以上にだけ表示 */
.lw-photo__prov {
	display: none;
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 4;
	padding: 3px 8px;
	background: rgba(10, 10, 10, 0.8);
	border: 1px solid var(--lw-accent-pale);
	color: var(--lw-text);
	font-family: var(--lw-font-en);
	font-size: var(--lw-fs-micro);
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.lw-show-provisional .lw-photo__prov {
	display: inline-block;
}
