/* ──────────────────────────────────────────────────────────────────
   VIVES-EAUX — Design system "Rédaction pratique sobre" v1.0
   S'applique aux articles signés Mathieu Lartigue (6) et Sophie
   Lemaître (4) via body.vives-eaux-design. Cible Kadence + Gutenberg.
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design {
  /* couleurs neutres */
  --ve-bg:           #fafaf7;
  --ve-bg-alt:       #f5f2ea;
  --ve-bg-sunken:    #f0ede4;
  --ve-ink:          #1a1a1a;
  --ve-ink-soft:     #3a3a3a;
  --ve-ink-mute:     #6b6b65;
  --ve-rule:         #e8e6e0;

  /* couleurs accent par silo */
  --ve-aqua:         #0a6b6b;
  --ve-aqua-soft:    #e7f2f0;
  --ve-clim:         #c1542e;
  --ve-clim-soft:    #fbeee4;

  /* couleur active (override par silo class) */
  --ve-accent:       var(--ve-clim);
  --ve-accent-soft:  var(--ve-clim-soft);

  /* typographie */
  --ve-serif:  'Fraunces', 'Iowan Old Style', Georgia, serif;
  --ve-sans:   'Atkinson Hyperlegible', system-ui, -apple-system, sans-serif;
  --ve-mono:   'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --ve-reading: 820px;        /* corps article : juste milieu lisibilité/utilisation */
  --ve-wide:    1140px;       /* hero, featured image, plus large que le corps */
}
body.vives-eaux-design.vives-eaux-silo-aqua {
  --ve-accent:       var(--ve-aqua);
  --ve-accent-soft:  var(--ve-aqua-soft);
}

/* ── Barre silo en haut ── */
body.vives-eaux-design::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--ve-accent);
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
}

/* ── Body base ── */
body.vives-eaux-design.single-post {
  background: var(--ve-bg);
  font-family: var(--ve-sans);
  color: var(--ve-ink);
  font-feature-settings: 'ss01', 'ss02';
}

/* ──────────────────────────────────────────────────────────────────
   ARCHITECTURE CENTRAGE — v1.4 (chaque enfant se centre lui-même)
   Principe : les wrappers Kadence sont full-width (no max-width, no
   padding). Chaque bloc enfant de .entry-content applique son propre
   max-width + margin auto + padding latéral. Plus de break-out
   négatif ni de width:100vw fragile.
   ────────────────────────────────────────────────────────────────── */

/* Hide sidebar (Kadence + Intelly Related + autres) */
body.vives-eaux-design.single-post #secondary,
body.vives-eaux-design.single-post .secondary,
body.vives-eaux-design.single-post .sidebar.widget-area,
body.vives-eaux-design.single-post aside.global-sidebar,
body.vives-eaux-design.single-post .has-sidebar-content-style-boxed > .sidebar {
  display: none !important;
}

/* Wrappers Kadence : tous en full-width, pas de padding, pas de margin */
body.vives-eaux-design.single-post .content-container,
body.vives-eaux-design.single-post .site-main,
body.vives-eaux-design.single-post #primary,
body.vives-eaux-design.single-post .entry-content-wrap,
body.vives-eaux-design.single-post .entry-wrap,
body.vives-eaux-design.single-post article.post,
body.vives-eaux-design.single-post .entry,
body.vives-eaux-design.single-post .entry-content {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

/* TOUS les blocs directs de entry-content se centrent sur 820px avec padding latéral */
body.vives-eaux-design.single-post .entry-content > * {
  max-width: var(--ve-reading);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.25rem, 3vw, 2rem);
  padding-right: clamp(1.25rem, 3vw, 2rem);
  box-sizing: border-box;
}

/* La hero image dépasse à 1140px max */
body.vives-eaux-design.single-post .entry-content > .ve-hero-image {
  max-width: var(--ve-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* La section related est full-width (fond crème) — l'inner se recentre */
body.vives-eaux-design.single-post .entry-content > .ve-related {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ──────────────────────────────────────────────────────────────────
   ARTICLE HEADER (titre / méta / image vedette)
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design.single-post .entry-hero {
  background: var(--ve-bg);
  padding: 3.5rem 0 2rem;
  width: 100%;
}
body.vives-eaux-design.single-post .entry-hero-container,
body.vives-eaux-design.single-post .entry-hero-container-inner,
body.vives-eaux-design.single-post .entry-hero .hero-container {
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 100%;
}
/* Le header de l'article (title + meta) suit la colonne lecture 820px */
body.vives-eaux-design.single-post .entry-hero .entry-header {
  max-width: var(--ve-reading) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1.25rem, 3vw, 2rem) !important;
  width: 100%;
  box-sizing: border-box;
}

/* ──────────────────────────────────────────────────────────────────
   RUBRIQUE NATIVE KADENCE (.entry-taxonomies) — styler en accent
   et remplacer le rendu par la rubrique courte injectée via PHP.
   ────────────────────────────────────────────────────────────────── */

/* Cache la rubrique injectée via the_content (doublon) */
body.vives-eaux-design .entry-content > .ve-rubrique {
  display: none !important;
}

/* Style la rubrique native Kadence comme notre design */
body.vives-eaux-design .entry-hero .entry-taxonomies {
  margin: 0 0 1.4rem !important;
  text-align: left;
}
body.vives-eaux-design .entry-hero .entry-taxonomies .category-links,
body.vives-eaux-design .entry-hero .entry-taxonomies a {
  font-family: var(--ve-sans) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ve-accent) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  text-decoration: none !important;
}
body.vives-eaux-design .entry-hero .entry-taxonomies .category-links::before {
  content: "";
  width: 3px;
  height: 14px;
  background: var(--ve-accent);
  display: inline-block;
  margin-right: 0.55rem;
  vertical-align: middle;
}
body.vives-eaux-design .entry-hero .entry-taxonomies a:hover {
  color: var(--ve-ink) !important;
}

/* Rubricage avant le titre — injecté via filter PHP */
body.vives-eaux-design .ve-rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ve-accent);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.5rem;
}
body.vives-eaux-design .ve-rubrique::before {
  content: "";
  width: 3px;
  height: 14px;
  background: var(--ve-accent);
}

