/*
 * Direction artistique B — "Grille éditoriale décalée"
 * Validée par Hugo le 2026-09-10. Voir REFERENCES.md et ~/.claude/design-standard.md.
 * Palette confirmée par la cliente (Sandrine) — ne pas modifier sans son accord.
 */

:root{
  /* -- Palette (validée cliente) -- */
  --creme:        #FFF7E9;
  --beige:        #F9E3C2;
  --tan:          #E6C18A;
  --terracotta-clair: #D999AC;
  --terracotta-ink: #9E4F35; /* terracotta foncé : texte et boutons (contraste AA) */
  --terracotta:   #C97152; /* accent unique — la cliente ne veut pas de bleu, cf. REFERENCES.md */
  --vert:         #4D5A46;
  --anthracite:   #2F3131;

  /* -- Typographie -- */
  --font-serif: 'Zodiak', Georgia, serif;
  --font-sans:  'Cabinet Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;

  /* -- Espacements de section (standard : 120-160px desktop / 72px mobile mini) -- */
  --section-pad-y: 120px;
  --section-pad-x: 48px;
}

@media (max-width: 900px){
  :root{
    --section-pad-y: 72px;
    --section-pad-x: 24px;
  }
}

/* -- Reset léger propre à la direction B (ne touche pas aux widgets Elementor existants
      hors zones marquées .db-*) -- */
.db-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--section-pad-x);
  box-sizing: border-box;
}
.db-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  align-items: center;
}
@media (max-width: 900px){
  .db-grid{ display:block; }
}

.db-h1, .db-h2, .db-h3{
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -.015em;
  color: var(--anthracite);
  margin: 0;
}
.db-h1{ font-size: clamp(2.4rem, 4.2vw, 3.6rem); line-height: 1.05; }
.db-h2{ font-size: clamp(2rem, 3.2vw, 2.6rem); line-height: 1.1; }
.db-h3{ font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.1; }

.db-body{
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.65;
  color: var(--anthracite);
}
.db-eyebrow{
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--terracotta);
  font-weight: 600;
  font-family: var(--font-sans);
}
.db-link{
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--anthracite);
  border-bottom: 1px solid var(--anthracite);
  padding-bottom: 2px;
  text-decoration: none;
  display: inline-block;
}
.db-link:hover{ color: var(--terracotta); border-color: var(--terracotta); }

.db-filet-top{ border-top: 1px solid rgba(47,49,49,.12); }
.db-filet-bottom{ border-bottom: 1px solid rgba(47,49,49,.12); }

/* ============================================================
   Composants partagés — direction "Cabinet" (validée 2026-09-18)
   Réutilisés par : accueil, prestations, à propos, contact.
   ============================================================ */

/* Hero décalé : texte + photo encadrée (jamais plein écran) */
.pe-hero{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  padding:64px var(--section-pad-x);
  align-items:start;
  gap:24px;
}
.pe-hero__content{ grid-column:2/7; }
.pe-hero__eyebrow{ font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 26px;font-family:var(--font-sans); }
.pe-hero__title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.06;letter-spacing:-.01em;color:var(--anthracite);margin:0; }
.pe-hero__sub{ margin-top:26px;font-size:16.5px;line-height:1.65;color:rgba(47,49,49,.72);max-width:42ch;font-family:var(--font-sans); }
.pe-hero__photo{ grid-column:8/13;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(47,49,49,.14); }
.pe-hero__photo img{ display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important; }
@media (max-width:900px){
  .pe-hero{ display:block;padding:24px; }
  .pe-hero__content{ padding:32px 0; }
  .pe-hero__photo{ aspect-ratio:4/3;margin-bottom:8px; }
}

/* Nav fixe : le wrapper semantique d'Elementor pour le header ne doit
   reserver aucun espace (le nav en position:fixed est sorti du flux,
   c'est le padding-top du body qui gere l'espacement). */
header.elementor-location-header{ display:contents; }

/* Hero plein cadre — accueil uniquement (validé 2026-09-19) */
.elementor-widget-wrap:has(.pe-hero--full),
.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap:has(.pe-hero--full){ padding:0!important; }
.pe-hero--full{ position:relative;height:86vh;min-height:620px;max-height:900px;overflow:hidden;margin-top:-164px; }
.pe-hero--full img{ position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 30%!important;max-width:none!important; }
.pe-hero--full::after{ content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(to top, rgba(47,49,49,.72), rgba(47,49,49,0));pointer-events:none; }
.pe-hero--full__content{ position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 var(--section-pad-x) 72px;max-width:760px; }
.pe-hero--full__eyebrow{ font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--creme);opacity:.9;margin:0 0 22px;font-family:var(--font-sans); }
.pe-hero--full__title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.8rem,5.4vw,4.6rem);line-height:1.04;letter-spacing:-.01em;color:var(--creme);margin:0; }
.pe-hero--full__sub{ margin-top:22px;font-size:17px;line-height:1.6;color:var(--creme);opacity:.9;max-width:44ch;font-family:var(--font-sans); }
@media (max-width:900px){
  .pe-hero--full{ height:78vh;min-height:0;max-height:none; }
  .pe-hero--full__content{ padding:0 24px 48px; }
  .pe-hero--full__title{ font-size:clamp(2.1rem,9vw,2.8rem); }
}

/* Hero bandeau — pages interieures (prestations, a propos, contact) :
   photo courte, titre en surimpression, contenu visible tout de suite
   en dessous. Ni plein ecran, ni duo texte/photo. */
.elementor-widget-wrap:has(.pe-hero--band),
.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap:has(.pe-hero--band){ padding:0!important; }
.pe-hero--band{ position:relative;height:42vh;min-height:300px;max-height:440px;overflow:hidden;margin-top:-164px; }
.pe-hero--band--nophoto{ background:var(--anthracite); }
.pe-hero--band img{ position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important; }
.pe-hero--band::after{ content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(47,49,49,.5) 0%, rgba(47,49,49,.1) 45%, rgba(47,49,49,.62) 100%);pointer-events:none; }
.pe-hero--band__content{ position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 var(--section-pad-x) 36px;max-width:760px; }
.pe-hero--band__eyebrow{ font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--creme);opacity:.9;margin:0 0 16px;font-family:var(--font-sans); }
.pe-hero--band__title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.1rem,3.8vw,3.1rem);line-height:1.05;letter-spacing:-.01em;color:var(--creme);margin:0; }
@media (max-width:900px){
  .pe-hero--band{ height:36vh;min-height:260px; }
  .pe-hero--band__content{ padding:0 24px 28px; }
  .pe-hero--band__title{ font-size:clamp(1.8rem,8vw,2.4rem); }
}

