/* 公共白色图文卡片：默认完整显示照片，--cover 用于居中裁切预览。 */
.photo-card-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: var(--spacing-lg); align-items: stretch; }
.photo-card { box-sizing: border-box; min-width: 0; margin: 0; padding: var(--spacing-md); border: 1px solid var(--color-border); background: var(--color-white); }
.photo-card__period { margin: 0 0 var(--spacing-md); font-size: var(--fs-small); font-weight: 600; color: var(--color-text); }
.photo-card__trigger { position: relative; display: block; width: 100%; padding: 0; border: 0; aspect-ratio: 4 / 3; background: var(--color-bg-alt); cursor: zoom-in; }
.photo-card__trigger:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
.photo-card__trigger[hidden] { display: none; }
.photo-card__trigger img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.photo-card--cover .photo-card__trigger img { object-fit: cover; }
.photo-card figcaption { margin-top: var(--spacing-md); font-size: var(--fs-small); color: var(--color-text-secondary); line-height: 1.8; }
.photo-card figcaption strong { display: block; color: var(--color-text); margin-bottom: var(--spacing-xs); }
.photo-card__error { display: none; margin: 0; padding: var(--spacing-lg); color: var(--color-text-secondary); line-height: 1.8; }
.photo-card.is-image-missing .photo-card__error { display: block; }
@media (max-width: 767px) {
  .photo-card-pair { grid-template-columns: minmax(0, 1fr); }
  .photo-card { padding: var(--spacing-sm); }
}