/* Titre H1 */
body.vives-eaux-design.single-post .entry-title {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 144, 'wght' 480, 'SOFT' 30;
  font-size: clamp(2rem, 5.2vw, 3.6rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  color: var(--ve-ink) !important;
  font-weight: 480 !important;
  margin: 0 0 1.2rem !important;
  max-width: 22ch;
  text-align: left !important;
}

/* Méta auteur/date */
body.vives-eaux-design.single-post .entry-meta {
  font-family: var(--ve-sans) !important;
  font-size: 0.86rem !important;
  color: var(--ve-ink-mute) !important;
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.vives-eaux-design.single-post .entry-meta .byline a,
body.vives-eaux-design.single-post .entry-meta .author-name {
  color: var(--ve-ink) !important;
  font-weight: 700 !important;
}
body.vives-eaux-design.single-post .entry-meta .meta-sep {
  color: var(--ve-ink-mute);
}

/* Featured image */
body.vives-eaux-design.single-post .post-thumbnail,
body.vives-eaux-design.single-post .entry-hero .entry-thumbnail {
  max-width: var(--ve-wide);
  margin: 1rem auto 0 !important;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem);
}
body.vives-eaux-design.single-post .post-thumbnail img,
body.vives-eaux-design.single-post .entry-hero .entry-thumbnail img {
  border-radius: 6px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* ──────────────────────────────────────────────────────────────────
   ARTICLE BODY
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design.single-post .entry-content,
body.vives-eaux-design.single-post .content-container {
  max-width: var(--ve-reading);
  margin: 3rem auto 4rem !important;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem);
  font-size: 1.075rem;
  line-height: 1.72;
  color: var(--ve-ink-soft);
}

/* Paragraphes */
body.vives-eaux-design .entry-content p {
  font-family: var(--ve-sans);
  margin: 0 0 1.3em;
}

/* Premier paragraphe = lead en serif */
body.vives-eaux-design .entry-content > p:first-of-type {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 30, 'wght' 380, 'SOFT' 50;
  font-size: 1.3rem;
  line-height: 1.5;
  color: var(--ve-ink);
  letter-spacing: -0.005em;
  margin-bottom: 2rem;
}

/* H2 — barre verticale d'accent */
body.vives-eaux-design .entry-content h2 {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 60, 'wght' 540, 'SOFT' 30;
  font-size: 1.92rem;
  line-height: 1.18;
  letter-spacing: -0.013em;
  color: var(--ve-ink);
  margin: 3rem 0 1.1rem;
  padding-left: 1.1rem;
  position: relative;
  scroll-margin-top: 5rem;
  font-weight: 540;
}
body.vives-eaux-design .entry-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  bottom: 0.55em;
  width: 4px;
  background: var(--ve-accent);
  border-radius: 2px;
}

/* H3 — uppercase signature */
body.vives-eaux-design .entry-content h3 {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ve-ink);
  margin: 2.2rem 0 0.7rem;
}

/* Liens dans le corps */
body.vives-eaux-design .entry-content p a,
body.vives-eaux-design .entry-content li a {
  color: var(--ve-ink);
  text-decoration: none;
  background-image: linear-gradient(var(--ve-accent), var(--ve-accent));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  padding-bottom: 1px;
  transition: background-size 0.25s ease, color 0.25s ease;
}
body.vives-eaux-design .entry-content p a:hover,
body.vives-eaux-design .entry-content li a:hover {
  color: var(--ve-accent);
  background-size: 100% 100%;
  background-image: linear-gradient(var(--ve-accent-soft), var(--ve-accent-soft));
}

/* Listes */
body.vives-eaux-design .entry-content ul:not(.en-bref__list):not(.faq-section ul) {
  padding-left: 1.4rem;
  margin: 0 0 1.5em;
}
body.vives-eaux-design .entry-content ul:not(.en-bref__list):not(.faq-section ul) li {
  margin-bottom: 0.6em;
  line-height: 1.65;
}
body.vives-eaux-design .entry-content ul:not(.en-bref__list):not(.faq-section ul) li::marker {
  color: var(--ve-accent);
  font-weight: 700;
}

/* ──────────────────────────────────────────────────────────────────
   BLOCKQUOTE AUTEUR DISCLAIMER (.vives-eaux-author-disclaimer)
   Le MU plugin ajoute cette classe automatiquement.
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content blockquote.vives-eaux-author-disclaimer,
body.vives-eaux-design .entry-content blockquote.wp-block-quote.vives-eaux-author-disclaimer {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1.1rem 1.3rem;
  background: var(--ve-bg-alt);
  border-left: 3px solid var(--ve-accent);
  border-radius: 0 6px 6px 0;
  margin: 2.2rem 0 2.5rem;
  font-style: normal;
  position: relative;
}
body.vives-eaux-design .entry-content blockquote.vives-eaux-author-disclaimer::before {
  content: attr(data-initials);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--ve-accent);
  color: var(--ve-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 60, 'wght' 500;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
  grid-column: 1;
}
body.vives-eaux-design .entry-content blockquote.vives-eaux-author-disclaimer p {
  grid-column: 2;
  margin: 0;
  font-family: var(--ve-sans);
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--ve-ink-soft);
  font-style: normal;
}
body.vives-eaux-design .entry-content blockquote.vives-eaux-author-disclaimer p strong,
body.vives-eaux-design .entry-content blockquote.vives-eaux-author-disclaimer p b {
  color: var(--ve-ink);
}

/* ──────────────────────────────────────────────────────────────────
   BLOC EN BREF
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content .en-bref {
  background: var(--ve-accent-soft);
  border-radius: 6px;
  padding: 1.5rem 1.7rem 1.6rem;
  margin: 2.5rem 0;
  position: relative;
  overflow: hidden;
}
body.vives-eaux-design .entry-content .en-bref::before {
  content: "";
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 3px;
  background: var(--ve-accent);
}
body.vives-eaux-design .entry-content .en-bref .en-bref__head,
body.vives-eaux-design .entry-content .en-bref h3 {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ve-accent);
  margin: 0 0 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__head::after,
body.vives-eaux-design .entry-content .en-bref h3::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--ve-accent);
  opacity: 0.25;
}
/* Quand Otomatic met le titre dans <strong> */
body.vives-eaux-design .entry-content .en-bref .en-bref__head strong {
  font-weight: 700;
  color: var(--ve-accent);
}
body.vives-eaux-design .entry-content .en-bref .en-bref__head span:not(strong) {
  display: none;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__head br { display: none; }

body.vives-eaux-design .entry-content .en-bref .en-bref__lead {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 30, 'wght' 420;
  font-size: 1.08rem;
  line-height: 1.45;
  color: var(--ve-ink);
  margin: 0 0 0.9rem;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  gap: 0.5rem;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__list li {
  font-family: var(--ve-sans);
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--ve-ink);
  padding-left: 1.5rem !important;
  position: relative;
  margin: 0 !important;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ve-accent);
  font-weight: 700;
}
body.vives-eaux-design .entry-content .en-bref .en-bref__list li::marker {
  content: "";
}