/* Liste de prestations numérotée, décalée, filets — pas de cartes */
.pe-presta-list{ padding:120px var(--section-pad-x); }
.pe-presta-list__eyebrow{ display:grid;grid-template-columns:repeat(12,1fr);margin-bottom:56px; }
.pe-presta-list__eyebrow span{ grid-column:2/7;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);font-family:var(--font-sans); }
.pe-presta-row{ display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid rgba(47,49,49,.14);padding:44px 0;align-items:baseline;transition:border-color .3s ease; }
.pe-presta-row:last-child{ border-bottom:1px solid rgba(47,49,49,.14); }
.pe-presta-row:hover{ border-top-color:var(--terracotta); }
.pe-presta-row__num{ grid-column:2/3;font-family:var(--font-serif);font-size:14px;color:var(--terracotta-ink);transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.pe-presta-row__title{ grid-column:3/7;font-family:var(--font-serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,2rem);color:var(--anthracite);margin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.pe-presta-row__desc{ grid-column:7/12;font-size:15.5px;line-height:1.65;color:rgba(47,49,49,.72);font-family:var(--font-sans);transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.pe-presta-row:hover .pe-presta-row__num,
.pe-presta-row:hover .pe-presta-row__title,
.pe-presta-row:hover .pe-presta-row__desc{ transform:translateX(8px); }
.pe-presta-row__title a{ color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none; }
.pe-presta-row__title a:hover{ color:var(--terracotta-ink); }
@media (prefers-reduced-motion:reduce){
  .pe-presta-row,.pe-presta-row__num,.pe-presta-row__title,.pe-presta-row__desc{ transition:none!important; }
  .pe-presta-row:hover .pe-presta-row__num,
  .pe-presta-row:hover .pe-presta-row__title,
  .pe-presta-row:hover .pe-presta-row__desc{ transform:none!important; }
}
@media (max-width:900px){
  .pe-presta-list{ padding:64px 24px; }
  .pe-presta-list__eyebrow,.pe-presta-row{ display:block; }
  .pe-presta-row{ padding:28px 0; }
  .pe-presta-row__num{ margin-bottom:8px;display:block; }
  .pe-presta-row__title{ margin-bottom:10px;display:block; }
}

/* Bloc "à propos" : photo encadrée + citation */
.pe-apropos{ padding:0 var(--section-pad-x) 140px;display:grid;grid-template-columns:repeat(12,1fr);gap:32px; }
.pe-apropos__photo{ grid-column:2/6;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(47,49,49,.14); }
.pe-apropos__photo img{ width:100%;height:100%;object-fit:cover;display:block; }
.pe-apropos__text{ grid-column:7/12;align-self:center; }
.pe-apropos__eyebrow{ font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 22px;font-family:var(--font-sans); }
.pe-apropos__quote{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.45;color:var(--anthracite);margin:0; }
.pe-apropos__link{ display:inline-block;margin-top:26px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--anthracite);padding-bottom:2px;color:var(--anthracite);text-decoration:none;font-family:var(--font-sans); }
.pe-apropos__link:hover{ color:var(--terracotta-ink);border-color:var(--terracotta); }
@media (max-width:900px){
  .pe-apropos{ padding:0 24px 72px;display:block; }
  .pe-apropos__photo{ aspect-ratio:4/3;margin-bottom:28px; }
}

/* Reveal au scroll — discret, jamais démonstratif (voir design-standard.md §4) */
.pe-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1);
}
.pe-reveal.pe-in{ opacity:1;transform:translateY(0); }
/* Éditeur Elementor : les blocs sont recréés à la volée, l'observateur ne les voit pas → toujours visibles */
.elementor-editor-active .pe-reveal,
.elementor-editor-preview .pe-reveal{ opacity:1!important;transform:none!important;transition:none!important; }
@media (prefers-reduced-motion:reduce){
  .pe-reveal{ opacity:1;transform:none;transition:none; }
}

/* ============================================================
   Blocs natifs Elementor (la cliente les édite au clic).
   Les sections portent les classes pe-hero--full / pe-hero--band,
   les widgets portent pe-eyebrow / pe-title / pe-sub.
   ============================================================ */
.pe-hero--full.elementor-section,
.pe-hero--band.elementor-section{ position:relative;overflow:hidden;padding:0!important;margin-top:-164px; }
.pe-hero--full.elementor-section{ height:86vh;min-height:620px;max-height:900px; }
.pe-hero--band.elementor-section{ height:42vh;min-height:300px;max-height:440px; }
.pe-hero--full.elementor-section > .elementor-container,
.pe-hero--band.elementor-section > .elementor-container{ position:relative;z-index:1;height:100%;max-width:none;align-items:flex-end; }
.pe-hero--full .elementor-column,
.pe-hero--band .elementor-column{ width:100%;max-width:760px; }
.pe-hero--full .elementor-widget-wrap{ padding:0 var(--section-pad-x) 72px!important; }
.pe-hero--band .elementor-widget-wrap{ padding:0 var(--section-pad-x) 36px!important; }
.pe-hero--full .elementor-widget,.pe-hero--band .elementor-widget{ margin-bottom:0!important; }
.pe-hero--full .pe-eyebrow .elementor-heading-title,
.pe-hero--band .pe-eyebrow .elementor-heading-title{ font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--creme);opacity:.9;margin:0 0 20px;line-height:1.4; }
.pe-hero--full .pe-title .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.8rem,5.4vw,4.6rem);line-height:1.04;letter-spacing:-.01em;color:var(--creme);margin:0; }
.pe-hero--band .pe-title .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.1rem,3.8vw,3.1rem);line-height:1.05;letter-spacing:-.01em;color:var(--creme);margin:0; }
.pe-hero--full .pe-sub,.pe-hero--full .pe-sub p{ margin:22px 0 0;font-family:var(--font-sans);font-size:17px;line-height:1.6;color:var(--creme);opacity:.92;max-width:44ch; }
@media (max-width:900px){
  .pe-hero--full.elementor-section{ height:78vh;min-height:0;max-height:none; }
  .pe-hero--band.elementor-section{ height:36vh;min-height:260px; }
  .pe-hero--full .elementor-widget-wrap{ padding:0 24px 48px!important; }
  .pe-hero--band .elementor-widget-wrap{ padding:0 24px 28px!important; }
  .pe-hero--full .pe-title .elementor-heading-title{ font-size:clamp(2.1rem,9vw,2.8rem); }
  .pe-hero--band .pe-title .elementor-heading-title{ font-size:clamp(1.8rem,8vw,2.4rem); }
}

.pe-presta-list.elementor-section{ padding:120px var(--section-pad-x)!important; }
.pe-presta-list > .elementor-container{ max-width:none; }
.pe-presta-list .elementor-widget-wrap{ padding:0!important; }
.pe-presta-list .pe-eyebrow .elementor-heading-title{ font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 56px 8.33%; }
@media (max-width:900px){ .pe-presta-list.elementor-section{ padding:64px 24px!important; } .pe-presta-list .pe-eyebrow .elementor-heading-title{ margin-left:0;margin-bottom:32px; } }

.pe-apropos-n.elementor-section{ padding:0 var(--section-pad-x) 140px!important; }
.pe-apropos-n > .elementor-container{ max-width:none;padding-left:8.33%;gap:0;align-items:center; }
.pe-apropos-n .elementor-widget-wrap{ padding:0!important; }
.pe-apropos-n .pe-photo img{ width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border:1px solid rgba(47,49,49,.14); }
.pe-apropos-n .pe-text-col > .elementor-widget-wrap{ padding-left:8%!important;align-content:center; }
.pe-apropos-n .pe-eyebrow .elementor-heading-title{ font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 22px; }
.pe-apropos-n .pe-quote,.pe-apropos-n .pe-quote p{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.45;color:var(--anthracite);margin:0; }
.pe-linkbtn .elementor-button{ background:none!important;border:0!important;border-bottom:1px solid var(--anthracite)!important;border-radius:0!important;padding:0 0 2px!important;color:var(--anthracite)!important;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;box-shadow:none; }
.pe-linkbtn .elementor-button:hover{ color:var(--terracotta-ink)!important;border-bottom-color:var(--terracotta)!important; }
.pe-linkbtn{ margin-top:26px; }
@media (max-width:900px){
  .pe-apropos-n.elementor-section{ padding:0 24px 72px!important; }
  .pe-apropos-n > .elementor-container{ padding-left:0; }
  .pe-apropos-n .pe-photo img{ aspect-ratio:4/3;margin-bottom:28px; }
  .pe-apropos-n .pe-text-col > .elementor-widget-wrap{ padding-left:0!important; }
}

