/*
 * DEL MONACO LIVE V122 — Product Layout Repair
 * Scope locked:
 * - compact landing Collections heading with cards visible in the same frame
 * - restore correct product hero structure after V121
 * - remove oversized gaps between hero, olfactive profile and gallery
 * - header, footer, admin, inquiry/database flow remain untouched
 */

:root{
  --dm-v122-gold:#ddb447;
  --dm-v122-gold-soft:#f3d77f;
  --dm-v122-cream:#fff5d8;
  --dm-v122-panel:rgba(8,15,11,.82);
  --dm-v122-line:rgba(226,184,77,.24);
}

/* =========================================================
   LANDING PAGE — COLLECTIONS MUST BE COMPACT AND VISIBLE
   ========================================================= */
#collections{
  min-height:0 !important;
  height:auto !important;
  padding-top:clamp(64px,5.2vw,92px) !important;
  padding-bottom:clamp(72px,6vw,112px) !important;
  scroll-margin-top:104px !important;
}

#collections .section-head,
#collections .dm-v121-collections-heading{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  width:min(100% - 36px, 1320px) !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto clamp(30px,3vw,46px) !important;
  padding:0 !important;
  text-align:center !important;
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}

#collections .section-head > div,
#collections .dm-v121-collections-heading > div{
  width:100% !important;
  text-align:center !important;
}

#collections .section-head .eyebrow,
#collections .dm-v121-collections-heading .eyebrow,
#collections .dm-v121-collections-heading [class*="eyebrow"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  text-align:center !important;
}

#collections .section-head h2,
#collections .dm-v121-collections-heading h2{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:14px auto 0 !important;
  font-size:clamp(2.8rem,4.05vw,4.7rem) !important;
  line-height:.98 !important;
  letter-spacing:-.038em !important;
  text-align:center !important;
  text-wrap:balance !important;
  white-space:nowrap !important;
}

/* Disable the oversized V121 decorative divider. */
#collections .dm-v121-collections-heading::after{
  width:min(220px,44vw) !important;
  margin-top:20px !important;
  transition:none !important;
}

#collections .product-grid,
#collections .product-grid-real-v85{
  position:relative !important;
  z-index:2 !important;
  margin-top:0 !important;
  padding-top:0 !important;
  transform:none !important;
}

/* =========================================================
   PRODUCT PAGES — RESTORE THE REAL V96 STRUCTURE
   ========================================================= */
body.product-detail-page .v96-product-hero,
body.product-detail-page .v96-product-hero.dm-v121-product-hero{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:clamp(54px,5.5vw,86px) 0 clamp(42px,4.6vw,72px) !important;
  overflow:hidden !important;
}

body.product-detail-page .v96-product-hero > .v96-hero-grid,
body.product-detail-page .v96-hero-grid{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(420px,.80fr) !important;
  align-items:center !important;
  gap:clamp(40px,5vw,82px) !important;
  width:min(calc(100% - clamp(40px,6vw,104px)),1540px) !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
}

body.product-detail-page .v96-copy,
body.product-detail-page .v96-copy.dm-v121-product-copy{
  position:relative !important;
  align-self:center !important;
  width:100% !important;
  max-width:760px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:clamp(28px,3.25vw,50px) !important;
  border:1px solid rgba(242,213,139,.13) !important;
  border-radius:clamp(24px,2vw,34px) !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(225,182,76,.075),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),
    rgba(5,12,8,.60) !important;
  box-shadow:0 30px 92px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.065) !important;
  backdrop-filter:blur(12px) !important;
}

body.product-detail-page .v96-copy .v96-kicker{
  margin:0 !important;
}

body.product-detail-page #product-title,
body.product-detail-page .v96-copy h1{
  max-width:10ch !important;
  margin:clamp(15px,1.4vw,22px) 0 0 !important;
  font-size:clamp(3.55rem,5.25vw,5.35rem) !important;
  line-height:.92 !important;
  letter-spacing:-.043em !important;
  text-wrap:balance !important;
}

body.product-detail-page .v96-subtitle{
  margin:clamp(18px,1.7vw,25px) 0 0 !important;
  font-size:clamp(1.08rem,1.35vw,1.38rem) !important;
  line-height:1.25 !important;
}

body.product-detail-page .v96-description{
  width:100% !important;
  max-width:690px !important;
  margin:12px 0 0 !important;
  font-size:clamp(.98rem,1.05vw,1.14rem) !important;
  line-height:1.72 !important;
}

body.product-detail-page .v96-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:9px !important;
  width:100% !important;
  margin:clamp(22px,2vw,30px) 0 clamp(22px,2vw,30px) !important;
}

body.product-detail-page .v96-badges span{
  flex:0 1 auto !important;
  min-height:42px !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  font-size:clamp(.66rem,.72vw,.76rem) !important;
  line-height:1.2 !important;
  letter-spacing:.055em !important;
  white-space:nowrap !important;
}

body.product-detail-page .v96-actions,
body.product-detail-page .v96-actions.dm-v121-product-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  overflow:visible !important;
}

body.product-detail-page .v96-actions .v96-btn{
  box-sizing:border-box !important;
  display:inline-flex !important;
  width:auto !important;
  min-width:220px !important;
  max-width:100% !important;
  min-height:56px !important;
  padding:0 25px !important;
  justify-content:center !important;
  border-radius:10px !important;
  white-space:nowrap !important;
}

