/* =========================================================
   DOMAINE DES EVIS - ACCUEIL FINAL ACF V23
   CSS isolé de la home. Aucun impact mariage / maison / événements.
   ========================================================= */

:root {
  --dde-home-ivory: #F8F4EA;
  --dde-home-paper: #FFFDF8;
  --dde-home-warm: #EFE7DB;
  --dde-home-green: #859679;
  --dde-home-green-deep: #1F2D1E;
  --dde-home-brown: #8A7564;
  --dde-home-blue: #AEB9C1;
  --dde-home-ink: #22301F;
  --dde-home-muted: #6F675E;
  --dde-home-line: rgba(138, 117, 100, .24);
  --dde-home-title: "Marcellus", Georgia, serif;
  --dde-home-body: "Manrope", Arial, sans-serif;
}

.dde-home,
.dde-home * { box-sizing: border-box; }

.dde-home {
  overflow: hidden;
  background: var(--dde-home-ivory);
  color: var(--dde-home-ink);
  font-family: var(--dde-home-body);
}

.dde-home a { color: inherit; text-decoration: none; }
.dde-home img { display: block; max-width: 100%; height: auto; }

.dde-home-shell {
  width: min(1180px, calc(100% - 56px));
  margin-inline: auto;
}

.dde-home-section { padding: clamp(78px, 8vw, 126px) 0; }

.dde-home-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: var(--dde-home-brown);
  font-size: clamp(.72rem, .8vw, .86rem);
  font-weight: 850;
  letter-spacing: .24em;
  line-height: 1.18;
  text-transform: uppercase;
}



.dde-home-eyebrow--light { color: rgba(248, 244, 234, .92); }

.dde-home h1,
.dde-home h2,
.dde-home h3 {
  margin: 0;
  color: var(--dde-home-green-deep);
  font-family: var(--dde-home-title);
  font-weight: 400;
  letter-spacing: -.046em;
}

.dde-home h2 { font-size: clamp(2.55rem, 4.35vw, 5rem); line-height: 1.02; text-wrap: balance; }
.dde-home h3 { font-size: clamp(1.45rem, 2vw, 2.35rem); line-height: 1.08; }

.dde-home-rich p,
.dde-home p {
  color: var(--dde-home-muted);
  font-size: clamp(1rem, 1.05vw, 1.12rem);
  line-height: 1.74;
}

.dde-home-rich p { margin: 0 0 18px; }
.dde-home-rich p:last-child { margin-bottom: 0; }

.dde-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 15px 30px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .095em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}

.dde-home-btn:hover { transform: translateY(-2px); }
.dde-home-btn--light { background: var(--dde-home-paper); color: var(--dde-home-green-deep); }
.dde-home-btn--light:hover { background: var(--dde-home-blue); border-color: var(--dde-home-blue); color: var(--dde-home-green-deep); }
.dde-home-btn--ghost { color: rgba(248, 244, 234, .96); border-color: rgba(248, 244, 234, .68); background: rgba(31, 45, 30, .16); }
.dde-home-btn--ghost:hover { background: rgba(248, 244, 234, .16); border-color: rgba(248, 244, 234, .95); }

.dde-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  color: var(--dde-home-green-deep);
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}


.dde-home-text-link:hover::after { transform: translateX(5px); }

/* HERO - plus de marge négative : le header reste propre et la home démarre correctement */
.dde-home-hero {
  position: relative;
  min-height: clamp(640px, 86vh, 880px);
  display: flex;
  align-items: center;
  isolation: isolate;
  background-color: var(--dde-home-green-deep);
  background-size: cover;
  background-position: center;
}

.dde-home-hero__veil {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            90deg,
            rgba(14, 20, 13, .48) 0%,
            rgba(14, 20, 13, .34) 37%,
            rgba(14, 20, 13, .08) 72%,
            rgba(14, 20, 13, .22) 100%
        ),
        linear-gradient(
            180deg,
            rgba(14, 20, 13, .10) 0%,
            rgba(14, 20, 13, .32) 100%
        );
}

.dde-home-hero__inner { padding: clamp(86px, 9vw, 132px) 0; }

.dde-home-hero h1 {
  max-width: 860px;
  color: var(--dde-home-ivory);
  font-size: clamp(3rem, 5.6vw, 6.25rem);
  line-height: .96;
  text-shadow: 0 4px 34px rgba(0,0,0,.38);
}

.dde-home-hero__text { max-width: 650px; margin-top: 26px; }
.dde-home-hero__text p { color: rgba(248, 244, 234, .92); font-size: clamp(1.08rem, 1.36vw, 1.28rem); line-height: 1.62; text-shadow: 0 3px 22px rgba(0,0,0,.35); }
.dde-home-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }

/* FACTS */
.dde-home-facts { position: relative; z-index: 3; margin-top: -54px; padding-bottom: 30px; }
.dde-home-facts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--dde-home-ivory); border: 1px solid var(--dde-home-line); box-shadow: 0 22px 70px -58px rgba(31,45,30,.75); }
.dde-home-fact { min-height: 126px; padding: 28px 26px; display: grid; align-content: center; gap: 8px; border-right: 1px solid var(--dde-home-line); }
.dde-home-fact:last-child { border-right: 0; }
.dde-home-fact strong { color: var(--dde-home-green-deep); font-family: var(--dde-home-title); font-size: clamp(2.25rem, 3vw, 3.55rem); font-weight: 400; line-height: .95; letter-spacing: -.045em; }
.dde-home-fact span { color: var(--dde-home-muted); font-size: .82rem; font-weight: 780; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }

