/* Verified product photos and neutral placeholders; existing layout stays intact. */
.photo-coming-soon,
.photo-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 12px;
  background: #f7f7f7;
  color: #626a73;
  text-align: center;
  font-size: 12px;
  line-height: 1.3;
}
.photo-placeholder strong { font-size: 14px; font-weight: 700; }
.photo-placeholder small { font-size: 12px; }
.store-hero-main .photo-coming-soon { font-size: 15px; }
.store-hero-mini .photo-coming-soon,
.hero-category-photo .photo-coming-soon { font-size: 10px; }
.product-art:has(.photo-placeholder)::before { display: none; }
.product-art .photo-placeholder { position: relative; }
.product-spec-line { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.detail-info .product-spec-line { margin: -12px 0 20px; font-size: 14px; }
.add-button:disabled,
.detail-add:disabled { opacity: .55; cursor: not-allowed; }
.detail-main-image { position: relative; }
.detail-main-image .photo-placeholder { font-size: 16px; }
.detail-main-image .photo-placeholder strong { font-size: 20px; }
.detail-zoom { display: block; width: 100%; height: 100%; border: 0; background: #fff; cursor: zoom-in; }
.detail-zoom img { width: 100%; height: 100%; }
.detail-photo-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 44px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--blue-ink); font-size: 30px; cursor: pointer; }
.detail-photo-arrow.previous { left: 8px; }
.detail-photo-arrow.next { right: 8px; }
.detail-photo-arrow:focus-visible,
.detail-zoom:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.cart-photo-pending { padding: 4px; text-align: center; font-size: 9px; line-height: 1.2; }
.photo-lightbox { position: fixed; width: min(96vw, 950px); max-height: 96vh; padding: 50px 14px 14px; border: 0; border-radius: 14px; background: #fff; }
.photo-lightbox::backdrop { background: rgba(0,0,0,.75); }
.photo-lightbox[open] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.photo-lightbox img { display: block; width: min(78vw, 780px); height: min(78vh, 780px); object-fit: contain; }
.photo-lightbox img { max-width: 100%; max-height: 100%; object-position: center; padding: 2%; background: #fff; transform: none; }
.photo-lightbox button { flex: none; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--blue-ink); cursor: pointer; }
.photo-lightbox-arrow { width: 34px; height: 44px; font-size: 28px; }
.photo-lightbox-close { position: absolute; right: 12px; top: 10px; width: 32px; height: 32px; font-size: 24px; }
@media(max-width:700px) {
  .photo-lightbox { width: 100vw; max-height: 100vh; border-radius: 0; }
  .photo-lightbox img { width: min(72vw, 650px); height: 75vh; }
}
