.theme-family-gallery {
  --v2-family-grid-gap: clamp(16px, 2vw, 26px);
  --v2-family-card-radius: 24px;
  --v2-family-hero-min: 560px;
}

.theme-family-gallery .v2-header {
  background: color-mix(in srgb, var(--v2-bg) 94%, transparent);
}

.theme-family-gallery .v2-home-hero__grid,
.theme-family-gallery .v2-hero__grid,
.theme-family-gallery .v2-product {
  gap: var(--v2-family-grid-gap);
}

.theme-family-gallery .v2-product-grid,
.theme-family-gallery .v2-category-grid,
.theme-family-gallery .v2-news-grid,
.theme-family-gallery .v2-promo-grid {
  gap: var(--v2-family-grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.theme-family-gallery .v2-hero__copy,
.theme-family-gallery .v2-home-hero__promo {
  min-height: var(--v2-family-hero-min);
}

.theme-family-gallery .v2-product-card,
.theme-family-gallery .v2-category-tile,
.theme-family-gallery .v2-panel,
.theme-family-gallery .v2-filter-panel,
.theme-family-gallery .v2-product__summary,
.theme-family-gallery .v2-gallery,
.theme-family-gallery .v2-key-specs {
  border-radius: var(--v2-family-card-radius);
}

.theme-family-gallery .v2-product-card h3,
.theme-family-gallery .v2-catalog-head h1,
.theme-family-gallery .v2-product h1 {
  overflow-wrap: anywhere;
}

.theme-family-gallery .v2-product-card__media {
  aspect-ratio: 4 / 5;
}

.theme-family-gallery .v2-product-card__body {
  gap: 12px;
}

.theme-family-gallery .v2-catalog-layout--marketplace {
  grid-template-columns: 240px minmax(0, 1fr);
}

.theme-jewelry_minimal.theme-family-gallery {
  --v2-family-grid-gap: clamp(20px, 2.5vw, 34px);
  --v2-family-card-radius: 28px;
  --v2-family-hero-min: 610px;
}

.theme-jewelry_minimal.theme-family-gallery .v2-home-hero__grid,
.theme-jewelry_minimal.theme-family-gallery .v2-hero__grid {
  grid-template-columns: minmax(0, 0.78fr) minmax(320px, 1fr);
  align-items: stretch;
}

.theme-jewelry_minimal.theme-family-gallery .v2-hero__copy {
  align-content: center;
  border: 1px solid var(--v2-line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(250, 247, 242, 0.78)),
    url("/static/img/storefront-hero.png") center / cover;
  color: var(--v2-ink);
}

.theme-jewelry_minimal.theme-family-gallery .v2-hero__copy .v2-eyebrow,
.theme-jewelry_minimal.theme-family-gallery .v2-hero__copy p {
  color: var(--v2-muted);
}

.theme-jewelry_minimal.theme-family-gallery .v2-hero__facts span {
  border-color: var(--v2-line);
  background: rgba(255, 255, 255, 0.82);
  color: var(--v2-accent-dark);
}

.theme-jewelry_minimal.theme-family-gallery .v2-home-hero__promo {
  align-content: end;
  border-radius: 36px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.92)),
    url("/static/img/products/demo-labret.png") center 14% / min(78%, 420px) no-repeat,
    var(--v2-card);
}

.theme-jewelry_minimal.theme-family-gallery .v2-product-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.theme-jewelry_minimal.theme-family-gallery .v2-product-card {
  display: grid;
  background: var(--v2-card);
}

.theme-jewelry_minimal.theme-family-gallery .v2-product-card__media {
  aspect-ratio: 3 / 4;
}

.theme-jewelry_minimal.theme-family-gallery .v2-product-card__body {
  padding: 20px;
}