.pe-chips .elementor-icon-list-items{ display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none; }
.pe-chips .elementor-icon-list-item{ display:inline-flex!important;align-items:center;gap:8px;background:#fff;border:1px solid rgba(47,49,49,.14);border-radius:100px;padding:10px 18px!important;transition:border-color .15s ease,background .15s ease;margin:0!important; }
.pe-chips .elementor-icon-list-item:hover{ border-color:rgba(201,113,82,.5);background:#FFF3DE; }
.pe-chips .elementor-icon-list-icon{ width:auto!important;padding:0!important; }
.pe-chips .elementor-icon-list-icon i{ color:var(--terracotta-ink)!important;font-size:12px!important; }
.pe-chips .elementor-icon-list-text{ font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--anthracite)!important;padding:0!important; }

/* ============================================================
   « Point d'équilibre » — grammaire des pages (2026-10-06)
   L'équilibre n'est pas la symétrie : un axe fin, des compositions
   asymétriques contrebalancées, un point terracotta qui se pose.
   Tout est bâti en widgets Elementor natifs ; ces classes ne font que du style.
   ============================================================ */
body{ padding-top:144px; }

/* sections courantes */
.pe-s.elementor-section{ padding:clamp(72px,11vw,150px) var(--pad,48px)!important; }
.pe-s > .elementor-container{ max-width:1400px; }
.pe-s .elementor-widget-wrap,.pe-px-flat .elementor-widget-wrap{ padding:0!important; }
.pe-s .elementor-widget{ margin-bottom:0!important; }
.pe-s .elementor-column{ box-sizing:border-box; }

/* axe vertical : derrière le contenu de la page prestation */
body{ counter-reset:pechap; }
[data-elementor-type="wp-page"],[data-elementor-type="wp-post"]{ position:relative; }
[data-elementor-type="wp-page"]::before,[data-elementor-type="wp-post"]::before{ content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,rgba(47,49,49,0),rgba(47,49,49,.16) 4%,rgba(47,49,49,.16) 96%,rgba(47,49,49,0));pointer-events:none; }
[data-elementor-type="wp-page"] .elementor-section,[data-elementor-type="wp-post"] .elementor-section{ position:relative; }

/* hero (réutilise .pe-hero--full pour la nav transparente) */
.pe-pxhero.pe-hero--full.elementor-section{ height:100svh;min-height:640px;max-height:none; }
.pe-pxhero.pe-hero--full::after{ height:100%;background:linear-gradient(to top,rgba(47,49,49,.68) 0%,rgba(47,49,49,0) 55%),linear-gradient(to bottom,rgba(47,49,49,.35),rgba(47,49,49,0) 22%),linear-gradient(to right,rgba(47,49,49,.38),rgba(47,49,49,0) 48%); }
.pe-pxhero .elementor-column{ max-width:min(40vw,640px); }
.pe-pxhero .elementor-widget-wrap{ padding:0 var(--pad,48px) clamp(40px,8vh,88px)!important; }
.pe-pxhero .pe-title .elementor-heading-title{ font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.02em; }
.pe-pxhero .pe-title em{ font-style:italic; }
.pe-herodot{ position:absolute;z-index:3;width:14px;height:14px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 8px rgba(255,247,233,.32);transform:translate(-50%,-50%);opacity:0;transition:opacity .8s .9s; }
.pe-herodot.on{ opacity:1; }
@media (max-width:900px){ .pe-pxhero .elementor-column{ max-width:92vw; } .pe-pxhero.pe-hero--full.elementor-section{ height:92svh;min-height:560px; } }

/* filet + point (niveau) */
.pe-level{ margin-bottom:28px; }
.pe-level .elementor-divider{ position:relative;padding:0;height:12px;display:block; }
.pe-level .elementor-divider-separator{ position:absolute;left:0;right:0;top:50%;margin:0!important;width:100%!important;border:0!important;border-top:1px solid rgba(47,49,49,.22)!important; }
.pe-level .elementor-divider::after{ content:"";position:absolute;top:0;left:2%;width:12px;height:12px;border-radius:50%;background:var(--terracotta);transition:left 1.4s cubic-bezier(.2,.8,.2,1); }
.pe-level.pe-in .elementor-divider::after{ left:calc(var(--x,10%) - 6px); }

/* intitulé de chapitre, numéroté automatiquement */
.pe-chap .elementor-heading-title{ display:flex;gap:18px;align-items:baseline;font-family:var(--font-sans);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 22px; }
.pe-chap .elementor-heading-title::before{ counter-increment:pechap;content:counter(pechap,decimal-leading-zero);font-family:var(--font-serif);font-size:15px;font-weight:400;letter-spacing:0; }

/* typographie */
.pe-h2 .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.1;letter-spacing:-.015em;color:var(--anthracite);margin:0 0 34px; }
.pe-big,.pe-big p{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.9rem,3.5vw,3.3rem);line-height:1.18;letter-spacing:-.015em;color:var(--anthracite);margin:0; }
.pe-mid,.pe-mid p{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.3;color:var(--anthracite);margin:0; }
.pe-lead,.pe-lead p{ font-family:var(--font-serif);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.4;color:var(--anthracite);margin:0 0 18px; }
.pe-body,.pe-body p{ font-family:var(--font-sans);font-size:16.5px;line-height:1.7;color:var(--anthracite);margin:0 0 18px; }
.pe-small{ border-top:1px solid rgba(47,49,49,.2);padding-top:18px; }
.pe-small,.pe-small p{ font-family:var(--font-sans);font-size:15.5px;line-height:1.65;color:rgba(47,49,49,.74);margin:0; }
.pe-kicker .elementor-heading-title{ font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 8px; }
.pe-name .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.1;margin:14px 0 0; }
.pe-photo .widget-image-caption,.pe-photo figcaption{ font-family:var(--font-sans);font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(47,49,49,.6);margin-top:12px;text-align:left; }
.pe-photo img{ width:100%;object-fit:cover;display:block; }
.pe-r34 img{ aspect-ratio:3/4; } .pe-r32 img{ aspect-ratio:3/2; } .pe-r21 img{ aspect-ratio:2/1; } .pe-r43 img{ aspect-ratio:4/3; }
.pe-linkbtn .elementor-button{ background:none!important;border:0!important;border-bottom:1px solid var(--anthracite)!important;border-radius:0!important;padding:0 0 3px!important;color:var(--anthracite)!important;font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:none; }
.pe-linkbtn .elementor-button:hover{ color:var(--terracotta-ink)!important;border-bottom-color:var(--terracotta)!important; }
.pe-linkbtn{ margin-top:10px; }

