/* =====================================================================
   VOYAGE AUTOGUIDÉ — Design system v2
   Direction : « calme éditorial / quiet luxury »
   Palette chaude (bone / sable / encre) · accent ocre · Newsreader + Inter
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. TOKENS
   ------------------------------------------------------------------- */
:root {
  /* Surfaces chaudes */
  --vag-bg:         #F4EEE3;   /* fond de page — bone chaud */
  --vag-paper:      #FBF8F2;   /* cartes / surfaces relevées */
  --vag-sand:       #E9DECD;   /* bande sable */
  --vag-sand-deep:  #DFD0B9;
  /* Encre & textes (jamais de noir pur) */
  --vag-ink:        #2A2620;   /* titres + texte fort */
  --vag-ink-soft:   #574F45;   /* texte courant secondaire */
  --vag-muted:      #8A7F71;   /* légendes / méta */
  --vag-line:       #D9CEBB;   /* filets / séparateurs */
  /* Accent ocre (terreux, mat) */
  --vag-ochre:      #A9763F;
  --vag-ochre-deep: #855B2E;
  --vag-ochre-soft: #C49A63;
  /* Or « Médicis » chaud — signature grande maison (gemmes, filets, emphase) */
  --vag-gold:       #C2A05E;
  --vag-gold-light: #E2C27A;
  --vag-gold-deep:  #9A7B3E;
  /* Naturel profond (sections sombres, parcimonie) */
  --vag-forest:     #313B2A;
  --vag-forest-2:   #3C472F;
  /* Brun-espresso chaud (bandeau CTA sombre + footer) */
  --vag-night:      #241E18;
  --vag-night-2:    #1B1611;

  /* Typo — charte grande maison : Cinzel (gravé) · Cormorant (couture) · Jost (corps) */
  --vag-brand: 'Cinzel', 'Trajan Pro', Georgia, serif;
  --vag-serif: 'Cormorant Garamond', 'Newsreader', Georgia, 'Times New Roman', serif;
  --vag-sans:  'Jost', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Rythme */
  --vag-max:      1200px;   /* conteneur large */
  --vag-read:     680px;    /* colonne de lecture */
  --vag-gutter:   clamp(1.25rem, 4vw, 3rem);
  --vag-section:  clamp(4rem, 9vw, 8rem);
  --vag-radius:   3px;
  --vag-shadow:   0 18px 50px -28px rgba(42, 38, 32, .35);
  --vag-ease:     cubic-bezier(.22, .61, .36, 1);
}

/* ---------------------------------------------------------------------
   2. BASE
   ------------------------------------------------------------------- */
.vag-v2,
.vag-v2 #page-container,
.vag-v2 #main-content {
  background: var(--vag-bg);
}

.vag-v2,
.vag-v2 p,
.vag-v2 li,
.vag-v2 a,
.vag-v2 span,
.vag-v2 .et_pb_text {
  font-family: var(--vag-sans);
  color: var(--vag-ink-soft);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.vag-v2 {
  font-size: 17px;
  line-height: 1.62;
  letter-spacing: .002em;
}

.vag-v2 p { margin: 0 0 1.4em; }

.vag-v2 a {
  color: var(--vag-ochre-deep);
  text-decoration: none;
  transition: color .25s var(--vag-ease);
}
.vag-v2 a:hover { color: var(--vag-ink); }

/* Titres — Newsreader, fin, leading serré, légère lettre négative */
.vag-v2 h1, .vag-v2 h2, .vag-v2 h3, .vag-v2 h4,
.vag-v2 .et_pb_module h1, .vag-v2 .et_pb_module h2,
.vag-v2 .et_pb_module h3, .vag-v2 .et_pb_module h4 {
  font-family: var(--vag-serif);
  color: var(--vag-ink);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .004em;
  margin: 0 0 .55em;
}
.vag-v2 h1 { font-size: clamp(2.5rem, 5vw, 4.3rem); font-weight: 500; }
.vag-v2 h2 { font-size: clamp(1.95rem, 3.4vw, 2.9rem); }
.vag-v2 h3 { font-size: clamp(1.4rem, 2.1vw, 1.8rem); }
.vag-v2 h4 { font-size: 1.25rem; }

.vag-v2 em, .vag-v2 i { font-style: italic; }
.vag-v2 strong, .vag-v2 b { font-weight: 600; color: var(--vag-ink); }

/* ---------------------------------------------------------------------
   3. UTILITAIRES ÉDITORIAUX
   ------------------------------------------------------------------- */
.vag-eyebrow {
  display: inline-block;
  font-family: var(--vag-brand);
  font-weight: 500;
  font-size: .72rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--vag-gold-deep);
  margin: 0 0 1.2rem;
}

