/* Accueil construit avec les éléments natifs d'Elementor.
   Les réglages faits dans Elementor (marges, couleurs, tailles) restent prioritaires. */

/* Conteneurs : sans marges ajoutées, la mise en page vient des classes du thème */
.e-con.rc-c{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:auto;--container-widget-width:auto;--flex-wrap:nowrap;--align-items:stretch}
.e-con.rc-c.rc-row{--flex-direction:row}
.e-con.wrap{--width:calc(100% - 48px);max-width:1280px;margin-left:auto;margin-right:auto}
.e-con.rc-s{--padding-top:5.5rem;padding-top:var(--padding-top)}
@media(max-width:760px){.e-con.wrap{--width:calc(100% - 32px)}.e-con.rc-s{--padding-top:3.6rem}}

/* Titres et textes : gardent le style du thème */
.rc-c .elementor-heading-title{color:inherit;font-family:inherit}
.rc-c p.elementor-heading-title{font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit}
.rc-c h1.elementor-heading-title{line-height:1.02}
.rc-c h2.elementor-heading-title{line-height:1.06}
.rc-c h3.elementor-heading-title{line-height:1.05}
.rc-c .elementor-heading-title a{color:inherit}
.rc-c .elementor-widget-text-editor p{margin:0}
.rc-c .elementor-widget-text-editor p+p{margin-top:.8em}
.rc-c .elementor-widget-text-editor a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.rc-c .elementor-widget-text-editor{color:inherit}

/* Petite étiquette avec pastille rose */
.e-con>.elementor-widget.eyebrow{display:flex;align-items:center;gap:.45rem}
.e-con>.elementor-widget.eyebrow::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.e-con>.elementor-widget.eyebrow-pill::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.e-con.tags{display:flex;flex-wrap:wrap;--flex-wrap:wrap;gap:.4rem}
.e-con>.elementor-widget.tag{display:inline-flex;align-items:center;gap:.4rem;background:var(--soft);border-radius:99px;padding:.45rem .85rem;font-size:.75rem;font-weight:500}