/* liste numérotée à filets */
.pe-numlist .elementor-icon-list-items{ counter-reset:pes;list-style:none;margin:0;padding:0; }
.pe-numlist .elementor-icon-list-item{ counter-increment:pes;display:grid!important;grid-template-columns:44px 1fr;align-items:baseline;padding:15px 0!important;border-top:1px solid rgba(47,49,49,.16);transition:border-color .3s,transform .35s cubic-bezier(.2,.8,.2,1); }
.pe-numlist .elementor-icon-list-item:last-child{ border-bottom:1px solid rgba(47,49,49,.16); }
.pe-numlist .elementor-icon-list-icon{ display:none!important; }
.pe-numlist .elementor-icon-list-item::before{ content:counter(pes,decimal-leading-zero);font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--terracotta-ink); }
.pe-numlist .elementor-icon-list-text{ font-family:var(--font-serif);font-size:clamp(1.15rem,1.55vw,1.4rem);line-height:1.3;color:var(--anthracite)!important;padding:0!important; }
.pe-numlist .elementor-icon-list-item:hover{ border-top-color:var(--terracotta);transform:translateX(6px); }

/* frise des formations */
.pe-timeline .elementor-icon-list-items{ list-style:none;margin:0;padding:0; }
.pe-timeline .elementor-icon-list-item{ display:grid!important;grid-template-columns:96px 1fr;align-items:baseline;padding:14px 0!important;border-top:1px solid rgba(47,49,49,.16); }
.pe-timeline .elementor-icon-list-item:last-child{ border-bottom:1px solid rgba(47,49,49,.16); }
.pe-timeline .elementor-icon-list-icon{ display:none!important; }
.pe-timeline .elementor-icon-list-text{ font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--anthracite)!important;padding:0!important; }

/* décalages (utilitaires de composition) */
.pe-pl8 > .elementor-widget-wrap{ padding-left:8%!important; } .pe-pl12 > .elementor-widget-wrap{ padding-left:12%!important; } .pe-pl18 > .elementor-widget-wrap{ padding-left:18%!important; }
.pe-pr8 > .elementor-widget-wrap{ padding-right:8%!important; }
.pe-low > .elementor-widget-wrap{ padding-top:clamp(20px,9vw,140px)!important; } .pe-low2 > .elementor-widget-wrap{ padding-top:clamp(0px,6vw,90px)!important; } .pe-low3 > .elementor-widget-wrap{ padding-top:60px!important; }
.pe-end > .elementor-widget-wrap{ align-content:flex-end; }
.pe-bleed > .elementor-widget-wrap{ margin-left:calc(var(--pad,48px) * -1)!important; }
.pe-overlap .elementor-widget.pe-detail{ position:absolute;right:-6%;bottom:-14%;width:30%;z-index:2; }
.pe-overlap .elementor-widget.pe-detail img{ border:8px solid var(--creme);aspect-ratio:3/4;object-fit:cover; }
.pe-overlap{ position:relative; }
.pe-up{ margin-top:clamp(40px,6vw,90px); }
@media (max-width:900px){
  [data-elementor-type="wp-page"]::before,[data-elementor-type="wp-post"]::before{ display:none; }
  .pe-pl8 > .elementor-widget-wrap,.pe-pl12 > .elementor-widget-wrap,.pe-pl18 > .elementor-widget-wrap,.pe-pr8 > .elementor-widget-wrap{ padding:0!important; }
  .pe-low > .elementor-widget-wrap,.pe-low2 > .elementor-widget-wrap,.pe-low3 > .elementor-widget-wrap{ padding-top:36px!important; }
  .pe-bleed > .elementor-widget-wrap{ margin-left:0!important; }
  .pe-overlap .elementor-widget.pe-detail{ display:none; }
  .pe-s .elementor-column{ width:100%!important; }
  .pe-timeline .elementor-icon-list-item{ grid-template-columns:70px 1fr; }
}

/* témoignages */
.pe-quotes.elementor-section{ overflow:hidden;color:var(--creme); }
.pe-qlab .elementor-heading-title{ display:flex;align-items:center;gap:12px;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--beige);margin:0 0 34px; }
.pe-qlab .elementor-heading-title::before{ content:"";width:9px;height:9px;border-radius:50%;background:var(--beige); }
.pe-qlead,.pe-qlead p{ font-family:var(--font-serif);font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.2;letter-spacing:-.015em;color:var(--creme);max-width:22ch;margin:0; }
.pe-qlead em{ color:var(--beige); }
.pe-qsmall,.pe-qsmall p{ font-family:var(--font-sans);font-size:16.5px;line-height:1.6;color:var(--creme);margin:0; }
.pe-qsmall{ border-top:1px solid rgba(255,247,233,.35);padding-top:20px; }
.pe-quotes .pe-up{ margin-top:clamp(48px,7vw,100px); }

/* en pratique */
.pe-plabel .elementor-heading-title{ font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta-ink);margin:0 0 14px; }
.pe-ptext,.pe-ptext p{ font-family:var(--font-sans);font-size:15.5px;line-height:1.6;color:rgba(47,49,49,.82);margin:0; }
.pe-pcol > .elementor-widget-wrap{ border-top:1px solid rgba(47,49,49,.2);padding:24px 28px 8px 0!important; }
.pe-price .elementor-heading-title{ font-family:var(--font-serif);font-size:1.9rem;line-height:1.25;font-weight:400;color:var(--anthracite);margin:0; }