/* Mot mis en valeur — emphase en dégradé d'or (signature grande maison) */
.vag-accent,
.vag-gold-grad {
  font-style: italic;
  background: linear-gradient(135deg, var(--vag-gold) 0%, var(--vag-gold-light) 50%, var(--vag-gold) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* Filet fin or */
.vag-rule {
  width: 56px; height: 1px;
  background: var(--vag-gold);
  border: 0; margin: 1.6rem 0 0;
}
.vag-rule.is-center { margin-left: auto; margin-right: auto; }

/* Diviseur « gemme » (filet or + losange) — signature grande maison */
.vag-gem { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 1.7rem auto 0; }
.vag-gem span { width: 54px; height: 1px; background: var(--vag-gold); opacity: .6; }
.vag-gem i { width: 6px; height: 6px; background: var(--vag-gold); transform: rotate(45deg); display: block; }
.vag-dark .vag-gem span, .vag-gem.is-light span { background: var(--vag-gold-light); opacity: .7; }
.vag-dark .vag-gem i, .vag-gem.is-light i { background: var(--vag-gold-light); }

/* Lien souligné discret */
.vag-link {
  font-weight: 500;
  color: var(--vag-ink);
  border-bottom: 1px solid var(--vag-ochre);
  padding-bottom: 2px;
}
.vag-link:hover { color: var(--vag-ochre-deep); border-color: var(--vag-ink); }

.vag-lead {
  font-size: clamp(1.12rem, 1.6vw, 1.3rem);
  line-height: 1.62;
  color: var(--vag-ink-soft);
}

/* ---------------------------------------------------------------------
   4. BOUTONS
   ------------------------------------------------------------------- */
.vag-v2 .vag-btn,
.vag-v2 a.vag-btn {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  font-family: var(--vag-brand);
  font-weight: 500;
  font-size: .74rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  line-height: 1;
  padding: 1.2em 2.4em;
  border: 1px solid var(--vag-ink);
  border-radius: var(--vag-radius);
  background: var(--vag-ink);
  color: var(--vag-bg);
  cursor: pointer;
  transition: background .3s var(--vag-ease), color .3s var(--vag-ease), border-color .3s var(--vag-ease);
}
.vag-v2 .vag-btn:hover { background: var(--vag-ochre-deep); border-color: var(--vag-ochre-deep); color: #fff; }

.vag-v2 .vag-btn--ghost {
  background: transparent;
  color: var(--vag-ink);
}
.vag-v2 .vag-btn--ghost:hover { background: var(--vag-ink); color: var(--vag-bg); }

.vag-v2 .vag-btn--light {
  background: transparent;
  border-color: rgba(251, 248, 242, .55);
  color: var(--vag-paper);
}
.vag-v2 .vag-btn--light:hover { background: var(--vag-paper); border-color: var(--vag-paper); color: var(--vag-ink); }

/* ---------------------------------------------------------------------
   5. SECTIONS & CONTENEURS (templates custom)
   ------------------------------------------------------------------- */
.vag-section { padding: var(--vag-section) 0; }
.vag-wrap {
  width: 100%;
  max-width: var(--vag-max);
  margin: 0 auto;
  padding: 0 var(--vag-gutter);
}
.vag-narrow { max-width: var(--vag-read); margin-left: auto; margin-right: auto; }
.vag-center { text-align: center; }

.vag-sand    { background: var(--vag-sand); }
.vag-paper-bg{ background: var(--vag-paper); }
.vag-dark {
  background: var(--vag-night);
  color: #E8E3D6;
  border-bottom: 1px solid rgba(201, 156, 99, .16);
}
.vag-dark h1, .vag-dark h2, .vag-dark h3, .vag-dark h4 { color: #F4EFE3; }
.vag-dark p, .vag-dark li { color: #D6CFBF; }
.vag-dark .vag-eyebrow { color: var(--vag-ochre-soft); }
.vag-dark .vag-rule { background: var(--vag-ochre-soft); }
.vag-dark .vag-manifesto p { color: #EFE8DB; }
.vag-dark .vag-manifesto em { color: var(--vag-ochre-soft); }

.vag-section-head { max-width: 760px; margin: 0 auto clamp(2.5rem, 5vw, 4rem); text-align: center; }
.vag-section-head p { margin-top: 1rem; }

/* ---------------------------------------------------------------------
   6. HERO (accueil)
   ------------------------------------------------------------------- */
.vag-hero {
  position: relative;
  min-height: clamp(560px, 86vh, 860px);
  display: flex;
  align-items: flex-end;
  color: var(--vag-paper);
  overflow: hidden;
}
.vag-hero__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.03);
}
.vag-hero__bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(16,12,8,.34) 0%, rgba(16,12,8,.20) 30%, rgba(10,7,4,.55) 62%, rgba(8,6,3,.93) 100%),
    linear-gradient(90deg, rgba(8,6,3,.86) 0%, rgba(8,6,3,.46) 38%, rgba(8,6,3,0) 68%);
}
.vag-hero__inner { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(3rem, 7vw, 6rem); }
.vag-hero .vag-eyebrow { color: var(--vag-ochre-soft); text-shadow: 0 1px 14px rgba(14, 10, 6, .6); }
.vag-v2 .vag-hero__title {
  font-family: var(--vag-serif);
  font-weight: 500;
  color: #FCF9F3;
  font-size: clamp(2.8rem, 6.6vw, 5.4rem);
  line-height: 1.04;
  letter-spacing: .004em;
  max-width: 16ch;
  margin: 0 0 1.2rem;
  text-shadow: 0 1px 30px rgba(14, 10, 6, .5);
}
.vag-hero__title em {
  font-style: italic;
  background: linear-gradient(135deg, var(--vag-gold-light) 0%, #F1D697 50%, var(--vag-gold-light) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.vag-v2 .vag-hero__sub { max-width: 46ch; font-size: clamp(1.08rem, 1.7vw, 1.3rem); color: #F1EBDE; line-height: 1.6; text-shadow: 0 1px 20px rgba(14, 10, 6, .7); }
.vag-hero__cta { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: 1rem; }

/* ---------------------------------------------------------------------
   7. PILIERS (Autonomie · Présence · Intégration)
   ------------------------------------------------------------------- */
.vag-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.vag-pillar { text-align: center; }
.vag-pillar__n {
  font-family: var(--vag-serif); font-style: italic; font-weight: 300;
  font-size: 1.1rem; color: var(--vag-ochre-deep); margin-bottom: .7rem;
}
.vag-pillar h3 { margin-bottom: .5rem; }
.vag-pillar__line { width: 34px; height: 1px; background: var(--vag-line); margin: 0 auto 1.1rem; }

/* ---------------------------------------------------------------------
   8. ÉTAPES (déroulé du voyage)
   ------------------------------------------------------------------- */
.vag-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.5rem, 3vw, 2.6rem); counter-reset: vstep; }
.vag-step { position: relative; padding-top: 2.4rem; }
.vag-step::before {
  counter-increment: vstep; content: "0" counter(vstep);
  position: absolute; top: 0; left: 0;
  font-family: var(--vag-serif); font-style: italic; font-size: 1.35rem; color: var(--vag-ochre);
}
.vag-step::after { content: ""; position: absolute; top: .55rem; left: 2.6rem; right: 0; height: 1px; background: var(--vag-line); }
.vag-step:last-child::after { display: none; }
.vag-step h4 { margin: 0 0 .4rem; font-family: var(--vag-sans); font-weight: 600; font-size: 1.02rem; color: var(--vag-ink); letter-spacing: -.005em; }
.vag-step p { font-size: .96rem; margin: 0; }

/* ---------------------------------------------------------------------
   9. COLLECTIONS (4 familles de voyages)
   ------------------------------------------------------------------- */
.vag-collections { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); }
.vag-col {
  position: relative; display: block; overflow: hidden; border-radius: var(--vag-radius);
  aspect-ratio: 1 / 1; color: #fff; isolation: isolate;
}
.vag-col__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 1.1s var(--vag-ease); }
.vag-col::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,12,8,.06) 0%, rgba(16,12,8,.42) 44%, rgba(10,7,4,.82) 74%, rgba(8,6,3,.94) 100%); z-index: 1; }
.vag-col:hover .vag-col__img { transform: scale(1.05); }
.vag-col__body { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 3vw, 2.4rem); }
.vag-col__kicker { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--vag-ochre-soft); margin-bottom: .5rem; text-shadow: 0 1px 8px rgba(14,10,6,.6); }
.vag-col h3 { color: #FCF9F3; margin: 0 0 .5rem; text-shadow: 0 1px 12px rgba(14,10,6,.6); }
.vag-col p { color: #EDE7DA; font-size: .96rem; margin: 0 0 1rem; max-width: 40ch; text-shadow: 0 1px 10px rgba(14,10,6,.55); }
.vag-col__more { font-size: .82rem; font-weight: 500; letter-spacing: .04em; color: #fff; border-bottom: 1px solid var(--vag-ochre-soft); padding-bottom: 3px; align-self: flex-start; text-shadow: 0 1px 8px rgba(14,10,6,.6); }

/* ---------------------------------------------------------------------
   10. CARTES VOYAGE (produits)
   ------------------------------------------------------------------- */
.vag-voyages { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.1rem, 2vw, 1.8rem); }
.vag-card { display: flex; flex-direction: column; background: var(--vag-paper); border-radius: var(--vag-radius); overflow: hidden; box-shadow: var(--vag-shadow); transition: transform .4s var(--vag-ease); }
.vag-card:hover { transform: translateY(-4px); }
.vag-card__media { aspect-ratio: 1 / 1; background-size: cover; background-position: center; }
.vag-card__body { padding: 1.3rem 1.3rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.vag-card__dur { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--vag-muted); margin-bottom: .5rem; }
.vag-card h3 { font-size: 1.28rem; margin: 0 0 .5rem; }
.vag-card p { font-size: .92rem; margin: 0 0 1.1rem; }
.vag-card__foot { margin-top: auto; display: flex; align-items: baseline; justify-content: space-between; }
.vag-card__price { font-family: var(--vag-serif); font-size: 1.25rem; color: var(--vag-ink); }
.vag-card__price span { font-size: .8rem; color: var(--vag-muted); }
.vag-card__cta { font-size: .82rem; font-weight: 500; color: var(--vag-ochre-deep); border-bottom: 1px solid var(--vag-ochre); padding-bottom: 2px; }

/* ---------------------------------------------------------------------
   11. CITATION / MANIFESTE
   ------------------------------------------------------------------- */
.vag-manifesto p {
  font-family: var(--vag-serif);
  font-weight: 300;
  font-size: clamp(1.4rem, 2.8vw, 2.15rem);
  line-height: 1.42;
  color: var(--vag-ink);
  letter-spacing: -.01em;
}
.vag-manifesto em { color: var(--vag-ochre-deep); }

/* ---------------------------------------------------------------------
   12. HEADER / NAV (Divi) — épuré, aéré
   ------------------------------------------------------------------- */
.vag-v2 #main-header { background: rgba(244, 238, 227, .92); box-shadow: none; border-bottom: 1px solid var(--vag-line); backdrop-filter: saturate(140%) blur(8px); }
.vag-v2 #main-header .logo_container { }
.vag-v2 #et-top-navigation { padding-top: 28px; }
.vag-v2 #top-menu li a,
.vag-v2 #top-menu > li > a {
  font-family: var(--vag-sans); font-weight: 500; font-size: .9rem; letter-spacing: .02em;
  color: var(--vag-ink); text-transform: none;
}
.vag-v2 #top-menu li a:hover { color: var(--vag-ochre-deep); opacity: 1; }
.vag-v2 #top-menu li.current-menu-item > a,
.vag-v2 #top-menu li.current_page_item > a { color: var(--vag-ochre-deep) !important; }
.vag-v2 #et_top_search .et-search-form input,
.vag-v2 .et_search_form_container input { color: var(--vag-ink); }

/* Barre éventuelle au-dessus / promo : neutralisée visuellement */
.vag-v2 #top-header { background: var(--vag-ink); }
.vag-v2 #top-header, .vag-v2 #top-header a { color: var(--vag-bg); }

/* ---------------------------------------------------------------------
   13. FOOTER (Divi)
   ------------------------------------------------------------------- */
.vag-v2 #main-footer,
.vag-v2 .et-l--footer,
.vag-v2 .et-l--footer .et_pb_section { background-color: var(--vag-night) !important; }
.vag-v2 #footer-widgets, .vag-v2 #footer-widgets .footer-widget h4 { color: #F2ECDE; }
.vag-v2 #main-footer h1, .vag-v2 #main-footer h2, .vag-v2 #main-footer h3, .vag-v2 #main-footer h4 { color: #F4EFE3; font-family: var(--vag-serif); font-weight: 400; }
.vag-v2 #main-footer p, .vag-v2 #main-footer li, .vag-v2 #main-footer a { color: #CFC8B8; }
.vag-v2 #main-footer a:hover { color: var(--vag-ochre-soft); }
.vag-v2 #footer-bottom { background: rgba(0,0,0,.18); }
.vag-v2 #footer-bottom #footer-info, .vag-v2 #footer-bottom a { color: #B7AF9E; }

/* ---------------------------------------------------------------------
   14. COLONNE DE LECTURE (pages Divi & articles)
   ------------------------------------------------------------------- */
.vag-v2 .single-post .et_pb_post_content > *,
.vag-v2 .vag-prose > * {
  max-width: var(--vag-read);
  margin-left: auto; margin-right: auto;
}
.vag-v2 .vag-prose h2 { text-align: center; margin-top: 2.2em; }
.vag-v2 .vag-prose h3 { color: var(--vag-ochre-deep); }
.vag-v2 .vag-prose hr { border: 0; height: 1px; width: 56px; background: var(--vag-ochre); margin: 2.4rem auto; }
.vag-v2 .vag-prose blockquote {
  border-left: 2px solid var(--vag-ochre);
  padding-left: 1.4rem; margin: 1.8rem 0;
  font-family: var(--vag-serif); font-style: italic; font-size: 1.3rem; color: var(--vag-ink);
}

/* ---------------------------------------------------------------------
   15. WOOCOMMERCE — touches premium légères (global)
   ------------------------------------------------------------------- */
.vag-v2 .woocommerce span.price, .vag-v2 .woocommerce .price,
.vag-v2 .woocommerce-Price-amount { font-family: var(--vag-serif); color: var(--vag-ink); }
.vag-v2 .woocommerce a.button,
.vag-v2 .woocommerce button.button,
.vag-v2 .woocommerce .button.alt,
.vag-v2 .woocommerce #respond input#submit {
  font-family: var(--vag-sans); font-weight: 500; letter-spacing: .03em; text-transform: none;
  background: var(--vag-ink); color: var(--vag-bg); border-radius: var(--vag-radius);
  padding: 1em 2em; transition: background .3s var(--vag-ease);
}
.vag-v2 .woocommerce a.button:hover,
.vag-v2 .woocommerce button.button:hover,
.vag-v2 .woocommerce .button.alt:hover { background: var(--vag-ochre-deep); }