.theme-jewelry_minimal.theme-family-gallery .v2-product-card__tags span,
.theme-jewelry_minimal.theme-family-gallery .v2-product-card__signals span,
.theme-jewelry_minimal.theme-family-gallery .v2-category-row a,
.theme-jewelry_minimal.theme-family-gallery .v2-chip-row a {
  background: var(--v2-soft);
  color: var(--v2-accent-dark);
}

.theme-jewelry_minimal.theme-family-gallery .v2-catalog-head {
  grid-template-columns: minmax(0, 0.86fr) minmax(320px, 0.78fr);
}

.theme-jewelry_minimal.theme-family-gallery .v2-product {
  grid-template-columns: minmax(0, 0.82fr) minmax(320px, 0.62fr);
}

.theme-jewelry_minimal.theme-family-gallery .v2-gallery .product-gallery__stage {
  min-height: 640px;
}

.theme-dark_premium,
.theme-mode-dark {
  color-scheme: dark;
}

.theme-dark_premium.theme-family-gallery {
  --v2-family-grid-gap: clamp(18px, 2.2vw, 30px);
  --v2-family-card-radius: 22px;
  --v2-family-hero-min: 620px;
  --v2-focus-ring: #facc15;
}

.theme-dark_premium .v2-service,
.theme-mode-dark .v2-service {
  background: #000000;
  color: #f6f3ee;
}

.theme-dark_premium .v2-header {
  background: rgba(16, 17, 18, 0.94);
}

.theme-dark_premium .v2-home-hero__grid,
.theme-dark_premium .v2-hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.88fr);
  align-items: stretch;
}

.theme-dark_premium .v2-hero__copy {
  background:
    linear-gradient(120deg, rgba(0, 0, 0, 0.78), rgba(24, 26, 29, 0.72)),
    url("/static/img/storefront-hero.png") center / cover;
  color: #f6f3ee;
}

.theme-dark_premium .v2-hero__copy .v2-eyebrow,
.theme-dark_premium .v2-hero__copy p {
  color: #e6ddd1;
}

.theme-dark_premium .v2-home-hero__promo {
  align-content: end;
  background:
    linear-gradient(180deg, rgba(16, 17, 18, 0.04), rgba(16, 17, 18, 0.94)),
    url("/static/img/products/demo-labret.png") center 12% / min(82%, 430px) no-repeat,
    #181a1d;
}

.theme-dark_premium .v2-card,
.theme-dark_premium .v2-product-card,
.theme-dark_premium .v2-category-tile,
.theme-dark_premium .v2-panel,
.theme-dark_premium .v2-filter-panel,
.theme-dark_premium .v2-product__summary,
.theme-dark_premium .v2-gallery,
.theme-dark_premium .v2-key-specs,
.theme-dark_premium .v2-product-tabs details,
.theme-dark_premium .v2-review-grid article,
.theme-dark_premium .v2-empty,
.theme-dark_premium .v2-footer,
.theme-mode-dark .v2-footer {
  border-color: #2b2d30;
  background: #181a1d;
  color: #f6f3ee;
}

.theme-dark_premium .v2-product-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.theme-dark_premium .v2-product-card {
  display: grid;
}

.theme-dark_premium .v2-product-card__media {
  aspect-ratio: 3 / 4;
  background: #202328;
}

.theme-dark_premium .v2-product-card__body {
  gap: 14px;
  padding: 18px;
}

.theme-dark_premium .v2-catalog-head {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.7fr);
}

.theme-dark_premium .v2-product {
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 0.72fr);
}

.theme-dark_premium .v2-gallery .product-gallery__stage {
  min-height: 620px;
  background: #111315;
}

.theme-dark_premium .v2-button--light,
.theme-dark_premium .v2-catalog-button,
.theme-dark_premium .v2-category-nav a,
.theme-dark_premium .v2-category-row a,
.theme-dark_premium .v2-chip-row a,
.theme-dark_premium .v2-catalog-head__badges span,
.theme-dark_premium .v2-bottom-nav,
.theme-mode-dark .v2-bottom-nav {
  border-color: #3b3e44;
  background: #202328;
  color: #f6f3ee;
}

