/* ==========================================================================
   PWP Print Studio – Artwork Gallery  [pwpps_artwork_gallery]
   ========================================================================== */

.pwpps-artwork-gallery {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  gap: var(--space-4, 16px);
  font-family: var(--font-family-base, "Inter", sans-serif);
}

.pwpps-artwork-gallery *,
.pwpps-artwork-gallery *::before,
.pwpps-artwork-gallery *::after {
  box-sizing: inherit;
}

/* Main Image Wrap */
.pwpps-artwork-gallery__main-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  /* background: var(--color-bg-page, #fafaf8); */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  border: none;
}

.pwpps-artwork-gallery__main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity var(--motion-fast) var(--ease-out);
}

/* Counter Badge */
.pwpps-artwork-gallery__counter {
  position: absolute;
  top: var(--space-6, 24px);
  right: var(--space-6, 24px);
  background: var(--color-primary-white, #ffffff);
  color: var(--color-primary-black, #141414);
  padding: 4px 12px;
  border-radius: var(--radius-pill, 100px);
  font-size: var(--font-size-12);
  font-weight: var(--font-weight-label);
  letter-spacing: var(--tracking-loose-0-3, 0.3px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(20, 20, 20, 0.04));
  border: 1px solid var(--color-neutral-200, #e6e6e6);
  z-index: 2;
}

/* Thumbnails Container */
.pwpps-artwork-gallery__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3, 12px);
  width: 100%;
}

/* Thumbnail Button */
.pwpps-artwork-gallery__thumb-btn {
  flex: 0 0 calc((100% - (var(--space-3, 12px) * 4)) / 5);
  width: calc((100% - (var(--space-3, 12px) * 4)) / 5);
  background: var(--color-bg-page, #fafaf8);
  border: 1px solid transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color var(--motion-fast) var(--ease-out), opacity var(--motion-fast) var(--ease-out);
  opacity: 0.6;
}

.pwpps-artwork-gallery__thumb-btn:hover,
.pwpps-artwork-gallery__thumb-btn:focus-visible {
  opacity: 0.9;
  outline: none;
}

.pwpps-artwork-gallery__thumb-btn.is-active {
  border-color: var(--color-primary-black, #141414);
  opacity: 1;
}

.pwpps-artwork-gallery__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Empty State */
.pwpps-artwork-gallery--empty {
  aspect-ratio: 1 / 1;
  background: var(--color-neutral-100, #f5f5f5);
  border: 1px dashed var(--color-neutral-300, #cccccc);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pwpps-artwork-gallery__placeholder {
  width: 48px;
  height: 48px;
  opacity: 0.3;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg>')
    no-repeat center;
  background-size: contain;
}

/* ---------- Responsive ---------- */

@media (max-width: 1023px) {
  .pwpps-artwork-gallery {
    gap: var(--space-3, 12px);
  }

  .pwpps-artwork-gallery__thumbs {
    gap: var(--space-2, 8px);
  }

  .pwpps-artwork-gallery__thumb-btn {
    flex: 0 0 calc((100% - (var(--space-2, 8px) * 4)) / 5);
    width: calc((100% - (var(--space-2, 8px) * 4)) / 5);
  }
}