/* ---------------------------------------------------------------------
   14c. ARTICLES / BLOG (listing) — titres plus mesurés
   ------------------------------------------------------------------- */
.vag-v2 h2.entry-title,
.vag-v2 h3.entry-title,
.vag-v2 .et_pb_post .entry-title {
  font-size: clamp(1.18rem, 1.5vw, 1.45rem);
  line-height: 1.25;
}
.vag-v2 .et_pb_post .entry-title a { color: var(--vag-ink); }
.vag-v2 .et_pb_post .entry-title a:hover { color: var(--vag-ochre-deep); }

/* ---------------------------------------------------------------------
   15b. FICHE PRODUIT (PDP) — compléments
   ------------------------------------------------------------------- */
.vag-v2 .single-product .vag-pdp-link { margin: 1rem 0 0; }
.vag-v2 .single-product .vag-pdp-link a { font-weight: 500; color: var(--vag-ink); border-bottom: 1px solid var(--vag-ochre); padding-bottom: 2px; }
.vag-v2 .single-product .vag-pdp-link a:hover { color: var(--vag-ochre-deep); }
.vag-v2 .single-product .vag-pdp-reassurance { list-style: none; padding: 1.3rem 0 0; margin: 1.4rem 0 0; border-top: 1px solid var(--vag-line); }
.vag-v2 .single-product .vag-pdp-reassurance li { position: relative; padding-left: 1.5em; margin-bottom: .5em; font-size: .92rem; color: var(--vag-ink-soft); }
.vag-v2 .single-product .vag-pdp-reassurance li::before { content: ""; position: absolute; left: .15em; top: .55em; width: 6px; height: 6px; transform: rotate(45deg); background: var(--vag-ochre); }

/* ---------------------------------------------------------------------
   16b. PAGES VOYAGE (Divi riche) — lecture premium + bloc d'achat
   ------------------------------------------------------------------- */
/* Colonne de lecture : on contraint le CONTENU texte, pas la structure Divi */
.vag-voyage #main-content .et_pb_text_inner {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.vag-voyage .et_pb_text { font-size: 1.04rem; line-height: 1.5; color: var(--vag-ink-soft); }
.vag-voyage .et_pb_text h2,
.vag-voyage .et_pb_text h1 { text-align: center; }
.vag-voyage .et_pb_text h2 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
  margin: 1.7em auto .7em;
}
.vag-voyage .et_pb_text h2::after {
  content: ""; display: block; width: 44px; height: 1px;
  background: var(--vag-ochre); margin: .9rem auto 0;
}
.vag-voyage .et_pb_text h3 { color: var(--vag-ochre-deep); font-size: 1.2rem; }
/* Listes à puce losange ocre */
.vag-voyage .et_pb_text ul { list-style: none; padding-left: 0; margin: 1.2em auto; }
.vag-voyage .et_pb_text ul > li { position: relative; padding-left: 1.5em; margin-bottom: .55em; }
.vag-voyage .et_pb_text ul > li::before {
  content: ""; position: absolute; left: .1em; top: .62em;
  width: 6px; height: 6px; transform: rotate(45deg); background: var(--vag-ochre);
}

/* Bloc d'achat (modules Divi WooCommerce) */
.vag-voyage .et_pb_wc_price { text-align: center; }
.vag-voyage .et_pb_wc_price .price,
.vag-voyage .et_pb_wc_price .woocommerce-Price-amount {
  font-family: var(--vag-serif); font-size: 2.1rem; color: var(--vag-ink);
}
.vag-voyage .et_pb_wc_price .woocommerce-price-suffix {
  font-family: var(--vag-sans); font-size: .8rem; color: var(--vag-muted);
}
.vag-voyage .et_pb_button_module_wrapper { text-align: center; margin-top: 1.1rem; }
.vag-v2 a.et_pb_button,
.vag-v2 a.et_pb_button.et_pb_bg_layout_light {
  font-family: var(--vag-sans) !important;
  font-weight: 500 !important;
  font-size: .95rem !important;
  letter-spacing: .03em;
  text-transform: none;
  color: var(--vag-bg) !important;
  background: var(--vag-ink) !important;
  border: 1px solid var(--vag-ink) !important;
  border-radius: var(--vag-radius) !important;
  padding: 1em 2.2em !important;
  transition: background .3s var(--vag-ease), border-color .3s var(--vag-ease);
}
.vag-v2 a.et_pb_button:hover {
  background: var(--vag-ochre-deep) !important;
  border-color: var(--vag-ochre-deep) !important;
  color: #fff !important;
  padding: 1em 2.2em !important;
}
.vag-v2 a.et_pb_button::after,
.vag-v2 a.et_pb_button::before { display: none !important; }

/* Pages de contenu en prose (Concept, À propos) — même colonne de lecture */
.vag-readpage #main-content .et_pb_text_inner { max-width: 720px; margin-left: auto; margin-right: auto; }
.vag-readpage .et_pb_text { font-size: 1.04rem; line-height: 1.5; color: var(--vag-ink-soft); }
.vag-readpage .et_pb_text h2 { text-align: center; }
.vag-readpage .et_pb_text h2::after { content: ""; display: block; width: 44px; height: 1px; background: var(--vag-ochre); margin: .9rem auto 0; }
.vag-readpage .et_pb_text h3 { color: var(--vag-ochre-deep); }

/* ---------------------------------------------------------------------
   17. BOUTIQUE / ARCHIVES PRODUIT — catalogue premium pleine largeur
   ------------------------------------------------------------------- */
/* Pleine largeur : on retire la sidebar Divi sur les archives WooCommerce */
.vag-v2.archive.woocommerce #sidebar { display: none !important; }
.vag-v2.archive.woocommerce #left-area {
  width: 100% !important;
  padding: 0 !important;
  float: none !important;
}
.vag-v2.archive.woocommerce #content-area {
  max-width: var(--vag-max);
  margin: 0 auto;
  padding: 0 var(--vag-gutter);
}
.vag-v2.archive.woocommerce #main-content .container { width: 100%; max-width: none; }
.vag-v2.archive.woocommerce #main-content {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: var(--vag-section);
}

/* Fil d'Ariane discret */
.vag-v2.archive.woocommerce .woocommerce-breadcrumb {
  font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--vag-muted); margin-bottom: 1.6rem; text-align: center;
}
.vag-v2.archive.woocommerce .woocommerce-breadcrumb a { color: var(--vag-muted); }
.vag-v2.archive.woocommerce .woocommerce-breadcrumb a:hover { color: var(--vag-ochre-deep); }

/* Titre d'archive (Boutique / nom de collection) */
.vag-v2.archive.woocommerce .page-title,
.vag-v2.archive.woocommerce .woocommerce-products-header__title,
.vag-v2.archive.woocommerce h1.page-title {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  text-align: center; margin: 0 auto .2rem;
}