/* Boutons Elementor habillés comme le site */
.elementor-widget-button.btn-p .elementor-button,.elementor-widget-button.btn-o .elementor-button,.elementor-widget-button.btn-line .elementor-button,.elementor-widget-button.fm-go .elementor-button,.elementor-widget-button.btn-w .elementor-button{background:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;line-height:1.2;fill:currentColor;width:auto}
.elementor-widget-button.btn-p,.elementor-widget-button.btn-o,.elementor-widget-button.fm-go{background:none;border:0;padding:0;display:block}
.elementor-widget-button.btn-p .elementor-button{display:inline-flex;align-items:center;gap:1rem;background:#fff;color:var(--ink);border-radius:99px;padding:.45rem .45rem .45rem 1.4rem;font-size:.9rem;font-weight:600}
.elementor-widget-button.btn-p .elementor-button-content-wrapper::after{content:"↗";display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--acc);color:#fff;font-weight:500;transition:transform .25s}
.elementor-widget-button.btn-p .elementor-button:hover .elementor-button-content-wrapper::after{transform:rotate(45deg)}
.elementor-widget-button.btn-p .elementor-button-content-wrapper,.elementor-widget-button.fm-go .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:1rem}
.elementor-widget-button.btn-o .elementor-button{display:inline-flex;align-items:center;border:1.5px solid #ffffff66;border-radius:99px;padding:.85rem 1.4rem;font-size:.9rem;font-weight:600;color:#fff;transition:background .2s,color .2s}
.elementor-widget-button.btn-o .elementor-button:hover{background:#fff;color:var(--ink)}
.elementor-widget-button.fm-go .elementor-button{display:inline-flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--ink)}
.elementor-widget-button.fm-go .elementor-button-content-wrapper{gap:.7rem}
.elementor-widget-button.fm-go .elementor-button-content-wrapper::after{content:"↗";display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--acc);color:#fff;font-weight:500;transition:transform .25s}
.elementor-widget-button.fm-go .elementor-button:hover .elementor-button-content-wrapper::after{transform:rotate(45deg)}
.elementor-widget-button.fm-go{margin-top:0;padding-top:0;align-self:flex-start}

/* Photos avec légende par-dessus */
.e-con.ph{position:relative;border-radius:var(--r);overflow:hidden;background:#ddd;--position:relative}
.e-con.ph>.elementor-widget-image{position:absolute;inset:0;width:100%!important;height:100%;text-align:left}
.e-con.ph>.elementor-widget-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.e-con.ph:hover>.elementor-widget-image img{transform:scale(1.04)}
.e-con.cap{position:absolute;z-index:2;left:1.2rem;bottom:1.1rem;right:1.2rem;color:#fff;display:flex;--flex-direction:column;gap:.15rem;font-size:.8rem}
.e-con>.elementor-widget.cap-t{font-size:1.5rem;font-weight:500;letter-spacing:-.04em;line-height:1.05}
.e-con>.elementor-widget.cap-t.xl{font-size:clamp(1.6rem,2.6vw,2.4rem)}
.e-con>.elementor-widget.cap-s{font-size:.72rem;opacity:.85}
.e-con>.elementor-widget.cap-k{font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.e-con>.elementor-widget.cap-k.top{position:absolute;z-index:2;top:1.2rem;left:1.2rem;width:auto}
.e-con>.elementor-widget.rb.wt{position:absolute;top:1rem;right:1rem;z-index:3;width:3rem;height:3rem;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:1.05rem;transition:transform .2s}
.e-con>.elementor-widget.rb.wt a{display:grid;place-items:center;width:3rem;height:3rem}
.e-con>.elementor-widget.rb.wt:hover{transform:translateY(-2px)}
.e-con>.elementor-widget.price{position:absolute;z-index:3;right:1.2rem;top:1.2rem;width:auto;background:#fff;color:var(--ink);border-radius:99px;padding:.55rem .95rem;font-weight:700;font-size:1.05rem}
.e-con>.elementor-widget.price small{font-size:.65rem;color:var(--mut);font-weight:500}

/* Bannière */
.e-con.hero{--width:calc(100% - 32px);max-width:1280px;margin-left:auto;margin-right:auto;--flex-direction:column;display:flex}
@media(max-width:760px){.e-con.hero{--width:calc(100% - 16px)}}
.e-con.subnav{display:flex;justify-content:space-between;align-items:center}
.e-con>.elementor-widget.subnav-a a{border-bottom:1px solid #fff;color:#fff}
.e-con.hero-body{display:flex;--flex-direction:column;align-items:flex-start;--align-items:flex-start}
.e-con.hero-body h1.elementor-heading-title{font-size:clamp(2.4rem,3.9vw,3.9rem);font-weight:600;letter-spacing:-.05em}
.e-con>.elementor-widget.hb-p{max-width:30rem;font-size:clamp(.9rem,1.1vw,1.02rem);color:#ffffffd0;line-height:1.55}
.e-con.hb-cta{display:flex;flex-wrap:wrap;--flex-wrap:wrap;gap:.6rem;margin-top:.3rem}
.e-con.hb-facts{display:flex;width:100%;max-width:34rem}
.e-con.hb-facts .elementor-widget{flex:none;padding:0;border:0}
.e-con.hb-f{flex:1;padding-right:1.2rem;--flex-grow:1}
.e-con.hb-f+.hb-f{padding-left:1.2rem;border-left:1px solid #ffffff2e}
.e-con>.elementor-widget.hb-n{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:600;letter-spacing:-.05em;line-height:1}
.e-con>.elementor-widget.hb-t{margin-top:.35rem;font-size:.78rem;color:#ffffffe6}
.e-con.hero>.elementor-widget-image.cut{position:absolute;z-index:3;right:-1vw;bottom:-14%;height:calc(114% - 150px);width:auto!important;text-align:right;animation:up 1.4s .15s cubic-bezier(.2,.8,.2,1) both}
.e-con.hero>.elementor-widget-image.cut img{height:100%;width:auto;max-width:none;object-fit:contain;-webkit-mask-image:linear-gradient(to left,transparent 0,#000 6%);mask-image:linear-gradient(to left,transparent 0,#000 6%)}
@media(max-width:1000px){.e-con.hero>.elementor-widget-image.cut{right:-6%;bottom:-12%;height:calc(112% - 150px)}}
@media(max-width:760px){
  .e-con.hero>.elementor-widget-image.cut{position:relative;right:auto;bottom:auto;align-self:center;height:min(80vh,640px);margin-top:1.6rem;margin-bottom:-22%;animation:none}
  .e-con.hero-body{width:auto;margin:0;padding:1.6rem 1.4rem 0}
  .e-con.hero-body h1.elementor-heading-title{font-size:2.4rem}
}
@media(max-width:560px){
  .e-con.hero-body h1.elementor-heading-title{font-size:2.15rem}
  .e-con.hb-cta{flex-wrap:nowrap;--flex-wrap:nowrap;gap:.45rem;width:100%}
  .elementor-widget-button.btn-p .elementor-button,.elementor-widget-button.btn-o .elementor-button{font-size:.8rem;white-space:nowrap}
  .elementor-widget-button.btn-p .elementor-button{gap:.55rem;padding:.3rem .3rem .3rem 1rem}
  .elementor-widget-button.btn-p .elementor-button-content-wrapper{gap:.55rem}
  .elementor-widget-button.btn-p .elementor-button-content-wrapper::after{width:2.1rem;height:2.1rem}
  .elementor-widget-button.btn-o .elementor-button{padding:.72rem .95rem}
  .e-con.hero>.elementor-widget-image.cut{height:min(72vh,540px);margin-bottom:-24%}
}

/* En-têtes de section */
.e-con.sec-head{display:flex;justify-content:space-between;align-items:flex-end;--align-items:flex-end;gap:2rem}
.e-con.sh-t{display:flex;--flex-direction:column}
.e-con.sh-t h2.elementor-heading-title{margin-top:.8rem;max-width:40rem}
.e-con>.elementor-widget.sh-d{max-width:26rem}
@media(max-width:860px){.e-con.rc-c.sec-head{--flex-direction:column;align-items:flex-start;--align-items:flex-start;gap:.8rem}}

/* À propos */
.e-con.about{display:grid;grid-template-columns:1.15fr .85fr;gap:2.4rem}
.e-con.ab-text{display:flex;--flex-direction:column;gap:1.1rem}
.e-con.ab-text h2.elementor-heading-title{margin-top:.2rem;max-width:36rem}
.e-con>.elementor-widget.ab-lead{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6;color:#2b2b30;max-width:40rem}
.e-con>.elementor-widget.ab-txt{max-width:38rem;font-size:.88rem}
.e-con.ab-row{display:grid;grid-template-columns:15rem 1fr;gap:1.2rem;margin-top:auto;padding-top:.6rem}
.e-con.ab-small{aspect-ratio:4/3;border-radius:20px}
.e-con.ab-small img{object-position:center 70%}
.e-con.ab-small .cap-t{font-size:1.05rem}
.e-con.ab-sign{display:flex;--flex-direction:column;gap:.7rem;justify-content:center;padding:1.2rem 1.3rem;border-radius:20px;--padding-top:1.2rem;--padding-bottom:1.2rem;--padding-left:1.3rem;--padding-right:1.3rem}
.e-con>.elementor-widget.ab-q{font-size:1.15rem;font-weight:600;letter-spacing:-.03em;line-height:1.3}
.e-con.ab-by{display:flex;--flex-direction:column;font-size:.8rem;color:var(--mut)}
.e-con>.elementor-widget.ab-by-n{color:var(--ink);font-size:.9rem;font-weight:700}
.e-con.ab-ph{min-height:520px}
.e-con.ab-ph img{object-position:center 18%}
@media(max-width:900px){.e-con.about{grid-template-columns:1fr;gap:1.4rem}.e-con.ab-ph{min-height:0;aspect-ratio:4/5}}
@media(max-width:560px){.e-con.ab-row{grid-template-columns:1fr}.e-con.ab-small{aspect-ratio:16/10}}

/* Formations, salon */
.e-con.forms,.e-con.real{padding:0}
.e-con.forms>.sec-head,.e-con.salon>.sec-head,.e-con.real>.sec-head,.e-con.news>.sec-head{margin-bottom:1.6rem}
.e-con.sl-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:12px}
.e-con.sl-ph{min-height:520px}
.e-con.sl-ph img{object-position:center 25%}
@media(max-width:1000px){.e-con.sl-grid{grid-template-columns:1fr}.e-con.sl-ph{min-height:0;aspect-ratio:16/9}}
@media(max-width:620px){.e-con.sl-ph{aspect-ratio:4/3}}

/* Avantages */
.e-con.adv{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem}
.e-con.adv-main{display:flex;--flex-direction:column;background:transparent}
.e-con.adv-main h2.elementor-heading-title{margin:.8rem 0 1.6rem;max-width:34rem}
.e-con.av-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.e-con.av-i{display:flex;--flex-direction:column;gap:.9rem;border-radius:20px;--padding-top:1.2rem;--padding-bottom:1.2rem;--padding-left:1.2rem;--padding-right:1.2rem;background:linear-gradient(#ffffffd6,#ffffffd6),#fdeee9 url(../img/footer-bg.webp) center 50%/cover no-repeat}
.e-con.av-i h3.elementor-heading-title{font-size:1.1rem}
.e-con>.elementor-widget.av-p{font-size:.8rem;color:var(--mut);margin-top:.3rem;line-height:1.45}
.e-con>.elementor-widget.av-ic .elementor-icon-wrapper{display:block;line-height:0}
.e-con>.elementor-widget.av-ic .elementor-icon{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--acc);color:#fff;fill:#fff;font-size:1.15rem}
.e-con>.elementor-widget.av-ic .elementor-icon svg{width:1.15rem;height:1.15rem;fill:#fff}
.e-con.adv-ph{min-height:420px}
.e-con.adv-ph img{object-position:center 30%}
@media(max-width:1100px){.e-con.av-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.e-con.adv{grid-template-columns:1fr;gap:1.2rem}.e-con.adv-ph{min-height:320px}}
@media(max-width:760px){.e-con.av-grid{grid-template-columns:1fr;gap:8px}.e-con.av-i{--flex-direction:row;align-items:flex-start;--align-items:flex-start;--padding-top:1rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem}}

/* Programme */
.e-con.p-head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;--align-items:flex-start;margin-bottom:1.6rem}
.e-con.p-ht{display:flex;--flex-direction:column}
.e-con.p-ht h2.elementor-heading-title{margin-top:1rem}
.e-con.p-side{max-width:18rem;display:flex;--flex-direction:column;gap:.7rem;align-items:flex-start;--align-items:flex-start;padding-top:.3rem}
.e-con.p-grid{display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:12px}
.e-con.p-quote{display:flex;--flex-direction:column;justify-content:space-between;min-height:280px;border-radius:var(--r);--padding-top:1.8rem;--padding-bottom:1.8rem;--padding-left:1.8rem;--padding-right:1.8rem;background:var(--ink);color:#fff}
.e-con>.elementor-widget.pq-t{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:500;letter-spacing:-.04em;line-height:1.18}
.e-con.pq-foot{display:flex;justify-content:space-between;align-items:center;--align-items:center;margin-top:1.5rem}
.e-con>.elementor-widget.live{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600}
.e-con>.elementor-widget.live::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--acc);outline:3px solid #e5337a44}
.e-con>.elementor-widget.chip.line{display:inline-flex;border-radius:99px;padding:.4rem .8rem;font-size:.72rem;font-weight:600;background:transparent;color:#fff;border:1px solid #ffffff55}
.p-grid>.elementor-widget-rc_photo_prog .p-ph{height:100%}
@media(max-width:760px){
  .e-con.rc-c.p-head{--flex-direction:column}
  .e-con.p-grid{grid-template-columns:1fr}
  .e-con.p-quote{min-height:0;gap:1.6rem;--padding-top:1.4rem;--padding-bottom:1.4rem;--padding-left:1.4rem;--padding-right:1.4rem}
}

/* Diplôme */
.e-con.rc-c.pr-head{display:flex;--flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;--align-items:flex-start;gap:2rem;--padding-top:1.6rem;--padding-bottom:.6rem;--padding-left:1rem;--padding-right:1rem}
.e-con>.elementor-widget.eyebrow-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--soft);border-radius:99px;padding:.45rem .85rem;font-size:.75rem;font-weight:500}
.e-con.pr-grid{display:grid;grid-template-columns:1fr 1.35fr .75fr;gap:12px;margin-top:12px}
.pr-grid>.elementor-widget-rc_points .pr-card{height:100%}
.e-con.pr-ph,.e-con.pr-side{min-height:340px}
.e-con.pr-ph img{object-position:center 30%}
.e-con.pr-side img{object-position:center 15%}
@media(max-width:760px){
  .e-con.rc-c.pr-head{--flex-direction:column-reverse;align-items:flex-start}
  .e-con.pr-grid{grid-template-columns:1fr}
  .e-con.pr-ph,.e-con.pr-side{min-height:300px}
}

/* Actualités, contact */
.e-con.nw-side{display:flex;--flex-direction:column;align-items:flex-start;--align-items:flex-start;gap:.4rem;max-width:26rem}
.e-con.loc{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem}
.e-con.loc-info{display:flex;--flex-direction:column;gap:1.1rem}
.e-con.loc-info h2.elementor-heading-title{max-width:28rem}
.loc-coord{display:flex;flex-direction:column;gap:1.1rem}
.loc .loc-coord address{font-style:normal;display:flex;flex-direction:column;gap:.25rem;font-size:.95rem;line-height:1.5;color:#2b2b30}
.loc>.elementor-widget-rc_carte .loc-map{height:100%}
@media(max-width:900px){.e-con.loc{grid-template-columns:1fr;gap:1.4rem}.loc>.elementor-widget-rc_carte .loc-map{min-height:340px!important}}

/* Apparition au défilement des sections Elementor */
.elementor-editor-active .e-con.rv{opacity:1;transform:none}

/* Largeurs de lecture (Elementor impose 100 % par défaut) */
.elementor.elementor .e-con>.elementor-widget.hb-p{max-width:30rem}
.elementor.elementor .e-con>.elementor-widget.sh-d{max-width:26rem}
.elementor.elementor .e-con>.elementor-widget.ab-lead{max-width:40rem}
.elementor.elementor .e-con>.elementor-widget.ab-txt{max-width:38rem}
.elementor.elementor .e-con>.elementor-widget.cap-k.top,.elementor.elementor .e-con>.elementor-widget.price,.elementor.elementor .e-con>.elementor-widget.rb.wt{max-width:none}
@media(max-width:560px){.e-con.subnav .subnav-t{display:none}.e-con.subnav{justify-content:flex-end}}