/* INTRO */
.dde-home-intro { background: var(--dde-home-ivory); }
.dde-home-intro__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(44px, 6vw, 92px); align-items: center; }
.dde-home-intro__copy blockquote { margin: 34px 0 0; padding-left: 28px; border-left: 3px solid var(--dde-home-green); color: var(--dde-home-green-deep); font-family: var(--dde-home-title); font-size: clamp(1.5rem, 2.05vw, 2.25rem); font-style: italic; line-height: 1.34; }
.dde-home-intro__media { margin: 0; position: relative; }

.dde-home-intro__media img { width: 100%; height: clamp(460px, 46vw, 660px); object-fit: cover; filter: saturate(.95) contrast(.97); }

/* OFFERS */
.dde-home-offers { background: var(--dde-home-paper); }
.dde-home-section-head { max-width: 920px; margin: 0 auto clamp(46px, 5.8vw, 76px); text-align: center; }
.dde-home-section-head .dde-home-eyebrow { justify-content: center; }
.dde-home-section-head .dde-home-eyebrow::before { display: none; }
.dde-home-section-head .dde-home-rich { max-width: 760px; margin: 20px auto 0; }
.dde-home-offers__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.dde-home-offer { background: var(--dde-home-ivory); border: 1px solid var(--dde-home-line); overflow: hidden; transition: transform .22s ease, border-color .22s ease; }
.dde-home-offer:hover { transform: translateY(-3px); border-color: rgba(138,117,100,.44); }
.dde-home-offer--1, .dde-home-offer--2 { grid-column: span 6; }
.dde-home-offer--3, .dde-home-offer--4, .dde-home-offer--5 { grid-column: span 4; }
.dde-home-offer__image { display: block; overflow: hidden; background: var(--dde-home-warm); }
.dde-home-offer__image img { width: 100%; height: clamp(260px, 26vw, 390px); object-fit: cover; transition: transform .55s ease; }
.dde-home-offer:hover .dde-home-offer__image img { transform: scale(1.035); }
.dde-home-offer__body { padding: clamp(26px, 2.7vw, 38px); }
.dde-home-offer__body span { display: block; margin-bottom: 12px; color: var(--dde-home-brown); font-size: .74rem; font-weight: 860; letter-spacing: .18em; text-transform: uppercase; }
.dde-home-offer__body .dde-home-rich { margin-top: 16px; }

/* DECORS */
.dde-home-decors { background: var(--dde-home-warm); }
.dde-home-decors__intro { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, .72fr); gap: clamp(34px, 5vw, 80px); align-items: end; margin-bottom: clamp(40px, 5vw, 68px); }
.dde-home-decors__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; }
.dde-home-decor { position: relative; overflow: hidden; background: var(--dde-home-green-deep); min-height: 360px; }
.dde-home-decor--1 { grid-column: span 7; }
.dde-home-decor--2 { grid-column: span 5; }
.dde-home-decor--3 { grid-column: span 5; }
.dde-home-decor--4 { grid-column: span 7; }
.dde-home-decor img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .78; transition: transform .55s ease, opacity .3s ease; }
.dde-home-decor:hover img { transform: scale(1.035); opacity: .66; }
.dde-home-decor::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31,45,30,.04), rgba(31,45,30,.14)); }
.dde-home-decor div { position: absolute; left: clamp(24px, 3vw, 42px); right: clamp(24px, 3vw, 42px); bottom: clamp(24px, 3vw, 42px); z-index: 2; }
.dde-home-decor h3 { color: var(--dde-home-ivory); }
.dde-home-decor p { max-width: 520px; margin: 14px 0 0; color: rgba(248,244,234,.84); font-size: 1rem; line-height: 1.58; }

/* SERVICES */
.dde-home-services { background: var(--dde-home-ivory); }
.dde-home-services__grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: clamp(44px, 6vw, 88px); align-items: center; }
.dde-home-services__media { margin: 0; }
.dde-home-services__media img { width: 100%; height: clamp(480px, 44vw, 650px); object-fit: cover; }
.dde-home-services__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.dde-home-services__list article { padding: 22px; background: var(--dde-home-paper); border: 1px solid var(--dde-home-line); }
.dde-home-services__list h3 { font-size: 1.3rem; margin-bottom: 9px; }
.dde-home-services__list p { margin: 0; color: var(--dde-home-muted); font-size: .96rem; line-height: 1.55; }

/* HOST */
.dde-home-host { background: var(--dde-home-brown); color: var(--dde-home-ivory); }
.dde-home-host__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(280px, .78fr); gap: clamp(44px, 7vw, 96px); align-items: center; }
.dde-home-host h2 { color: var(--dde-home-ivory); }
.dde-home-host .dde-home-rich p { color: rgba(248,244,234,.82); }
.dde-home-host blockquote { margin: 32px 0; padding-left: 30px; border-left: 4px solid rgba(248,244,234,.52); color: rgba(248,244,234,.9); font-family: var(--dde-home-title); font-size: clamp(1.42rem, 2.25vw, 2.45rem); font-style: italic; line-height: 1.36; }
.dde-home-host__media { margin: 0; }
.dde-home-host__media img { width: 100%; min-height: 460px; aspect-ratio: 4 / 5; object-fit: cover; outline: 1px solid rgba(248,244,234,.22); outline-offset: -20px; background: rgba(248,244,234,.06); }