.theme-dark_premium .v2-button,
.theme-dark_premium .v2-add-to-cart button,
.theme-dark_premium .v2-sticky-buy button,
.theme-dark_premium .v2-quick-buy__actions button {
  background: #d6a85a;
  color: #101112;
}

.theme-dark_premium .v2-quick-buy__actions button[value="buy_now"] {
  border-color: #d6a85a;
  background: transparent;
  color: #f6f3ee;
}

.theme-dark_premium .v2-search input,
.theme-dark_premium .v2-catalog-search input,
.theme-dark_premium .v2-catalog-search select,
.theme-dark_premium .v2-filter-panel input,
.theme-dark_premium .v2-filter-panel select,
.theme-dark_premium .v2-add-to-cart input,
.theme-dark_premium .v2-quick-buy select {
  border-color: #3b3e44;
  background: #101112;
  color: #f6f3ee;
}

.theme-dark_premium .v2-product-card__tags span,
.theme-dark_premium .v2-product-card__signals span,
.theme-dark_premium .v2-delivery-mini article,
.theme-dark_premium .v2-quick-buy__unavailable {
  background: #202328;
  color: #f6f3ee;
}

.theme-dark_premium .v2-stock--in-stock {
  background: #123c2a;
  color: #dcfce7;
}

.theme-dark_premium .v2-stock--limited {
  background: #4a3008;
  color: #fde68a;
}

.theme-dark_premium .v2-stock--request {
  background: #2a2f38;
  color: #e5e7eb;
}

.theme-dark_premium .v2-notice {
  background: #2d2314;
  color: #ffe8b5;
}

.theme-dark_premium .v2-favorite,
.theme-dark_premium .v2-variant {
  border-color: #3b3e44;
  background: #202328;
  color: #f6f3ee;
}

.theme-dark_premium .v2-favorite--active {
  border-color: #d96c5f;
  background: #d96c5f;
  color: #101112;
}

.theme-dark_premium :where(a, button, input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary):focus-visible {
  outline-color: #facc15;
}

.theme-family-gallery .v2-home-hero__grid.v2-home-hero__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
  .theme-family-gallery .v2-catalog-layout--marketplace,
  .theme-family-gallery .v2-home-hero__grid,
  .theme-family-gallery .v2-hero__grid,
  .theme-family-gallery .v2-product,
  .theme-jewelry_minimal.theme-family-gallery .v2-home-hero__grid,
  .theme-jewelry_minimal.theme-family-gallery .v2-hero__grid,
  .theme-jewelry_minimal.theme-family-gallery .v2-product,
  .theme-jewelry_minimal.theme-family-gallery .v2-catalog-head,
  .theme-dark_premium .v2-catalog-head {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-family-gallery .v2-hero__copy,
  .theme-family-gallery .v2-home-hero__promo {
    min-height: 390px;
  }

  .theme-family-gallery .v2-gallery .product-gallery__stage {
    min-height: 460px;
  }
}

@media (max-width: 520px) {
  .theme-family-gallery .v2-product-grid,
  .theme-family-gallery .v2-category-grid,
  .theme-family-gallery .v2-news-grid,
  .theme-family-gallery .v2-promo-grid,
  .theme-jewelry_minimal.theme-family-gallery .v2-product-grid,
  .theme-dark_premium .v2-product-grid,
  .theme-family-gallery .v2-quick-buy__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-family-gallery .v2-hero__copy,
  .theme-family-gallery .v2-home-hero__promo,
  .theme-family-gallery .v2-gallery .product-gallery__stage {
    min-height: 320px;
  }

  .theme-jewelry_minimal.theme-family-gallery .v2-hero__copy {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.94)),
      url("/static/img/storefront-hero.png") center / cover;
  }

  .theme-dark_premium .v2-hero__copy {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.86), rgba(24, 26, 29, 0.88)),
      url("/static/img/storefront-hero.png") center / cover;
  }
}
