.product-page-modern .media-stack-modern {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(15, 61, 48, .12);
}
.media-stage {
  background: #0a0a0a;
  aspect-ratio: 16/9;
  max-height: min(65vh, 600px);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.media-stage video, .media-stage-img, .media-stage img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
}
.pg-thumbs-scroll {
  padding: 12px;
  background: linear-gradient(180deg, #fafcf9, #fff);
  border-top: 1px solid var(--line);
}
.pg-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 4px;
}
.pg-thumb {
  flex: 0 0 76px;
  height: 76px;
  border: 2px solid transparent;
  border-radius: 14px;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  background: #fff;
  scroll-snap-align: start;
  transition: border-color .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.pg-thumb:hover { transform: scale(1.05); }
.pg-thumb.active {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(24, 105, 79, .2);
}
.pg-thumb img { width: 100%; height: 100%; object-fit: cover; }

.proof-row-modern span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.pg-viewer {
  display: none;
  background: linear-gradient(180deg, #0f1f18, #0a1410);
  color: #fff;
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.pg-viewer.open { display: block; }
.pg-viewer-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
}
.pg-zoom { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.pg-zoom input { width: 100px; min-height: auto; accent-color: var(--sun); }
.pg-close {
  border: 0;
  background: rgba(255,255,255,.12);
  color: white;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 22px;
  cursor: pointer;
}
.pg-viewer-body {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 8px;
}
.pg-main {
  overflow: hidden;
  border-radius: 16px;
  background: #000;
  min-height: min(45vh, 400px);
  display: grid;
  place-items: center;
  touch-action: pinch-zoom;
}
.pg-main img {
  max-width: 100%;
  max-height: min(45vh, 400px);
  object-fit: contain;
  transition: transform .15s ease-out;
  cursor: grab;
}
.pg-arrow {
  border: 0;
  background: rgba(255,255,255,.1);
  color: white;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 28px;
  cursor: pointer;
}
.pg-hint { text-align: center; font-size: 12px; opacity: .65; margin: 10px 0 0; }

@media (max-width: 840px) {
  .pg-main { min-height: 280px; }
}
