/* DEL MONACO LIVE V131 — premium text motion + product header gap hotfix
   Scope: public homepage and product pages only.
   No header/footer redesign, no admin/dashboard/form/database changes. */

:root{
  --dm131-ease:cubic-bezier(.18,.78,.22,1);
  --dm131-soft:cubic-bezier(.22,.72,.24,1);
  --dm131-gold:#dcae3d;
  --dm131-cream:#f5eccf;
}

/* V130 used a fixed header plus body padding. On the current product markup,
   the transformed page wrapper makes the fixed header start one header-height
   too low. Keep the approved header in normal flow and pin it with sticky instead. */
html body.dm130-header-fixed.dm131-no-header-gap{
  padding-top:0!important;
}
html body.dm130-header-fixed .dm130-site-header.dm131-sticky-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  right:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  margin-top:0!important;
  transform:none!important;
  -webkit-transform:none!important;
  will-change:auto!important;
  z-index:2147482000!important;
}
html.dm130-header-ready{
  scroll-padding-top:calc(var(--dm130-header-height, 0px) + 12px)!important;
}

/* Keep the hero close to the header without changing the approved composition. */
html body.dm-live-v131-motion .dm125-hero{
  padding-top:clamp(18px,2vw,30px)!important;
}

/* -------------------- Core entrance system -------------------- */
html body.dm-live-v131-motion .dm131-reveal{
  opacity:0!important;
  transform:translate3d(0,26px,0) scale(.985);
  filter:blur(8px);
  transition:
    opacity .82s var(--dm131-ease) var(--dm131-delay,0ms),
    transform .94s var(--dm131-ease) var(--dm131-delay,0ms),
    filter .82s var(--dm131-ease) var(--dm131-delay,0ms)!important;
  will-change:opacity,transform,filter;
}
html body.dm-live-v131-motion .dm131-reveal.dm131-left{
  transform:translate3d(-34px,12px,0) scale(.985);
}
html body.dm-live-v131-motion .dm131-reveal.dm131-right{
  transform:translate3d(34px,12px,0) scale(.985);
}
html body.dm-live-v131-motion .dm131-reveal.dm131-visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
}

/* Product title: visible word-by-word rise with a restrained living glow. */
html body.dm-live-v131-motion .dm131-title{
  position:relative;
  perspective:900px;
  text-shadow:0 0 0 rgba(220,174,61,0);
}
html body.dm-live-v131-motion .dm131-title .dm131-word{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,.72em,0) rotateX(18deg);
  transform-origin:50% 100%;
  filter:blur(7px);
  transition:
    opacity .78s var(--dm131-ease) calc(120ms + var(--dm131-word-index,0) * 115ms),
    transform .96s var(--dm131-ease) calc(120ms + var(--dm131-word-index,0) * 115ms),
    filter .78s var(--dm131-ease) calc(120ms + var(--dm131-word-index,0) * 115ms);
}
html body.dm-live-v131-motion .dm131-title.dm131-visible .dm131-word{
  opacity:1;
  transform:translate3d(0,0,0) rotateX(0);
  filter:blur(0);
  animation:dm131WordBreathe 8s ease-in-out calc(1.25s + var(--dm131-word-index,0) * 180ms) infinite;
}
html body.dm-live-v131-motion .dm131-title.dm131-visible{
  animation:dm131TitleGlow 7s ease-in-out 1.2s infinite;
}

/* Kicker line draws in, then breathes subtly. */
html body.dm-live-v131-motion .dm125-kicker i{
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.35;
  transition:transform .9s var(--dm131-ease) .18s,opacity .7s ease .18s!important;
}
html body.dm-live-v131-motion .dm125-kicker.dm131-visible i{
  transform:scaleX(1);
  opacity:1;
  animation:dm131LineBreath 4.8s ease-in-out 1.1s infinite;
}

/* Hero copy receives a controlled moving light, not a layout-changing effect. */
html body.dm-live-v131-motion .dm125-hero-copy{
  isolation:isolate;
}
html body.dm-live-v131-motion .dm125-hero-copy > *{
  position:relative;
  z-index:2;
}
html body.dm-live-v131-motion .dm125-hero-copy .dm131-ambient-sheen{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
}
html body.dm-live-v131-motion .dm125-hero-copy .dm131-ambient-sheen::before{
  content:"";
  position:absolute;
  top:-35%;
  left:-36%;
  width:33%;
  height:170%;
  opacity:0;
  transform:skewX(-18deg) translateX(-160%);
  background:linear-gradient(90deg,transparent,rgba(237,198,102,.065),rgba(255,245,205,.11),transparent);
}
html body.dm-live-v131-motion .dm125-hero-copy.dm131-scene-live .dm131-ambient-sheen::before{
  opacity:1;
  animation:dm131CardSheen 8.5s ease-in-out 1.4s infinite;
}

