body.felt-gallery {
  --gold: #d7252a;
  --gold-soft: #98171c;
  --green: #0b6f63;
  background:
    radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(215, 37, 42, 0.13), transparent 28vw),
    linear-gradient(90deg, rgba(26, 26, 26, 0.045) 0 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(0deg, rgba(26, 26, 26, 0.035) 0 1px, transparent 1px) 0 0 / 96px 96px,
    #fbfbfa;
}

body.felt-gallery::before {
  background:
    linear-gradient(115deg, transparent 0 47%, rgba(215, 37, 42, 0.12) 47.2% 47.5%, transparent 47.8% 100%),
    radial-gradient(circle at 74% 12%, rgba(215, 37, 42, 0.1), transparent 34%),
    #fbfbfa;
}

.felt-gallery .top-nav {
  color: #f7f7f4;
}

.felt-gallery .hero {
  grid-template-columns: minmax(0, 0.98fr) minmax(440px, 1.02fr);
  background: #f9f9f6;
}

.felt-gallery .felt-hero-photo {
  position: absolute;
  inset: 0 0 0 42%;
  z-index: -1;
  display: grid;
  place-items: center;
  opacity: 0.98;
  pointer-events: none;
}

.felt-gallery .felt-hero-photo img {
  width: min(58vw, 940px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 56px 35px rgba(0, 0, 0, 0.16));
  transform: translateX(2vw) scale(1.08);
}

.felt-gallery .hero-overlay {
  background:
    linear-gradient(90deg, rgba(251, 251, 250, 0.98) 0 43%, rgba(251, 251, 250, 0.62) 59%, rgba(251, 251, 250, 0.16) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), transparent 42%);
}

.felt-gallery .hero-title {
  color: #141414;
}

.felt-gallery .badge-dot,
.felt-gallery .nav-action,
.felt-gallery .primary-button,
.felt-gallery .hero-pill.is-active,
.felt-gallery .featured-card strong,
.felt-gallery .promo-price {
  color: #fff;
  background: #d7252a;
}

.felt-gallery .hero-pill.is-active {
  border-color: rgba(215, 37, 42, 0.48);
}

.felt-gallery .featured-card strong,
.felt-gallery .promo-price {
  background: transparent;
  color: #d7252a;
}

.felt-gallery .product-card {
  min-height: 742px;
}

.felt-gallery .felt-product-media {
  display: grid;
  min-height: 286px !important;
  height: clamp(286px, 18vw, 340px) !important;
  margin: -8px -8px 12px !important;
  padding: 22px 18px 14px !important;
  overflow: hidden !important;
  place-items: center !important;
  box-sizing: border-box;
  background:
    radial-gradient(ellipse at 50% 78%, rgba(0, 0, 0, 0.12), transparent 35%),
    linear-gradient(180deg, #fff 0%, #f5f5f1 100%) !important;
}

body.felt-gallery .product-card[data-sku] .felt-product-media img,
body.felt-gallery .product-card:nth-child(1) .felt-product-media img,
body.felt-gallery .felt-product-media img {
  width: 92% !important;
  max-width: 92% !important;
  height: auto !important;
  max-height: 232px !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: drop-shadow(0 34px 22px rgba(0, 0, 0, 0.12)) !important;
}

.felt-gallery .sku span:first-child {
  color: #252525;
}

.felt-availability {
  display: grid;
  grid-template-columns: 0.38fr 1fr;
  gap: 10px;
  margin: 16px 0 10px;
}

.felt-availability div {
  min-height: 66px;
  padding: 12px;
  border: 1px solid rgba(26, 26, 26, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.felt-availability span,
.felt-store-line {
  color: #777;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.felt-availability strong {
  display: block;
  margin-top: 4px;
  color: #1a1a1a;
  font-size: clamp(16px, 1.2vw, 22px);
  line-height: 1.1;
}

.felt-store-line {
  min-height: 32px;
  margin: 0 0 10px;
  color: #3a3a3a;
  text-transform: none;
  letter-spacing: 0;
}

.felt-gallery .detail-button:hover,
.felt-gallery .copy-button:hover,
.felt-gallery .nav-action:hover {
  border-color: rgba(215, 37, 42, 0.42);
  background: #d7252a;
  color: #fff;
}

.felt-gallery .detail-kicker,
.felt-gallery .detail-media-section span,
.felt-gallery .detail-panel > span,
.felt-gallery .detail-price strong {
  color: #d7252a;
}

.felt-detail-media img {
  transform: scale(1.08);
}

.felt-detail-stock {
  grid-template-columns: 0.42fr 1fr;
}

.felt-detail-stock div:last-of-type strong {
  font-size: clamp(18px, 1.55vw, 30px);
}

.felt-spec-section {
  grid-template-columns: minmax(320px, 0.7fr) minmax(520px, 1fr);
}

@media (max-width: 980px) {
  .felt-gallery .felt-hero-photo {
    inset: 38% 0 0;
    opacity: 0.26;
  }

  .felt-gallery .felt-hero-photo img {
    width: min(112vw, 920px);
    transform: translateX(14vw) scale(1.2);
  }

  .felt-gallery .hero-overlay {
    background: linear-gradient(180deg, rgba(251, 251, 250, 0.98) 0 58%, rgba(251, 251, 250, 0.72) 100%);
  }
}

@media (max-width: 560px) {
  .felt-gallery .product-card {
    min-height: 704px !important;
  }

  body.felt-gallery .product-card[data-sku] .felt-product-media img,
  body.felt-gallery .product-card:nth-child(1) .felt-product-media img,
  body.felt-gallery .felt-product-media img {
    width: 94% !important;
    max-width: 94% !important;
    max-height: 218px !important;
  }

  .felt-availability {
    grid-template-columns: 1fr;
  }
}