/* En-tête de collection (sur-titre + filtre) */
.vag-shop-head { text-align: center; margin: 0 auto clamp(2.2rem, 4vw, 3.4rem); }
.vag-shop-head .vag-eyebrow { margin-bottom: 1.1rem; }
.vag-shop-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1rem, 2.4vw, 1.8rem); }
.vag-shop-filter a {
  font-size: .82rem; letter-spacing: .03em; color: var(--vag-ink-soft);
  padding-bottom: 4px; border-bottom: 1px solid transparent; transition: color .25s var(--vag-ease), border-color .25s var(--vag-ease);
}
.vag-shop-filter a:hover { color: var(--vag-ink); }
.vag-shop-filter a.is-active { color: var(--vag-ochre-deep); border-color: var(--vag-ochre); }

/* Compte de résultats + tri, discrets */
.vag-v2.archive.woocommerce .woocommerce-result-count {
  font-size: .8rem; color: var(--vag-muted); letter-spacing: .02em; margin-bottom: 1.4rem;
}
.vag-v2.archive.woocommerce .woocommerce-ordering select {
  font-family: var(--vag-sans); font-size: .85rem; border: 1px solid var(--vag-line);
  background: var(--vag-paper); border-radius: var(--vag-radius); padding: .55em 2.2em .55em .9em; color: var(--vag-ink);
}

/* Grille premium (cartes éditoriales, la photo en vedette) */
.vag-v2.archive.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.6rem, 3vw, 3rem) clamp(1.4rem, 2.6vw, 2.6rem);
  margin: 0 !important; padding: 0; list-style: none;
}
.vag-v2.archive.woocommerce ul.products::before,
.vag-v2.archive.woocommerce ul.products::after { content: none !important; display: none !important; }
.vag-v2.archive.woocommerce ul.products li.product {
  width: 100% !important; margin: 0 !important; float: none !important; clear: none !important;
  text-align: left; padding: 0;
}
.vag-v2.archive.woocommerce ul.products li.product > a { display: block; }
.vag-v2.archive.woocommerce ul.products li.product .vag-card-media,
.vag-v2.archive.woocommerce ul.products li.product a img {
  display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover;
  margin: 0 0 1.1rem; border-radius: var(--vag-radius);
  transition: transform .9s var(--vag-ease), filter .6s var(--vag-ease);
}
.vag-v2.archive.woocommerce ul.products li.product { overflow: hidden; }
.vag-v2.archive.woocommerce ul.products li.product:hover a img { transform: scale(1.045); }

.vag-card-kicker {
  display: block; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--vag-muted); margin-bottom: .45rem;
}
.vag-v2.archive.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.vag-v2.archive.woocommerce ul.products li.product h3 {
  font-family: var(--vag-serif); font-weight: 400; font-size: 1.32rem;
  color: var(--vag-ink); margin: 0 0 .5rem; padding: 0; line-height: 1.2;
}
.vag-v2.archive.woocommerce ul.products li.product .price {
  font-family: var(--vag-serif) !important; color: var(--vag-ink) !important;
  font-size: 1.18rem; font-weight: 400; display: block;
}
.vag-v2.archive.woocommerce ul.products li.product .price .woocommerce-Price-amount { color: var(--vag-ink); }
.vag-v2.archive.woocommerce ul.products li.product .price del { color: var(--vag-muted); opacity: .7; }
.vag-card-cue {
  display: inline-block; margin-top: .85rem; font-size: .8rem; font-weight: 500;
  color: var(--vag-ochre-deep); border-bottom: 1px solid var(--vag-ochre); padding-bottom: 2px;
  transition: color .25s var(--vag-ease), border-color .25s var(--vag-ease);
}
.vag-v2.archive.woocommerce ul.products li.product:hover .vag-card-cue { color: var(--vag-ink); border-color: var(--vag-ink); }

/* Pagination sobre */
.vag-v2.archive.woocommerce nav.woocommerce-pagination { margin-top: clamp(2.5rem, 5vw, 4rem); text-align: center; }
.vag-v2.archive.woocommerce .woocommerce-pagination ul { border: 0; display: inline-flex; gap: .4rem; }
.vag-v2.archive.woocommerce .woocommerce-pagination ul li { border: 0; }
.vag-v2.archive.woocommerce .woocommerce-pagination ul li a,
.vag-v2.archive.woocommerce .woocommerce-pagination ul li span {
  border: 1px solid var(--vag-line); color: var(--vag-ink); background: var(--vag-paper);
  border-radius: var(--vag-radius); min-width: 42px; padding: .55em .2em;
}
.vag-v2.archive.woocommerce .woocommerce-pagination ul li span.current,
.vag-v2.archive.woocommerce .woocommerce-pagination ul li a:hover {
  background: var(--vag-ink); color: var(--vag-bg); border-color: var(--vag-ink);
}

@media (max-width: 880px) { .vag-v2.archive.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .vag-v2.archive.woocommerce ul.products { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   18. HUB « LES VOYAGES » (page 129)
   ------------------------------------------------------------------- */
/* Bandeau de page (templates custom) — hauteur unifiée + contenu centré */
.vag-hero--page { min-height: clamp(420px, 50vw, 560px); align-items: center; }
.vag-hero--page .vag-hero__inner { padding-bottom: 0; text-align: center; }
.vag-hero--page .vag-hero__title { margin-left: auto; margin-right: auto; max-width: 22ch; font-size: clamp(2.4rem, 4.6vw, 3.9rem); }
.vag-hero--page .vag-hero__sub { margin-left: auto; margin-right: auto; }
.vag-intro-band { background: var(--vag-paper); }

.vag-coll__head { max-width: 760px; margin: 0 auto clamp(2.2rem, 4.5vw, 3.4rem); text-align: center; }
.vag-coll__num {
  display: inline-block; font-family: var(--vag-serif); font-style: italic; font-weight: 300;
  font-size: 1.05rem; letter-spacing: .1em; color: var(--vag-ochre-deep); margin-bottom: .7rem;
}
.vag-coll__head h2 { margin: 0 0 .7rem; }
.vag-coll__head .vag-lead { margin: 0 auto; max-width: 640px; }

.vag-voyages--hub { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1.1rem, 2vw, 1.9rem); }
.vag-voyages--hub .vag-card { flex: 1 1 240px; max-width: 282px; }
.vag-sand .vag-card { background: var(--vag-paper); }
@media (max-width: 560px) {
  .vag-voyages--hub .vag-card { flex-basis: 100%; max-width: 360px; }
}

/* ---------------------------------------------------------------------
   19. CONTACT — formulaire premium (module Divi)
   ------------------------------------------------------------------- */
.vag-contact .et_pb_contact_field { padding: 0 !important; margin-bottom: 1rem; background: transparent !important; }
.vag-contact p.et_pb_contact_field input.input,
.vag-contact .et_pb_contact_field textarea {
  background: var(--vag-paper) !important;
  border: 1px solid var(--vag-line) !important;
  border-radius: var(--vag-radius) !important;
  padding: 1em 1.1em !important;
  font-family: var(--vag-sans) !important; font-size: .98rem !important; color: var(--vag-ink) !important;
  box-shadow: none !important; width: 100% !important;
  transition: border-color .25s var(--vag-ease), box-shadow .25s var(--vag-ease) !important;
}
.vag-contact input.input::placeholder,
.vag-contact textarea::placeholder { color: var(--vag-muted) !important; opacity: 1; }
.vag-contact input.input:focus,
.vag-contact textarea:focus {
  border-color: var(--vag-ochre) !important;
  box-shadow: 0 0 0 3px rgba(169, 118, 63, .12) !important; outline: none !important;
}
.vag-contact textarea { min-height: 170px; }

/* Captcha arithmétique Divi */
.vag-contact .et_pb_contact_captcha_question {
  color: var(--vag-ink-soft); font-family: var(--vag-serif); font-size: 1.15rem;
}
.vag-contact input.et_pb_contact_captcha {
  background: var(--vag-paper) !important; border: 1px solid var(--vag-line) !important;
  border-radius: var(--vag-radius) !important; color: var(--vag-ink) !important;
}

/* Bouton « Envoyer le message » — spécificité maximale pour battre le customizer Divi */
body.vag-v2 #page-container .et_pb_contact_form_container .et_pb_contact_submit.et_pb_button[name][type] {
  font-family: var(--vag-sans) !important; font-weight: 500 !important; letter-spacing: .03em !important;
  text-transform: none !important; font-size: .95rem !important; line-height: 1 !important;
  background: var(--vag-ink) !important; background-color: var(--vag-ink) !important;
  color: #F4EEE3 !important;
  border: 1px solid var(--vag-ink) !important; border-radius: var(--vag-radius) !important;
  padding: 1em 2.4em !important;
  transition: background-color .3s var(--vag-ease), border-color .3s var(--vag-ease), color .3s var(--vag-ease) !important;
}
body.vag-v2 #page-container .et_pb_contact_form_container .et_pb_contact_submit.et_pb_button[name][type]:hover {
  background: var(--vag-ochre-deep) !important; background-color: var(--vag-ochre-deep) !important;
  border-color: var(--vag-ochre-deep) !important; color: #fff !important;
}
.vag-v2 .et_pb_contact_submit::after,
.vag-v2 .et_pb_contact_submit::before { display: none !important; }

