/* Del Monaco LIVE V119
   Scope: product-page hero + gallery only.
   Goal: exactly 4 approved images per product page (1 hero + 3 gallery), fully responsive,
   and a premium non-leather hero background. */

body.product-detail-page.dm-live-v119-product-pages {
  --dm-v119-gold: #d9ad43;
  --dm-v119-gold-soft: rgba(217, 173, 67, .24);
  --dm-v119-ivory: rgba(255, 248, 230, .92);
  --dm-v119-panel: rgba(10, 14, 12, .74);
  --dm-v119-border: rgba(255, 232, 186, .18);
}

body.product-detail-page.dm-live-v119-product-pages .v96-product-hero {
  position: relative;
  overflow: hidden;
  min-height: auto;
  padding-top: clamp(46px, 6vw, 86px);
  padding-bottom: clamp(32px, 5vw, 72px);
  background:
    radial-gradient(circle at 16% 16%, rgba(226, 188, 106, .18), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(255, 255, 255, .07), transparent 20%),
    radial-gradient(circle at 50% 110%, rgba(167, 132, 72, .16), transparent 26%),
    linear-gradient(135deg, #0f1412 0%, #171d19 40%, #0b0e0d 100%);
}

body.product-detail-page.dm-live-v119-product-pages .v96-product-hero::before,
body.product-detail-page.dm-live-v119-product-pages .v96-product-hero::after {
  content: "";
  position: absolute;
  inset: auto;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
  filter: blur(2px);
}

body.product-detail-page.dm-live-v119-product-pages .v96-product-hero::before {
  width: clamp(280px, 34vw, 560px);
  height: clamp(280px, 34vw, 560px);
  left: -8%;
  top: -18%;
  background: radial-gradient(circle, rgba(255,255,255,.06), transparent 68%);
}

body.product-detail-page.dm-live-v119-product-pages .v96-product-hero::after {
  width: clamp(260px, 28vw, 480px);
  height: clamp(260px, 28vw, 480px);
  right: -8%;
  bottom: -24%;
  background: radial-gradient(circle, rgba(217,173,67,.12), transparent 68%);
}

body.product-detail-page.dm-live-v119-product-pages .v96-product-hero > * {
  position: relative;
  z-index: 1;
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-grid {
  grid-template-columns: minmax(0, .95fr) minmax(390px, .72fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: center;
}

body.product-detail-page.dm-live-v119-product-pages .v96-copy {
  max-width: 760px;
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media {
  width: 100%;
  max-width: 590px;
  justify-self: end;
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media::before {
  inset: -18px;
  border-radius: 38px;
  opacity: .96;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 14%, rgba(217,173,67,.14), transparent 54%),
    linear-gradient(135deg, rgba(9, 14, 12, .88), rgba(18, 23, 20, .68));
  border: 1px solid rgba(255, 234, 194, .10);
  box-shadow: 0 22px 72px rgba(0, 0, 0, .34);
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media figure {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  border-radius: 32px;
  border: 1px solid var(--dm-v119-border);
  background:
    linear-gradient(160deg, rgba(255,255,255,.03), rgba(255,255,255,.008)),
    #0b100e;
  box-shadow:
    0 44px 120px rgba(0, 0, 0, .42),
    0 0 0 1px rgba(255, 244, 205, .05) inset,
    0 1px 0 rgba(255, 247, 221, .18) inset;
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media figure::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 22%),
    linear-gradient(0deg, rgba(0,0,0,.12), transparent 28%);
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: saturate(1.02) contrast(1.015);
}

body.product-detail-page.dm-live-v119-product-pages .v96-hero-media:hover img {
  transform: scale(1.018);
  filter: saturate(1.04) contrast(1.025);
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-strip {
  position: relative;
  padding: clamp(34px, 5vw, 72px) 0 clamp(28px, 4vw, 56px);
  background:
    linear-gradient(180deg, rgba(8,10,9,.96), rgba(12,16,13,.98));
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  align-items: start;
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: 24px;
  border: 1px solid var(--dm-v119-border);
  background:
    radial-gradient(circle at 50% 0%, rgba(217,173,67,.08), transparent 38%),
    #0a0f0d;
  box-shadow:
    0 26px 70px rgba(0,0,0,.34),
    0 1px 0 rgba(255,247,221,.10) inset;
  transition:
    transform .48s cubic-bezier(.2,.72,.2,1),
    border-color .4s ease,
    box-shadow .48s ease;
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 18%),
    linear-gradient(0deg, rgba(0,0,0,.16), transparent 26%);
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  filter: saturate(1.015) contrast(1.01);
  transition:
    transform .8s cubic-bezier(.2,.72,.2,1),
    filter .55s ease;
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure:hover {
  transform: translateY(-7px);
  border-color: rgba(239, 198, 88, .48);
  box-shadow:
    0 38px 90px rgba(0,0,0,.46),
    0 0 36px rgba(217,173,67,.10),
    0 1px 0 rgba(255,247,221,.15) inset;
}

body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure:hover img {
  transform: scale(1.025);
  filter: saturate(1.045) contrast(1.02);
}

@media (max-width: 1180px) {
  body.product-detail-page.dm-live-v119-product-pages .v96-hero-grid {
    grid-template-columns: 1fr;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-hero-media {
    width: min(100%, 650px);
    max-width: 650px;
    justify-self: center;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.product-detail-page.dm-live-v119-product-pages .v96-product-hero {
    padding-top: 30px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-hero-grid {
    gap: 30px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-hero-media::before {
    inset: -12px;
    border-radius: 28px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-hero-media figure {
    border-radius: 22px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure {
    width: 100%;
    border-radius: 20px;
  }

  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure:hover {
    transform: none;
  }
}

@media (max-width: 430px) {
  body.product-detail-page.dm-live-v119-product-pages .v96-hero-media figure,
  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure {
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.product-detail-page.dm-live-v119-product-pages .v96-hero-media img,
  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid figure,
  body.product-detail-page.dm-live-v119-product-pages .v96-gallery-grid img {
    transition: none !important;
    transform: none !important;
  }
}
