/*
 * Domaine des Graminées — direction artistique unifiée V1.
 *
 * Couche append-only chargée après les styles V36/V37 existants. Elle ne
 * modifie ni le contenu SEO ni le contrat de réservation. Les images sont des
 * médias réels déjà présents dans le candidat V37.
 */

:root {
  --da-ink: #f6f0e4;
  --da-muted: #c8c6bc;
  --da-green: #06150f;
  --da-green-soft: #15382a;
  --da-gold: #d9bd76;
  --da-line: rgba(226, 203, 145, 0.28);
  --da-glass: rgba(4, 18, 12, 0.72);
  --da-scene: url("/assets/images/gallery/gallery-jardin-domaine.webp");
}

body.v36-site {
  color: var(--da-ink);
  background:
    radial-gradient(circle at 78% 12%, rgba(61, 126, 91, 0.18), transparent 32rem),
    linear-gradient(180deg, #04110c 0%, #0b2017 48%, #06110d 100%);
}

body.v36-site[data-da-theme="intimate"] {
  --da-scene: url("/assets/images/v30-real/jacuzzi-nuit-real.webp");
}

body.v36-site[data-da-theme="garden"] {
  --da-scene: url("/assets/images/gallery/gallery-jardin-domaine.webp");
}

body.v36-site[data-da-theme="family"] {
  --da-scene: url("/assets/images/v30-real/cottage-style-terrace.webp");
}

body.v36-site[data-da-theme="adventure"] {
  --da-scene: url("/assets/images/quad-famille.webp");
}

body.v36-site[data-da-theme="table"] {
  --da-scene: url("/assets/images/v30-real/interieur-terrasse-real.webp");
}

body.v36-site[data-da-theme="group"] {
  --da-scene: url("/assets/images/v30-real/cottage-style-grand-bain.webp");
}

body.site-utility-da {
  min-height: 100svh;
  color: var(--da-ink);
  background:
    linear-gradient(100deg, rgba(2, 13, 9, 0.96), rgba(2, 13, 9, 0.56)),
    var(--da-scene) center / cover fixed no-repeat,
    #06150f;
}

body.site-utility-da[data-da-theme="intimate"] {
  --da-scene: url("/assets/images/v30-real/jacuzzi-nuit-real.webp");
}

body.site-utility-da[data-da-theme="garden"] {
  --da-scene: url("/assets/images/gallery/gallery-jardin-domaine.webp");
}

.site-utility-da .simple-page,
.site-utility-da .content-main {
  position: relative;
  isolation: isolate;
}

.site-utility-da .simple-page {
  width: min(1180px, calc(100% - 2rem));
  min-height: 100svh;
  margin: 0 auto;
  padding-block: clamp(5rem, 11vw, 10rem);
}

.site-utility-da .simple-hero,
.site-utility-da .simple-card,
.site-utility-da .included,
.site-utility-da .content-hero-copy,
.site-utility-da .content-section,
.site-utility-da .content-final-cta {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(145deg, rgba(5, 22, 15, 0.9), rgba(5, 22, 15, 0.58));
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 32px 100px rgba(0, 0, 0, 0.38);
}

.site-utility-da .simple-hero,
.site-utility-da .included,
.site-utility-da .content-section,
.site-utility-da .content-final-cta {
  border-radius: 1.75rem;
  padding: clamp(2rem, 5vw, 5rem);
}

.site-utility-da .simple-hero h1,
.site-utility-da .content-hero h1,
.site-utility-da .content-section h2,
.site-utility-da .content-final-cta h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.site-utility-da .simple-hero h1,
.site-utility-da .content-hero h1 {
  max-width: 11ch;
  font-size: clamp(3.4rem, 8vw, 8rem);
  line-height: 0.9;
}

.site-utility-da .simple-card {
  border-radius: 1.75rem;
}

.site-utility-da .content-hero {
  min-height: 86svh;
  align-items: center;
  gap: clamp(2rem, 6vw, 7rem);
}

.site-utility-da .content-hero-copy {
  border-radius: 0 2rem 2rem 0;
  padding: clamp(2rem, 5vw, 5rem);
}

.site-utility-da .content-hero-media {
  border: 1px solid var(--da-line);
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.5);
}

.site-utility-da .content-hero-media img {
  min-height: 68svh;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.04);
}

@media (max-width: 760px) {
  body.site-utility-da { background-attachment: scroll; }
  .site-utility-da .simple-page { width: min(100% - 1rem, 42rem); padding-block: 4rem; }
  .site-utility-da .simple-hero h1,
  .site-utility-da .content-hero h1 { font-size: clamp(3rem, 15vw, 5.5rem); }
  .site-utility-da .content-hero-copy { border-radius: 1.5rem; }
  .site-utility-da .content-hero-media img { min-height: 52svh; }
}