/* Colonne « Avant de nous écrire » */
.vag-contact .et_pb_text h2,
.vag-contact .et_pb_text h3 { color: var(--vag-ink); }

/* ---------------------------------------------------------------------
   20. ARTICLES — cartes magazine (module blog Divi)
   ------------------------------------------------------------------- */
.vag-articles .et_pb_blog_grid .et_pb_post {
  background: var(--vag-paper); border: 0 !important; border-radius: var(--vag-radius);
  overflow: hidden; box-shadow: var(--vag-shadow);
  margin-bottom: clamp(1.6rem, 3vw, 2.6rem); padding: 0 0 1.7rem;
  transition: transform .4s var(--vag-ease);
}
.vag-articles .et_pb_blog_grid .et_pb_post:hover { transform: translateY(-4px); }
.vag-articles .et_pb_post .et_pb_image_container { margin: 0 0 1.4rem; }
.vag-articles .et_pb_post .entry-featured-image-url { display: block; overflow: hidden; }
.vag-articles .et_pb_post .entry-featured-image-url img {
  display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
  transition: transform .9s var(--vag-ease);
}
.vag-articles .et_pb_post:hover .entry-featured-image-url img { transform: scale(1.04); }
.vag-articles .et_pb_post .entry-title {
  font-family: var(--vag-serif); font-weight: 400; font-size: 1.42rem; line-height: 1.2;
  margin: 0 0 .55rem; padding: 0 1.6rem;
}
.vag-articles .et_pb_post .entry-title a { color: var(--vag-ink); }
.vag-articles .et_pb_post .entry-title a:hover { color: var(--vag-ochre-deep); }
.vag-articles .et_pb_post .post-meta {
  padding: 0 1.6rem; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--vag-muted); margin: 0 0 1rem;
}
.vag-articles .et_pb_post .post-meta a { color: var(--vag-muted); }
.vag-articles .et_pb_post .post-meta a:hover { color: var(--vag-ochre-deep); }
.vag-articles .et_pb_post .post-content,
.vag-articles .et_pb_post .post-content-inner {
  padding: 0 1.6rem; font-size: .95rem; line-height: 1.7; color: var(--vag-ink-soft);
}
.vag-articles .et_pb_post .more-link,
.vag-articles .et_pb_post .post-content .more-link {
  display: inline-block; margin: 1rem 1.6rem 0; font-size: .8rem; font-weight: 500;
  color: var(--vag-ochre-deep); border-bottom: 1px solid var(--vag-ochre); padding-bottom: 2px;
}
.vag-articles .et_pb_post .more-link:hover { color: var(--vag-ink); border-color: var(--vag-ink); }

/* ---------------------------------------------------------------------
   21. ANIMATIONS — révélation au défilement + Ken Burns héros (sobre)
   ------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  .vag-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .85s var(--vag-ease), transform .85s var(--vag-ease);
    will-change: opacity, transform;
  }
  .vag-reveal.is-in { opacity: 1; transform: none; }

  /* Léger Ken Burns : la photo héros se pose doucement au chargement */
  .vag-hero__bg {
    transform: scale(1.09);
    animation: vagKenBurns 18s var(--vag-ease) forwards;
  }
  @keyframes vagKenBurns {
    from { transform: scale(1.09); }
    to   { transform: scale(1.0); }
  }
}

/* ---------------------------------------------------------------------
   22. FINITIONS WOOCOMMERCE — fiche produit, panier, tunnel, compte
   ------------------------------------------------------------------- */
/* Sur-titre collection sur la fiche produit */
.vag-v2 .single-product .vag-pdp-eyebrow { display: block; margin-bottom: .7rem; }
.vag-v2 .single-product .product_title.entry-title { margin-top: 0; }

/* --- Champs de formulaire Woo (panier / tunnel / compte) --- */
.vag-v2 .woocommerce form .form-row input.input-text,
.vag-v2 .woocommerce form .form-row textarea,
.vag-v2 .woocommerce .input-text,
.vag-v2 .woocommerce input[type="text"],
.vag-v2 .woocommerce input[type="email"],
.vag-v2 .woocommerce input[type="tel"],
.vag-v2 .woocommerce input[type="password"],
.vag-v2 .woocommerce input[type="number"],
.vag-v2 .woocommerce select,
.vag-v2 .select2-container--default .select2-selection--single {
  background: var(--vag-paper) !important;
  border: 1px solid var(--vag-line) !important;
  border-radius: var(--vag-radius) !important;
  padding: .85em 1em !important;
  font-family: var(--vag-sans) !important; font-size: .96rem !important; color: var(--vag-ink) !important;
  box-shadow: none !important; height: auto !important; line-height: 1.4 !important;
  transition: border-color .25s var(--vag-ease), box-shadow .25s var(--vag-ease) !important;
}
.vag-v2 .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--vag-ink); line-height: 1.6; padding: 0; }
.vag-v2 .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.vag-v2 .woocommerce form .form-row input.input-text:focus,
.vag-v2 .woocommerce .input-text:focus,
.vag-v2 .woocommerce textarea:focus,
.vag-v2 .woocommerce select:focus {
  border-color: var(--vag-ochre) !important;
  box-shadow: 0 0 0 3px rgba(169, 118, 63, .12) !important; outline: none !important;
}
.vag-v2 .woocommerce form .form-row label,
.vag-v2 .woocommerce-checkout label,
.vag-v2 .woocommerce-cart label {
  font-family: var(--vag-sans); font-size: .82rem; letter-spacing: .03em; color: var(--vag-ink-soft);
}
.vag-v2 .woocommerce .required { color: var(--vag-ochre-deep); }

/* --- Boutons commerce : harmonisés en encre (ocre au survol) ---
   Bat le customizer Divi « .woocommerce button.button { background: var(--wh-gold)!important } »
   via body + #page-container (.woocommerce est DANS #page-container ; pas .woocommerce-account qui est sur body). */
body.vag-v2 #page-container .woocommerce a.button,
body.vag-v2 #page-container .woocommerce button.button,
body.vag-v2 #page-container .woocommerce input.button,
body.vag-v2 #page-container .woocommerce #place_order {
  background: var(--vag-ink) !important; background-color: var(--vag-ink) !important;
  color: var(--vag-bg) !important; border: 1px solid var(--vag-ink) !important;
  border-radius: var(--vag-radius) !important; font-family: var(--vag-sans) !important;
  font-weight: 500 !important; letter-spacing: .03em !important; text-transform: none !important;
  padding: 1em 2.2em !important; transition: background-color .3s var(--vag-ease), border-color .3s var(--vag-ease), color .3s var(--vag-ease) !important;
}
body.vag-v2 #page-container .woocommerce a.button:hover,
body.vag-v2 #page-container .woocommerce button.button:hover,
body.vag-v2 #page-container .woocommerce input.button:hover,
body.vag-v2 #page-container .woocommerce #place_order:hover {
  background: var(--vag-ochre-deep) !important; background-color: var(--vag-ochre-deep) !important;
  border-color: var(--vag-ochre-deep) !important; color: #fff !important;
}

/* --- Compte : retirer la sidebar, centrer, carte de connexion --- */
.vag-v2.woocommerce-account #sidebar { display: none !important; }
.vag-v2.woocommerce-account #left-area { width: 100% !important; padding: 0 !important; float: none !important; }
.vag-v2.woocommerce-account #content-area { max-width: 980px; margin: 0 auto; }
.vag-v2 .woocommerce-account .woocommerce > h2,
.vag-v2 .woocommerce-account .u-columns h2 { text-align: center; }
.vag-v2 .woocommerce-account .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 3vw, 2.6rem); max-width: 900px; margin: 0 auto; }
.vag-v2 .woocommerce-account .woocommerce form.login,
.vag-v2 .woocommerce-account .woocommerce form.register {
  border: 1px solid var(--vag-line); border-radius: var(--vag-radius); padding: clamp(1.6rem, 3vw, 2.4rem);
  background: var(--vag-paper);
}
@media (max-width: 720px) { .vag-v2 .woocommerce-account .col2-set { grid-template-columns: 1fr; } }

