@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/poppins-400i.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:200;font-style:normal;font-display:swap;src:url(../fonts/fraunces-200.woff2) format("woff2")}
@font-face{font-family:Courgette;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/courgette.woff2) format("woff2")}
@font-face{font-family:"High Spirited";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/high-spirited.woff2) format("woff2")}

:root{
  --ef-beige:#f0e3d9;--ef-prune:#785866;--ef-terracotta:#c17c66;--ef-bordeaux:#8f4844;--ef-aubergine:#523340;--ef-encre:#2b1f22;--ef-lilas:#a08c9c;--ef-blanc:#fff;
  --ef-font-script:"High Spirited","Waterfall",cursive;
  --ef-font-titre:Fraunces,Georgia,serif;--ef-font-soustitre:Courgette,Georgia,serif;--ef-font-corps:Poppins,system-ui,sans-serif;
  --ef-large:1180px;--ef-etroit:760px;--ef-gouttiere:clamp(1.25rem,4vw,3rem);--ef-espace:clamp(3.5rem,8vw,7rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ef-beige);color:var(--ef-encre);font-family:var(--ef-font-corps);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ef-bordeaux);text-underline-offset:.2em}
a:hover{color:var(--ef-aubergine)}
:focus-visible{outline:3px solid var(--ef-terracotta);outline-offset:3px}
h1,h2,h3,h4{margin:0 0 .6em;line-height:1.12;font-weight:200;font-family:var(--ef-font-titre);color:var(--ef-encre)}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem);letter-spacing:-.01em}
h3{font-family:var(--ef-font-soustitre);font-weight:400;color:var(--ef-bordeaux);font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.25}
p{margin:0 0 1.2em}
.ef-evitement{position:absolute;left:-999px;top:0;background:var(--ef-aubergine);color:#fff;padding:.75rem 1rem;z-index:100}
.ef-evitement:focus{left:0}

/* En-tete */
.ef-entete{position:sticky;top:0;z-index:50;background:var(--ef-beige);border-bottom:1px solid rgba(82,51,64,.08)}
.ef-entete__barre{max-width:1440px;margin:0 auto;padding:.6rem var(--ef-gouttiere);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.ef-logo{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ef-encre);line-height:1}
.ef-logo__prenom{font-family:var(--ef-font-script);font-size:2.5rem;line-height:.8}
.ef-logo__nom{font-family:var(--ef-font-titre);font-size:.82rem;letter-spacing:.34em;text-transform:uppercase;margin-top:-.15rem;padding-left:1.4rem}
.ef-logo--clair{color:var(--ef-beige)}
.ef-logo--clair .ef-logo__prenom{font-size:5rem}
.ef-logo--clair .ef-logo__nom{font-size:1.5rem;margin-top:-.4rem}
.ef-menu{display:flex;align-items:center;gap:2rem}
.ef-menu__liste{display:flex;gap:clamp(1rem,2.4vw,2.4rem);list-style:none;margin:0;padding:0}
.ef-menu__liste>li{position:relative}
.ef-menu__liste a{color:var(--ef-encre);text-decoration:none;font-size:.98rem;padding:.6rem 0;display:block}
.ef-menu__liste a:hover,.ef-menu__liste .current-menu-item>a,.ef-menu__liste .current-menu-ancestor>a,.ef-menu__liste .current_page_parent>a{color:var(--ef-terracotta)}
.ef-menu__liste .current-menu-item>a{font-weight:600}
.ef-menu__liste .sub-menu{position:absolute;left:-1rem;top:100%;min-width:16rem;background:var(--ef-beige);box-shadow:0 12px 30px rgba(82,51,64,.14);list-style:none;margin:0;padding:.6rem 1rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.ef-menu__liste li:hover>.sub-menu,.ef-menu__liste li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.ef-menu__liste .sub-menu a{padding:.45rem 0;font-size:.93rem}
.ef-menu__tel{display:none;color:var(--ef-bordeaux);font-weight:500;text-decoration:none}
.ef-burger{display:none;background:none;border:0;padding:.5rem;font:inherit;color:var(--ef-encre);cursor:pointer;align-items:center;gap:.5rem}
.ef-burger__traits,.ef-burger__traits::before,.ef-burger__traits::after{display:block;width:24px;height:2px;background:currentColor;content:"";position:relative}
.ef-burger__traits::before{position:absolute;top:-7px}.ef-burger__traits::after{position:absolute;top:7px}
@media (max-width:960px){
  .ef-burger{display:inline-flex}
  .ef-menu{position:absolute;left:0;right:0;top:100%;background:var(--ef-beige);flex-direction:column;align-items:stretch;gap:0;padding:0 var(--ef-gouttiere);max-height:0;overflow:hidden;transition:max-height .3s}
  .ef-menu.est-ouvert{max-height:90vh;overflow:auto;padding-bottom:1.5rem;box-shadow:0 20px 30px rgba(82,51,64,.15)}
  .ef-menu__liste{flex-direction:column;gap:0}
  .ef-menu__liste a{padding:.8rem 0;border-bottom:1px solid rgba(82,51,64,.1)}
  .ef-menu__liste .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 1rem}
  .ef-menu__tel{display:block;padding-top:1rem;font-size:1.1rem}
}

/* Boutons */
.wp-block-button__link,.ef-bouton{display:inline-block;background:var(--ef-bordeaux);color:#fff;border:1.5px solid rgba(255,255,255,.85);border-radius:0;padding:.85em 2.4em;font:500 1.02rem/1.2 var(--ef-font-corps);text-decoration:none;text-align:center;min-width:15rem;transition:background .2s,transform .2s}
.wp-block-button__link:hover,.ef-bouton:hover{background:var(--ef-aubergine);color:#fff;transform:translateY(-1px)}
.wp-block-button.is-prune .wp-block-button__link{background:var(--ef-prune)}
.wp-block-button.is-terracotta .wp-block-button__link{background:var(--ef-terracotta)}
.wp-block-button.is-contour .wp-block-button__link,.ef-bouton--contour{background:transparent;border-color:currentColor;color:inherit}
.ef-bouton--clair{background:var(--ef-bordeaux);border-color:var(--ef-beige)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;justify-content:center}

/* Contenu courant */
.ef-page__entete{max-width:var(--ef-large);margin:0 auto;padding:clamp(2rem,5vw,4rem) var(--ef-gouttiere) 1rem;text-align:center}
.ef-page__titre{font-size:clamp(2.2rem,5vw,3.8rem)}
.ef-surtitre{font-family:var(--ef-font-soustitre);color:var(--ef-bordeaux);font-size:1.2rem;margin:0 0 .4rem}
.ef-ariane ol{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0 0 1.2rem;padding:0;font-size:.85rem}
.ef-ariane li+li::before{content:"›";margin-right:.4rem;opacity:.5}
.ef-ariane a{color:inherit}
.ef-contenu>*{max-width:var(--ef-etroit);margin-left:auto;margin-right:auto;padding-left:var(--ef-gouttiere);padding-right:var(--ef-gouttiere)}
.ef-contenu>.alignwide{max-width:var(--ef-large)}
.ef-contenu>.alignfull,.ef-contenu>.ef-pleine{max-width:none;padding-left:0;padding-right:0}
.ef-page:not(.ef-page--livraison) .ef-contenu>:last-child{margin-bottom:0}
.ef-page__une img{width:100%;max-height:70vh;object-fit:cover}
.ef-script{font-family:var(--ef-font-script);font-weight:400;line-height:.92;font-size:clamp(3rem,7.6vw,6.6rem);margin:0}
.ef-centre{text-align:center}

/* Hero */
.ef-hero{position:relative;display:grid;place-items:center;min-height:min(88vh,760px);padding:6rem var(--ef-gouttiere);text-align:center;color:var(--ef-beige);overflow:hidden;isolation:isolate}
.ef-hero>*{max-width:1100px;margin-left:auto;margin-right:auto}
.ef-hero .ef-hero__image{position:absolute;inset:0;margin:0;max-width:none;z-index:-2}
.ef-hero .ef-hero__image img{width:100%;height:100%;object-fit:cover}
.ef-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(82,51,64,.55),rgba(82,51,64,.62));z-index:-1}
.ef-hero__texte{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.ef-hero .ef-script{color:var(--ef-beige);text-shadow:0 2px 24px rgba(0,0,0,.25)}
.ef-hero h1{font:400 clamp(1.05rem,1.9vw,1.4rem)/1.4 var(--ef-font-corps);color:rgba(240,227,217,.92);margin:0;letter-spacing:.01em}
.ef-hero .wp-block-buttons{margin-top:1.2rem}

/* Sections */
.ef-section{padding:var(--ef-espace) var(--ef-gouttiere)}
.ef-section>*{max-width:var(--ef-large);margin-left:auto;margin-right:auto}
.ef-section>.ef-etroit,.ef-section .ef-etroit{max-width:var(--ef-etroit)}
.ef-titre-section{text-align:center;margin-bottom:clamp(2.5rem,6vw,5rem)}
.ef-bande--prune{background:var(--ef-prune)}.ef-bande--terracotta{background:var(--ef-terracotta)}.ef-bande--bordeaux{background:var(--ef-bordeaux)}.ef-bande--aubergine{background:var(--ef-aubergine)}
.ef-bande--rose{background:linear-gradient(135deg,#d9a79b 0%,#cf9a97 35%,#c8939c 65%,#d3a296 100%)}
.ef-bande--prune,.ef-bande--terracotta,.ef-bande--bordeaux,.ef-bande--aubergine{color:var(--ef-beige)}
.ef-bande--prune :is(h2,h3,p,a),.ef-bande--terracotta :is(h2,h3,p,a),.ef-bande--bordeaux :is(h2,h3,p,a),.ef-bande--aubergine :is(h2,h3,p,a){color:inherit}

/* Temoignages en quinconce */
.ef-temoignages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4.5rem) clamp(1.5rem,4.5vw,3.6rem);max-width:1000px}
.ef-temoignages .wp-block-image{margin:0}
.ef-temoignages .wp-block-image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ef-temoignages .ef-paysage img{aspect-ratio:3/2}
.ef-temoignage{align-self:center}
.ef-temoignage p{font-size:.98rem}
.ef-temoignage .ef-auteur{font-style:italic;margin:0}
@media (max-width:720px){.ef-temoignages{grid-template-columns:1fr}}

/* Citation manuscrite */
.ef-citation{position:relative;text-align:center;padding:clamp(3rem,8vw,6rem) var(--ef-gouttiere);overflow:hidden}
.ef-citation .ef-script{color:var(--ef-aubergine);font-size:clamp(2.4rem,5.6vw,4.8rem);line-height:1;max-width:900px;margin:0 auto}
.ef-citation::before{content:"";position:absolute;left:50%;top:50%;width:min(1100px,120%);aspect-ratio:2.4;transform:translate(-50%,-50%) rotate(-8deg);border:22px solid rgba(120,88,102,.08);border-radius:50%;z-index:0;pointer-events:none}
.ef-citation>*{position:relative;z-index:1}

/* Deux publics */
.ef-duo{display:grid;grid-template-columns:1fr 1fr}
.ef-duo>.wp-block-group{padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,5rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.6rem}
.ef-duo .wp-block-image{margin:0;width:100%;max-width:520px}
.ef-duo .wp-block-image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ef-duo p{max-width:30rem;font-size:1.08rem;margin:0}
@media (max-width:820px){.ef-duo{grid-template-columns:1fr}}

/* A propos */
.ef-apropos{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1050px}
.ef-portrait{position:relative;margin:0;aspect-ratio:1;padding:12%}
.ef-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.ef-portrait::before{content:"";position:absolute;inset:4%;border:1.5px solid var(--ef-aubergine);border-radius:50%;clip-path:polygon(0 55%,100% 30%,100% 100%,0 100%)}
.ef-portrait figcaption{position:absolute;inset:0;margin:0}
.ef-badge-texte{position:absolute;inset:0;width:100%;height:100%;font:400 14px var(--ef-font-corps);letter-spacing:.2em;text-transform:uppercase;fill:var(--ef-aubergine);overflow:visible}
.ef-apropos h3{margin:1.4rem 0 .5rem}.ef-apropos h3:first-child{margin-top:0}
.ef-apropos p{margin:0}
@media (max-width:820px){.ef-apropos{grid-template-columns:1fr}.ef-portrait{max-width:340px;margin:0 auto}}
.ef-chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;margin-top:clamp(3rem,7vw,5.5rem);max-width:1050px}
.ef-chiffres .ef-chiffre{font:italic 400 clamp(3rem,7vw,5.2rem)/1 var(--ef-font-soustitre);color:var(--ef-lilas);margin:0 0 .8rem}
.ef-chiffres p{margin:0;font-size:1.02rem;line-height:1.35}
@media (max-width:640px){.ef-chiffres{grid-template-columns:repeat(2,1fr)}}

/* Photos superposees + texte */
.ef-mixte{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.ef-mixte--inverse>.ef-superposees{order:2}
.ef-mixte__texte{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.ef-mixte__texte p{max-width:30rem;margin:0;font-size:1.08rem}
.ef-superposees{position:relative;padding:0 18% 22% 0}
.ef-superposees .wp-block-image{margin:0;box-shadow:0 10px 40px rgba(43,31,34,.18)}
.ef-superposees .wp-block-image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ef-superposees .wp-block-image+.wp-block-image{position:absolute;right:0;bottom:0;width:66%}
.ef-superposees .wp-block-image+.wp-block-image img{aspect-ratio:4/3}
.ef-superposees::before,.ef-superposees::after{content:"";position:absolute;width:110px;height:38px;background:rgba(255,255,255,.35);backdrop-filter:blur(1px);z-index:2}
.ef-superposees::before{top:-16px;left:32%;transform:rotate(-2deg)}
.ef-superposees::after{bottom:4%;left:14%;transform:rotate(42deg)}
@media (max-width:820px){.ef-mixte{grid-template-columns:1fr}.ef-mixte--inverse>.ef-superposees{order:0}}

/* Cartes de prestations en quinconce */
.ef-prestations{display:grid;gap:clamp(2.5rem,5vw,4rem);max-width:1000px}
.ef-prestation{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}
.ef-prestation .wp-block-image{margin:0;grid-row:1;grid-column:1}
.ef-prestation .wp-block-image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ef-prestation__carte{grid-row:1;grid-column:2;background:#fff;padding:clamp(1.5rem,3.5vw,3rem);margin:12% 0 0 -12%;position:relative;z-index:1;box-shadow:0 10px 40px rgba(43,31,34,.06)}
.ef-prestation:nth-child(even) .wp-block-image{grid-column:2}
.ef-prestation:nth-child(even){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.ef-prestation:nth-child(even) .ef-prestation__carte{grid-column:1;margin:12% -12% 0 0}
.ef-prestation__carte h3{color:var(--ef-terracotta);margin-top:0}
.ef-prestation__carte p{font-size:.98rem}
.ef-prestation__carte .ef-lien-fleche{margin:0;text-align:right}
.ef-lien-fleche a{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:500}
.ef-lien-fleche a::after{content:"›";display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--ef-bordeaux);color:#fff;font-size:1.3rem;line-height:1;padding-bottom:.15rem}
@media (max-width:720px){.ef-prestation,.ef-prestation:nth-child(even){grid-template-columns:1fr}.ef-prestation .wp-block-image,.ef-prestation:nth-child(even) .wp-block-image{grid-column:1}.ef-prestation__carte,.ef-prestation:nth-child(even) .ef-prestation__carte{grid-column:1;grid-row:2;margin:-3rem 1rem 0}}

/* Appel final */
.ef-appel{position:relative;text-align:center;overflow:hidden}
.ef-appel::before{content:"";position:absolute;left:-10%;top:-5%;width:85%;aspect-ratio:1.9;border:22px solid rgba(120,88,102,.08);border-radius:50%;transform:rotate(-24deg);pointer-events:none}
.ef-appel>*{position:relative}
.ef-appel p{max-width:46rem;margin-left:auto;margin-right:auto;font-size:1.1rem}
.ef-signature{font-family:var(--ef-font-script);font-size:2.6rem;margin:1.5rem 0 1.8rem !important;line-height:1}

/* FAQ */
.ef-faq h2{font-family:var(--ef-font-soustitre);font-size:1.8rem;font-weight:400;font-style:italic}
.ef-faq .wp-block-details{background:var(--ef-beige);color:var(--ef-encre);padding:1rem 1.4rem;margin-bottom:.9rem}
.ef-faq .wp-block-details summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--ef-encre)}
.ef-faq .wp-block-details summary::-webkit-details-marker{display:none}
.ef-faq .wp-block-details summary::after{content:"⌄";display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--ef-bordeaux);color:#fff;transition:transform .2s}
.ef-faq .wp-block-details[open] summary::after{transform:rotate(180deg)}
.ef-faq .wp-block-details p{color:var(--ef-encre);margin:1rem 0 0}

/* Cartes d'archives */
.ef-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.5rem;max-width:var(--ef-large);margin:0 auto;padding:2rem var(--ef-gouttiere) var(--ef-espace)}
.ef-carte a{text-decoration:none;color:inherit}
.ef-carte img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:1rem}
.ef-carte__titre{font-family:var(--ef-font-soustitre);font-weight:400;font-size:1.35rem;color:var(--ef-bordeaux);margin-bottom:.4rem}
.ef-carte p{font-size:.95rem;margin:0}

/* Pied de page */
.ef-pied{background:var(--ef-aubergine);color:var(--ef-beige);padding:clamp(3rem,6vw,5rem) var(--ef-gouttiere) 1.5rem;font-size:1rem}
.ef-pied a{color:inherit}
.ef-pied__grille{max-width:var(--ef-large);margin:0 auto;display:grid;grid-template-columns:1.1fr .8fr 1.3fr;gap:3rem;align-items:center}
.ef-pied__liste{list-style:none;margin:0;padding:0}
.ef-pied__liste a{text-decoration:none;line-height:1.9}
.ef-pied__liste .current-menu-item a{font-weight:600}
.ef-pied__contact{text-align:center}
.ef-pied__coordonnees a{text-decoration:none;font-weight:500}
.ef-pied__zone,.ef-pied__legal{max-width:var(--ef-large);margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(240,227,217,.18);font-size:.85rem;opacity:.85;text-align:center}
.ef-pied__legal{margin-top:1rem;border:0;padding-top:0}
.ef-pied__zone p,.ef-pied__legal p{margin:0 0 .4rem}
.ef-pied__reseaux a{margin:0 .6rem}
@media (max-width:820px){.ef-pied__grille{grid-template-columns:1fr;text-align:center;justify-items:center}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Ajustements portrait et marges */
.ef-portrait .wp-block-image{margin:0;height:auto}
.ef-portrait .wp-block-image img{width:100%;height:auto}
.ef-marge-haut{margin-top:clamp(2.5rem,5vw,4rem)}
.ef-chiffre-bloc{min-width:0}

/* Hubs : colonnes et mosaique */
.ef-deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);max-width:1000px}
.ef-deux-colonnes ul{margin:0;padding-left:1.2rem}
.ef-deux-colonnes li{margin-bottom:.7rem}
@media (max-width:720px){.ef-deux-colonnes{grid-template-columns:1fr}}
.ef-mosaique{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.8rem,2vw,1.8rem);margin-top:clamp(2.5rem,6vw,4.5rem);max-width:1100px;align-items:end}
.ef-mosaique .wp-block-image{margin:0}
.ef-mosaique .wp-block-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.ef-mosaique .wp-block-image:nth-child(1){grid-column:1/3}.ef-mosaique .wp-block-image:nth-child(1) img{aspect-ratio:4/5}
.ef-mosaique .wp-block-image:nth-child(2){grid-column:3/5}
.ef-mosaique .wp-block-image:nth-child(3){grid-column:5/7}.ef-mosaique .wp-block-image:nth-child(3) img{aspect-ratio:4/5}
.ef-mosaique .wp-block-image:nth-child(4){grid-column:1/4}
.ef-mosaique .wp-block-image:nth-child(5){grid-column:4/7}
.ef-faq>*{max-width:1000px}
.ef-citation .wp-block-buttons{margin-top:2.2rem}
.ef-hero h1{max-width:46rem}
.ef-appel .ef-signature,.ef-section .ef-signature{font-family:var(--ef-font-script);font-size:clamp(2.2rem,4vw,3rem);text-align:center;line-height:1}