.v36-site .v36-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: linear-gradient(180deg, rgba(2, 13, 9, 0.88), rgba(2, 13, 9, 0.42));
  -webkit-backdrop-filter: blur(18px) saturate(118%);
  backdrop-filter: blur(18px) saturate(118%);
}

.v36-site .v36-brand__mark {
  border-color: var(--da-line);
  color: var(--da-gold);
  box-shadow: 0 0 0 1px rgba(217, 189, 118, 0.08), 0 12px 38px rgba(0, 0, 0, 0.32);
}

.v36-site .v36-nav__cta,
.v36-site .v36-button--light {
  color: #0b1d15;
  background: linear-gradient(135deg, #f2e2b0, var(--da-gold));
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.55);
}

.v36-site .v36-hero {
  min-height: min(960px, 100svh);
  isolation: isolate;
  background: #06130e;
}

.v36-site .v36-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2, 12, 8, 0.9) 0%, rgba(2, 12, 8, 0.5) 42%, rgba(2, 12, 8, 0.16) 72%),
    linear-gradient(0deg, #06130e 0%, transparent 35%);
}

.v36-site .v36-hero::after {
  content: "";
  position: absolute;
  inset: auto 4.5vw 4vh auto;
  z-index: 2;
  width: clamp(5rem, 10vw, 9rem);
  aspect-ratio: 1;
  border: 1px solid var(--da-line);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(217, 189, 118, 0.11);
  pointer-events: none;
}

.v36-site .v36-hero__media {
  filter: saturate(0.9) contrast(1.04) brightness(0.84);
  transform: scale(1.018);
  transition: transform 7s cubic-bezier(0.2, 0.7, 0.2, 1), filter 1.2s ease;
}

.v36-site .v36-hero:hover .v36-hero__media {
  filter: saturate(1) contrast(1.03) brightness(0.9);
  transform: scale(1.055);
}

.v36-site .v36-hero__shade {
  z-index: 1;
  background: radial-gradient(circle at 75% 42%, transparent 0, rgba(2, 12, 8, 0.18) 35%, rgba(2, 12, 8, 0.64) 100%);
}

.v36-site .v36-hero__content {
  z-index: 3;
  width: min(1050px, calc(100% - 10vw));
  padding-top: clamp(8rem, 18vh, 13rem);
  padding-bottom: clamp(6rem, 14vh, 10rem);
}

.v36-site .v36-kicker {
  color: var(--da-gold);
  letter-spacing: 0.22em;
}

.v36-site .v36-hero h1 {
  max-width: 11ch;
  font-size: clamp(4rem, 8.4vw, 8.8rem);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.055em;
  text-wrap: balance;
  text-shadow: 0 18px 80px rgba(0, 0, 0, 0.48);
}

.v36-site .v36-hero__lead {
  max-width: 52ch;
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  line-height: 1.65;
  color: rgba(246, 240, 228, 0.83);
}

.v36-site .v36-proof,
.v36-site .v36-hero__count {
  z-index: 3;
}

.v36-site .v36-story,
.v36-site .v36-guide,
.v36-site .v36-final {
  position: relative;
  isolation: isolate;
  overflow: clip;
}

.v36-site .v36-story {
  min-height: 95svh;
  padding-top: clamp(6rem, 12vw, 12rem);
  padding-bottom: clamp(6rem, 12vw, 12rem);
}

.v36-site .v36-story::before,
.v36-site .v36-guide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--da-scene);
  background-size: cover;
  background-position: center;
  filter: saturate(0.78) contrast(1.04);
}

.v36-site .v36-story::after,
.v36-site .v36-guide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(100deg, rgba(3, 17, 11, 0.98) 0%, rgba(3, 17, 11, 0.78) 36%, rgba(3, 17, 11, 0.28) 74%, rgba(3, 17, 11, 0.72) 100%),
    linear-gradient(0deg, #07160f 0%, transparent 28%, transparent 72%, #07160f 100%);
}

.v36-site .v36-story__copy,
.v36-site .v36-guide__heading {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(145deg, rgba(5, 22, 15, 0.86), rgba(5, 22, 15, 0.48));
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
}

.v36-site .v36-story__copy {
  padding: clamp(2rem, 4vw, 4.5rem);
  border-radius: 0 2rem 2rem 0;
}