/* appel final (gabarit) : la tige et le point */
.pe-final.elementor-section{ text-align:center;padding:0 var(--pad,48px) clamp(90px,12vw,170px)!important; }
.pe-final::before{ content:"";display:block;width:1px;height:clamp(70px,9vw,120px);background:rgba(47,49,49,.18);margin:0 auto; }
.pe-final::after{ content:"";position:absolute;left:50%;top:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--terracotta);transition:top 1.6s cubic-bezier(.34,1.4,.5,1); }
.pe-final.pe-in::after{ top:calc(clamp(70px,9vw,120px) - 6px); }
.pe-final .elementor-widget-wrap{ padding:0!important;align-items:center; }
.pe-final .pe-fh .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.02em;margin:22px auto 20px;max-width:16ch;color:var(--anthracite); }
.pe-final .pe-fh em{ color:var(--terracotta-ink); }
.pe-final .pe-ftxt,.pe-final .pe-ftxt p{ max-width:46ch;margin:0 auto 30px;color:rgba(47,49,49,.76);font-size:17px;line-height:1.7; }
.pe-final .pe-fbtn .elementor-button{ background:var(--terracotta-ink);color:var(--creme);padding:16px 34px;border-radius:100px;font-family:var(--font-sans);font-weight:700;font-size:16px;box-shadow:0 6px 22px -8px rgba(201,113,82,.7);transition:background .2s,transform .2s; }
.pe-final .pe-fbtn .elementor-button:hover{ background:#7F3F2A;transform:translateY(-2px); }
@media (prefers-reduced-motion:reduce){ .pe-level .elementor-divider::after,.pe-final::after{ transition:none; } .pe-level .elementor-divider::after{ left:calc(var(--x,10%) - 6px); } .pe-final::after{ top:calc(clamp(70px,9vw,120px) - 6px); } .pe-herodot{ transition:none; } }

/* liste de l'accueil (Loop Grid) */
.pe-presta-grid .elementor-loop-container{ counter-reset:pe-row;display:block; }
.pe-presta-row.elementor-section{ border-top:1px solid rgba(47,49,49,.14);padding:44px 0!important;transition:border-color .3s ease; }
.pe-presta-grid .e-loop-item:last-child .pe-presta-row.elementor-section{ border-bottom:1px solid rgba(47,49,49,.14); }
.pe-presta-row.elementor-section:hover{ border-top-color:var(--terracotta); }
.pe-presta-row > .elementor-container{ max-width:none;padding-left:8.33%;align-items:baseline; }
.pe-presta-row .elementor-widget-wrap{ padding:0 24px 0 0!important; }
.pe-presta-row .elementor-widget{ margin-bottom:0!important; }
.pe-presta-row .pe-num-col::before{ counter-increment:pe-row;content:counter(pe-row,decimal-leading-zero);font-family:var(--font-serif);font-size:14px;color:var(--terracotta-ink); }
.pe-presta-row .pe-row-title .elementor-heading-title{ font-family:var(--font-serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,2rem);margin:0; }
.pe-presta-row .pe-row-title a{ color:inherit;text-decoration:none; } .pe-presta-row .pe-row-title a:hover{ color:var(--terracotta-ink); }
.pe-presta-row .pe-row-desc,.pe-presta-row .pe-row-desc p{ font-family:var(--font-sans);font-size:15.5px;line-height:1.65;color:rgba(47,49,49,.74);margin:0 0 12px; }
@media (max-width:900px){ .pe-presta-row > .elementor-container{ padding-left:0; } .pe-presta-row .elementor-column{ width:100%!important; } .pe-presta-row.elementor-section{ padding:28px 0!important; } }

/* têtes de chapitre : le filet précède directement son contenu */
.pe-s.pe-s-head.elementor-section{ padding-bottom:0!important; }
.pe-s-head + .elementor-section.pe-s{ padding-top:24px!important; }
.pe-s-head + .elementor-section.pe-s-head{ padding-top:clamp(72px,11vw,150px)!important; }
.pe-up.elementor-section{ padding-top:0!important; }
.pe-nb{ margin-top:26px; }
.pe-pxhero .pe-title-sm .elementor-heading-title{ font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.05; }
.pe-pxhero .pe-sub,.pe-pxhero .pe-sub p{ margin:22px 0 0;font-family:var(--font-sans);font-size:17px;line-height:1.6;color:var(--creme);max-width:44ch; }
.pe-tcar .swiper-slide{ height:auto; }
.pe-tcar .elementor-testimonial__text{ font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--creme);border-top:1px solid rgba(255,247,233,.35);padding-top:20px; }
.pe-tcar .elementor-testimonial{ text-align:left; }
.pe-tcar .elementor-swiper-button{ color:var(--creme); }
.pe-tcar .swiper-pagination-bullet{ background:var(--creme);opacity:.45; } .pe-tcar .swiper-pagination-bullet-active{ opacity:1; }
.pe-quotes .pe-tcar{ margin-top:clamp(48px,7vw,100px); }

/* correctifs de rendu (surcharge des styles globaux d'Elementor) */
body{ background:var(--creme); }
.pe-chap .elementor-heading-title,.pe-kicker .elementor-heading-title,.pe-plabel .elementor-heading-title,.pe-qlab .elementor-heading-title{ font-family:var(--font-sans)!important;color:var(--terracotta-ink)!important; }
.pe-qlab .elementor-heading-title{ color:var(--beige)!important; }
.pe-chap .elementor-heading-title::before{ font-family:var(--font-serif)!important; }
.pe-h2 .elementor-heading-title{ color:var(--anthracite)!important;font-family:var(--font-serif)!important; }
.pe-name .elementor-heading-title,.pe-price .elementor-heading-title{ font-family:var(--font-serif)!important;color:var(--anthracite)!important; }
.pe-level .elementor-divider-separator{ top:6px!important; }
.pe-photo img{ height:auto; }
.pe-photo.pe-r34 img,.pe-photo.pe-r32 img,.pe-photo.pe-r21 img,.pe-photo.pe-r43 img{ height:auto; }
body,body.elementor-default,.site-main,#content{ background-color:var(--creme)!important; }
.pe-tcar .elementor-testimonial__text,.pe-tcar .elementor-testimonial__content{ color:var(--creme)!important;font-style:normal!important; }
.pe-tcar .elementor-testimonial__text{ font-family:var(--font-sans)!important; }
.pe-quotes.elementor-section > .elementor-background-overlay{ opacity:1!important;background-color:rgba(60,72,55,.86)!important; }
.pe-tcar .elementor-swiper-button{ color:var(--creme)!important; }
.pe-timeline .elementor-icon-list-item{ display:block!important; }
.pe-center,.pe-center p{ text-align:center; margin-left:auto;margin-right:auto; }
.pe-s-center > .elementor-container{ max-width:980px; }
/* la rangée de la liste d'accueil est une section Elementor, plus la grille de l'ancien bloc */
.pe-presta-row.elementor-section{ display:block!important;grid-template-columns:none!important;align-items:initial!important; }
.pe-presta-grid .e-loop-item,.pe-presta-grid .elementor-loop-container{ width:100%; }
.pe-s-loop.elementor-section{ padding:0 var(--pad,48px) clamp(72px,10vw,140px)!important; }
.pe-s-loop > .elementor-container{ max-width:1400px; }
.pe-s-loop .elementor-widget-wrap{ padding:0!important; }
.pe-presta-row .elementor-column.pe-num-col{ width:8%!important; }
.pe-presta-row > .elementor-container > .elementor-column:nth-child(2){ width:30%!important; }
.pe-presta-row > .elementor-container > .elementor-column:nth-child(3){ width:62%!important; }
.pe-presta-row .pe-row-title .elementor-heading-title,.pe-presta-row .pe-row-title a{ color:var(--anthracite)!important; }
.pe-presta-row .pe-row-title a:hover{ color:var(--terracotta-ink)!important; }
@media (max-width:900px){ .pe-presta-row .elementor-column.pe-num-col,.pe-presta-row > .elementor-container > .elementor-column:nth-child(2),.pe-presta-row > .elementor-container > .elementor-column:nth-child(3){ width:100%!important; } }
.pe-presta-row .pe-num-col::before{ flex:none;white-space:nowrap;padding-right:16px; }
.pe-presta-row .pe-num-col > .elementor-widget-wrap{ display:none; }
.pe-tcar .elementor-testimonial__text,.pe-tcar .elementor-testimonial__content{ overflow-wrap:anywhere; }
.pe-tcar .swiper-slide{ box-sizing:border-box; }
@media (max-width:900px){
  .pe-man .elementor-column + .elementor-column{ margin-top:36px; }
  .pe-tcar .elementor-main-swiper{ padding:0 4px 8px; }
  .pe-tcar .elementor-swiper-button{ display:none; }
  .pe-s .elementor-column + .elementor-column{ margin-top:28px; }
}
/* l'axe vertical traversait les textes : retiré (retour Hugo 2026-10-06). Restent les filets et le point. */
[data-elementor-type="wp-page"]::before,[data-elementor-type="wp-post"]::before{ display:none!important; }
.pe-prat > .elementor-container > .elementor-column{ flex:1 1 0;width:auto!important; }
.pe-prat .pe-pcol:not(:has(.pe-price .elementor-heading-title)):has(.pe-price){ display:none; }
@media (max-width:900px){ .pe-prat > .elementor-container > .elementor-column{ flex:1 1 100%; } }

/* ============================================================
   Header natif (widgets Image + Menu de navigation + Bouton)
   ============================================================ */