/* ──────────────────────────────────────────────────────────────────
   TABLEAUX
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content table,
body.vives-eaux-design .entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-family: var(--ve-sans);
  font-size: 0.96rem;
}
body.vives-eaux-design .entry-content table th,
body.vives-eaux-design .entry-content .wp-block-table th {
  font-family: var(--ve-sans);
  text-align: left;
  font-weight: 700;
  font-size: 0.76rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ve-accent);
  padding: 0.9rem 1rem;
  border-bottom: 2px solid var(--ve-accent);
  background: transparent;
}
body.vives-eaux-design .entry-content table td,
body.vives-eaux-design .entry-content .wp-block-table td {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid var(--ve-rule);
  color: var(--ve-ink-soft);
  vertical-align: top;
}
body.vives-eaux-design .entry-content table tr:hover td {
  background: var(--ve-bg-alt);
}
body.vives-eaux-design .entry-content table td:first-child {
  font-weight: 700;
  color: var(--ve-ink);
}

/* ──────────────────────────────────────────────────────────────────
   IMAGES DANS LE CORPS
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content .wp-block-image figure,
body.vives-eaux-design .entry-content figure.wp-block-image {
  margin: 2.5rem 0;
}
body.vives-eaux-design .entry-content .wp-block-image img {
  border-radius: 6px;
}
body.vives-eaux-design .entry-content .wp-block-image figcaption,
body.vives-eaux-design .entry-content figcaption {
  font-family: var(--ve-sans);
  font-size: 0.82rem;
  color: var(--ve-ink-mute);
  margin-top: 0.65rem;
  text-align: left;
  font-style: normal;
}

/* ──────────────────────────────────────────────────────────────────
   FAQ (<details>)
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content .faq-section,
body.vives-eaux-design .entry-content .faq-wrap {
  margin: 3rem 0;
}
body.vives-eaux-design .entry-content details {
  border-top: 1px solid var(--ve-rule);
  padding: 0;
  margin: 0;
}
body.vives-eaux-design .entry-content details:last-of-type {
  border-bottom: 1px solid var(--ve-rule);
}
body.vives-eaux-design .entry-content details summary {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 1.04rem;
  color: var(--ve-ink);
  padding: 1.15rem 2.5rem 1.15rem 0;
  cursor: pointer;
  list-style: none;
  position: relative;
  transition: color 0.18s ease;
}
body.vives-eaux-design .entry-content details summary::-webkit-details-marker { display: none; }
body.vives-eaux-design .entry-content details summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 60, 'wght' 300;
  font-size: 1.6rem;
  color: var(--ve-accent);
  transition: transform 0.25s ease;
  line-height: 1;
}
body.vives-eaux-design .entry-content details[open] summary { color: var(--ve-accent); }
body.vives-eaux-design .entry-content details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}
body.vives-eaux-design .entry-content details > *:not(summary) {
  padding-bottom: 1.3rem;
  color: var(--ve-ink-soft);
  line-height: 1.66;
}

/* ──────────────────────────────────────────────────────────────────
   STRIKE quelques styles Kadence cliché
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design.single-post .entry-content > p:first-of-type::first-letter {
  /* pas de lettrine auto */
  font-size: inherit;
  font-weight: inherit;
}

/* Hide Kadence default share buttons block on these pages (optionnel) */
body.vives-eaux-design.single-post .social-sharing { margin-top: 3rem; }

/* ──────────────────────────────────────────────────────────────────
   HERO IMAGE (injectée en début de contenu via PHP filter)
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .entry-content > .ve-hero-image {
  margin-top: 0;
  margin-bottom: 2.5rem;
  position: relative;
}
body.vives-eaux-design .entry-content > .ve-hero-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 6px;
  display: block;
  box-shadow: 0 1px 0 rgba(26,26,26,0.04);
}

/* Rubricage doit être au-dessus de la hero image (premier enfant) */
body.vives-eaux-design .entry-content > .ve-rubrique {
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
}

/* ──────────────────────────────────────────────────────────────────
   HEADER GLOBAL (logo + nav Kadence — restyle)
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design .site-header {
  background: rgba(250, 250, 247, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ve-rule);
  box-shadow: none !important;
}
body.vives-eaux-design .site-header-row,
body.vives-eaux-design .site-container {
  max-width: var(--ve-wide) !important;
}
/* Logo / brand */
body.vives-eaux-design .site-branding .site-title,
body.vives-eaux-design .site-branding .site-title a {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 60, 'wght' 600, 'SOFT' 50;
  font-size: 1.6rem !important;
  letter-spacing: -0.025em !important;
  color: var(--ve-ink) !important;
  font-weight: 600 !important;
  position: relative;
}
/* Mark coloré après le logo (petit point) */
body.vives-eaux-design .site-branding .site-title a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--ve-accent);
  border-radius: 50%;
  margin-left: 0.35em;
  vertical-align: super;
  transform: translateY(-2px);
}

/* Navigation menu */
body.vives-eaux-design .main-navigation .menu > li > a,
body.vives-eaux-design .header-navigation .menu > li > a {
  font-family: var(--ve-sans) !important;
  font-size: 0.86rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ve-ink-soft) !important;
  font-weight: 700 !important;
  padding: 0.6rem 0.9rem !important;
  border: none !important;
  background: transparent !important;
  transition: color 0.18s ease;
}
body.vives-eaux-design .main-navigation .menu > li > a:hover,
body.vives-eaux-design .header-navigation .menu > li > a:hover {
  color: var(--ve-accent) !important;
}
/* Active state */
body.vives-eaux-design .main-navigation .menu > li.current-menu-item > a {
  color: var(--ve-accent) !important;
}

/* ──────────────────────────────────────────────────────────────────
   FIX ALIGNEMENT : tous les wrappers Kadence sur le même container
   ────────────────────────────────────────────────────────────────── */

/* Force tout le contenu sur la même grille reading */
body.vives-eaux-design .entry-content,
body.vives-eaux-design .entry-content-wrap,
body.vives-eaux-design .single-content {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Et que les blocs (en-bref, table, lists, p, h2, faq) soient bien dans la grille */
body.vives-eaux-design .entry-content > * {
  max-width: 100%;
}
/* Tableau bord-à-bord du contenu (pas de margin négative) */
body.vives-eaux-design .entry-content .wp-block-table {
  margin-left: 0;
  margin-right: 0;
}
body.vives-eaux-design .entry-content .wp-block-table table {
  width: 100%;
}

/* Header de l'article aligné sur la même grille que le corps */
body.vives-eaux-design.single-post .entry-hero-container,
body.vives-eaux-design.single-post .entry-header,
body.vives-eaux-design.single-post .entry-content {
  padding-left: clamp(1.25rem, 4vw, 2.5rem);
  padding-right: clamp(1.25rem, 4vw, 2.5rem);
}

/* ──────────────────────────────────────────────────────────────────
   ARTICLES SIMILAIRES (custom — injecté par PHP)
   ────────────────────────────────────────────────────────────────── */

.ve-related {
  width: 100%;
  margin: 5rem 0 0;
  background: var(--ve-bg-alt);
  padding: 4rem 0 5rem;
  border-top: 1px solid var(--ve-rule);
}
.ve-related__inner {
  max-width: var(--ve-wide);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2rem);
  box-sizing: border-box;
}
.ve-related__title {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 60, 'wght' 540;
  font-size: 1.85rem !important;
  line-height: 1.15;
  letter-spacing: -0.013em;
  color: var(--ve-ink) !important;
  margin: 0 0 2.5rem !important;
  padding-left: 1.1rem;
  position: relative;
  font-weight: 540 !important;
}
.ve-related__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  bottom: 0.55em;
  width: 4px;
  background: var(--ve-accent);
  border-radius: 2px;
}
.ve-related__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ve-related__grid { grid-template-columns: repeat(3, 1fr); }
}
.ve-related__card {
  display: flex;
  flex-direction: column;
  background: var(--ve-bg);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none !important;
  color: var(--ve-ink) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-image: none !important;
  border: 1px solid var(--ve-rule);
}
.ve-related__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(26,26,26,0.07);
}
.ve-related__image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--ve-bg-sunken);
}
.ve-related__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.ve-related__card:hover .ve-related__image img {
  transform: scale(1.04);
}
.ve-related__body {
  padding: 1.2rem 1.3rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.ve-related__rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ve-accent);
}
.ve-related__h3 {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 30, 'wght' 500;
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
  color: var(--ve-ink) !important;
  margin: 0 !important;
  letter-spacing: -0.01em;
  font-weight: 500 !important;
  padding: 0 !important;
}
.ve-related__h3::before { display: none !important; }
.ve-related__excerpt {
  font-family: var(--ve-sans);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ve-ink-mute);
  margin: 0;
}
.ve-related__cta {
  font-family: var(--ve-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ve-accent);
  margin-top: 0.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: gap 0.2s ease;
}
.ve-related__card:hover .ve-related__cta { gap: 0.6rem; }