.v36-site .v36-story__copy h2,
.v36-site .v36-guide h2,
.v36-site .v36-final h2 {
  font-size: clamp(3rem, 6vw, 7rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.v36-site .v36-collage {
  perspective: 1400px;
}

.v36-site .v36-frame {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.25rem;
  background: #0b1b14;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.46);
  transform: translateZ(0) rotate(var(--da-rotate, 0deg));
  transition: transform 0.8s cubic-bezier(0.2, 0.75, 0.2, 1), box-shadow 0.8s ease;
}

.v36-site .v36-frame--main { --da-rotate: -1deg; }
.v36-site .v36-frame--side { --da-rotate: 1.5deg; }
.v36-site .v36-frame--detail { --da-rotate: -2deg; }

.v36-site .v36-frame:hover,
.v36-site .v36-frame:focus-within {
  transform: translateY(-0.7rem) translateZ(2rem) rotate(0deg);
  box-shadow: 0 48px 120px rgba(0, 0, 0, 0.55);
}

.v36-site .v36-frame img {
  filter: saturate(0.88) contrast(1.03);
  transition: transform 1.2s cubic-bezier(0.2, 0.75, 0.2, 1), filter 0.7s ease;
}

.v36-site .v36-frame:hover img { transform: scale(1.035); filter: saturate(1.03); }

.v36-site .v36-facts {
  border-top-color: var(--da-line);
}

.v36-site .v36-fact {
  background: linear-gradient(180deg, rgba(8, 29, 20, 0.62), rgba(8, 29, 20, 0.28));
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.v36-site .v36-guide {
  min-height: 88svh;
  padding-top: clamp(6rem, 11vw, 11rem);
  padding-bottom: clamp(6rem, 11vw, 11rem);
}

.v36-site .v36-guide::before {
  transform: scale(1.04);
}

.v36-site .v36-guide::after {
  background:
    radial-gradient(circle at 76% 32%, rgba(23, 77, 50, 0.18), transparent 35%),
    linear-gradient(90deg, rgba(2, 13, 9, 0.96), rgba(2, 13, 9, 0.72) 52%, rgba(2, 13, 9, 0.44));
}

.v36-site .v36-guide__heading {
  max-width: 72rem;
  padding: clamp(2.5rem, 5vw, 5.5rem);
  border-radius: 0 2rem 2rem 0;
}

.v36-site .v36-guide__chapters {
  gap: 1px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.35);
}

.v36-site .v36-chapter {
  min-height: 13rem;
  background: linear-gradient(155deg, rgba(5, 24, 16, 0.87), rgba(5, 24, 16, 0.55));
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.v36-site .v36-chapter h3 {
  margin: 0 0 0.85rem;
  color: #f6ead4;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.12;
}

.v36-site .v36-chapter p {
  margin: 0;
}

.v36-site .v36-final {
  min-height: 88svh;
  display: grid;
  place-items: center;
}

.v36-site .v36-final__media {
  filter: saturate(0.88) contrast(1.04) brightness(0.72);
}

.v36-site .v36-final__content {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 2rem;
  background: linear-gradient(145deg, rgba(4, 18, 12, 0.82), rgba(4, 18, 12, 0.5));
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 36px 120px rgba(0, 0, 0, 0.46);
}

.v36-site .v37-ratings,
.v36-site .premium-day-reel,
.v36-site .premium-media-lab {
  background-color: #07170f;
}

@media (max-width: 800px) {
  .v36-site .v36-hero { min-height: 92svh; }
  .v36-site .v36-hero::before {
    background:
      linear-gradient(0deg, rgba(2, 12, 8, 0.96) 0%, rgba(2, 12, 8, 0.62) 48%, rgba(2, 12, 8, 0.24) 100%);
  }
  .v36-site .v36-hero__content {
    width: calc(100% - 2rem);
    padding-top: 9rem;
    padding-bottom: 4.5rem;
  }
  .v36-site .v36-hero h1 { max-width: 9ch; font-size: clamp(3.3rem, 16vw, 5.9rem); }
  .v36-site .v36-story,
  .v36-site .v36-guide,
  .v36-site .v36-final { min-height: auto; }
  .v36-site .v36-story__copy,
  .v36-site .v36-guide__heading { border-radius: 1.5rem; margin-inline: 1rem; }
  .v36-site .v36-story__copy h2,
  .v36-site .v36-guide h2,
  .v36-site .v36-final h2 { font-size: clamp(2.8rem, 13vw, 5rem); }
  .v36-site .v36-frame { --da-rotate: 0deg; }
}

@media (prefers-reduced-motion: reduce) {
  .v36-site .v36-hero__media,
  .v36-site .v36-frame,
  .v36-site .v36-frame img {
    transition: none !important;
    transform: none !important;
  }
}