header.elementor-location-header{ display:contents; }
.pe-nav.elementor-section{ position:fixed;top:0;left:0;right:0;z-index:9990;background:var(--creme);border-bottom:1px solid rgba(47,49,49,0);transition:background-color .3s ease,border-color .3s ease;padding:0!important; }
.pe-nav.is-scrolled{ border-bottom-color:rgba(47,49,49,.14); }
.pe-nav.pe-nav--transparent{ background:transparent;border-bottom-color:transparent; }
.pe-nav.pe-nav--transparent.is-scrolled{ background:var(--creme);border-bottom-color:rgba(47,49,49,.14); }
.pe-nav > .elementor-container{ min-height:124px;align-items:center;max-width:1400px;padding:10px 24px;box-sizing:border-box; }
.pe-nav .elementor-widget-wrap{ padding:0!important;align-items:center; }
.pe-nav .elementor-widget{ margin-bottom:0!important; }
.pe-nav .pe-logo img{ height:104px;width:auto;max-width:none; }
.pe-nav .pe-logo .elementor-widget-container{ line-height:0; }
.pe-nav .elementor-nav-menu{ column-gap:30px;justify-content:center; }
.pe-nav .elementor-nav-menu--main .elementor-item{ font-family:var(--font-sans)!important;font-weight:600;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--anthracite)!important;padding:4px 2px!important;margin:0!important; }
.pe-nav .elementor-nav-menu--main .elementor-item:before,.pe-nav .elementor-nav-menu--main .elementor-item:after{ background:var(--terracotta)!important;height:1.5px!important; }
.pe-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:after{ width:100%;opacity:1;transform:none; }
.pe-nav.pe-nav--transparent:not(.is-scrolled) .elementor-nav-menu--main .elementor-item,.pe-nav.pe-nav--transparent:not(.is-scrolled) .elementor-menu-toggle{ color:var(--creme)!important; }
.pe-nav .elementor-menu-toggle{ background:none!important;color:var(--anthracite);font-size:26px;margin-left:auto; }
.pe-nav .pe-cta .elementor-widget-container{ text-align:right; }
.pe-nav .pe-cta .elementor-button{ background:var(--terracotta-ink);color:var(--creme);border-radius:100px;padding:11px 22px;font-family:var(--font-sans);font-weight:600;font-size:13.5px;line-height:1.4;box-shadow:0 2px 10px rgba(201,113,82,.35);transition:background .15s ease; }
.pe-nav .pe-cta .elementor-button:hover,.pe-nav .pe-cta .elementor-button:focus{ background:#7F3F2A;color:var(--creme); }
.pe-nav .elementor-nav-menu--dropdown{ background:var(--creme);box-shadow:none;border-top:1px solid rgba(47,49,49,.14);max-height:calc(100dvh - 124px);overflow-y:auto; }
.pe-nav .elementor-nav-menu--dropdown a{ font-family:var(--font-serif)!important;font-weight:400;font-size:clamp(1.5rem,6vw,2.2rem);color:var(--anthracite)!important;border-bottom:1px solid rgba(47,49,49,.14);padding:18px 24px!important;line-height:1.2;text-transform:none;letter-spacing:0; }
.pe-nav .elementor-nav-menu--dropdown a:hover,.pe-nav .elementor-nav-menu--dropdown a.elementor-item-active{ color:var(--terracotta-ink)!important;background:none; }
@media (max-width:1180px) and (min-width:1025px){ .pe-nav .elementor-nav-menu{ column-gap:18px; } .pe-nav .elementor-nav-menu--main .elementor-item{ font-size:12.5px; } }
@media (max-width:1024px){
  .pe-nav .pe-logo img{ height:64px; }
  .pe-nav .pe-cta-col{ display:none!important; }
  .pe-nav .pe-logo-col{ width:50%!important; }
  .pe-nav .pe-menu-col{ width:50%!important; }
}
/* le header natif ne laisse plus d'écart fantôme : le bandeau se cale pile sous le haut de page */
.pe-hero--full.elementor-section,.pe-hero--band.elementor-section{ margin-top:-144px!important; }
.pe-nav .elementor-nav-menu--main .elementor-item{ font-weight:600!important; }
.pe-nav .elementor-nav-menu--dropdown a{ font-weight:400!important; }

/* ===== correctifs issus du bêta-test (2026-10-06) ===== */
.pe-pcol:has(.pe-price):not(:has(.pe-price .elementor-heading-title:not(:empty))){ display:none!important; }
.pe-price .elementor-heading-title:empty{ display:none; }
.pe-small a,.pe-ptext a,.pe-body a,.pe-lead a{ text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px; }
.pe-tcar .swiper-pagination-bullet{ width:24px!important;height:24px!important;padding:9px;box-sizing:border-box;background-clip:content-box!important;background-color:rgba(255,247,233,.5)!important;opacity:1!important;margin:0 2px!important; }
.pe-tcar .swiper-pagination-bullet-active{ background-color:var(--creme)!important; }
.pe-pxhero .pe-eyebrow .elementor-heading-title{ font-size:14px!important;font-weight:700!important;text-shadow:0 1px 14px rgba(0,0,0,.45); }
.pe-pxhero .pe-sub,.pe-pxhero .pe-sub p{ font-size:18px!important;font-weight:500;text-shadow:0 1px 14px rgba(0,0,0,.5); }
.pe-pxhero .pe-title .elementor-heading-title{ text-shadow:0 2px 24px rgba(0,0,0,.28); }
/* « Prendre rendez-vous » dans le menu mobile uniquement */
.pe-nav .elementor-nav-menu--main .pe-menu-cta{ display:none!important; }
.pe-nav .elementor-nav-menu--dropdown .pe-menu-cta a{ background:var(--terracotta-ink);color:var(--creme)!important;margin:18px 24px 22px;border:0;border-radius:100px;text-align:center;font-family:var(--font-sans)!important;font-size:16px!important;font-weight:700!important;padding:15px 24px!important; }
/* contraste et liens (bêta-test) */
.elementor-location-footer .elementor-widget-text-editor,.elementor-location-footer .elementor-widget-text-editor p{ color:rgba(255,247,233,.82)!important; }
.elementor-widget-text-editor a,.pe-small a,.pe-ptext a,.pe-body a{ text-decoration:underline!important;text-underline-offset:3px; }
.pe-pcta a,.pe-linkbtn a{ text-decoration:none!important; }

/* variantes de bandeau : titre en bas à droite ou en haut à gauche selon la photo */
.pe-pxhero.pe-hero-right > .elementor-container{ justify-content:flex-end; }
.pe-pxhero.pe-hero-right .elementor-widget-wrap{ align-items:flex-end;text-align:right; }
.pe-pxhero.pe-hero-right .pe-sub,.pe-pxhero.pe-hero-right .pe-sub p{ margin-left:auto; }
.pe-pxhero.pe-hero-right::after{ background:linear-gradient(to top,rgba(47,49,49,.62) 0%,rgba(47,49,49,0) 55%),linear-gradient(to bottom,rgba(47,49,49,.35),rgba(47,49,49,0) 22%),linear-gradient(to left,rgba(47,49,49,.38),rgba(47,49,49,0) 48%); }
.pe-pxhero.pe-hero-top > .elementor-container{ align-items:flex-start; }
.pe-pxhero.pe-hero-top .elementor-widget-wrap{ padding-top:clamp(150px,22vh,230px)!important;padding-bottom:0!important; }
.pe-pxhero.pe-hero-top::after{ background:linear-gradient(to bottom,rgba(47,49,49,.62) 0%,rgba(47,49,49,0) 62%),linear-gradient(to right,rgba(47,49,49,.3),rgba(47,49,49,0) 48%); }
@media (max-width:900px){ .pe-pxhero.pe-hero-right .elementor-widget-wrap{ align-items:flex-start;text-align:left; } .pe-pxhero.pe-hero-right > .elementor-container{ justify-content:flex-start; } }
/* menu : une seule ligne, quelle que soit la largeur (Elementor autorise le retour à la ligne par défaut) */
.pe-nav .elementor-nav-menu--main .elementor-nav-menu{ flex-wrap:nowrap!important;column-gap:24px!important; }
.pe-nav .elementor-nav-menu--main .elementor-nav-menu > li{ flex:none; }
@media (min-width:1025px){ .pe-nav .pe-logo-col{ width:13%!important; } .pe-nav .pe-menu-col{ width:69%!important; } .pe-nav .pe-cta-col{ width:18%!important; } }
@media (min-width:1025px) and (max-width:1240px){ .pe-nav .elementor-nav-menu--main .elementor-nav-menu{ column-gap:14px!important; } .pe-nav .elementor-nav-menu--main .elementor-item{ font-size:12px!important;letter-spacing:.05em!important; } .pe-nav .pe-cta .elementor-button{ padding:10px 16px;font-size:12.5px; } }
/* bandeau avec titre en haut : colonne plus large pour garder un titre court sur le ciel */
.pe-pxhero.pe-hero-top .elementor-column{ max-width:min(64vw,900px); }
.pe-pxhero.pe-hero-top .pe-title .elementor-heading-title{ font-size:clamp(2.2rem,4.2vw,4.2rem); }
@media (min-width:1025px) and (max-width:1120px){ .pe-nav .elementor-nav-menu--main .elementor-nav-menu{ column-gap:10px!important; } .pe-nav .elementor-nav-menu--main .elementor-item{ font-size:11.5px!important;letter-spacing:.03em!important; } .pe-nav .pe-logo img{ height:84px; } }
.pe-pxhero.pe-hero-top .pe-title-sm .elementor-heading-title{ font-size:clamp(1.7rem,3vw,3rem);line-height:1.08; }
.pe-pxhero.pe-hero-top .elementor-widget-wrap{ padding-top:clamp(130px,15vh,170px)!important; }
.pe-pxhero.pe-hero-top .pe-sub,.pe-pxhero.pe-hero-top .pe-sub p{ margin-top:14px; }
/* cadrage mobile des bandeaux : garder la personne et le contact dans l'image */
@media (max-width:900px){
  .pe-pxhero.pe-hero-top{ background-position:34% 50%!important; }
  .pe-pxhero.pe-hero-right{ background-position:38% 50%!important; }
  .pe-pxhero.pe-hero-top .pe-title-sm .elementor-heading-title{ font-size:clamp(1.5rem,6.4vw,2rem); }
  .pe-pxhero.pe-hero-top .elementor-widget-wrap{ padding-top:clamp(110px,15vh,140px)!important; }
}
@media (max-width:900px){
  .pe-pxhero.pe-hero-top .pe-eyebrow{ display:none; }
  .pe-pxhero.pe-hero-top .elementor-widget-wrap{ padding-top:clamp(96px,12vh,110px)!important; }
  .pe-pxhero.pe-hero-top .pe-sub,.pe-pxhero.pe-hero-top .pe-sub p{ font-size:16px!important; }
}

/* ============================================================
   Menu mobile : panneau latéral (standard stack). Sous 1025 px, le menu large du header est masqué.
   ============================================================ */
.pe-burger,.pe-panel,.pe-scrim,button.pe-burger{ display:none!important; }
@media (max-width:1024px){
  .pe-nav .elementor-nav-menu--main,.pe-nav .elementor-menu-toggle,.pe-nav .elementor-nav-menu--dropdown{ display:none!important; }
  .pe-nav .pe-menu-col > .elementor-widget-wrap{ justify-content:flex-end; }
  button.pe-burger{ display:inline-flex!important;align-items:center;justify-content:center;width:48px;height:48px;margin-left:auto;padding:0;border:0;background:none!important;border-radius:100px;cursor:pointer;touch-action:manipulation;color:var(--anthracite); }
  button.pe-burger[hidden]{ display:none!important; }
  .pe-burger:focus-visible,.pe-panel__close:focus-visible,.pe-panel a:focus-visible{ outline:2px solid var(--terracotta-ink);outline-offset:3px; }
  .pe-nav.pe-nav--transparent:not(.is-scrolled) .pe-burger{ color:var(--creme); }
  .pe-burger__box{ position:relative;display:block;width:24px;height:16px; }
  .pe-burger__box span{ position:absolute;left:0;width:24px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease,top .25s ease; }
  .pe-burger__box span:nth-child(1){ top:0; } .pe-burger__box span:nth-child(2){ top:7px; } .pe-burger__box span:nth-child(3){ top:14px; }
  .pe-burger[aria-expanded="true"] .pe-burger__box span:nth-child(1){ top:7px;transform:rotate(45deg); }
  .pe-burger[aria-expanded="true"] .pe-burger__box span:nth-child(2){ opacity:0; }
  .pe-burger[aria-expanded="true"] .pe-burger__box span:nth-child(3){ top:7px;transform:rotate(-45deg); }

  .pe-scrim{ display:block!important;position:fixed;inset:0;z-index:9998;background:rgba(47,49,49,.5);opacity:0;transition:opacity .3s ease; }
  .pe-scrim[hidden],.pe-panel[hidden]{ display:none!important; }
  .pe-scrim.is-open{ opacity:1; }
  .pe-panel{ display:flex!important;flex-direction:column;position:fixed;top:0;right:0;bottom:0;z-index:9999;width:min(88vw,380px);height:100dvh;background:var(--creme);box-shadow:-20px 0 50px -24px rgba(33,31,28,.4);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box; }
  .pe-panel.is-open{ transform:none; }
  html.pe-panel-open,html.pe-panel-open body{ overflow:hidden; }
  .pe-panel__head{ display:flex;align-items:center;justify-content:space-between;padding:18px 22px 10px; }
  .pe-panel__head img{ height:58px;width:auto;display:block; }
  .pe-panel__close{ position:relative;width:48px;height:48px;border:0;background:none!important;border-radius:100px;cursor:pointer;touch-action:manipulation; }
  .pe-panel__close span,.pe-panel__close span::before{ position:absolute;left:12px;top:23px;width:24px;height:2px;border-radius:2px;background:var(--anthracite);content:""; }
  .pe-panel__close span{ transform:rotate(45deg); } .pe-panel__close span::before{ left:0;top:0;transform:rotate(90deg); }
  .pe-panel__nav{ flex:1;padding:8px 22px; }
  .pe-panel__nav ol{ list-style:none;margin:0;padding:0; }
  .pe-panel__nav li{ border-bottom:1px solid rgba(47,49,49,.14); }
  .pe-panel__nav li:first-child{ border-top:1px solid rgba(47,49,49,.14); }
  .pe-panel__nav a{ display:flex;align-items:baseline;gap:14px;min-height:48px;padding:16px 2px;font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,6vw,1.75rem);line-height:1.2;color:var(--anthracite)!important;text-decoration:none;touch-action:manipulation;transition:color .15s ease,padding-left .2s ease; }
  .pe-panel__num{ font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--terracotta-ink); }
  .pe-panel__nav a:hover,.pe-panel__nav a[aria-current="page"]{ color:var(--terracotta-ink)!important;padding-left:8px; }
  .pe-panel__foot{ padding:18px 22px calc(22px + env(safe-area-inset-bottom));border-top:1px solid rgba(47,49,49,.14);background:var(--creme); }
  .pe-panel__cta{ display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;box-sizing:border-box;border-radius:100px;background:var(--terracotta-ink);color:var(--creme)!important;font-family:var(--font-sans);font-weight:700;font-size:16px;text-decoration:none;touch-action:manipulation; }
  .pe-panel__cta:hover{ background:#7F3F2A; }
  .pe-panel__contact{ margin:16px 0 0;font-family:var(--font-sans);font-size:15px;line-height:1.9;text-align:center; }
  .pe-panel__contact a{ display:inline-block;min-height:32px;color:var(--anthracite)!important;text-decoration:underline;text-underline-offset:3px; }
}
@media (prefers-reduced-motion:reduce){ .pe-panel,.pe-scrim,.pe-burger__box span{ transition:none!important; } }
button.pe-burger,button.pe-panel__close,button.pe-burger:hover,button.pe-burger:focus,button.pe-panel__close:hover,button.pe-panel__close:focus{ border:0!important;background:transparent!important;box-shadow:none!important;color:inherit; }
button.pe-panel__close:hover,button.pe-burger:hover{ background:rgba(47,49,49,.07)!important; }