/* --- Panier : tableau raffiné --- */
.vag-v2 .woocommerce-cart table.cart,
.vag-v2 .woocommerce table.shop_table {
  border: 1px solid var(--vag-line); border-radius: var(--vag-radius); border-collapse: separate; border-spacing: 0;
}
.vag-v2 .woocommerce table.shop_table thead th {
  font-family: var(--vag-sans); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--vag-muted); border-bottom: 1px solid var(--vag-line); padding: 1.1rem 1.2rem;
}
.vag-v2 .woocommerce table.shop_table td { border-top: 1px solid var(--vag-line); padding: 1.2rem; }
.vag-v2 .woocommerce-cart .product-name a { font-family: var(--vag-serif); font-size: 1.1rem; color: var(--vag-ink); }
.vag-v2 .woocommerce-cart .product-name a:hover { color: var(--vag-ochre-deep); }
.vag-v2 .woocommerce .cart_totals h2,
.vag-v2 .woocommerce-checkout #order_review_heading { font-family: var(--vag-serif); }
.vag-v2 .woocommerce .quantity input.qty {
  border: 1px solid var(--vag-line) !important; border-radius: var(--vag-radius) !important;
  background: var(--vag-paper) !important; color: var(--vag-ink) !important;
}

/* --- Tunnel : encart paiement réchauffé + récap --- */
.vag-v2 .woocommerce-checkout #payment,
.vag-v2 .woocommerce-checkout .woocommerce-checkout-payment {
  background: var(--vag-sand) !important; border-radius: var(--vag-radius);
}
.vag-v2 .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--vag-line); }
.vag-v2 .woocommerce-checkout #payment div.payment_box {
  background: var(--vag-paper) !important; color: var(--vag-ink-soft);
}
.vag-v2 .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--vag-paper) !important; }
.vag-v2 .woocommerce-checkout-review-order-table {
  border: 1px solid var(--vag-line); border-radius: var(--vag-radius); overflow: hidden;
}
.vag-v2 .woocommerce-checkout-review-order-table th { font-family: var(--vag-sans); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--vag-muted); }
.vag-v2 .woocommerce-checkout-review-order-table .order-total .amount { font-family: var(--vag-serif); color: var(--vag-ink); font-size: 1.2rem; }
.vag-v2 .woocommerce-terms-and-conditions-wrapper { font-size: .9rem; }
.vag-v2 .woocommerce form .form-row .input-checkbox,
.vag-v2 .woocommerce-checkout input[type="checkbox"] { accent-color: var(--vag-ochre-deep); }

/* Messages Woo (info / erreur) au registre chaud */
.vag-v2 .woocommerce-message,
.vag-v2 .woocommerce-info {
  border-top-color: var(--vag-ochre) !important; background: var(--vag-paper); color: var(--vag-ink-soft);
}
.vag-v2 .woocommerce-message::before,
.vag-v2 .woocommerce-info::before { color: var(--vag-ochre-deep); }
.vag-v2 .woocommerce-error { border-top-color: #8C3A3A !important; background: var(--vag-paper); }

/* ---------------------------------------------------------------------
   23. CHARTE — toutes les actions en capitales gravées Cinzel
   ------------------------------------------------------------------- */
body.vag-v2 .vag-btn,
body.vag-v2 #page-container a.et_pb_button,
body.vag-v2 #page-container .woocommerce a.button,
body.vag-v2 #page-container .woocommerce button.button,
body.vag-v2 #page-container .woocommerce input.button,
body.vag-v2 #page-container .woocommerce #place_order,
body.vag-v2 #page-container .et_pb_contact_form_container .et_pb_contact_submit.et_pb_button[name][type] {
  font-family: var(--vag-brand) !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  font-size: .73rem !important;
  font-weight: 500 !important;
}

/* ---------------------------------------------------------------------
   24. CHARTE — déploiement : liens or, kickers gravés, gemmes de section
   ------------------------------------------------------------------- */
/* Liens de contenu : soulignement or (signature grande maison) */
.vag-v2 .vag-prose a:not(.vag-btn),
.vag-v2 .vag-readpage .et_pb_text a:not(.et_pb_button),
.vag-v2 .vag-voyage .et_pb_text a:not(.et_pb_button),
.vag-v2 .single-post .entry-content a {
  color: var(--vag-ink);
  text-decoration: none;
  box-shadow: inset 0 -1px 0 var(--vag-gold);
  transition: box-shadow .28s var(--vag-ease), color .28s var(--vag-ease);
}
.vag-v2 .vag-prose a:not(.vag-btn):hover,
.vag-v2 .vag-readpage .et_pb_text a:not(.et_pb_button):hover,
.vag-v2 .vag-voyage .et_pb_text a:not(.et_pb_button):hover,
.vag-v2 .single-post .entry-content a:hover {
  color: var(--vag-gold-deep); box-shadow: inset 0 -2px 0 var(--vag-gold-deep);
}

/* Sur-titres de cartes → capitales gravées Cinzel */
.vag-v2 .vag-card-kicker {
  font-family: var(--vag-brand); font-weight: 500; letter-spacing: .2em; color: var(--vag-gold-deep);
}
.vag-v2 .vag-col__kicker {
  font-family: var(--vag-brand); font-weight: 500; letter-spacing: .22em;
  color: var(--vag-gold-light); text-shadow: 0 1px 12px rgba(8, 6, 3, .95), 0 0 2px rgba(8, 6, 3, .8);
}

/* Lozenge or sous les titres de section — la « gemme partout », sobre */
.vag-section-head::after,
.vag-coll__head::after {
  content: ""; display: block; width: 7px; height: 7px;
  background: var(--vag-gold); transform: rotate(45deg); margin: 1.4rem auto 0;
}
.vag-v2 .single-product .product_title.entry-title::after {
  content: ""; display: block; width: 7px; height: 7px;
  background: var(--vag-gold); transform: rotate(45deg); margin: 1rem 0 0;
}

/* ---------------------------------------------------------------------
   25. BOUTONS COMMERCE — robustes hors #page-container (templates Theme Builder / fiche produit)
   Spécificité (0,3,2) + !important → bat le customizer Divi « .woocommerce button.button » (0,2,1)
   ------------------------------------------------------------------- */
body.vag-v2 .woocommerce a.button,
body.vag-v2 .woocommerce button.button,
body.vag-v2 .woocommerce input.button,
body.vag-v2 .woocommerce #place_order,
body.vag-v2 .single_add_to_cart_button.button {
  background: var(--vag-ink) !important; background-color: var(--vag-ink) !important;
  color: var(--vag-bg) !important; border: 1px solid var(--vag-ink) !important;
  border-radius: var(--vag-radius) !important;
  font-family: var(--vag-brand) !important; text-transform: uppercase !important;
  letter-spacing: .16em !important; font-size: .73rem !important; font-weight: 500 !important;
  padding: 1.05em 2.2em !important; line-height: 1.3 !important;
}
body.vag-v2 .woocommerce a.button:hover,
body.vag-v2 .woocommerce button.button:hover,
body.vag-v2 .woocommerce input.button:hover,
body.vag-v2 .woocommerce #place_order:hover,
body.vag-v2 .single_add_to_cart_button.button:hover {
  background: var(--vag-ochre-deep) !important; background-color: var(--vag-ochre-deep) !important;
  border-color: var(--vag-ochre-deep) !important; color: #fff !important;
}

/* ---------------------------------------------------------------------
   26. ARTICLES — retirer tous les traits de séparation (séparateurs Gutenberg / hr)
   (single-post est une classe du <body> → sélecteur composé body.vag-v2.single-post)
   ------------------------------------------------------------------- */
body.vag-v2.single-post .wp-block-separator,
body.vag-v2.single-post hr.wp-block-separator,
body.vag-v2.single-post .entry-content hr,
body.vag-v2.single-post .et_pb_post_content hr,
body.vag-v2.single-post .et_pb_text hr {
  display: none !important;
}

/* Lecture éditoriale soignée : interligne resserré + titres mesurés */
body.vag-v2.single-post .entry-content { line-height: 1.55; }
body.vag-v2.single-post .entry-content p,
body.vag-v2.single-post .entry-content li {
  line-height: 1.55 !important;
  margin-top: 0 !important;
  margin-bottom: .9em !important;
}
body.vag-v2.single-post .entry-content h1.wp-block-heading {
  font-size: 2.7rem !important;
  line-height: 1.12 !important;
  margin: 0 0 .5em !important;
}
body.vag-v2.single-post .entry-content h2,
body.vag-v2.single-post .entry-content h2.wp-block-heading {
  font-size: 1.62rem !important;
  line-height: 1.22 !important;
  margin: 1.75em 0 .5em !important;
}
body.vag-v2.single-post .entry-content h3,
body.vag-v2.single-post .entry-content h3.wp-block-heading {
  font-size: 1.3rem !important;
  line-height: 1.26 !important;
  margin: 1.5em 0 .4em !important;
}

/* ---------------------------------------------------------------------
   27. BANDEAUX DE PAGE (.hero-voyage) — unifiés avec le héros d'accueil
   Toutes les pages intérieures (concept, à propos, voyages, légales) partagent
   .et_pb_section.hero-voyage avec un titre H1.et_pb_module_header (31px par défaut).
   ------------------------------------------------------------------- */