/* REVIEWS - affichée uniquement si ACF rempli */
.dde-home-reviews { background: var(--dde-home-paper); }
.dde-home-reviews__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(38px, 5vw, 78px); align-items: start; }
.dde-home-google-badge { display: inline-grid; gap: 5px; margin-top: 28px; padding: 22px 28px; background: var(--dde-home-ivory); border: 1px solid var(--dde-home-line); }
.dde-home-google-badge strong { font-family: var(--dde-home-title); color: var(--dde-home-green-deep); font-size: 2.4rem; line-height: 1; font-weight: 400; }
.dde-home-google-badge span { color: var(--dde-home-muted); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dde-home-reviews__panel { display: grid; gap: 18px; }
.dde-home-review-card { padding: 28px; background: var(--dde-home-ivory); border: 1px solid var(--dde-home-line); }
.dde-home-review-stars { color: var(--dde-home-brown); letter-spacing: .08em; margin-bottom: 14px; }
.dde-home-review-card p { margin: 0 0 16px; color: var(--dde-home-muted); line-height: 1.65; }
.dde-home-review-card strong { color: var(--dde-home-green-deep); }

/* ACCESS + FINAL */
.dde-home-access { background: var(--dde-home-ivory); }
.dde-home-map { overflow: hidden; margin: 40px 0 0; background: var(--dde-home-warm); }
.dde-home-map iframe { display: block; width: 100%; min-height: 420px; border: 0; filter: saturate(.84) contrast(.94); }
.dde-home-access__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 42px; background: var(--dde-home-paper); border: 1px solid var(--dde-home-line); }
.dde-home-access__grid article { padding: 30px; text-align: center; border-right: 1px solid var(--dde-home-line); }
.dde-home-access__grid article:last-child { border-right: 0; }
.dde-home-access__grid h3 { font-size: 1.48rem; margin-bottom: 10px; }
.dde-home-access__grid p { margin: 0; color: var(--dde-home-muted); line-height: 1.55; }

.dde-home-final { padding: clamp(86px, 8vw, 126px) 0; background: var(--dde-home-green); color: var(--dde-home-ivory); text-align: center; }
.dde-home-final h2 { max-width: 840px; margin-inline: auto; color: var(--dde-home-ivory); }
.dde-home-final .dde-home-rich { max-width: 720px; margin: 22px auto 0; }
.dde-home-final .dde-home-rich p { color: rgba(248,244,234,.88); }
.dde-home-final .dde-home-btn { margin-top: 32px; color: var(--dde-home-green-deep); }

@media (max-width: 1080px) {
  .dde-home-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dde-home-fact:nth-child(2) { border-right: 0; }
  .dde-home-fact:nth-child(-n+2) { border-bottom: 1px solid var(--dde-home-line); }
  .dde-home-offer--1,
  .dde-home-offer--2,
  .dde-home-offer--3,
  .dde-home-offer--4,
  .dde-home-offer--5 { grid-column: span 6; }
}

@media (max-width: 900px) {
  .dde-home-hero { min-height: 760px; }
  .dde-home-intro__grid,
  .dde-home-decors__intro,
  .dde-home-services__grid,
  .dde-home-host__grid,
  .dde-home-reviews__grid { grid-template-columns: 1fr; }
  .dde-home-services__media { order: 2; }
  .dde-home-services__copy { order: 1; }
  .dde-home-access__grid { grid-template-columns: 1fr; }
  .dde-home-access__grid article { border-right: 0; border-bottom: 1px solid var(--dde-home-line); }
  .dde-home-access__grid article:last-child { border-bottom: 0; }
}

@media (max-width: 720px) {
  .dde-home-shell { width: calc(100% - 34px); }
  .dde-home-section { padding: 66px 0; }
  .dde-home-hero { min-height: 680px; }
  .dde-home-hero__inner { padding-top: 82px; padding-bottom: 72px; }
  .dde-home-hero h1 { font-size: clamp(2.5rem, 12vw, 3.85rem); }
  .dde-home-actions { flex-direction: column; align-items: stretch; }
  .dde-home-btn { width: 100%; }
  .dde-home-facts { margin-top: 0; padding-bottom: 0; }
  .dde-home-facts__grid,
  .dde-home-offers__grid,
  .dde-home-decors__grid,
  .dde-home-services__list { grid-template-columns: 1fr; }
  .dde-home-offer--1,
  .dde-home-offer--2,
  .dde-home-offer--3,
  .dde-home-offer--4,
  .dde-home-offer--5,
  .dde-home-decor--1,
  .dde-home-decor--2,
  .dde-home-decor--3,
  .dde-home-decor--4 { grid-column: span 1; }
  .dde-home-fact { border-right: 0 !important; border-bottom: 1px solid var(--dde-home-line); }
  .dde-home-fact:last-child { border-bottom: 0; }
  .dde-home-section-head { text-align: left; }
  .dde-home-section-head .dde-home-eyebrow { justify-content: flex-start; }
  .dde-home-section-head .dde-home-eyebrow::before { display: block; }
  .dde-home-intro__media img,
  .dde-home-services__media img,
  .dde-home-host__media img { height: 370px; min-height: 0; }
  .dde-home-decor { min-height: 310px; }
}

/* =========================================================
   HOTFIX V24 - CTA visibles + À propos + Avis Google
   ========================================================= */