/* ===== Bande « N'hésitez pas à prendre contact » : fond propre pour fermer la page (retour Hugo 2026-10-08) ===== */
.pe-final.elementor-section{ background:var(--terracotta-ink)!important;padding-top:0!important;padding-bottom:clamp(80px,10vw,140px)!important;margin-top:clamp(56px,8vw,110px); }
.pe-final::before{ background:rgba(255,247,233,.4)!important; }
.pe-final::after{ background:var(--creme)!important; }
.pe-final .pe-fh .elementor-heading-title{ color:var(--creme)!important; }
.pe-final .pe-fh em{ color:var(--beige)!important; }
.pe-final .pe-ftxt,.pe-final .pe-ftxt p{ color:rgba(255,247,233,.9)!important; }
.pe-final .pe-fbtn .elementor-button{ background:var(--creme)!important;color:var(--terracotta-ink)!important;box-shadow:0 8px 24px -10px rgba(0,0,0,.4); }
.pe-final .pe-fbtn .elementor-button:hover,.pe-final .pe-fbtn .elementor-button:focus{ background:var(--beige)!important;color:#7F3F2A!important; }
.pe-final .pe-linkbtn .elementor-button{ color:var(--creme)!important;border-bottom-color:rgba(255,247,233,.7)!important; }
.pe-final .pe-linkbtn .elementor-button:hover{ color:var(--beige)!important;border-bottom-color:var(--beige)!important; }
.pe-final .pe-fbtn .elementor-button:focus-visible,.pe-final .pe-linkbtn .elementor-button:focus-visible{ outline:2px solid var(--creme);outline-offset:3px; }

/* ===== retours cliente 2026-10-12 ===== */
/* logo un peu plus grand sans changer la hauteur du header (marges verticales réduites) */
.pe-nav > .elementor-container{ padding-top:4px!important;padding-bottom:4px!important; }
.pe-nav .pe-logo img{ height:116px!important; }
@media (max-width:1024px){ .pe-nav .pe-logo img{ height:72px!important; } }
@media (min-width:1025px) and (max-width:1120px){ .pe-nav .pe-logo img{ height:92px!important; } }
/* accueil : la grande phrase */
.pe-pxhero.pe-hero-top .pe-title-sm .elementor-heading-title{ font-size:clamp(2.2rem,4.4vw,4.4rem)!important;line-height:1.04;letter-spacing:-.015em; }
.pe-pxhero.pe-hero-top .pe-sub,.pe-pxhero.pe-hero-top .pe-sub p{ font-size:clamp(1.05rem,1.5vw,1.3rem)!important;margin-top:18px; }
@media (max-width:900px){ .pe-pxhero.pe-hero-top .pe-title-sm .elementor-heading-title{ font-size:clamp(1.7rem,7.4vw,2.2rem)!important; } }
/* photos : coins très arrondis, détail en rond (en phase avec le logo) */
.pe-photo img{ border-radius:28px; }
.pe-bleed > .elementor-widget-wrap{ margin-left:0!important; }
.pe-overlap .elementor-widget.pe-detail img{ border-radius:50%!important;aspect-ratio:1/1!important; }
.pe-apropos-n .pe-photo img{ border-radius:28px; }
/* « En pratique » : colonnes à égalité, sans écart irrégulier */
.pe-prat > .elementor-container{ display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:48px;max-width:1400px; }
.pe-prat > .elementor-container > .elementor-column{ width:auto!important;flex:none!important; }
.pe-prat .pe-pcol > .elementor-widget-wrap{ padding-right:0!important; }
@media (max-width:640px){ .pe-prat > .elementor-container{ grid-template-columns:1fr; } }
.elementor-widget-image.pe-photo img,.pe-photo .elementor-widget-container img,.pe-apropos-n .pe-photo img{ border-radius:28px!important;overflow:hidden; }
.pe-overlap .elementor-widget.pe-detail img{ border-radius:50%!important; }

/* horaires de la page Contact : une ligne par plage, éditable comme un simple texte */
.pe-horaires{ max-width:420px;margin:0 auto; }
.pe-horaires p{ display:flex;justify-content:space-between;gap:16px;margin:0;padding:11px 0;border-bottom:1px solid rgba(47,49,49,.12);font-family:var(--font-sans);font-size:14.5px; }
.pe-horaires p strong{ font-weight:600;color:var(--anthracite); }
.pe-horaires p span{ color:#6b6560;text-align:right; }
/* bandeau de prestation avec titre en haut : colonne étroite pour ne pas passer sur les personnes de la photo */
.pe-pxhero.pe-hero-top:not(:has(.pe-title-sm)) .elementor-column{ max-width:min(40vw,560px); }
@media (max-width:900px){ .pe-pxhero.pe-hero-top:not(:has(.pe-title-sm)) .elementor-column{ max-width:92vw; } }
/* initiale sous chaque témoignage */
.pe-tcar .elementor-testimonial__name{ display:block;margin-top:14px;font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--beige)!important; }
.pe-tcar .elementor-testimonial__cite{ margin-top:0; }
.pe-tcar .elementor-testimonial__cite .elementor-testimonial__name,.pe-tcar .elementor-testimonial__name{ display:block!important;margin-top:16px!important;font-family:var(--font-sans)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--beige)!important;line-height:1.2!important; }
.pe-tcar .elementor-testimonial__cite .elementor-testimonial__name,.pe-tcar .elementor-testimonial__name{ font-size:17px!important;letter-spacing:.12em!important; }

/* Photo ronde : la taille vient de la colonne (30 %, carré). Hauteur/Ajustement d'Elementor ne servent qu'à ouvrir le réglage « Position de l'objet » (cadrage). */
.pe-overlap .elementor-widget.pe-detail img{ width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important; }

/* Bannières : même couleur dans l'éditeur Elementor que sur le site (l'éditeur ajoute une couleur par défaut par titre, plus spécifique) */
.elementor-section.pe-pxhero .elementor-widget.pe-eyebrow .elementor-heading-title,
.elementor-section.pe-pxhero .elementor-widget.pe-title .elementor-heading-title,
.elementor-section.pe-hero--band .elementor-widget.pe-eyebrow .elementor-heading-title,
.elementor-section.pe-hero--band .elementor-widget.pe-title .elementor-heading-title{ color:var(--creme); }