body.product-detail-page .v96-hero-media,
body.product-detail-page .v96-hero-media.dm-v121-product-media{
  position:relative !important;
  justify-self:end !important;
  align-self:center !important;
  width:100% !important;
  max-width:620px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}

body.product-detail-page .v96-hero-media::before{
  inset:-16px !important;
  border-radius:34px !important;
}

body.product-detail-page .v96-hero-media figure{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:4 / 5 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:26px !important;
}

body.product-detail-page .v96-hero-media img,
body.product-detail-page .dm-v121-product-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:inherit !important;
  clip-path:none !important;
  transform:none !important;
}

body.product-detail-page .v96-hero-media:hover img,
body.product-detail-page .dm-v121-product-media:hover img{
  transform:scale(1.012) !important;
}

/* Olfactive profile must sit directly below the hero. */
body.product-detail-page .v96-profile-bar{
  position:relative !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:clamp(28px,3.2vw,48px) 0 !important;
}

body.product-detail-page .v96-profile-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr) !important;
  align-items:stretch !important;
  gap:18px !important;
  width:min(calc(100% - clamp(40px,6vw,104px)),1540px) !important;
  margin:0 auto !important;
}

body.product-detail-page .v96-profile-card,
body.product-detail-page .v96-intensity-card{
  margin:0 !important;
  padding:clamp(24px,2.6vw,38px) !important;
  border-radius:24px !important;
}

body.product-detail-page .v96-profile-card h2,
body.product-detail-page .v96-intensity-card h2{
  margin:0 0 22px !important;
  font-size:clamp(1.35rem,1.7vw,1.9rem) !important;
  line-height:1.15 !important;
}

body.product-detail-page .v96-note-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}

body.product-detail-page .v96-note-row > div{
  display:block !important;
  min-width:0 !important;
  padding:16px 18px !important;
  border:1px solid rgba(223,183,80,.14) !important;
  border-radius:16px !important;
}

body.product-detail-page .v96-note-row span{
  display:block !important;
  margin:0 0 8px !important;
}

body.product-detail-page .v96-note-row strong{
  display:block !important;
  line-height:1.55 !important;
}

/* Gallery immediately follows the profile cards. */
body.product-detail-page .v96-gallery-strip{
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:clamp(30px,3.2vw,52px) 0 clamp(34px,3.8vw,62px) !important;
}

body.product-detail-page .v96-gallery-grid{
  width:min(calc(100% - clamp(40px,6vw,104px)),1540px) !important;
  margin:0 auto !important;
}

@media (max-width:1180px){
  body.product-detail-page .v96-product-hero > .v96-hero-grid,
  body.product-detail-page .v96-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.76fr) !important;
    gap:32px !important;
  }

  body.product-detail-page #product-title,
  body.product-detail-page .v96-copy h1{
    font-size:clamp(3.35rem,6vw,4.7rem) !important;
  }
}

@media (max-width:900px){
  #collections{
    padding-top:58px !important;
  }

  #collections .section-head h2,
  #collections .dm-v121-collections-heading h2{
    white-space:normal !important;
    font-size:clamp(2.6rem,8vw,4rem) !important;
  }

  body.product-detail-page .v96-product-hero{
    padding:38px 0 44px !important;
  }

  body.product-detail-page .v96-product-hero > .v96-hero-grid,
  body.product-detail-page .v96-hero-grid{
    grid-template-columns:1fr !important;
    width:min(calc(100% - 28px),760px) !important;
    gap:28px !important;
  }

  body.product-detail-page .v96-copy,
  body.product-detail-page .v96-hero-media{
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
  }

  body.product-detail-page .v96-hero-media figure{
    aspect-ratio:4 / 5 !important;
  }

  body.product-detail-page .v96-profile-grid{
    grid-template-columns:1fr !important;
    width:min(calc(100% - 28px),760px) !important;
  }

  body.product-detail-page .v96-note-row{
    grid-template-columns:1fr !important;
  }

  body.product-detail-page .v96-gallery-grid{
    width:min(calc(100% - 28px),760px) !important;
  }
}

@media (max-width:560px){
  #collections .section-head,
  #collections .dm-v121-collections-heading{
    width:min(calc(100% - 28px),540px) !important;
    margin-bottom:24px !important;
  }

  #collections .section-head h2,
  #collections .dm-v121-collections-heading h2{
    font-size:clamp(2.35rem,11.5vw,3.35rem) !important;
    line-height:1 !important;
  }

  body.product-detail-page .v96-copy{
    padding:24px 20px 26px !important;
    border-radius:22px !important;
  }

  body.product-detail-page #product-title,
  body.product-detail-page .v96-copy h1{
    max-width:none !important;
    font-size:clamp(3.15rem,17vw,4.45rem) !important;
  }

  body.product-detail-page .v96-badges{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  body.product-detail-page .v96-badges span{
    width:100% !important;
    white-space:normal !important;
  }

  body.product-detail-page .v96-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  body.product-detail-page .v96-actions .v96-btn{
    width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
  }

  body.product-detail-page .v96-hero-media::before{
    inset:-10px !important;
    border-radius:25px !important;
  }

  body.product-detail-page .v96-hero-media figure{
    border-radius:20px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  #collections .section-head,
  #collections .product-card,
  body.product-detail-page .v96-copy,
  body.product-detail-page .v96-hero-media{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}