/* Boutons : on verrouille la lisibilité, y compris sur fond vert/hero */
.dde-home .dde-home-btn--light,
.dde-home .dde-home-final .dde-home-btn--light,
.dde-home .dde-home-hero .dde-home-btn--light {
  background: var(--dde-home-paper, #FFFDF8) !important;
  color: var(--dde-home-green-deep, #1F2D1E) !important;
  border-color: rgba(248, 244, 234, .88) !important;
  text-shadow: none !important;
}

.dde-home .dde-home-btn--light:hover,
.dde-home .dde-home-final .dde-home-btn--light:hover,
.dde-home .dde-home-hero .dde-home-btn--light:hover {
  background: var(--dde-home-blue, #AEB9C1) !important;
  color: var(--dde-home-green-deep, #1F2D1E) !important;
  border-color: var(--dde-home-blue, #AEB9C1) !important;
}

.dde-home .dde-home-btn--ghost,
.dde-home .dde-home-hero .dde-home-btn--ghost {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .78) !important;
  background: rgba(255, 255, 255, .10) !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .45) !important;
}

.dde-home .dde-home-btn--ghost:hover,
.dde-home .dde-home-hero .dde-home-btn--ghost:hover {
  color: var(--dde-home-green-deep, #1F2D1E) !important;
  background: rgba(248, 244, 234, .94) !important;
  border-color: rgba(248, 244, 234, .94) !important;
  text-shadow: none !important;
}

.dde-home .dde-home-btn--solid {
  background: var(--dde-home-green, #859679) !important;
  color: var(--dde-home-ivory, #F8F4EA) !important;
  border-color: var(--dde-home-green, #859679) !important;
}

.dde-home .dde-home-btn--solid:hover {
  background: var(--dde-home-green-deep, #1F2D1E) !important;
  color: var(--dde-home-ivory, #F8F4EA) !important;
  border-color: var(--dde-home-green-deep, #1F2D1E) !important;
}

/* Avis Google : visible haut de page, premium, sans texte de placeholder SEO */
.dde-home-reviews {
  background: var(--dde-home-paper, #FFFDF8) !important;
  padding-top: clamp(74px, 7vw, 110px) !important;
  padding-bottom: clamp(74px, 7vw, 110px) !important;
}

.dde-home-reviews__grid {
  align-items: stretch !important;
}

.dde-home-google-badge {
  min-width: 220px;
  border-color: rgba(138, 117, 100, .30) !important;
  box-shadow: 0 22px 64px -54px rgba(31, 45, 30, .70);
}

.dde-home-reviews__panel {
  min-height: 100%;
}

.dde-home-review-card,
.dde-home-review-empty,
.dde-home-google-embed {
  padding: clamp(26px, 3vw, 42px);
  background: var(--dde-home-ivory, #F8F4EA);
  border: 1px solid var(--dde-home-line, rgba(138,117,100,.24));
}

.dde-home-review-empty {
  display: grid;
  align-content: center;
  min-height: 220px;
}

.dde-home-review-empty strong {
  display: block;
  margin-bottom: 10px;
  color: var(--dde-home-green-deep, #1F2D1E);
  font-family: var(--dde-home-title, Georgia, serif);
  font-size: clamp(1.65rem, 2.2vw, 2.45rem);
  font-weight: 400;
  letter-spacing: -.035em;
}

.dde-home-review-empty p {
  max-width: 560px;
  margin: 0;
  color: var(--dde-home-muted, #6F675E);
}

/* Bloc À propos : vrai CTA vers la page histoire du Domaine */
.dde-home-story {
  background: var(--dde-home-warm, #EFE7DB) !important;
  padding-top: clamp(78px, 8vw, 126px) !important;
  padding-bottom: clamp(78px, 8vw, 126px) !important;
}

.dde-home-story__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(44px, 6vw, 92px);
  align-items: center;
}

.dde-home-story__media {
  margin: 0;
  position: relative;
  overflow: hidden;
}



.dde-home-story__media img {
  width: 100%;
  height: clamp(430px, 42vw, 620px);
  object-fit: cover;
  filter: saturate(.94) contrast(.96);
}

.dde-home-story__copy .dde-home-btn {
  margin-top: 30px;
}

/* Le bloc final doit rester lisible */
.dde-home-final .dde-home-btn--light {
  color: var(--dde-home-green-deep, #1F2D1E) !important;
  opacity: 1 !important;
}

@media (max-width: 900px) {
  .dde-home-story__grid {
    grid-template-columns: 1fr;
  }

  .dde-home-story__media {
    order: 2;
  }

  .dde-home-story__copy {
    order: 1;
  }
}

@media (max-width: 720px) {
  .dde-home-reviews,
  .dde-home-story {
    padding-top: 66px !important;
    padding-bottom: 66px !important;
  }

  .dde-home-story__media img,
  .dde-home-review-empty {
    min-height: 0;
  }
}


/* =========================================================
   HOTFIX V30 - Accueil : avis Google + espaces + CTA
   Objectif : corriger les sections jugées lourdes sans toucher aux ACF.
   ========================================================= */

.dde-home .dde-home-hero .dde-home-btn--ghost {
  background: rgba(248, 244, 234, .10) !important;
  color: #fff !important;
  border-color: rgba(248, 244, 234, .72) !important;
  box-shadow: inset 0 0 0 1px rgba(248,244,234,.12) !important;
  backdrop-filter: blur(6px);
}
.dde-home .dde-home-hero .dde-home-btn--ghost:hover {
  background: var(--dde-home-paper, #FFFDF8) !important;
  color: var(--dde-home-green-deep, #1F2D1E) !important;
  border-color: var(--dde-home-paper, #FFFDF8) !important;
}

.dde-home .dde-home-decors {
  padding-top: clamp(86px, 8vw, 128px) !important;
}
.dde-home .dde-home-decors__intro {
  grid-template-columns: minmax(420px, .92fr) minmax(360px, .78fr) !important;
  gap: clamp(42px, 5vw, 76px) !important;
  align-items: center !important;
  margin-bottom: clamp(34px, 4.6vw, 58px) !important;
}
.dde-home .dde-home-decors__intro h2 {
  max-width: 720px !important;
  font-size: clamp(3.25rem, 5.1vw, 5.9rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}
.dde-home .dde-home-decors__intro .dde-home-rich {
  max-width: 560px !important;
  margin-left: auto !important;
}
.dde-home .dde-home-decors__grid { gap: clamp(18px, 2vw, 28px) !important; }
.dde-home .dde-home-decor {
  min-height: clamp(340px, 31vw, 500px) !important;
}
.dde-home .dde-home-decor div { max-width: 620px !important; }

.dde-home .dde-home-reviews {
  background: #fffdf8 !important;
  padding-top: clamp(74px, 7vw, 108px) !important;
  padding-bottom: clamp(78px, 7vw, 116px) !important;
}
.dde-home .dde-home-reviews__grid {
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1.08fr) !important;
  align-items: center !important;
  gap: clamp(40px, 6vw, 92px) !important;
}
.dde-home .dde-home-reviews__copy h2 {
  max-width: 520px !important;
  font-size: clamp(3rem, 4.6vw, 5.25rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}
.dde-home .dde-home-reviews__copy .dde-home-rich { max-width: 520px !important; }
.dde-home .dde-home-reviews__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 18px 26px !important;
  margin-top: 30px !important;
}
.dde-home .dde-home-google-badge {
  margin: 0 !important;
  padding: 18px 22px !important;
  min-width: 160px !important;
  background: var(--dde-home-ivory, #F8F4EA) !important;
}
.dde-home .dde-home-google-badge strong { font-size: clamp(2rem, 2.6vw, 2.75rem) !important; }
.dde-home .dde-home-reviews__panel {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.dde-home .dde-home-google-embed,
.dde-home .dde-home-google-embed--trustindex {
  width: 100% !important;
  min-height: 0 !important;
  padding: clamp(18px, 2.5vw, 30px) !important;
  background: var(--dde-home-ivory, #F8F4EA) !important;
  border: 1px solid var(--dde-home-line, rgba(31,45,30,.16)) !important;
  overflow: hidden !important;
}
.dde-home .dde-home-google-embed iframe { max-width: 100% !important; min-height: 0 !important; }
.dde-home .dde-home-google-embed .ti-widget,
.dde-home .dde-home-google-embed [class*="trustindex"],
.dde-home .dde-home-google-embed [class*="ti-widget"] { max-width: 100% !important; }
.dde-home .dde-home-google-embed .ti-review-item,
.dde-home .dde-home-google-embed .ti-widget .ti-review-item { box-shadow: none !important; }
.dde-home .dde-home-review-card { background: var(--dde-home-ivory, #F8F4EA) !important; }

@media (max-width: 1100px) {
  .dde-home .dde-home-decors__intro,
  .dde-home .dde-home-reviews__grid { grid-template-columns: 1fr !important; }
  .dde-home .dde-home-decors__intro .dde-home-rich { margin-left: 0 !important; }
}

@media (max-width: 720px) {
  .dde-home .dde-home-decors__intro h2,
  .dde-home .dde-home-reviews__copy h2 { font-size: clamp(2.45rem, 11vw, 3.65rem) !important; }
  .dde-home .dde-home-reviews__meta { align-items: flex-start !important; flex-direction: column !important; }
  .dde-home .dde-home-google-embed,
  .dde-home .dde-home-google-embed--trustindex { padding: 18px !important; }
}

/* =========================================================
   V31 - Avis Google / Trustindex : plus de note manuelle en double
   ========================================================= */
.dde-home .dde-home-reviews--trustindex {
  padding-top: 40px !important;
  padding-bottom: clamp(82px, 8vw, 128px) !important;
  background: #ffffff !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-reviews__grid {
  width: min(1120px, calc(100% - 64px)) !important;
  display: grid !important;
  grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr) !important;
  gap: clamp(42px, 6vw, 96px) !important;
  align-items: center !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-reviews__copy h2 {
  max-width: 440px !important;
  font-size: clamp(3rem, 4.6vw, 5.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-reviews__copy .dde-home-rich {
  max-width: 440px !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-reviews__meta {
  margin-top: 28px !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

/* Quand Trustindex est utilisé, il porte déjà la note. On supprime la carte note maison. */
.dde-home .dde-home-reviews--trustindex .dde-home-google-badge {
  display: none !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-reviews__panel {
  display: block !important;
  min-width: 0 !important;
}

.dde-home .dde-home-reviews--trustindex .dde-home-google-embed,
.dde-home .dde-home-reviews--trustindex .dde-home-google-embed--trustindex {
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Neutralisation de la grande cage vide autour du widget */
.dde-home .dde-home-reviews--trustindex .dde-home-google-embed > * {
  max-width: 100% !important;
}

.dde-home .dde-home-reviews--trustindex .ti-widget,
.dde-home .dde-home-reviews--trustindex [class*="trustindex"],
.dde-home .dde-home-reviews--trustindex [class*="ti-widget"] {
  max-width: 100% !important;
}

.dde-home .dde-home-reviews--trustindex .ti-widget .ti-reviews-container-wrapper,
.dde-home .dde-home-reviews--trustindex .ti-widget .ti-reviews-container,
.dde-home .dde-home-reviews--trustindex .ti-widget .ti-review-item,
.dde-home .dde-home-reviews--trustindex [class*="ti-review-item"] {
  background: #ffffff !important;
  border-color: rgba(31,45,30,.12) !important;
  box-shadow: none !important;
}

.dde-home .dde-home-reviews--trustindex .ti-widget .ti-review-content,
.dde-home .dde-home-reviews--trustindex .ti-widget .ti-review-text,
.dde-home .dde-home-reviews--trustindex [class*="ti-review"] {
  font-family: var(--dde-home-body, Manrope, Arial, sans-serif) !important;
}

@media (max-width: 980px) {
  .dde-home .dde-home-reviews--trustindex .dde-home-reviews__grid {
    grid-template-columns: 1fr !important;
  }
  .dde-home .dde-home-reviews--trustindex .dde-home-reviews__copy h2,
  .dde-home .dde-home-reviews--trustindex .dde-home-reviews__copy .dde-home-rich {
    max-width: 720px !important;
  }
}

@media (max-width: 640px) {
  .dde-home .dde-home-reviews--trustindex .dde-home-reviews__grid {
    width: calc(100% - 34px) !important;
    gap: 30px !important;
  }
  .dde-home .dde-home-reviews--trustindex .dde-home-reviews__copy h2 {
    font-size: clamp(2.45rem, 12vw, 3.55rem) !important;
  }
}


/* Accueil - repères : fond blanc autour, bloc chiffres ivoire uniquement */
.dde-home .dde-home-facts {
  background: #fff !important;
  padding: 0 0 clamp(70px, 7vw, 110px) !important;
  position: relative;
  z-index: 4;
}

/* Le bloc 90 min / 12 ha / 180 m² / 22 reste ivoire */
.dde-home .dde-home-facts__grid {
  background: var(--dde-ivory, #f8f4ea) !important;
  border: 1px solid rgba(32, 45, 31, 0.14) !important;
  box-shadow: 0 26px 70px rgba(31, 45, 30, 0.10) !important;
  margin-top: -48px !important;
  position: relative;
  z-index: 5;
}

/* Les cases restent transparentes pour laisser l'ivoire du bloc */
.dde-home .dde-home-fact {
  background: transparent !important;
}

/* Séparation propre sous la photo hero */
.dde-home .dde-home-hero + .dde-home-facts {
  background: linear-gradient(
    to bottom,
    transparent 0,
    transparent 48px,
    #fff 48px,
    #fff 100%
  ) !important;
}

@media (max-width: 780px) {
  .dde-home .dde-home-facts {
    padding-bottom: 64px !important;
  }

  .dde-home .dde-home-facts__grid {
    margin-top: -28px !important;
  }
}
/* V34 — accès accueil : carte visible par défaut + cartes propres */
.dde-home-access {
  background: #fff !important;
}
.dde-home-map {
  margin: clamp(34px, 4vw, 54px) 0 0 !important;
  border: 1px solid var(--dde-home-line, rgba(138,117,100,.24)) !important;
  overflow: hidden !important;
}
.dde-home-access__grid {
  margin-top: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.dde-home-access__grid article + article { border-left: 0 !important; }
@media (max-width: 760px) {
  .dde-home-access__grid { grid-template-columns: 1fr !important; }
  .dde-home-access__grid article + article { border-left: 1px solid rgba(138,117,100,.24) !important; border-top: 0 !important; }
}


/* V36 - Accueil : filtre plus léger, hero centré, images sans cadre */
.dde-home-hero__veil {
  background:
    linear-gradient(90deg, rgba(14,20,13,.32) 0%, rgba(14,20,13,.20) 38%, rgba(14,20,13,.04) 72%, rgba(14,20,13,.16) 100%),
    linear-gradient(180deg, rgba(14,20,13,.06) 0%, rgba(14,20,13,.20) 100%) !important;
}
.dde-home-hero__inner {
  text-align: center !important;
  display: grid !important;
  justify-items: center !important;
}
.dde-home-hero h1 {
  font-size: clamp(2.4rem, 4.2vw, 4.8rem) !important;
  max-width: 980px !important;
  text-align: center !important;
}
.dde-home-hero__text,
.dde-home-hero__text p {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.dde-home-actions {
  justify-content: center !important;
}
.dde-home-eyebrow {
  justify-content: center !important;
}
.dde-home h2 + .dde-home-rich,
.dde-home h2 + p {
  margin-top: clamp(14px, 1.4vw, 22px) !important;
}
.dde-home-host {
  background: var(--dde-home-green, #859679) !important;
}
.dde-home-host__media img,
.dde-home-intro__media img,
.dde-home-services__media img,
.dde-home-decor img,
.dde-home-offer__image img {
  border: 0 !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
.dde-home .dde-home-facts { background:#fff !important; }
.dde-home .dde-home-facts__grid { background:var(--dde-home-ivory,#F8F4EA) !important; }


/* =========================================================
   DDE v40 - corrections finales présentation client
   Aucun ACF/menu/page modifié : uniquement rendu visuel.
   ========================================================= */
:root {
  --dde-green: #859679 !important;
  --dde-green-deep: #202B1D !important;
  --dde-brun: #8A7564 !important;
  --dde-ivory: #F8F4EA !important;
  --dde-blue-grey: #AEB9C1 !important;
  --dde-lavender: #C8C1D4 !important;
  --dde-line-soft: rgba(32,43,29,.14) !important;
}

/* 1) Header / menu */
.dde-site-head .dde-head-inner,
#dde-head .dde-head-inner {
  width: min(1360px, calc(100% - 56px)) !important;
  gap: clamp(18px, 2vw, 34px) !important;
}
.dde-brand,
.dde-site-head .dde-brand,
#dde-head .dde-brand {
  max-width: 180px !important;
}
.dde-brand img,
.dde-logo,
.dde-site-head .dde-brand img,
#dde-head .dde-brand img {
   max-height:100px!important;
  width:auto!important;
  max-width:220px!important;
  height: clamp(42px, 3.6vw, 58px) !important;
  object-fit: contain !important;
}
.dde-menu,
.dde-nav ul {
  gap: clamp(15px, 1.55vw, 28px) !important;
}
.dde-menu a,
.dde-nav a,
.dde-mobile-menu a {
  color: currentColor !important;
  opacity: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.dde-menu a::after,
.dde-nav a::after {
  background: #fff !important;
  height: 2px !important;
  bottom: -9px !important;
}
.dde-site-head.is-scrolled .dde-menu a::after,
.dde-site-head.is-scrolled .dde-nav a::after,
#dde-head.is-scrolled .dde-menu a::after,
#dde-head.is-scrolled .dde-nav a::after {
  background: #fff !important;
}
.dde-menu .current-menu-item > a,
.dde-menu .current_page_item > a,
.dde-nav .current-menu-item > a,
.dde-nav .current_page_item > a,
.dde-menu a:hover,
.dde-nav a:hover {
  color: currentColor !important;
}
.dde-header-cta,
.dde-mobile-cta {
  background: #fff !important;
  color: var(--dde-green, #859679) !important;
  border-color: #fff !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 52px !important;
  padding: 14px 28px !important;
}
.dde-site-head.is-scrolled .dde-header-cta,
#dde-head.is-scrolled .dde-header-cta {
  background: #fff !important;
  color: var(--dde-green, #859679) !important;
  border-color: rgba(32,43,29,.1) !important;
}

/* 2) Supprimer toutes les feuilles / pictos dans les boutons + centrage */
.dde-header-cta::after,
.dde-mobile-cta::after,
.dde-home-btn::after,
.dde-static-btn::after,
.dde-button::after,
.dde-leaf::after,
.dde-hero-cta::after,
.dde-event-hero-cta::after,
.dde-event-final-cta::after,
.elementor-button::after,
.wp-block-button__link::after,
a[class*="btn"]::after,
a[class*="cta"]::after,
button[class*="btn"]::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}
.dde-home-btn,
.dde-static-btn,
.dde-button,
.dde-leaf,
.dde-hero-cta,
.dde-event-hero-cta,
.dde-event-final-cta,
.elementor-button,
.wp-block-button__link,
a[class*="btn"],
a[class*="cta"],
button[class*="btn"] {
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
}

/* 3) Headers : filtres moins sombres, texte centré, sous-titres plus lisibles */
.dde-home-hero__veil,
.dde-about-hero__veil,
.dde-static-hero__veil {
  background: linear-gradient(180deg, rgba(18,25,17,.30), rgba(18,25,17,.18) 42%, rgba(18,25,17,.46)) !important;
}
.dde-hero::before,
.dde-maison-hero::before {
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.36)) !important;
}
.dde-event-hero::after,
.dde-event-page .dde-event-hero::after {
  background: linear-gradient(180deg, rgba(16,22,15,.22), rgba(16,22,15,.38)) !important;
}
.dde-home-hero__inner,
.dde-about-hero__inner,
.dde-static-hero__inner,
.dde-hero-content,
.dde-event-hero .dde-event-shell,
.dde-event-page .dde-event-hero .dde-event-shell {
  text-align: center !important;
  align-items: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.dde-home-hero h1,
.dde-about-hero h1,
.dde-static-hero h1,
.dde-hero h1,
.dde-event-hero h1,
.dde-event-hero .dde-event-h1 {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(2.7rem, 5.35vw, 5.75rem) !important;
  line-height: .98 !important;
}
.dde-home-hero__text,
.dde-home-hero__text p,
.dde-about-hero .dde-static-rich,
.dde-static-hero .dde-static-rich,
.dde-hero-text,
.dde-hero-text p,
.dde-event-hero-text,
.dde-event-hero-text p {
  max-width: 740px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(255,255,255,.98) !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.35) !important;
}
.dde-home-actions,
.dde-about-actions {
  justify-content: center !important;
}

/* 4) Supprimer les petits tirets décoratifs avant les sur-titres */
.dde-eyebrow::before,
.dde-static-eyebrow::before,
.dde-home-eyebrow::before,
.dde-event-eyebrow::before,
.dde-event-hero-eyebrow::before,
.dde-kicker::before,
[class*="eyebrow"]::before {
  content: none !important;
  display: none !important;
}
.dde-eyebrow,
.dde-static-eyebrow,
.dde-home-eyebrow,
.dde-event-eyebrow,
.dde-event-hero-eyebrow {
  padding-left: 0 !important;
  text-align: inherit !important;
}

/* 5) Espacement H2 / paragraphes */
.dde-h2,
.dde-section-head h2,
.dde-home-section-head h2,
.dde-static h2,
.dde-event-h2,
h2.elementor-heading-title {
  margin-bottom: clamp(18px, 2vw, 30px) !important;
}
h2 + p,
h2 + .dde-home-rich,
h2 + .dde-static-rich,
.dde-h2 + .elementor-widget-text-editor,
.dde-h2 + p,
.dde-section-head .elementor-widget-text-editor,
.dde-home-section-head .dde-home-rich {
  margin-top: clamp(12px, 1.2vw, 20px) !important;
}

/* 6) Étapes / boîtes : centrées, homogènes, pas de mélange de styles */
.dde-steps-grid {
  gap: 24px !important;
}
.dde-step,
.dde-step .elementor-widget-text-editor,
.dde-step p,
.dde-event-booking-step,
.dde-event-booking-step p,
.dde-home-service-list article,
.dde-home-services__list article {
  text-align: center !important;
}
.dde-step,
.dde-event-booking-step {
  background: #fff !important;
  border: 1px solid rgba(32,43,29,.14) !important;
  box-shadow: none !important;
}
.dde-step-number .elementor-heading-title,
.dde-about-timeline__items span {
  letter-spacing: -.035em !important;
}

/* 7) Couleurs charte : plus de marron foncé en fond, CTA final en bleu grisé */
.dde-home-host,
.dde-about-story,
.dde-event-inspiration,
.dde-hostess,
.dde-hostess-section,
.dde-page-mariage .dde-hostess {
  background: var(--dde-green, #859679) !important;
}
.dde-final,
.dde-home-final,
.dde-event-final,
.dde-static-final {
  background: var(--dde-blue-grey, #AEB9C1) !important;
  color: #fff !important;
  border-top: 1px solid rgba(255,255,255,.4) !important;
}
.dde-final h2,
.dde-home-final h2,
.dde-event-final h2,
.dde-static-final h2,
.dde-final .elementor-heading-title,
.dde-home-final .dde-home-rich p,
.dde-static-final .dde-static-rich,
.dde-static-final p {
  color: #fff !important;
}
.dde-final .elementor-button,
.dde-home-final .dde-home-btn,
.dde-event-final-cta,
.dde-static-final .dde-static-btn {
  background: var(--dde-brun, #8A7564) !important;
  color: #fff !important;
  border-color: var(--dde-brun, #8A7564) !important;
}

/* 8) Home facts : dernier bloc scindé 22 couchages | 10 chambres */
.dde-home-fact--split {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  text-align: center !important;
}
.dde-home-fact--split .dde-home-fact__part {
  display: grid !important;
  gap: 8px !important;
  justify-items: center !important;
}
.dde-home-fact--split .dde-home-fact__divider {
  width: 1px !important;
  height: 58% !important;
  min-height: 56px !important;
  background: rgba(32,43,29,.18) !important;
  display: block !important;
}
.dde-home-fact--split strong { font-size: clamp(2.05rem, 2.45vw, 3.2rem) !important; }
.dde-home-fact--split span:not(.dde-home-fact__divider) { text-align: center !important; }

/* 9) À propos : paragraphes des timelines alignés en haut + 01. 02. 03. */
.dde-about-timeline__items article {
  align-items: start !important;
}
.dde-about-timeline__items article p {
  align-self: start !important;
  margin-top: 0 !important;
}
.dde-about-timeline__items span {
  min-width: 72px !important;
  text-align: left !important;
}

/* 10) Maison d'Hôtes : Conditions & Tarifs Gîte lisible en beige */
.dde-page-maison .dde-gite-pricing {
  background: var(--dde-green, #859679) !important;
}
.dde-page-maison .dde-gite-pricing .dde-eyebrow .elementor-heading-title,
.dde-page-maison .dde-gite-pricing .dde-h2 .elementor-heading-title,
.dde-page-maison .dde-gite-pricing > .dde-shell > .dde-eyebrow,
.dde-page-maison .dde-gite-pricing > .dde-shell > .dde-h2 h2 {
  color: var(--dde-ivory, #F8F4EA) !important;
  -webkit-text-fill-color: var(--dde-ivory, #F8F4EA) !important;
}
.dde-page-maison .dde-gite-price-card {
  background: var(--dde-ivory, #F8F4EA) !important;
}

/* 11) Accès : revenir au design sobre de la maquette, sans pictos */
.dde-access-grid,
.dde-access-grid.dde-access-grid--clean,
.dde-map-section .dde-access-grid,
.dde-event-access .dde-access-grid,
.dde-about-access .dde-access-grid,
.dde-home-access .dde-access-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  background: var(--dde-ivory, #F8F4EA) !important;
  border: 1px solid rgba(32,43,29,.14) !important;
  box-shadow: none !important;
  margin: 0 auto clamp(64px,7vw,104px) !important;
  padding: 0 !important;
}
.dde-access-card,
.dde-access-grid.dde-access-grid--clean .dde-access-card {
  background: var(--dde-ivory, #F8F4EA) !important;
  border: 0 !important;
  padding: clamp(34px, 4vw, 54px) clamp(26px, 4vw, 46px) !important;
  min-height: 0 !important;
  text-align: center !important;
}
.dde-access-card:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 18% !important;
  right: 0 !important;
  bottom: 18% !important;
  width: 1px !important;
  background: rgba(32,43,29,.14) !important;
  display: block !important;
}
.dde-access-icon,
.dde-access-card__head .dde-access-icon { display: none !important; }
.dde-access-card__head { display: block !important; margin: 0 !important; }
.dde-access-card h4,
.dde-access-card h4.elementor-heading-title,
.dde-access-card .elementor-heading-title {
  font-family: var(--dde-title, Marcellus, Georgia, serif) !important;
  font-size: clamp(2rem, 2.7vw, 3.15rem) !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  color: var(--dde-green-deep, #202B1D) !important;
  margin: 0 0 18px !important;
  text-align: center !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}
.dde-access-card p,
.dde-access-card .elementor-widget-text-editor p {
  color: #6F675E !important;
  font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
  line-height: 1.52 !important;
  text-align: center !important;
  margin: 0 !important;
}

@media (max-width: 980px) {
  .dde-home-hero h1,
  .dde-about-hero h1,
  .dde-static-hero h1,
  .dde-hero h1,
  .dde-event-hero h1,
  .dde-event-hero .dde-event-h1 { font-size: clamp(2.35rem, 10vw, 3.8rem) !important; }
  .dde-access-grid,
  .dde-access-grid.dde-access-grid--clean { grid-template-columns: 1fr !important; }
  .dde-access-card:not(:last-child)::after { top:auto!important; bottom:0!important; left:10%!important; right:10%!important; width:auto!important; height:1px!important; }
}
