/*
 * Domaine des Graminees — V19 local visual/performance correction.
 * Loaded last on purpose: one isolated override instead of another rewrite
 * of the canonical V18 stylesheets.
 */

/* Defensive removal in case an older cached HTML still contains the fake hearths. */
.luxury-hearths {
  display: none !important;
}

/*
 * "Retour au cottage": one real Domaine night scene, no synthetic flames.
 * The image is given the editorial lead while the copy stays short and legible.
 */
.home-luxury .premium-emotion {
  grid-template-areas: "visual copy" !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(420px, 0.84fr) !important;
  align-items: center !important;
  gap: clamp(42px, 5vw, 88px) !important;
  min-height: max(720px, 92svh) !important;
  overflow: hidden;
  padding: clamp(64px, 7vw, 108px) max(clamp(24px, 5vw, 82px), calc((100% - 1440px) / 2)) !important;
  background:
    radial-gradient(circle at 20% 42%, rgba(230, 188, 101, 0.14), transparent 32%),
    radial-gradient(circle at 84% 18%, rgba(95, 139, 96, 0.12), transparent 28%),
    repeating-linear-gradient(90deg, rgba(240, 214, 151, 0.025) 0 1px, transparent 1px 104px),
    linear-gradient(135deg, #06130e 0%, #0b2418 48%, #07160f 100%) !important;
}

.home-luxury .premium-emotion-copy {
  grid-area: copy;
  max-width: 640px;
}

.home-luxury .premium-emotion h2 {
  max-width: 9.2ch;
  font-size: clamp(3.25rem, 5.2vw, 6.25rem);
  line-height: 0.9;
  text-wrap: balance;
}

.home-luxury .premium-emotion p {
  max-width: 42rem;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.home-luxury .premium-emotion-points span {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: rgba(7, 24, 16, 0.82) !important;
}

.home-luxury .premium-emotion-visual {
  grid-area: visual;
  align-self: center;
  width: 100%;
  min-height: clamp(440px, 43vw, 650px) !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  border: 1px solid rgba(241, 213, 145, 0.34) !important;
  border-radius: 20px !important;
  box-shadow: 0 34px 86px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.home-luxury .premium-emotion-visual img {
  width: 100%;
  height: 100%;
  min-height: inherit !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  border-radius: 19px !important;
  filter: saturate(1.08) contrast(1.05) brightness(0.86) !important;
  transform: none !important;
  transition: filter 260ms ease !important;
}

.home-luxury .premium-emotion-visual::after {
  opacity: 1 !important;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(3, 12, 8, 0.02) 38%, rgba(3, 12, 8, 0.72) 100%),
    linear-gradient(90deg, rgba(3, 12, 8, 0.18), transparent 52%) !important;
}

.home-luxury .premium-emotion-visual:hover img,
.home-luxury .premium-emotion-visual:focus-visible img {
  filter: saturate(1.1) contrast(1.05) brightness(0.94) !important;
  transform: none !important;
}

/* Release compositor layers once each reveal has settled. */
.luxury-effects-ready .home-luxury-ambience-v17 main > section.luxury-reveal-section.is-luxury-inview {
  will-change: auto !important;
}

/* Fixed backdrop blurs are costly during scroll; opaque gradients keep the look. */
.luxury-sound-control,
.day-orbit,
.mobile-cta {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (min-width: 761px) and (max-width: 1080px) {
  .home-luxury .premium-emotion {
    grid-template-areas:
      "visual"
      "copy" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: auto !important;
  }

  .home-luxury .premium-emotion-copy {
    max-width: 760px;
  }

  .home-luxury .premium-emotion h2 {
    max-width: 11ch;
  }

  .home-luxury .premium-emotion-visual {
    min-height: clamp(430px, 62vw, 620px) !important;
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 760px) {
  .home-luxury .premium-emotion {
    grid-template-areas:
      "visual"
      "copy" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
    min-height: auto !important;
    padding: 32px 18px 58px !important;
  }

  .home-luxury .premium-emotion h2 {
    max-width: 10ch;
    font-size: clamp(2.75rem, 13vw, 4.05rem);
    line-height: 0.92;
  }

  .home-luxury .premium-emotion-visual {
    min-height: clamp(300px, 80vw, 430px) !important;
    margin: 0 !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 16px !important;
  }

  .home-luxury .premium-emotion-visual img {
    border-radius: 15px !important;
    object-position: 48% 50% !important;
  }

  .home-luxury .premium-emotion-visual span {
    font-size: clamp(1.45rem, 8vw, 2.15rem);
  }
}

@media (update: slow) {
  .luxury-ambience-layer__glint,
  .luxury-section-decor__halo,
  .luxury-section-decor__thread,
  .luxury-surface-shine::before {
    animation: none !important;
  }

  .luxury-effects-ready .home-luxury-ambience-v17 main > section.luxury-reveal-section,
  .luxury-effects-ready .home-luxury-ambience-v17 main > section.luxury-reveal-section.is-luxury-inview {
    filter: none !important;
    will-change: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-luxury .premium-emotion-visual img,
  .home-luxury .premium-emotion-visual:hover img,
  .home-luxury .premium-emotion-visual:focus-visible img {
    transition: none !important;
    transform: none !important;
  }
}