/* ──────────────────────────────────────────────────────────────────
   FAQ CUSTOM ANCIEN DESIGN (.faq-wrap / .faq-item / .chev)
   Structure de l'ancien site avec triangles bleus + bordures bleues.
   On override pour rentrer dans la palette Vives-Eaux.
   ────────────────────────────────────────────────────────────────── */

/* Container global de la FAQ — neutralise fond + radius + recentre sur 820px */
body.vives-eaux-design .entry-content section.faq-wrap,
body.vives-eaux-design .entry-content .faq-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  /* Centrage explicite sur 820px avec padding latéral */
  max-width: var(--ve-reading) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
  padding-left: clamp(1.25rem, 3vw, 2rem) !important;
  padding-right: clamp(1.25rem, 3vw, 2rem) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* Titre "questions fréquentes" → style H2 design Vives-Eaux */
body.vives-eaux-design .entry-content .faq-wrap > h2,
body.vives-eaux-design .entry-content .faq-wrap #faq-title {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 60, 'wght' 540, 'SOFT' 30 !important;
  font-size: 1.92rem !important;
  line-height: 1.18 !important;
  letter-spacing: -0.013em !important;
  color: var(--ve-ink) !important;
  font-weight: 540 !important;
  text-transform: none !important;
  margin: 0 0 1rem !important;
  padding-left: 1.1rem !important;
  position: relative;
}
body.vives-eaux-design .entry-content .faq-wrap > h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  bottom: 0.55em;
  width: 4px;
  background: var(--ve-accent);
  border-radius: 2px;
}
/* Première lettre en capitale (l'ancien thème mettait souvent un point bullet) */
body.vives-eaux-design .entry-content .faq-wrap > h2::first-letter {
  text-transform: uppercase;
}