/* Badges and buttons enter separately and remain subtly alive. */
html body.dm-live-v131-motion .dm125-badges span.dm131-visible::before{
  animation:dm131DotPulse 3.4s ease-in-out 1.1s infinite;
}
html body.dm-live-v131-motion .dm125-actions .dm125-btn b{
  display:inline-block;
  transition:transform .3s var(--dm131-soft)!important;
}
@media (hover:hover) and (pointer:fine){
  html body.dm-live-v131-motion .dm125-actions .dm125-btn:hover b{
    transform:translateX(6px)!important;
  }
}

/* Hero image receives a very small cinematic breathing motion. */
html body.dm-live-v131-motion .dm125-hero-media.dm131-visible .dm125-hero-image{
  transform-origin:center center;
  animation:dm131MediaBreathe 10s ease-in-out 1.2s infinite;
}

/* Lower-page headings get a crisp underline draw after reveal. */
html body.dm-live-v131-motion .dm131-section-title{
  position:relative;
  display:table;
}
html body.dm-live-v131-motion .dm131-section-title::after{
  content:"";
  display:block;
  width:min(150px,42%);
  height:1px;
  margin-top:14px;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--dm131-gold),transparent);
  transition:transform .9s var(--dm131-ease) calc(var(--dm131-delay,0ms) + 280ms);
}
html body.dm-live-v131-motion .dm131-section-title.dm131-visible::after{
  transform:scaleX(1);
}

/* Homepage text motion uses the same language without touching layout. */
html body.dm-live-v131-motion main section .dm131-home-title{
  position:relative;
}
html body.dm-live-v131-motion main section .dm131-home-title.dm131-visible{
  animation:dm131HomeTitleGlow 8s ease-in-out 1.1s infinite;
}

@keyframes dm131WordBreathe{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-1.5px,0)}
}
@keyframes dm131TitleGlow{
  0%,100%{text-shadow:0 0 0 rgba(220,174,61,0)}
  48%{text-shadow:0 8px 34px rgba(220,174,61,.10)}
  58%{text-shadow:0 6px 22px rgba(255,238,188,.06)}
}
@keyframes dm131HomeTitleGlow{
  0%,100%{text-shadow:0 0 0 rgba(220,174,61,0)}
  50%{text-shadow:0 7px 30px rgba(220,174,61,.08)}
}
@keyframes dm131LineBreath{
  0%,100%{opacity:.72;filter:brightness(.9)}
  50%{opacity:1;filter:brightness(1.28)}
}
@keyframes dm131DotPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(226,178,53,.16),0 0 12px rgba(226,178,53,.45)}
  50%{box-shadow:0 0 0 6px rgba(226,178,53,0),0 0 18px rgba(226,178,53,.62)}
}
@keyframes dm131CardSheen{
  0%,58%{transform:skewX(-18deg) translateX(-170%);opacity:0}
  65%{opacity:.85}
  82%,100%{transform:skewX(-18deg) translateX(520%);opacity:0}
}
@keyframes dm131MediaBreathe{
  0%,100%{transform:scale(1.002)}
  50%{transform:scale(1.018)}
}

@media (max-width:760px){
  html body.dm-live-v131-motion .dm131-reveal,
  html body.dm-live-v131-motion .dm131-reveal.dm131-left,
  html body.dm-live-v131-motion .dm131-reveal.dm131-right{
    transform:translate3d(0,18px,0) scale(.992);
    filter:blur(5px);
  }
  html body.dm-live-v131-motion .dm125-hero{
    padding-top:12px!important;
  }
  html body.dm-live-v131-motion .dm131-title .dm131-word{
    transform:translate3d(0,.5em,0) rotateX(10deg);
  }
  html body.dm-live-v131-motion .dm125-hero-copy .dm131-ambient-sheen{display:none}
  html body.dm-live-v131-motion .dm125-hero-media.dm131-visible .dm125-hero-image{
    animation-duration:12s;
  }
}

@media (prefers-reduced-motion:reduce){
  html body.dm-live-v131-motion .dm131-reveal,
  html body.dm-live-v131-motion .dm131-title .dm131-word,
  html body.dm-live-v131-motion .dm125-kicker i{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    animation:none!important;
  }
  html body.dm-live-v131-motion .dm125-hero-copy .dm131-ambient-sheen,
  html body.dm-live-v131-motion .dm131-section-title::after{display:none!important}
  html body.dm-live-v131-motion .dm125-hero-media .dm125-hero-image{animation:none!important}
}

@media print{
  html body.dm130-header-fixed.dm131-no-header-gap{padding-top:0!important}
  html body.dm130-header-fixed .dm130-site-header.dm131-sticky-header{position:static!important}
}
