/* 仅作用于三端预览区，颜色与质感复用老版主题。 */
.product-gallery {
  --gallery-gap: 24px;
  --gallery-space: 16px;
  --gallery-large-space: 48px;
  --gallery-radius: calc(var(--radius) * 1.5);
  --gallery-title: clamp(30px, 3.5vw, 44px);
  --gallery-body: 16px;
  --gallery-small: 13px;
  --gallery-control: 44px;
  background: var(--bg-soft);
  scroll-margin-top: 72px;
}
.gallery-heading { margin-bottom: var(--gallery-large-space); }
.gallery-eyebrow { display: block; color: var(--green-dark); font-weight: 700; letter-spacing: 2px; margin-bottom: var(--gallery-gap); }
.gallery-eyebrow::before { content: '●'; margin-right: var(--gallery-space); color: var(--green); }
.gallery-heading h2 { font-size: var(--gallery-title); line-height: 1.3; letter-spacing: -1px; }
.gallery-heading p { margin-top: var(--gallery-space); color: var(--gray); font-size: var(--gallery-body); }
.gallery-tabs { display: inline-flex; flex-wrap: wrap; gap: 8px; max-width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); }
.gallery-tabs button { padding: var(--gallery-space) var(--gallery-gap); border: 0; border-radius: var(--radius-sm); font: inherit; font-weight: 600; color: var(--gray); background: transparent; cursor: pointer; min-height: var(--gallery-control); }
.gallery-tabs [aria-selected="true"] { color: var(--bg); background: var(--green-dark); }
.gallery-panel[hidden] { display: none; }
.gallery-audience { margin: var(--gallery-gap) 0; color: var(--gray); font-size: var(--gallery-body); }
.gallery-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--gallery-gap)) / 3); gap: var(--gallery-gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--line) transparent; padding-bottom: var(--gallery-space); }
.gallery-rail-pc { grid-auto-columns: 100%; }
.gallery-shot { min-width: 0; scroll-snap-align: start; }
.gallery-image { display: block; border: 1px solid var(--line); border-radius: var(--gallery-radius); overflow: hidden; background: var(--bg); }
.gallery-image img { width: 100%; aspect-ratio: 9 / 20; object-fit: contain; }
.gallery-rail-pc .gallery-image { border-radius: var(--radius); }
.gallery-rail-pc img { aspect-ratio: 16 / 9; }
.gallery-shot figcaption { padding-top: var(--gallery-gap); }
.gallery-caption-title { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.gallery-caption-title h3 { font-size: 18px; color: var(--ink); }
.gallery-caption-title span { font-size: var(--gallery-small); color: var(--gray); }
.gallery-shot figcaption p { font-size: var(--gallery-body); color: var(--gray); margin-top: 8px; }
.gallery-controls { display: flex; justify-content: space-between; align-items: center; margin-top: var(--gallery-gap); }
.gallery-controls > div { display: flex; gap: 8px; }
.gallery-controls button { width: var(--gallery-control); height: var(--gallery-control); border: 1px solid var(--line); border-radius: 50%; background: var(--bg); color: var(--green-dark); font-size: 24px; cursor: pointer; }
.gallery-controls button:disabled { color: var(--gray); background: var(--bg-soft); cursor: default; }
.gallery-position, .gallery-note { font-size: var(--gallery-small); color: var(--gray); }
.gallery-note { margin-top: var(--gallery-gap); }
.product-gallery :focus-visible { outline: 2px solid var(--green-dark); outline-offset: 3px; }
@media(max-width:980px) { .gallery-rail { grid-auto-columns: calc((100% - var(--gallery-gap)) / 2); } .gallery-rail-pc { grid-auto-columns: 100%; } }
@media(max-width:560px) {
  .product-gallery { --gallery-gap: 16px; --gallery-large-space: 32px; }
  .gallery-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 4px; padding: 4px; }
  .gallery-tabs button { font-size: var(--gallery-small); padding: 8px 4px; }
  .gallery-rail { grid-auto-columns: 88%; }
  .gallery-rail-pc { grid-auto-columns: 100%; }
}