/* Phrase d'intro */
body.vives-eaux-design .entry-content .faq-wrap .faq-intro {
  font-family: var(--ve-sans) !important;
  font-size: 0.95rem !important;
  color: var(--ve-ink-mute) !important;
  margin: 0 0 1.5rem !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Liste de FAQ */
body.vives-eaux-design .entry-content .faq-wrap .faq-list {
  display: block !important;
  background: transparent !important;
}

/* Chaque item — neutralise fond + bordure bleue + radius */
body.vives-eaux-design .entry-content .faq-wrap .faq-item,
body.vives-eaux-design .entry-content details.faq-item {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: 1px solid var(--ve-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item:last-of-type {
  border-bottom: 1px solid var(--ve-rule) !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item[open] {
  border: none !important;
  border-top: 1px solid var(--ve-rule) !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item[open]:last-of-type {
  border-bottom: 1px solid var(--ve-rule) !important;
}

/* Summary — neutralise mise en forme bouton + caractère <br> + chevron bleu */
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary {
  font-family: var(--ve-sans) !important;
  font-weight: 700 !important;
  font-size: 1.04rem !important;
  color: var(--ve-ink) !important;
  padding: 1.15rem 2.5rem 1.15rem 0 !important;
  cursor: pointer;
  list-style: none !important;
  position: relative;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary::-webkit-details-marker { display: none; }

/* Cacher l'ancien chevron bleu (.chev) et l'éventuel <br> */
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary .chev,
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary br {
  display: none !important;
}

/* Q en titre */
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary .q {
  display: inline !important;
  color: var(--ve-ink) !important;
  font-weight: 700 !important;
}

/* + / × à droite (notre indicateur unique) */
body.vives-eaux-design .entry-content .faq-wrap .faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 60, 'wght' 300 !important;
  font-size: 1.6rem !important;
  color: var(--ve-accent) !important;
  transition: transform 0.25s ease;
  line-height: 1;
  background: transparent !important;
  border: none !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item[open] summary {
  color: var(--ve-accent) !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item[open] summary .q {
  color: var(--ve-accent) !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

/* Réponse */
body.vives-eaux-design .entry-content .faq-wrap .faq-item .faq-answer {
  padding: 0 0 1.3rem !important;
  background: transparent !important;
  border: none !important;
  color: var(--ve-ink-soft) !important;
  line-height: 1.66 !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item .faq-answer p {
  margin: 0 0 0.8em !important;
  font-family: var(--ve-sans) !important;
}
body.vives-eaux-design .entry-content .faq-wrap .faq-item .faq-answer p:last-child {
  margin-bottom: 0 !important;
}

/* Hint (Astuce / Info bonus / Mise en garde / Conseil d'expert…) */
body.vives-eaux-design .entry-content .faq-wrap .faq-item .faq-hint,
body.vives-eaux-design .entry-content .faq-wrap p.faq-hint {
  font-family: var(--ve-sans) !important;
  font-size: 0.88rem !important;
  color: var(--ve-ink-mute) !important;
  background: var(--ve-bg-alt) !important;
  border-left: 2px solid var(--ve-accent) !important;
  padding: 0.6rem 0.9rem !important;
  margin: 0.3rem 0 0 !important;
  border-radius: 0 3px 3px 0 !important;
}

/* Override agressif : tout span "chev" devient invisible */
body.vives-eaux-design .entry-content .chev,
body.vives-eaux-design .entry-content [class*="chev"] {
  display: none !important;
}

/* Override des couleurs bleues inline éventuelles */
body.vives-eaux-design .entry-content .faq-wrap [style*="blue"],
body.vives-eaux-design .entry-content .faq-wrap [style*="#1"],
body.vives-eaux-design .entry-content .faq-wrap [style*="#2"],
body.vives-eaux-design .entry-content .faq-wrap [style*="#3"] {
  color: inherit !important;
  border-color: var(--ve-rule) !important;
  background-color: transparent !important;
}

/* Si la FAQ est wrappée dans un <p> par WordPress (oui ça arrive),
   on le neutralise pour qu'il ne casse pas le layout. */
body.vives-eaux-design .entry-content > p > section.faq-wrap,
body.vives-eaux-design .entry-content p > section.faq-wrap {
  display: block;
}

/* Cache les H3+P en doublon de la FAQ (l'ancien design imprimait
   la version "noscript" après les <details>) */
body.vives-eaux-design .entry-content section.faq-wrap ~ h3,
body.vives-eaux-design .entry-content section.faq-wrap ~ p {
  /* Détection difficile ; on les laisse pour l'instant pour ne pas
   * casser un éventuel contenu utile. Si gênant, ajouter règle
   * .vives-eaux-design.hide-faq-noscript .entry-content section.faq-wrap ~ h3 { display: none; }
   */
}

/* ──────────────────────────────────────────────────────────────────
   POST NAVIGATION (Précédent / Suivant Kadence)
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design nav.post-navigation,
body.vives-eaux-design .navigation.post-navigation {
  max-width: var(--ve-reading) !important;
  margin: 4rem auto 0 !important;
  padding: 2.5rem clamp(1.25rem, 3vw, 2rem) 1rem !important;
  box-sizing: border-box;
  border-top: 1px solid var(--ve-rule);
  background: transparent !important;
}

body.vives-eaux-design .post-navigation .nav-links {
  display: flex !important;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
  background: transparent !important;
}

body.vives-eaux-design .post-navigation .nav-previous,
body.vives-eaux-design .post-navigation .nav-next {
  flex: 1;
  max-width: 48%;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.vives-eaux-design .post-navigation .nav-next {
  text-align: right;
  margin-left: auto;
}

/* Si pas d'article suivant, l'élément précédent reste à gauche */
body.vives-eaux-design .post-navigation .nav-previous:only-child {
  max-width: 100%;
}

body.vives-eaux-design .post-navigation a {
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  display: block;
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 30, 'wght' 500;
  font-size: 1.1rem !important;
  line-height: 1.3 !important;
  color: var(--ve-ink) !important;
  font-weight: 500 !important;
  transition: color 0.18s ease;
}

body.vives-eaux-design .post-navigation a:hover {
  color: var(--ve-accent) !important;
  background: transparent !important;
}

/* Label "PRÉCÉDENT" / "SUIVANT" */
body.vives-eaux-design .post-navigation .post-navigation-sub {
  margin: 0 0 0.5rem !important;
}
body.vives-eaux-design .post-navigation .post-navigation-sub small {
  font-family: var(--ve-sans) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ve-accent) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}

/* Icônes SVG flèche */
body.vives-eaux-design .post-navigation svg,
body.vives-eaux-design .post-navigation .kadence-svg-icon {
  fill: currentColor !important;
  color: var(--ve-accent) !important;
  width: 16px !important;
  height: 16px !important;
}

/* Si Kadence utilise un séparateur central, le styler */
body.vives-eaux-design .post-navigation .nav-links::after,
body.vives-eaux-design .post-navigation .nav-previous::after {
  display: none !important;
}

/* ──────────────────────────────────────────────────────────────────
   EASY TABLE OF CONTENTS — restyle dans la palette site
   Remplace le thème bleu+orange par défaut par un encadré crème
   + bordure accent + texte ink, cohérent avec le reste du design.
   ────────────────────────────────────────────────────────────────── */

body.vives-eaux-design #ez-toc-container,
body.vives-eaux-design div.ez-toc-v2_0_84,
body.vives-eaux-design div[class*="ez-toc-v"] {
  background: var(--ve-bg-alt) !important;
  background-color: var(--ve-bg-alt) !important;
  background-image: none !important;
  border: 1px solid var(--ve-rule) !important;
  border-left: 3px solid var(--ve-accent) !important;
  border-radius: 4px !important;
  padding: 1.4rem 1.7rem 1.5rem !important;
  margin: 2.5rem auto !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100% !important;
}

/* Header sommaire */
body.vives-eaux-design #ez-toc-container .ez-toc-title-container {
  border-bottom: 1px solid var(--ve-rule) !important;
  padding: 0 0 0.7rem !important;
  margin: 0 0 0.9rem !important;
  background: transparent !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
body.vives-eaux-design #ez-toc-container .ez-toc-title {
  font-family: var(--ve-sans) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--ve-accent) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Bouton toggle */
body.vives-eaux-design #ez-toc-container a.ez-toc-pull-right,
body.vives-eaux-design #ez-toc-container .ez-toc-title-toggle a {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid var(--ve-rule) !important;
  color: var(--ve-ink-mute) !important;
  box-shadow: none !important;
  border-radius: 3px !important;
  padding: 0.25rem 0.5rem !important;
  opacity: 0.7;
}
body.vives-eaux-design #ez-toc-container a.ez-toc-pull-right:hover {
  opacity: 1;
}
body.vives-eaux-design #ez-toc-container a.ez-toc-pull-right svg {
  fill: var(--ve-ink-mute) !important;
  color: var(--ve-ink-mute) !important;
}

/* Liste */
body.vives-eaux-design #ez-toc-container ul.ez-toc-list,
body.vives-eaux-design #ez-toc-container ol.ez-toc-list,
body.vives-eaux-design #ez-toc-container nav ul,
body.vives-eaux-design #ez-toc-container nav ol {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.vives-eaux-design #ez-toc-container .ez-toc-list > li {
  margin: 0 !important;
  padding: 0.5rem 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.vives-eaux-design #ez-toc-container .ez-toc-list > li + li {
  border-top: 1px solid var(--ve-rule) !important;
}

/* Liens */
body.vives-eaux-design #ez-toc-container a.ez-toc-link,
body.vives-eaux-design #ez-toc-container .ez-toc-list a,
body.vives-eaux-design #ez-toc-container nav a {
  font-family: var(--ve-sans) !important;
  font-size: 0.94rem !important;
  line-height: 1.45 !important;
  color: var(--ve-ink-soft) !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  font-weight: 400 !important;
  padding: 0 !important;
  display: inline !important;
  transition: color 0.18s ease;
}
body.vives-eaux-design #ez-toc-container a.ez-toc-link:hover,
body.vives-eaux-design #ez-toc-container .ez-toc-list a:hover {
  color: var(--ve-accent) !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Item actif (scroll spy) */
body.vives-eaux-design #ez-toc-container .ez-toc-list a.active,
body.vives-eaux-design #ez-toc-container .ez-toc-list .active > a,
body.vives-eaux-design #ez-toc-container .ez-toc-list li.active > a,
body.vives-eaux-design #ez-toc-container a.ez-toc-link.active,
body.vives-eaux-design #ez-toc-container .ez-toc-link.active {
  color: var(--ve-accent) !important;
  background: transparent !important;
  background-color: transparent !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Numérotation counter-hierarchy */
body.vives-eaux-design #ez-toc-container.counter-hierarchy .ez-toc-list li::before,
body.vives-eaux-design #ez-toc-container .counter-hierarchy li::before {
  color: var(--ve-ink-mute) !important;
  font-family: var(--ve-mono) !important;
  font-size: 0.85em !important;
  font-weight: 400 !important;
  margin-right: 0.5em !important;
}

/* Override des couleurs inline-style éventuelles du plugin */
body.vives-eaux-design #ez-toc-container [style*="color"] {
  color: inherit !important;
}
body.vives-eaux-design #ez-toc-container [style*="background"]:not(svg) {
  background-color: transparent !important;
}