.vag-v2 .hero-voyage {
  position: relative;
  min-height: clamp(420px, 50vw, 560px);
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(2rem, 4vw, 3.5rem) 0 !important;
  overflow: hidden;
  background-position: center !important;
  background-size: cover !important;
}
.vag-v2 .hero-voyage::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(16,12,8,.50) 0%, rgba(10,7,4,.36) 45%, rgba(8,6,3,.74) 100%),
    linear-gradient(90deg, rgba(8,6,3,.42) 0%, rgba(8,6,3,0) 55%);
}
.vag-v2 .hero-voyage > .et_pb_row,
.vag-v2 .hero-voyage .et_pb_fullwidth_header,
.vag-v2 .hero-voyage .et_pb_fullwidth_header_container,
.vag-v2 .hero-voyage .et_pb_module { position: relative; z-index: 1; }
.vag-v2 .hero-voyage .et_pb_module_header,
.vag-v2 .hero-voyage h1.et_pb_module_header,
.vag-v2 .hero-voyage h1 {
  font-family: var(--vag-serif) !important;
  font-size: clamp(2.4rem, 4.6vw, 3.9rem) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: .004em !important;
  color: #FCF9F3 !important;
  text-shadow: 0 2px 34px rgba(8, 6, 3, .6);
}
.vag-v2 .hero-voyage .et_pb_fullwidth_header_subhead,
.vag-v2 .hero-voyage .et_pb_header_content,
.vag-v2 .hero-voyage .et_pb_header_content_wrapper p {
  color: #EDE7DA !important;
  font-family: var(--vag-sans) !important;
  text-shadow: 0 1px 18px rgba(8, 6, 3, .6);
}
/* Titre + sous-titre centrés (uniformité des bandeaux) */
.vag-v2 .hero-voyage .et_pb_fullwidth_header { align-items: center !important; }
.vag-v2 .hero-voyage .et_pb_fullwidth_header_container,
.vag-v2 .hero-voyage .header-content-container,
.vag-v2 .hero-voyage .et_pb_module_header,
.vag-v2 .hero-voyage .et_pb_fullwidth_header_subhead,
.vag-v2 .hero-voyage .et_pb_header_content { text-align: center !important; }

/* CHARTE TITRE UNIFIÉE — sur-titre Cinzel gravé (battre .vag-v2 span qui le passait en Jost) */
.vag-v2 .vag-eyebrow { font-family: var(--vag-brand); }
/* Sur-titre injecté sur les bandeaux Divi (au-dessus du titre, centré) */
.vag-v2 .hero-voyage .vag-eyebrow {
  display: block; text-align: center; margin: 0 0 1.1rem;
  position: relative; z-index: 2;
  color: var(--vag-ochre-soft);
  text-shadow: 0 1px 14px rgba(14, 10, 6, .6);
}
.vag-v2 .hero-voyage .et_pb_module_header .vag-gold-grad { font-style: italic; }
/* Sur-titre des bandeaux (héros custom + Divi) : or clair, toujours lisible mais sobre */
.vag-v2 .vag-hero .vag-eyebrow,
.vag-v2 .hero-voyage .vag-eyebrow {
  color: var(--vag-gold-light) !important;
  text-shadow: 0 1px 14px rgba(8, 6, 3, .85), 0 0 2px rgba(8, 6, 3, .55);
}

/* ---------------------------------------------------------------------
   28. INTERLIGNES PAGES — paragraphes resserrés + Contact
   ------------------------------------------------------------------- */
.vag-readpage .et_pb_text p,
.vag-voyage .et_pb_text p,
.vag-readpage .et_pb_text li,
.vag-voyage .et_pb_text li {
  margin-bottom: .8em !important;
}
.vag-contact .et_pb_text { line-height: 1.5 !important; }
.vag-contact .et_pb_text p { line-height: 1.5 !important; margin-bottom: .7em !important; }
.vag-contact .et_pb_contact_field { margin-bottom: .75rem; }
.vag-contact .et_pb_contact_form_label { margin-bottom: .25rem; line-height: 1.3; }
.vag-v2 .vag-contact p.et_pb_contact_field input.input,
.vag-v2 .vag-contact .et_pb_contact_field textarea { padding: .75em 1em !important; }
.vag-contact .et_pb_contact p { line-height: 1.5; }

/* ---------------------------------------------------------------------
   29. FOOTER (Theme Builder Divi) — registre grande maison
   ------------------------------------------------------------------- */
.vag-v2 .et-l--footer { position: relative; }
.vag-v2 .et-l--footer::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 2;
  background: linear-gradient(90deg, transparent, var(--vag-gold-deep) 28%, var(--vag-gold-deep) 72%, transparent);
  opacity: .55;
}
.vag-v2 .et-l--footer .et_pb_section {
  background-color: var(--vag-night) !important;
  padding-top: clamp(3.2rem, 6vw, 5.2rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3.2rem) !important;
}
.vag-v2 .et-l--footer .et_pb_text,
.vag-v2 .et-l--footer .et_pb_text_inner,
.vag-v2 .et-l--footer .et_pb_text_inner p {
  color: #BFB7A6 !important;
  font-family: var(--vag-sans) !important;
  font-size: .92rem !important;
  line-height: 2 !important;
}
/* En-têtes de colonne (strong) → capitales gravées Cinzel or */
.vag-v2 .et-l--footer .et_pb_text_inner strong {
  display: block;
  font-family: var(--vag-brand) !important;
  font-weight: 500 !important;
  font-size: .78rem !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--vag-gold-light) !important;
  margin-bottom: .8rem;
}
.vag-v2 .et-l--footer .et_pb_text_inner strong br { display: none; }
/* Liens du footer */
.vag-v2 .et-l--footer a {
  color: #BFB7A6 !important;
  text-decoration: none;
  transition: color .25s var(--vag-ease);
}
.vag-v2 .et-l--footer a:hover { color: var(--vag-gold-light) !important; }
/* Barre de bas de page éventuelle */
.vag-v2 .et-l--footer .et_pb_row { z-index: 1; }

/* ---------------------------------------------------------------------
   30. JOURNAL (page Articles custom) — grille alignée, hauteurs égales
   ------------------------------------------------------------------- */