/* Pages service */
.ef-reponse{padding-bottom:calc(var(--ef-espace)*.8)}
.ef-reponse p{font-size:1.14rem;line-height:1.75}
.ef-reponse p:first-child{font-size:1.24rem}
.ef-etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(1.5rem,3vw,2.5rem);max-width:var(--ef-large)}
.ef-etape{background:#fff;padding:clamp(1.4rem,2.5vw,2.2rem);box-shadow:0 10px 40px rgba(43,31,34,.05)}
.ef-etape__numero{font:400 2.6rem/1 var(--ef-font-soustitre);color:var(--ef-lilas);margin:0 0 .8rem}
.ef-etape h3{color:var(--ef-terracotta);font-size:1.3rem;margin-bottom:.5rem}
.ef-etape p:last-child{font-size:.97rem;margin:0}
.ef-galerie{columns:3;column-gap:clamp(.8rem,1.6vw,1.4rem);max-width:var(--ef-large)}
.ef-galerie .wp-block-image{margin:0 0 clamp(.8rem,1.6vw,1.4rem);break-inside:avoid}
.ef-galerie img{width:100%}
@media (max-width:820px){.ef-galerie{columns:2}}
@media (max-width:480px){.ef-galerie{columns:1}}
.ef-bande--aubergine .ef-titre-section{color:var(--ef-beige)}
.ef-appel .wp-block-buttons{margin-top:2rem}
.ef-bande--terracotta .ef-superposees .wp-block-image{box-shadow:0 10px 40px rgba(43,31,34,.25)}
.ef-ariane-barre{padding:.55rem var(--ef-gouttiere);border-bottom:1px solid rgba(82,51,64,.08)}
.ef-ariane-barre .ef-ariane ol{margin:0;justify-content:flex-start;max-width:1440px;margin-inline:auto}

/* Pages locales */
.ef-liens{list-style:none;padding:0;margin:1rem 0 0}
.ef-liens li{padding:.7rem 0;border-bottom:1px solid rgba(82,51,64,.14)}
.ef-liens a{text-decoration:none;font-weight:500;display:flex;justify-content:space-between;gap:1rem}
.ef-liens a::after{content:"›";opacity:.6}
.ef-bande--aubergine .ef-liens li{border-color:rgba(240,227,217,.2)}
.ef-bande--aubergine .ef-etroit{color:var(--ef-beige)}
.ef-bande--rose .ef-etape{background:rgba(255,255,255,.82)}
.ef-pied__locales{max-width:var(--ef-large);margin:2rem auto 0;text-align:center;font-size:.9rem}
.ef-pied__locales a{display:inline-block;margin:.2rem .7rem;text-decoration:none;opacity:.9}
.ef-pied__locales a:hover{text-decoration:underline}

/* Scotch : passe au-dessus du coin de la seconde photo */
.ef-superposees .wp-block-image{position:relative;z-index:1}
.ef-superposees .wp-block-image+.wp-block-image{position:absolute;z-index:2}
.ef-superposees::before,.ef-superposees::after{z-index:3;pointer-events:none}
.ef-superposees::after{left:calc(34% - 58px);bottom:-4px;width:116px;transform:rotate(42deg)}

/* Signature : toujours centree */
.ef-signature,.ef-appel .ef-signature,.ef-section .ef-signature{display:block;width:100%;max-width:none;margin:1.5rem auto 1.8rem !important;text-align:center !important}

/* Galeries et reportages */
.ef-script--petit{font-size:clamp(2.2rem,4.5vw,3.4rem);color:var(--ef-bordeaux);margin-bottom:.4rem}
.ef-page__chapo{max-width:44rem;margin:0 auto 1.8rem;font-size:1.08rem}
.ef-page__lieu{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ef-prune);margin:0}
.ef-filtres{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0 0 1rem}
.ef-filtre{font:500 .92rem var(--ef-font-corps);background:transparent;color:var(--ef-encre);border:1.5px solid rgba(82,51,64,.35);padding:.5rem 1.2rem;cursor:pointer;transition:.18s}
.ef-filtre:hover,.ef-filtre.est-actif{background:var(--ef-bordeaux);border-color:var(--ef-bordeaux);color:#fff}
.ef-carte__lieu{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ef-prune);margin:0 0 .25rem}
.ef-cartes--galeries .ef-carte img{transition:transform .5s,filter .5s}
.ef-cartes--galeries .ef-carte a{display:block;overflow:hidden}
.ef-cartes--galeries .ef-carte a:hover img{transform:scale(1.03);filter:brightness(1.04)}
.ef-page--reportage .ef-page__une{margin:1.5rem auto 0;max-width:var(--ef-large);padding:0 var(--ef-gouttiere)}
.ef-page--reportage .ef-page__une img{width:100%;max-height:78vh;object-fit:cover}
.ef-contenu--reportage{padding:clamp(2.5rem,5vw,4rem) 0}
.ef-contenu--reportage>p{font-size:1.06rem}
.ef-contenu--reportage>h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-top:2.5rem;text-align:center}
.ef-contenu--reportage>h3{margin-top:2rem;text-align:center}
.ef-contenu>.ef-galerie--reportage{max-width:var(--ef-large);columns:2;margin-top:2.2rem;margin-bottom:2.2rem}
@media (max-width:640px){.ef-contenu>.ef-galerie--reportage{columns:1}}
.ef-cartes--voisins{padding:0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ef-bande--aubergine .ef-carte__titre{color:var(--ef-beige)}
.ef-page--reportage>.ef-section>*{max-width:var(--ef-large);margin-left:auto;margin-right:auto}
.ef-page--reportage>.ef-appel p{max-width:40rem}

/* Reportage : une photo seule est centree, en pleine largeur de lecture */
.ef-contenu>.ef-galerie--reportage:has(>.wp-block-image:only-child){columns:1;max-width:calc(900px + 2*var(--ef-gouttiere))}
.ef-contenu>.ef-galerie--reportage:has(>.wp-block-image:only-child) .wp-block-image{margin-left:auto;margin-right:auto}
.ef-contenu>.ef-galerie--reportage:has(>.wp-block-image:only-child) img{margin:0 auto}
.ef-galerie--reportage{box-sizing:border-box}

/* Avis clients */
.ef-avis{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(1.2rem,2.5vw,2rem);max-width:var(--ef-large);margin-left:auto;margin-right:auto}
.ef-avis__carte{margin:0;background:#fff;padding:clamp(1.4rem,2.5vw,2.2rem);box-shadow:0 10px 40px rgba(43,31,34,.05);display:flex;flex-direction:column;gap:1.2rem;position:relative}
.ef-avis__carte::before{content:"“";font:400 4.5rem/1 var(--ef-font-soustitre);color:var(--ef-lilas);position:absolute;top:.4rem;left:1rem;opacity:.5}
.ef-avis__carte blockquote{margin:1.6rem 0 0;font-size:.97rem;line-height:1.7}
.ef-avis__carte blockquote p{margin:0 0 .8em}
.ef-avis__carte figcaption{margin-top:auto;display:flex;flex-direction:column}
.ef-avis__nom{font-family:var(--ef-font-soustitre);color:var(--ef-bordeaux);font-size:1.2rem}
.ef-avis__detail{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ef-prune)}
.ef-bande--rose>.ef-section{padding-top:var(--ef-espace);padding-bottom:var(--ef-espace)}

/* Contact */
.ef-contact__grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,5rem);align-items:start}
@media (max-width:860px){.ef-contact__grille{grid-template-columns:1fr}}
.ef-contact__texte h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}
.ef-coordonnees ul{list-style:none;margin:2rem 0 0;padding:0}
.ef-coordonnees li{padding:.9rem 0;border-top:1px solid rgba(82,51,64,.16);display:grid;grid-template-columns:7.5rem 1fr;gap:1rem}
.ef-coordonnees li span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ef-prune);padding-top:.25rem}
.ef-coordonnees a{font-weight:500;text-decoration:none}
.ef-coordonnees__reseaux a{margin-right:1.2rem}
.ef-contact__formulaire{background:#fff;padding:clamp(1.5rem,3.5vw,3rem);box-shadow:0 10px 40px rgba(43,31,34,.06)}
.wpcf7 form{display:grid;gap:1.2rem}
.wpcf7 form p{margin:0}
.ef-form__ligne{display:grid;grid-template-columns:1fr;gap:1.2rem}
.wpcf7 label{display:block;font-size:.92rem;font-weight:500}
.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 select,.wpcf7 textarea{display:block;width:100%;margin-top:.4rem;padding:.8rem .9rem;font:400 1rem var(--ef-font-corps);color:var(--ef-encre);background:var(--ef-beige);border:1.5px solid transparent;border-radius:0}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--ef-bordeaux);background:#fff}
.wpcf7 textarea{resize:vertical;min-height:9rem}
.ef-form__rgpd{font-size:.85rem;line-height:1.5}
.ef-form__rgpd .wpcf7-list-item{margin:0}
.wpcf7 input[type=submit]{background:var(--ef-bordeaux);color:#fff;border:0;padding:1em 2.4em;font:500 1.02rem var(--ef-font-corps);cursor:pointer;justify-self:start;transition:background .2s}
.wpcf7 input[type=submit]:hover{background:var(--ef-aubergine)}
.wpcf7-not-valid-tip{display:block;color:#a3261e;font-size:.85rem;margin-top:.3rem}
.wpcf7-response-output{margin:0;padding:1rem;border:1.5px solid var(--ef-prune);font-size:.95rem}
.wpcf7 form.sent .wpcf7-response-output{border-color:#3d7a4a;background:#eef6ef}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 .screen-reader-response{display:none}
.wpcf7-spinner{display:none}
.ef-bande--aubergine .ef-deux-colonnes h3{color:var(--ef-beige)}
.ef-bande--aubergine .ef-deux-colonnes{color:var(--ef-beige)}
.wpcf7 input[type=submit]:disabled{opacity:.45;cursor:not-allowed}

/* Pages de livraison client */
.ef-video{position:relative;aspect-ratio:16/9;max-width:var(--ef-large);margin:2.5rem auto;background:#000}
.ef-contenu>.ef-video{max-width:calc(var(--ef-large) - 2*var(--ef-gouttiere));padding:0}
.ef-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ef-livraison__boutons{margin-top:2rem;margin-bottom:2.5rem}
.ef-page--livraison .ef-contenu{padding-bottom:var(--ef-espace)}
.ef-page--livraison .ef-contenu>h2{text-align:center;font-size:clamp(1.9rem,3.6vw,2.8rem);margin-top:2rem}
.ef-page--livraison .ef-contenu>h3{margin-top:2.2rem}

/* Pages de texte courant (legales) */
.ef-page:not(.ef-page--livraison):not(.ef-page--reportage) .ef-contenu>h2:not(.ef-titre-section){font-size:clamp(1.6rem,2.8vw,2.1rem);margin-top:2.6rem}
.ef-page .ef-contenu>ul{padding-left:calc(var(--ef-gouttiere) + 1.2rem)}
.ef-a-completer{background:#ffe9a8;padding:.1em .35em;font-size:.92em}
.page-mentions-legales .ef-contenu,.page-politique-de-confidentialite .ef-contenu{padding-bottom:var(--ef-espace)}

/* Bandeau note Google (HTML statique, sans script tiers) */
.ef-note-google{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.4rem;max-width:var(--ef-large);margin:0 auto clamp(2rem,4vw,3rem);padding:1.1rem 1.6rem;background:#fff;box-shadow:0 10px 40px rgba(43,31,34,.05)}
.ef-note-google p{margin:0}
.ef-note-google__etoiles{position:relative;display:inline-block;line-height:0;white-space:nowrap}
.ef-note-google__fond svg{fill:#e3d5cb}
.ef-note-google__plein{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap}
.ef-note-google__plein svg{fill:#e7a83a}
.ef-note-google__texte{font-size:1.02rem}
.ef-note-google__marque{font-weight:600;letter-spacing:.01em}
.ef-note-google__liens{display:flex;gap:1.2rem;font-size:.92rem}
.ef-note-google__liens a{font-weight:500}
.ef-note-google--vide{background:#ffe9a8;font-size:.9rem}
.ef-bande--aubergine .ef-note-google,.ef-bande--prune .ef-note-google{color:var(--ef-encre)}
.ef-bande--aubergine .ef-note-google a,.ef-bande--prune .ef-note-google a{color:var(--ef-bordeaux)}
.ef-bandeau-google{padding:0 var(--ef-gouttiere)}
.ef-bandeau-google .ef-note-google{margin-bottom:0}

/* Bandeau mini-seances */
.ef-bandeau{background:var(--ef-bandeau-fond,#8f4844);color:var(--ef-bandeau-texte,#fff);font:500 .95rem/1.3 var(--ef-font-corps);overflow:hidden;position:relative;z-index:49}
.ef-bandeau__piste{display:flex;width:max-content;animation:ef-defile 28s linear infinite}
.ef-bandeau__groupe{display:inline-flex;align-items:center;gap:1.2rem;padding:.6rem 3rem .6rem 0;white-space:nowrap}
.ef-bandeau__lien{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.ef-bandeau:hover .ef-bandeau__piste{animation-play-state:paused}
@keyframes ef-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ef-bandeau__piste{animation:none;width:auto;justify-content:center}.ef-bandeau__groupe[aria-hidden]{display:none}}
@media (max-width:960px){
  body{padding-top:var(--ef-bandeau-h,0px)}
  .ef-bandeau{position:fixed;top:0;left:0;right:0;z-index:60}
  .ef-bandeau__piste{animation:none;width:auto;justify-content:center}
  .ef-bandeau__groupe{white-space:normal;text-align:center;padding:.55rem var(--ef-gouttiere);gap:.6rem;flex-wrap:wrap;justify-content:center;font-size:.88rem}
  .ef-bandeau__groupe[aria-hidden]{display:none}
  .ef-entete{top:var(--ef-bandeau-h,0px)}
}

/* Pages de rendu (type de contenu « rendu ») */
.ef-rendu__entete{padding-bottom:clamp(1.5rem,4vw,2.5rem)}
.ef-rendu__prenoms{font:400 clamp(1.5rem,3vw,2.1rem)/1.2 var(--ef-font-soustitre);color:var(--ef-prune);margin:.2rem 0 .3rem}
.ef-rendu__date{font-style:italic;color:var(--ef-prune);margin:0}
.ef-rendu__couverture,.ef-rendu__photo{max-width:var(--ef-large);margin:0 auto clamp(2rem,5vw,3.5rem);padding:0 var(--ef-gouttiere)}
.ef-rendu__couverture img,.ef-rendu__photo img{width:100%;max-height:82vh;object-fit:cover}
.ef-rendu__photo img{max-height:none}
.ef-rendu .ef-rendu__mot{padding-bottom:0}
.ef-rendu__mot>*,.ef-rendu__ps,.ef-rendu__galerie,.ef-rendu__infos,.ef-rendu__elodie,.ef-rendu__offre{max-width:var(--ef-etroit);margin-left:auto;margin-right:auto;padding-left:var(--ef-gouttiere);padding-right:var(--ef-gouttiere)}
.ef-rendu__ps{margin-top:clamp(2rem,5vw,3rem);margin-bottom:clamp(2rem,5vw,3rem);padding-top:1.6rem;padding-bottom:1.6rem;background:#fff;box-shadow:0 10px 40px rgba(43,31,34,.05)}
.ef-rendu__ps-titre{font:400 1.3rem var(--ef-font-soustitre);color:var(--ef-bordeaux);margin-bottom:.5rem}
.ef-rendu__merci{margin:0;font-family:var(--ef-font-soustitre);color:var(--ef-bordeaux)}
.ef-rendu__galerie{text-align:center;margin-top:clamp(2.5rem,6vw,4rem);margin-bottom:clamp(2.5rem,6vw,4rem)}
.ef-rendu__mdp{display:inline-block;margin-top:.4rem;font-size:1.25rem;letter-spacing:.14em}
.ef-rendu__infos{margin-bottom:clamp(3rem,7vw,5rem)}
.ef-rendu__infos h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:1em}
.ef-rendu__supports{text-align:center;margin-top:2.2rem}
.ef-rendu__apres{text-align:center;font-style:italic}
.ef-rendu__elodie{margin-bottom:clamp(3rem,7vw,5rem)}
.ef-rendu__reseaux{display:flex;gap:1.5rem;font-weight:500}
.ef-rendu__presentation{margin-top:2.2rem;padding-left:1.4rem;border-left:2px solid var(--ef-terracotta)}
.ef-rendu__offre{text-align:center;max-width:var(--ef-large);padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:var(--ef-espace);border-top:1px solid rgba(82,51,64,.12)}
.ef-rendu__offre h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
.ef-rendu__offre figure{margin:1.5rem auto;max-width:760px}
.ef-rendu__offre p{max-width:var(--ef-etroit);margin-left:auto;margin-right:auto}

/* Pages tarifs */
.ef-tarifs{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:clamp(1.2rem,2.5vw,2rem);max-width:var(--ef-large);margin:clamp(1.5rem,4vw,2.5rem) auto;padding:0 var(--ef-gouttiere);align-items:stretch}
.ef-tarif{background:#fff;padding:clamp(1.6rem,3vw,2.2rem);box-shadow:0 10px 40px rgba(43,31,34,.06);display:flex;flex-direction:column}
.ef-tarif h3{margin-bottom:.3rem}
.ef-tarif__prix{font:200 clamp(2rem,3.6vw,2.7rem)/1.1 var(--ef-font-titre);color:var(--ef-aubergine);margin:0 0 .3rem}
.ef-tarif__detail{font-style:italic;color:var(--ef-prune);font-size:.95rem;margin-bottom:.8rem}
.ef-tarif ul{margin:.6rem 0 0;padding-left:1.1rem;font-size:.97rem}
.ef-tarif li{margin-bottom:.45rem}
.ef-bande--rose .ef-tarif{background:rgba(255,255,255,.88)}

/* Colonnes reprises des anciennes pages (supports, options) */
.ef-colonnes{display:grid;gap:clamp(1.2rem,3vw,2.2rem);max-width:var(--ef-large);margin:clamp(1.5rem,4vw,2.5rem) auto;padding:0 var(--ef-gouttiere);align-items:stretch}
.ef-colonnes--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:900px}
.ef-colonnes--3,.ef-colonnes--4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.ef-colonne{background:#fff;padding:clamp(1.4rem,3vw,2rem);text-align:center;box-shadow:0 10px 40px rgba(43,31,34,.05)}
.ef-colonne>*{max-width:none;padding-left:0;padding-right:0}
.ef-colonne h3{margin-top:0}
.ef-colonne p:last-child{margin-bottom:0}

/* Formulaires repris de l'ancien site (questionnaires, commande de supports) */
.ef-page--livraison .wpcf7{max-width:var(--ef-etroit);margin:2rem auto;padding:0 var(--ef-gouttiere)}
.ef-page--livraison .wpcf7 label{display:block;margin-bottom:1.4rem;font-weight:500}
.ef-page--livraison .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.ef-page--livraison .wpcf7 select,.ef-page--livraison .wpcf7 textarea{background:#fff;border-color:rgba(82,51,64,.2);font-weight:400}
.ef-page--livraison .wpcf7 .wpcf7-list-item{display:block;margin:.3rem 0;font-weight:400}

/* Notes « à compléter » : visibles seulement pour les personnes connectées */
.ef-a-completer{display:none}
body.logged-in .ef-a-completer{display:inline;background:#ffe9a8;padding:.1em .35em;font-size:.92em}

/* Gouttiere des sections pleine largeur (texte colle aux bords sur mobile) */
.ef-contenu>.ef-section.ef-pleine,.ef-contenu>.ef-citation.ef-pleine{padding-left:var(--ef-gouttiere);padding-right:var(--ef-gouttiere)}

/* Formulaires : champs techniques de Contact Form 7 invisibles, pas de cadre de fieldset */
.wpcf7 fieldset{border:0;padding:0;margin:0;min-width:0}
.wpcf7 .hidden-fields-container{display:none}