/* ══════════════════════════════════════════════════════════════════
   HOME — front-page.php v1.0
   Magazine sobre, hero éditorial + 2 silos + récents + about
   ══════════════════════════════════════════════════════════════════ */

body.vives-eaux-home {
  background: var(--ve-bg);
  font-family: var(--ve-sans);
  color: var(--ve-ink);
  font-feature-settings: 'ss01', 'ss02';
}

/* Désactive le contenu Kadence de la page 8 (le template prend le relais) */
body.vives-eaux-home #main.ve-home {
  display: block;
  width: 100%;
}

/* Cacher la sidebar Kadence sur la home */
body.vives-eaux-home #secondary,
body.vives-eaux-home .secondary,
body.vives-eaux-home .sidebar.widget-area {
  display: none !important;
}
body.vives-eaux-home .content-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sur la home, on bascule par défaut sur l'accent aqua (éditorial) */
body.vives-eaux-home {
  --ve-accent: var(--ve-aqua);
  --ve-accent-soft: var(--ve-aqua-soft);
}

/* ─── HERO ÉDITORIAL ───────────────────────────────────────── */
.ve-home-hero {
  background: var(--ve-bg);
  padding: 6rem 0 5rem;
  border-bottom: 1px solid var(--ve-rule);
}
.ve-home-hero__inner {
  max-width: var(--ve-wide);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
  display: grid;
  gap: 1.5rem;
}
.ve-home-hero .ve-rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ve-accent);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.5rem;
}
.ve-home-hero .ve-rubrique::before {
  content: "";
  width: 3px;
  height: 14px;
  background: var(--ve-accent);
}
.ve-home-hero__title {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 144, 'wght' 460, 'SOFT' 30;
  font-size: clamp(2.4rem, 6.5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.028em;
  color: var(--ve-ink);
  margin: 0;
  max-width: 22ch;
  font-weight: 460;
}
.ve-home-hero__title em {
  font-style: italic;
  font-variation-settings: 'opsz' 144, 'wght' 440, 'SOFT' 80, 'WONK' 1;
  color: var(--ve-accent);
}
.ve-home-hero__lead {
  font-family: var(--ve-sans);
  font-size: clamp(1.1rem, 1.3vw, 1.25rem);
  line-height: 1.55;
  color: var(--ve-ink-soft);
  margin: 0;
  max-width: 60ch;
}
.ve-home-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.5rem;
}
.ve-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 1.5rem;
  font-family: var(--ve-sans);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  border-radius: 999px;
  transition: all 0.22s ease;
  background-image: none !important;
}
.ve-btn--primary {
  background: var(--ve-ink);
  color: var(--ve-bg) !important;
}
.ve-btn--primary:hover {
  background: var(--ve-accent);
  transform: translateY(-1px);
}
.ve-btn--ghost {
  background: transparent;
  color: var(--ve-ink) !important;
  border: 1px solid var(--ve-rule);
}
.ve-btn--ghost:hover {
  border-color: var(--ve-accent);
  color: var(--ve-accent) !important;
}

/* ─── SECTIONS SILO (générique) ────────────────────────────── */
.ve-home-section {
  padding: 5rem 0;
}
.ve-home-section[data-silo="aqua"] {
  --ve-accent: var(--ve-aqua);
  --ve-accent-soft: var(--ve-aqua-soft);
  background: var(--ve-bg);
}
.ve-home-section[data-silo="clim"] {
  --ve-accent: var(--ve-clim);
  --ve-accent-soft: var(--ve-clim-soft);
  background: var(--ve-bg-alt);
}
.ve-home-section__inner {
  max-width: var(--ve-wide);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
}
.ve-home-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.ve-home-section__title {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 60, 'wght' 540, 'SOFT' 30;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ve-ink);
  margin: 0;
  padding-left: 1.1rem;
  position: relative;
  font-weight: 540;
}
.ve-home-section__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  bottom: 0.55em;
  width: 4px;
  background: var(--ve-accent);
  border-radius: 2px;
}
.ve-home-section__more {
  font-family: var(--ve-sans);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ve-accent);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: gap 0.2s ease;
  background-image: none !important;
}
.ve-home-section__more:hover { gap: 0.7rem; }

/* Grid de 3 cards */
.ve-home-section__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ve-home-section__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ─── CARDS (re-use du style related, ajusté) ──────────────── */
.ve-home-card {
  display: flex;
  flex-direction: column;
  background: var(--ve-bg);
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none !important;
  color: var(--ve-ink) !important;
  border: 1px solid var(--ve-rule);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  background-image: none !important;
}
.ve-home-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(26,26,26,0.08);
}
.ve-home-card__image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--ve-bg-sunken);
}
.ve-home-card__image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.45s ease;
}
.ve-home-card:hover .ve-home-card__image img {
  transform: scale(1.04);
}
.ve-home-card__body {
  padding: 1.2rem 1.3rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.ve-home-card__rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ve-accent);
}
.ve-home-card__title {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 30, 'wght' 500;
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
  color: var(--ve-ink) !important;
  margin: 0 !important;
  letter-spacing: -0.01em;
  font-weight: 500 !important;
  padding: 0 !important;
}
.ve-home-card__title::before { display: none !important; }
.ve-home-card__excerpt {
  font-family: var(--ve-sans);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ve-ink-mute);
  margin: 0;
}
.ve-home-card__cta {
  font-family: var(--ve-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ve-accent);
  margin-top: 0.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: gap 0.2s ease;
}
.ve-home-card:hover .ve-home-card__cta { gap: 0.6rem; }