.vag-journal { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.6rem, 3vw, 2.6rem); align-items: stretch; }
.vag-journal-card {
  display: flex; flex-direction: column;
  background: var(--vag-paper); border-radius: var(--vag-radius); overflow: hidden;
  box-shadow: var(--vag-shadow); transition: transform .4s var(--vag-ease);
}
.vag-journal-card:hover { transform: translateY(-4px); }
.vag-journal-card__media {
  display: block; width: 100%; aspect-ratio: 1 / 1;
  background-size: cover; background-position: center; background-color: var(--vag-sand);
  transition: transform .9s var(--vag-ease);
}
.vag-journal-card:hover .vag-journal-card__media { transform: scale(1.04); }
.vag-journal-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem 1.6rem 1.7rem; }
.vag-v2 .vag-journal-card__cat {
  font-family: var(--vag-brand); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--vag-gold-deep); margin-bottom: .55rem;
}
.vag-v2 .vag-journal-card__title {
  font-family: var(--vag-serif); font-weight: 500; font-size: 1.38rem; line-height: 1.2;
  color: var(--vag-ink); margin: 0 0 .5rem;
}
.vag-v2 .vag-journal-card__date {
  font-size: .76rem; letter-spacing: .04em; color: var(--vag-muted); margin-bottom: .9rem; display: block;
}
.vag-v2 .vag-journal-card__exc {
  font-size: .94rem; line-height: 1.6; color: var(--vag-ink-soft); margin: 0 0 1.1rem;
}
.vag-v2 .vag-journal-card__more {
  margin-top: auto; align-self: flex-start;
  font-family: var(--vag-brand); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--vag-gold-deep); border-bottom: 1px solid var(--vag-gold); padding-bottom: 3px;
  transition: color .25s var(--vag-ease), border-color .25s var(--vag-ease);
}
.vag-journal-card:hover .vag-journal-card__more { color: var(--vag-ink); border-color: var(--vag-ink); }
@media (max-width: 880px) { .vag-journal { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .vag-journal { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   31. ÉTALONNAGE — rendu homogène « tirage d'auteur » + images contenu carrées
   ------------------------------------------------------------------- */
/* Teinte chaude + contraste maîtrisé, identique sur toutes les illustrations */
.vag-col__img,
.vag-card__media,
.vag-journal-card__media,
.vag-hero__bg,
.vag-v2.archive.woocommerce ul.products li.product img,
.vag-v2 .single-product .woocommerce-product-gallery img,
.vag-v2 .et_pb_image img {
  filter: sepia(.13) saturate(1) contrast(1.04) brightness(.985);
}
/* Images de contenu (Concept, À propos) → carré homogène */
.vag-readpage .et_pb_image,
.vag-readpage .et_pb_image .et_pb_image_wrap {
  display: block; width: 100%;
}
.vag-readpage .et_pb_image img {
  width: 100% !important; height: auto;
  aspect-ratio: 1 / 1; object-fit: cover;
  border-radius: var(--vag-radius);
}

/* ---------------------------------------------------------------------
   32. CONTACT — refonte pro : formulaire aéré, mention requise, bouton dégagé
   ------------------------------------------------------------------- */
/* Titre « Nous écrire » + respiration générale */
.vag-contact .et_pb_contact_main_title { margin-bottom: 1.4rem; }
.vag-contact .et_pb_contact_form_container { max-width: 640px; }

/* Mention « champs obligatoires » posée en tête de formulaire */
.vag-contact form.et_pb_contact_form { position: relative; }
.vag-contact form.et_pb_contact_form::before {
  content: "Tous les champs sont obligatoires.";
  display: block; font-family: var(--vag-sans);
  font-size: .8rem; font-style: italic; letter-spacing: .01em;
  color: var(--vag-muted); margin: 0 0 2rem;
}
.vag-en.vag-contact form.et_pb_contact_form::before { content: "All fields are required."; }

/* Champs nettement plus aérés (on rouvre l'espace resserré par §28) */
.vag-contact .et_pb_contact_field { margin-bottom: 1.6rem !important; }
.vag-v2 .vag-contact p.et_pb_contact_field input.input,
.vag-v2 .vag-contact .et_pb_contact_field textarea {
  padding: 1.15em 1.25em !important; font-size: 1rem !important; line-height: 1.55 !important;
}
.vag-contact .et_pb_contact_field textarea { min-height: 210px !important; resize: vertical; }
.vag-contact .et_pb_contact_field input.input:focus,
.vag-contact .et_pb_contact_field textarea:focus {
  border-color: var(--vag-ochre) !important;
  box-shadow: 0 0 0 3px rgba(169, 118, 63, .12) !important;
}

/* Bas du formulaire : captcha + bouton, bien dégagés des champs */
.vag-contact .et_contact_bottom_container {
  margin-top: 2.6rem !important;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.2rem 2rem; flex-wrap: wrap;
}
.vag-contact .et_pb_contact_right { float: none !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: .55em; }
.vag-contact .et_pb_contact_right p,
.vag-contact .et_pb_contact_right p.clearfix { margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: .55em; }
.vag-contact .et_pb_contact_captcha_question { font-size: 1.2rem; margin: 0 !important; line-height: 1; }
.vag-contact input.et_pb_contact_captcha { padding: .62em .4em !important; width: 64px !important; min-height: 0 !important; height: auto !important; margin: 0 !important; text-align: center; }

/* Bouton « Envoyer le message » — plus présent, posé, non flottant */
body.vag-v2 #page-container .et_pb_contact_form_container .et_pb_contact_submit.et_pb_button[name][type] {
  float: none !important; margin: 0 !important;
  padding: 1.2em 3.4em !important;
}

/* ---------------------------------------------------------------------
   33. SÉLECTEUR DE LANGUE FR/EN (header Divi)
   ------------------------------------------------------------------- */
.vag-v2 #top-menu li.vag-langswitch-item,
.vag-langswitch-item { display: inline-block !important; vertical-align: middle; float: none !important; padding: 0 !important; margin-left: .4em; }
.vag-langswitch { position: relative; display: inline-flex; align-items: center; vertical-align: middle; }
.vag-v2 #top-menu li.vag-langswitch-item > .vag-langswitch > .vag-langswitch__list { padding-left: .4em; }
.vag-langswitch__current {
  display: inline-flex; align-items: center; gap: .4em;
  background: none; border: 1px solid var(--vag-line); border-radius: var(--vag-radius);
  padding: .42em .72em; cursor: pointer; color: var(--vag-ink);
  font-family: var(--vag-brand); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
  line-height: 1; transition: border-color .25s var(--vag-ease), color .25s var(--vag-ease);
}
.vag-langswitch__current:hover { border-color: var(--vag-gold); color: var(--vag-gold-deep); }
.vag-langswitch__caret { transition: transform .25s var(--vag-ease); }
.vag-langswitch.is-open .vag-langswitch__caret { transform: rotate(180deg); }
.vag-langswitch__list {
  position: absolute; top: calc(100% + .55em); right: 0; min-width: 172px;
  margin: 0; padding: .4em; list-style: none;
  background: var(--vag-paper); border: 1px solid var(--vag-line); border-radius: var(--vag-radius);
  box-shadow: 0 18px 44px rgba(20, 14, 8, .18);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .2s var(--vag-ease), transform .2s var(--vag-ease), visibility .2s;
  z-index: 1000;
}
.vag-langswitch.is-open .vag-langswitch__list { opacity: 1; visibility: visible; transform: translateY(0); }
.vag-v2 #top-menu li .vag-langswitch__opt,
.vag-langswitch__opt {
  display: flex !important; align-items: center; gap: .6em;
  padding: .55em .7em !important; border-radius: var(--vag-radius);
  color: var(--vag-ink-soft); text-decoration: none;
  font-family: var(--vag-sans); font-size: .82rem; letter-spacing: 0; text-transform: none; line-height: 1.2;
  transition: background .2s var(--vag-ease), color .2s var(--vag-ease);
}
.vag-langswitch__opt:hover { background: var(--vag-sand); color: var(--vag-ink); }
.vag-langswitch__opt.is-active { color: var(--vag-gold-deep); }
.vag-langswitch__flag { display: inline-flex; line-height: 0; flex: none; }
.vag-langswitch__flag svg { display: block; border-radius: 3px; box-shadow: 0 0 0 1px rgba(20, 14, 8, .12); }
.vag-langswitch__current .vag-langswitch__flag svg { width: 18px; height: 13px; }
.vag-langswitch__opt .vag-langswitch__name { font-family: var(--vag-sans); }

/* ---------------------------------------------------------------------
   16. RESPONSIVE
   ------------------------------------------------------------------- */
@media (max-width: 980px) {
  .vag-voyages { grid-template-columns: repeat(2, 1fr); }
  .vag-steps   { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .vag-v2 { font-size: 16px; }
  .vag-pillars,
  .vag-collections { grid-template-columns: 1fr; }
  .vag-voyages { grid-template-columns: repeat(2, 1fr); }
  .vag-hero { min-height: 78vh; }
}
@media (max-width: 520px) {
  .vag-voyages { grid-template-columns: 1fr; }
}

/* ---------------------------------------------------------------------
   34. CHECKOUT — MESSAGE D'ERREUR LISIBLE
   Bug : le message (« Veuillez cocher la case de renonciation… ») est rendu
   dans un <li> de .woocommerce-error. Le CSS personnalisé met le conteneur
   en blanc, mais la règle de base « .vag-v2 li { color: encre } » re-sombrit
   le <li> (sélecteur direct > héritage) → texte sombre sur rouge = illisible.
   Correctif auto-suffisant : fond rouge garanti + TOUT le texte en blanc.
   ------------------------------------------------------------------- */
body.vag-v2 .woocommerce-error,
body.vag-v2 #page-container .woocommerce-error,
body.vag-v2 .woocommerce-NoticeGroup .woocommerce-error {
  background: #8a1f1f !important;
  border: 0 !important;
  border-radius: var(--vag-radius) !important;
  box-shadow: none !important;
}
body.vag-v2 .woocommerce-error,
body.vag-v2 .woocommerce-error li,
body.vag-v2 .woocommerce-error a,
body.vag-v2 .woocommerce-error strong,
body.vag-v2 .woocommerce-error::before {
  color: #fff !important;
}
body.vag-v2 .woocommerce-error a { text-decoration: underline !important; }

/* ---------------------------------------------------------------------
   35. FICHE PRODUIT — PLEINE LARGEUR (retirer la sidebar Divi par défaut)
   Le body porte « et_right_sidebar » → Divi affiche #sidebar (Articles
   récents / Commentaires) à droite. On masque la sidebar et on étend le
   contenu, comme déjà fait sur les archives/boutique.
   ------------------------------------------------------------------- */
.vag-v2.single-product #sidebar { display: none !important; }
.vag-v2.single-product #left-area {
  width: 100% !important;
  padding: 0 !important;
  float: none !important;
}
.vag-v2.single-product #main-content .container { max-width: var(--vag-max) !important; }

/* ---------------------------------------------------------------------
   36. PAGE « MON COMPTE » — le footer ne doit pas recouvrir le contenu
   Cas « template Theme Builder + contenu court » : le footer remonte sur
   le contenu. On garantit une hauteur mini + une marge basse, et on
   remet le footer dans le flux au-dessus du contenu (même principe que
   le correctif déjà présent sur le checkout).
   ------------------------------------------------------------------- */
.vag-v2.woocommerce-account #main-content {
  min-height: 55vh;
  padding-bottom: clamp(90px, 12vh, 150px) !important;
}
.vag-v2.woocommerce-account .et-l--footer {
  position: relative !important;
  z-index: 2 !important;
}