/* ─── DERNIERS ARTICLES (layout liste) ─────────────────────── */
.ve-home-recent {
  padding: 5rem 0;
  background: var(--ve-bg);
}
.ve-home-recent__inner {
  max-width: var(--ve-wide);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
}
.ve-home-recent__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ve-home-recent__list { grid-template-columns: repeat(2, 1fr); }
}
.ve-home-recent__item[data-silo="aqua"] { --ve-accent: var(--ve-aqua); }
.ve-home-recent__item[data-silo="clim"] { --ve-accent: var(--ve-clim); }
.ve-home-recent__link {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--ve-rule);
  border-radius: 6px;
  background: var(--ve-bg);
  text-decoration: none !important;
  color: var(--ve-ink) !important;
  background-image: none !important;
  transition: border-color 0.18s ease, transform 0.18s ease;
  height: 100%;
  box-sizing: border-box;
}
.ve-home-recent__link:hover {
  border-color: var(--ve-accent);
  transform: translateY(-2px);
}
.ve-home-recent__image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 4px;
  background: var(--ve-bg-sunken);
}
.ve-home-recent__image img {
  width: 100%; height: 100%; object-fit: cover;
}
.ve-home-recent__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
  min-width: 0;
}
.ve-home-recent__rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ve-accent);
}
.ve-home-recent__title {
  font-family: var(--ve-serif) !important;
  font-variation-settings: 'opsz' 30, 'wght' 500;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  color: var(--ve-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: -0.005em;
  font-weight: 500 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ve-home-recent__title::before { display: none !important; }
.ve-home-recent__meta {
  font-family: var(--ve-sans);
  font-size: 0.78rem;
  color: var(--ve-ink-mute);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ve-home-recent__dot {
  width: 3px; height: 3px;
  background: var(--ve-ink-mute);
  border-radius: 50%;
}

/* ─── À PROPOS / E-E-A-T ───────────────────────────────────── */
.ve-home-about {
  padding: 5rem 0;
  background: var(--ve-bg-alt);
  border-top: 1px solid var(--ve-rule);
}
.ve-home-about__inner {
  max-width: var(--ve-reading);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
  text-align: left;
}
.ve-home-about .ve-rubrique {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ve-accent);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.2rem;
}
.ve-home-about .ve-rubrique::before {
  content: "";
  width: 3px;
  height: 14px;
  background: var(--ve-accent);
}
.ve-home-about__title {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 90, 'wght' 460, 'SOFT' 30;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1.1;
  letter-spacing: -0.018em;
  color: var(--ve-ink);
  margin: 0 0 1rem;
  font-weight: 460;
}
.ve-home-about__title em {
  font-style: italic;
  font-variation-settings: 'opsz' 90, 'wght' 440, 'SOFT' 80, 'WONK' 1;
  color: var(--ve-accent);
}
.ve-home-about__lead {
  font-family: var(--ve-sans);
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--ve-ink-soft);
  margin: 0 0 2rem;
}
.ve-home-about__links {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--ve-rule);
}
.ve-home-about__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--ve-rule);
  text-decoration: none !important;
  color: var(--ve-ink) !important;
  font-family: var(--ve-sans);
  background-image: none !important;
  transition: color 0.18s ease;
}
.ve-home-about__link:hover {
  color: var(--ve-accent) !important;
}
.ve-home-about__label {
  font-weight: 700;
  font-size: 1rem;
}
.ve-home-about__arrow {
  font-size: 1.2rem;
  color: var(--ve-accent);
  transition: transform 0.22s ease;
}
.ve-home-about__link:hover .ve-home-about__arrow {
  transform: translateX(4px);
}

/* ══════════════════════════════════════════════════════════════════
   PAGES CUSTOM (Qui sommes-nous, À propos, Méthodologie)
   ══════════════════════════════════════════════════════════════════ */

body.vives-eaux-page {
  background: var(--ve-bg);
  font-family: var(--ve-sans);
  color: var(--ve-ink);
  font-feature-settings: 'ss01', 'ss02';
  --ve-accent: var(--ve-aqua);
  --ve-accent-soft: var(--ve-aqua-soft);
}

/* Reset wrappers Kadence pour les pages */
body.vives-eaux-page #secondary,
body.vives-eaux-page .secondary,
body.vives-eaux-page .sidebar.widget-area {
  display: none !important;
}
body.vives-eaux-page .content-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.vives-eaux-page .entry-content-wrap,
body.vives-eaux-page .site-main,
body.vives-eaux-page article.page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Cache l'entry-header par défaut Kadence (titre dupliqué) */
body.vives-eaux-page .entry-hero,
body.vives-eaux-page .single-content > .entry-header,
body.vives-eaux-page .page > .entry-header {
  display: none !important;
}

/* Sections génériques de pages */
.ve-page-section {
  padding: 4.5rem 0;
}
.ve-page-section:nth-child(odd) {
  background: var(--ve-bg);
}
.ve-page-section:nth-child(even) {
  background: var(--ve-bg-alt);
}
.ve-page-section__inner {
  max-width: var(--ve-wide);
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
}
.ve-page-section__head {
  margin-bottom: 2.5rem;
}

/* MISSION : 3 colonnes */
.ve-page-mission {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ve-page-mission { grid-template-columns: repeat(3, 1fr); }
}
.ve-page-mission__col {
  border-top: 2px solid var(--ve-accent);
  padding-top: 1.4rem;
}
.ve-page-mission__title {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 30, 'wght' 540;
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--ve-ink);
  margin: 0 0 0.8rem;
  letter-spacing: -0.005em;
  font-weight: 540;
}
.ve-page-mission__col p {
  font-family: var(--ve-sans);
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--ve-ink-soft);
  margin: 0;
}

/* RÉDACTEURS : grille 4 cards */
.ve-page-redacteurs__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .ve-page-redacteurs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .ve-page-redacteurs__grid { grid-template-columns: repeat(4, 1fr); }
}
.ve-redacteur {
  background: var(--ve-bg);
  border: 1px solid var(--ve-rule);
  border-radius: 8px;
  padding: 1.8rem 1.5rem 1.6rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ve-redacteur[data-silo="aqua"] { --ve-accent: var(--ve-aqua); --ve-accent-soft: var(--ve-aqua-soft); }
.ve-redacteur[data-silo="clim"] { --ve-accent: var(--ve-clim); --ve-accent-soft: var(--ve-clim-soft); }
.ve-redacteur:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(26,26,26,0.07);
}
.ve-redacteur__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--ve-accent);
  color: var(--ve-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 60, 'wght' 500;
  font-size: 1.4rem;
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.ve-redacteur__name {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 30, 'wght' 540;
  font-size: 1.2rem;
  line-height: 1.2;
  color: var(--ve-ink);
  margin: 0;
  letter-spacing: -0.01em;
  font-weight: 540;
}
.ve-redacteur__role {
  font-family: var(--ve-sans);
  font-weight: 700;
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ve-accent);
  margin: 0;
}
.ve-redacteur__bio {
  font-family: var(--ve-sans);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--ve-ink-soft);
  margin: 0.4rem 0;
  flex-grow: 1;
}
.ve-redacteur__topics {
  list-style: none;
  padding: 0;
  margin: 0.6rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.ve-redacteur__topics li {
  font-family: var(--ve-sans);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ve-ink);
  background: var(--ve-accent-soft);
  padding: 0.25rem 0.6rem;
  border-radius: 3px;
}

/* MÉTHODE : liste numérotée éditoriale */
.ve-page-method__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
}
.ve-page-method__item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1.5rem;
  padding: 1.8rem 0;
  border-top: 1px solid var(--ve-rule);
  align-items: start;
}
.ve-page-method__item:last-child {
  border-bottom: 1px solid var(--ve-rule);
}
.ve-page-method__num {
  font-family: var(--ve-mono);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--ve-accent);
  line-height: 1;
}
.ve-page-method__title {
  font-family: var(--ve-serif);
  font-variation-settings: 'opsz' 30, 'wght' 540;
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--ve-ink);
  margin: 0 0 0.6rem;
  font-weight: 540;
}
.ve-page-method__item p {
  font-family: var(--ve-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ve-ink-soft);
  margin: 0;
}

/* Sur les pages custom, on rebascule le hero et about en accent aqua */
body.vives-eaux-page .ve-home-hero,
body.vives-eaux-page .ve-home-about {
  --ve-accent: var(--ve-aqua);
  --ve-accent-soft: var(--ve-aqua-soft);
}

/* ══════════════════════════════════════════════════════════════════
   FOOTER GLOBAL — fond ink + texte crème + accent hover
   S'applique à toutes les pages avec body.vives-eaux-design
   ══════════════════════════════════════════════════════════════════ */

body.vives-eaux-design footer#colophon.site-footer,
body.vives-eaux-design .site-footer {
  background: var(--ve-ink) !important;
  background-color: var(--ve-ink) !important;
  background-image: none !important;
  color: rgba(250, 250, 247, 0.85) !important;
  border-top: none !important;
  padding: 4.5rem 0 1.5rem !important;
  margin-top: 0 !important;
}

/* Neutralise les fonds bleus des wrappers internes Kadence */
body.vives-eaux-design .site-footer .site-footer-wrap,
body.vives-eaux-design .site-footer .site-middle-footer-wrap,
body.vives-eaux-design .site-footer .site-bottom-footer-wrap,
body.vives-eaux-design .site-footer .site-top-footer-wrap,
body.vives-eaux-design .site-footer [class*="site-footer-row-container"],
body.vives-eaux-design .site-footer [class*="footer-row-container"],
body.vives-eaux-design .site-footer .site-footer-row,
body.vives-eaux-design .site-footer .site-bottom-footer-inner-wrap,
body.vives-eaux-design .site-footer .site-middle-footer-inner-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Texte par défaut footer */
body.vives-eaux-design .site-footer,
body.vives-eaux-design .site-footer p,
body.vives-eaux-design .site-footer span,
body.vives-eaux-design .site-footer li {
  font-family: var(--ve-sans) !important;
  color: rgba(250, 250, 247, 0.85) !important;
}

/* Container principal footer */
body.vives-eaux-design .site-footer .site-container,
body.vives-eaux-design .site-footer .site-footer-row-container-inner {
  max-width: var(--ve-wide) !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem) !important;
  box-sizing: border-box;
}

/* Grille des 3 colonnes du milieu */
body.vives-eaux-design .site-footer .site-middle-footer-inner-wrap {
  display: grid !important;
  gap: 3rem !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
}
@media (min-width: 720px) {
  body.vives-eaux-design .site-footer .site-middle-footer-inner-wrap {
    grid-template-columns: 1fr 1.4fr 1fr !important;
  }
}

/* Sections individuelles */
body.vives-eaux-design .site-footer .site-footer-middle-section-1,
body.vives-eaux-design .site-footer .site-footer-middle-section-2,
body.vives-eaux-design .site-footer .site-footer-middle-section-3,
body.vives-eaux-design .site-footer .footer-widget-area,
body.vives-eaux-design .site-footer .footer-widget-area-inner {
  background: transparent !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Centre la section logo */
body.vives-eaux-design .site-footer .site-footer-middle-section-2,
body.vives-eaux-design .site-footer .site-footer-middle-section-2 .footer-widget-area-inner {
  text-align: center !important;
}

/* Titres de widget */
body.vives-eaux-design .site-footer .widget-title,
body.vives-eaux-design .site-footer h2.widget-title {
  font-family: var(--ve-sans) !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(250, 250, 247, 0.55) !important;
  margin: 0 0 1.3rem !important;
  padding: 0 0 0.75rem !important;
  border-bottom: 1px solid rgba(250, 250, 247, 0.12) !important;
}

/* Menus / listes */
body.vives-eaux-design .site-footer .menu,
body.vives-eaux-design .site-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  gap: 0.65rem !important;
}
body.vives-eaux-design .site-footer .menu li,
body.vives-eaux-design .site-footer ul li {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
body.vives-eaux-design .site-footer .menu a,
body.vives-eaux-design .site-footer ul li a {
  color: rgba(250, 250, 247, 0.85) !important;
  text-decoration: none !important;
  font-family: var(--ve-sans) !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  transition: color 0.22s ease !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  padding: 0 !important;
  display: inline-block !important;
}
body.vives-eaux-design .site-footer .menu a:hover,
body.vives-eaux-design .site-footer ul li a:hover {
  color: var(--ve-clim) !important;
  background: transparent !important;
}

/* Logo footer central : inversion pour qu'il apparaisse clair sur fond noir */
body.vives-eaux-design .site-footer .wp-block-image img,
body.vives-eaux-design .site-footer img.wp-image-3779,
body.vives-eaux-design .site-footer figure img {
  filter: brightness(0) invert(1) opacity(0.92) !important;
  max-width: 260px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Bandeau bottom (copyright) */
body.vives-eaux-design .site-footer .site-bottom-footer-wrap {
  border-top: 1px solid rgba(250, 250, 247, 0.1) !important;
  padding-top: 1.5rem !important;
  padding-bottom: 0 !important;
  margin-top: 3.5rem !important;
  background: transparent !important;
}
body.vives-eaux-design .site-footer .site-bottom-footer-inner-wrap {
  text-align: center !important;
}
body.vives-eaux-design .site-footer .site-info,
body.vives-eaux-design .site-footer .site-info-inner > *,
body.vives-eaux-design .site-footer .site-bottom-footer-wrap p {
  font-family: var(--ve-sans) !important;
  font-size: 0.78rem !important;
  color: rgba(250, 250, 247, 0.5) !important;
  letter-spacing: 0.02em;
}

/* Si Kadence a un séparateur ou puce, on neutralise */
body.vives-eaux-design .site-footer .site-info::before,
body.vives-eaux-design .site-footer .site-info::after,
body.vives-eaux-design .site-footer .menu a::before {
  display: none !important;
}

/* ──────────────────────────────────────────────────────────────────
   ANIMATION FADE-UP au chargement
   ────────────────────────────────────────────────────────────────── */
@keyframes ve-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
body.vives-eaux-design .entry-hero,
body.vives-eaux-design .entry-content {
  animation: ve-fade-up 0.7s ease both;
}
body.vives-eaux-design .entry-content { animation-delay: 0.1s; }
