.elementor-174 .elementor-element.elementor-element-63f22df{--display:flex;}.elementor-174 .elementor-element.elementor-element-35410b9{width:100%;max-width:100%;}/* Start custom CSS *//* ==========================================================
   AuxR_Roi d’la Conduite — variante "dynamique-luxe"
   CSS NETTOYÉ (unique, sans doublons)
   ========================================================== */

/* =========== Variables & bases =========== */
:root{
  --white:#fff; --black:#000; --orange:#FF6600; --orange-700:#FF7A1A;
  --gray-25:#FCFCFC; --gray-50:#F7F7F7; --gray-200:#EDEDED; --gray-300:#E6E6E6;
  --gray-600:#666; --gray-800:#222;
  --radius:16px; --shadow:0 10px 30px rgba(0,0,0,.10);
  --container:1160px; --hdrH:66px;

  /* tailles logos */
  --logo-size: clamp(64px, 10vw, 128px);
  --footer-logo-size: clamp(64px, 9vw, 128px);
}
@media (max-width:760px){ :root{ --hdrH:60px } }

*{ box-sizing:border-box }
html,body{ height:100% }
body{ margin:0; font-family:'Open Sans',system-ui,sans-serif; color:var(--gray-800); background:#fff; line-height:1.65 }
img{ max-width:100%; height:auto; display:block }
a{ color:inherit; text-decoration:none }
.container{ max-width:var(--container); margin-inline:auto; padding-inline:20px }
.muted{ color:var(--gray-600) }
.price{ font-family:'Roboto Mono',ui-monospace,monospace; font-weight:700 }
.visually-hidden{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }

/* =========== Header =========== */
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(180%) blur(8px);
  background:rgba(255,255,255,.85);
  border-bottom:1px solid var(--gray-200);
}
header>.container.nav{ display:flex; align-items:center; gap:12px; padding:0; height:var(--hdrH); min-height:var(--hdrH) }
header>.container.nav>*{ height:100%; display:flex; align-items:center }

.brand{ display:flex; gap:10px; align-items:center }
.brand__logo{
  width:var(--logo-size); height:var(--logo-size); flex:0 0 var(--logo-size);
  display:grid; place-items:center; border-radius:12px; overflow:hidden;
  background:transparent; box-shadow:none;
}
.brand__logo img{ width:100%; height:100%; object-fit:contain; display:block; filter:drop-shadow(0 1px 0 rgba(0,0,0,.06)) }
.brand__txt{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; letter-spacing:.2px; font-size:clamp(1.05rem,1.2vw,1.3rem); line-height:1.15 }

header nav{ margin-left:12px }
nav ul{ display:none; list-style:none; gap:20px; margin:0; padding:0 }
nav a{ position:relative; line-height:1.1 }
nav a:after{ content:""; position:absolute; left:0; right:100%; bottom:-4px; height:2px; background:linear-gradient(90deg,var(--orange),var(--orange-700)); transition:right .25s ease }
nav a:hover:after, nav a:focus:after{ right:0 }
.menu{ display:inline-flex; align-items:center; border:1px solid var(--gray-200); padding:8px 12px; border-radius:10px; background:#fff }
.nav .actions{ margin-left:auto; display:flex; gap:10px; align-items:center }
.nav .actions .cta,.nav .actions .btn{ padding:9px 14px; line-height:1.1; border-radius:14px; font-size:1rem }

@media (min-width:1024px){ nav ul{ display:flex } .menu{ display:none } }
@media (max-width:760px){
  header{ background:rgba(255,255,255,.97) }
  .nav{ gap:10px }
  #menuBtn{ position:absolute; right:20px; top:6px; padding:6px 8px }
  .nav .actions{ gap:6px }
  .nav .actions .cta,.nav .actions .btn{ min-height:38px; padding:8px 10px }
}

/* =========== Menu mobile =========== */
#mobileNav{
  position:fixed; inset:0 0 auto auto; top:56px; right:12px; z-index:70;
  width:min(320px,92vw); max-height:70vh; overflow:auto;
  border:1px solid var(--gray-200); border-radius:14px; background:#fff; box-shadow:0 18px 34px rgba(0,0,0,.18);
  transform:translateY(-10px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
}
#mobileNav.open{ opacity:1; transform:none; pointer-events:auto }
#mobileNav ul{ list-style:none; margin:0; padding:10px }
#mobileNav li{ border-bottom:1px dashed var(--gray-200) }
#mobileNav li:last-child{ border-bottom:none }
#mobileNav a{ display:block; padding:12px 10px; font-weight:800 }

/* =========== Promo bar =========== */
.promo-bar{
  position:sticky; top:var(--hdrH); z-index:49; color:#000;
  font-family:'Montserrat',system-ui,sans-serif; font-weight:800;
  background:#FFD400; box-shadow:0 0 0 100vmax #FFD400 inset, 0 10px 24px rgba(0,0,0,.10);
  clip-path:inset(0 -100vmax);
}
.promo-bar__marquee{ overflow:hidden }
.promo-bar__lane{ display:inline-flex; gap:48px; align-items:center; white-space:nowrap; padding:10px 0; animation:promo-marquee 22s linear infinite }
.promo-bar__msg{ display:inline-block; margin:0; padding:0 8px }
.promo-bar__link{ display:inline-block; margin-left:.5rem; padding:4px 10px; border-radius:999px; background:#000; color:#FFD400; text-decoration:none; font-weight:800 }
@media (max-width:760px){ .promo-bar__lane{ gap:28px; padding:8px 0 } .promo-bar__link{ padding:3px 8px } }
@media (prefers-reduced-motion:reduce){ .promo-bar__lane{ animation:none } }
@keyframes promo-marquee{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

/* =========== Hero & CTA =========== */
.hero{ position:relative; padding:34px 0 38px; overflow:hidden }
@media (max-width:760px){ .hero{ padding:26px 0 34px } }
.hero:before{
  content:""; position:absolute; inset:-30% -10% auto -10%; height:120%;
  background:
    radial-gradient(900px 600px at 80% -10%, rgba(255,102,0,.18), transparent 60%),
    radial-gradient(600px 400px at -10% 110%, rgba(0,0,0,.05), transparent 60%);
}
.hero__grid{ display:grid; gap:32px; align-items:flex-start } /* évite l’étirement */
.eyebrow{ letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; color:var(--orange); font-weight:800; font-family:'Montserrat',system-ui,sans-serif }
h1{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; font-size:clamp(2.1rem,3vw+1.2rem,3.5rem); line-height:1.12; margin:.35rem 0 1rem }
.hero p{ font-size:1.12rem; color:#333; margin:0 0 1rem }
.hero__cta{ display:flex; gap:12px; flex-wrap:wrap }

.cta,.btn{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  border-radius:999px; padding:14px 20px; font-weight:800; font-family:'Montserrat',system-ui,sans-serif;
  transition:transform .2s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.cta{ background:linear-gradient(180deg,var(--orange),var(--orange-700)); color:#fff; border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 24px rgba(255,102,0,.35), 0 1px 0 rgba(255,255,255,.3) inset }
.cta:hover{ transform:translateY(-2px); box-shadow:0 16px 30px rgba(255,102,0,.4) }
.btn{ background:#fff; border:1px solid var(--gray-300) }
.btn:hover{ transform:translateY(-1px); border-color:var(--orange); box-shadow:0 10px 22px rgba(0,0,0,.07) }
.btn--outline{ background:transparent; border:2px solid transparent; --g:linear-gradient(90deg,var(--orange),var(--orange-700)); border-image:var(--g) 1; color:var(--gray-800) }

/* pastilles + icônes réseaux */
.pills{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:12px; position:relative; z-index:20 }
.sicon{ width:32px; height:32px; border-radius:999px; display:grid; place-items:center; box-shadow:0 6px 12px rgba(0,0,0,.10); transition:transform .15s ease, box-shadow .2s ease }
.sicon svg{ width:16px; height:16px; fill:#fff }
.sicon:hover{ transform:translateY(-1px); box-shadow:0 10px 18px rgba(0,0,0,.14) }
.sicon--fb{ background:#1877F2 } .sicon--ig{ background:linear-gradient(45deg,#f58529,#feda77,#dd2a7b,#8134af,#515bd4) } .sicon--tt{ background:#000 }

/* =========== Sections / cartes =========== */
.strip{ padding:72px 0 }
.strip--soft{ background:linear-gradient(#fff,#f9f9f9) }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px }
.section-head .dash{ height:6px; width:88px; border-radius:999px; background:linear-gradient(90deg,var(--orange),var(--orange-700)) }
h2{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; font-size:clamp(1.7rem,1.6vw+1rem,2.35rem); margin:0 0 10px }

.cards{ display:grid; gap:16px }
@media (min-width:900px){ .cards{ grid-template-columns:repeat(3,1fr) } }
.card{ background:#fff; border:1px solid var(--gray-200); border-radius:16px; padding:20px; transition:transform .25s ease, box-shadow .25s ease }
.card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px rgba(0,0,0,.08) }
.card h3{ margin:0 0 10px }

/* =========== Tarifs & popover =========== */
.pricing{ display:grid; gap:16px }
@media (min-width:1024px){ .pricing{ grid-template-columns:repeat(3,1fr) } }
.plan{ position:relative; background:#fff; border:1px solid var(--gray-200); border-radius:18px; padding:20px; display:flex; flex-direction:column }
.plan--focus{ border:1.5px solid var(--orange); box-shadow:0 14px 28px rgba(255,102,0,.12), 0 1px 0 rgba(255,255,255,.8) inset }
.plan .ribbon{ position:absolute; top:-14px; right:12px; background:linear-gradient(180deg,var(--orange),var(--orange-700)); color:#fff; font-weight:800; padding:6px 10px; border-radius:999px }
.row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px dashed var(--gray-200) }
.row:last-child{ border-bottom:none; margin-top:auto; align-items:center }
#tarifs{ background:linear-gradient(#f7f7f7,#f4f4f4); border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200) }
#tarifs .pricing{ margin-top:16px }
#tarifs .plan{ overflow:visible }
#tarifs .plan-head{ position:relative; margin:-1px -1px 12px; padding:12px 14px 14px; display:flex; gap:12px; align-items:center }
#tarifs .plan-head__bar{
  position:absolute; inset:0 0 auto 0; height:56px; border-radius:18px 18px 0 0;
  background: radial-gradient(120% 90% at 12% 0%, rgba(255,255,255,.45), transparent 55%),
              linear-gradient(92deg,#FF944D 0%,#FF7A1A 50%,#FF6600 100%);
  box-shadow:0 18px 28px rgba(255,102,0,.16), 0 1px 0 rgba(255,255,255,.35) inset;
}
#tarifs .paytab{
  position:relative; z-index:1; height:42px; padding:8px 12px; border-radius:999px; border:2px solid #FFE1CC; background:#fff;
  font-family:'Montserrat',system-ui,sans-serif; font-weight:800; display:inline-flex; align-items:baseline; gap:8px;
  box-shadow:0 6px 12px rgba(0,0,0,.06); transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease; outline:none;
}
#tarifs .paytab .paytab__n{ font-size:1.05rem; color:#FF6600; letter-spacing:.2px }
#tarifs .paytab .paytab__txt{ font-size:.9rem; color:#111; opacity:.9 }
#tarifs .paytab[data-n="4"]{ background:#FFF3E8; border-color:#FFC299 }
#tarifs .paytab[data-n="4"] .paytab__n{ color:#E05300 }
#tarifs .paytab.is-active,
#tarifs .paytab:is(:hover,:focus-visible){ transform:translateY(-1px); border-color:#FF7A1A; box-shadow:0 12px 20px rgba(0,0,0,.10), 0 0 0 2px #fff inset }
#tarifs .pay-popover{
  position:absolute; z-index:5; left:14px; right:14px; top:58px; background:#fff; border:1px solid var(--gray-200); border-radius:14px;
  box-shadow:0 20px 34px rgba(0,0,0,.14), 0 0 0 1px rgba(255,122,26,.08); padding:12px; opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease, transform .18s ease;
}
#tarifs .pay-popover.show{ opacity:1; transform:none; pointer-events:auto }
#tarifs .pay-popover h4{ margin:.2rem 0 .4rem; font-family:'Montserrat',system-ui,sans-serif; font-weight:800 }
#tarifs .pay-popover .grid{ display:grid; grid-template-columns:1fr auto; gap:8px }
#tarifs .pay-popover .line{ display:contents }
#tarifs .pay-popover .line>span{ padding:6px 0; border-bottom:1px dashed var(--gray-200) }
#tarifs .pay-popover .line:last-child>span{ border-bottom:none }
#tarifs .pay-popover .note{ margin-top:.5rem; font-size:.9rem }
#tarifs .pay-popover .ex{ margin:.35rem 0 0; padding:.5rem .75rem; border-radius:10px; background:#FCFCFC; border:1px dashed var(--gray-300) }

@media (max-width:760px){
  #tarifs .plan-head{ margin:-1px -1px 8px; padding:10px 10px 12px; gap:8px; flex-wrap:wrap; align-items:flex-start }
  #tarifs .paytab{ height:auto; padding:8px 12px; box-shadow:0 4px 8px rgba(0,0,0,.05) }
  #tarifs .paytab .paytab__n{ font-size:1rem }
  #tarifs .pay-popover{
    position:static; margin:8px 0 4px; opacity:1; transform:none; pointer-events:auto;
    display:none; max-height:70vh; overflow:auto; border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,.08);
  }
  #tarifs .pay-popover.show{ display:block }
}

/* Tooltips tarifs */
#tarifs .row :where([data-tip]),
#tarifs .row:where([data-tip])>span:first-child{ position:relative; cursor:help; border-bottom:1px dotted #E0E0E0 }
#tarifs .row :where([data-tip])::after,
#tarifs .row:where([data-tip])::after{
  content:attr(data-tip); position:absolute; left:0; top:100%; transform:translateY(8px);
  min-width:200px; max-width:320px; padding:10px 12px; font-size:.92rem; line-height:1.35;
  color:#222; background:#fff; border:1px solid #E9E9E9; border-radius:10px; box-shadow:0 12px 24px rgba(0,0,0,.08);
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; z-index:5; white-space:normal;
}
#tarifs .row :where([data-tip])::before,
#tarifs .row:where([data-tip])::before{
  content:""; position:absolute; left:12px; top:calc(100% + 2px); width:10px; height:10px;
  background:#fff; border-left:1px solid #E9E9E9; border-top:1px solid #E9E9E9; transform:rotate(45deg); opacity:0; transition:opacity .18s ease; z-index:6;
}
#tarifs .row :where([data-tip]:hover,[data-tip]:focus-visible)::after,
#tarifs .row :where([data-tip]:hover,[data-tip]:focus-visible)::before,
#tarifs .row:hover::after, #tarifs .row:hover::before,
#tarifs .row:focus-within::after, #tarifs .row:focus-within::before{ opacity:1; transform:translateY(6px) }
@media (max-width:680px){
  #tarifs .row :where([data-tip])::after,
  #tarifs .row:where([data-tip])::after{ left:auto; right:0 }
}

/* =========== Avis (slider) =========== */
.slider{ display:grid; grid-auto-flow:column; grid-auto-columns:80%; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px }
.slide{ scroll-snap-align:start; background:#fff; border:1px solid var(--gray-200); border-radius:16px; padding:18px }
@media (min-width:900px){ .slider{ grid-auto-columns:32% } }

/* =========== Sticky CTA + Progress =========== */
.stickybar{ position:fixed; left:0; right:0; bottom:12px; z-index:60; display:flex; justify-content:center; pointer-events:none }
.stickybar__inner{ display:flex; gap:10px; align-items:center; background:#111; color:#fff; border:1px solid #222; border-radius:999px; padding:10px 12px; pointer-events:auto; box-shadow:0 18px 34px rgba(0,0,0,.25) }
.progress{ position:fixed; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--orange),var(--orange-700)); transform-origin:0 50%; transform:scaleX(0); z-index:70 }

/* =========== Toast =========== */
.toast{ position:fixed; right:16px; bottom:16px; z-index:65; background:#111; color:#fff; border-radius:16px; padding:14px 16px; max-width:360px; box-shadow:0 18px 34px rgba(0,0,0,.25); opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .25s ease, transform .25s ease; border:3px solid transparent; background-clip:padding-box }
.toast::before{ content:""; position:absolute; inset:0; border-radius:16px; padding:3px; background:conic-gradient(#ff0040,#ff7a1a,#ffbf00,#00c853,#0091ea,#7c4dff,#ff0040); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none }
.toast.show{ opacity:1; transform:none; pointer-events:auto }
.toast__title{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; margin:0 0 4px }
.toast__close{ position:absolute; top:8px; right:10px; background:transparent; color:#fff; border:none; font-size:18px; cursor:pointer }

/* =========== Contact / carte =========== */
#contact .map-wrap{ position:relative; width:100%; aspect-ratio:16/11; border-radius:12px; overflow:hidden; background:#F5F5F5 }
#contact .map-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0 }
@media (max-width:900px){ #contact .cards{ grid-template-columns:1fr !important } }
@media (max-width:760px){ #contact .map-wrap{ aspect-ratio:4/5 } }
@supports not (aspect-ratio:1/1){
  #contact .map-wrap{ height:0; padding-top:68% }
  #contact .map-wrap iframe{ position:absolute; top:0; left:0; height:100% }
}

/* ==========================================================
   FOOTER (plein écran fiable, sans conflit Astra/Elementor)
   ========================================================== */

/* Désactive le footer du thème quand on utilise notre footer custom sur la REMC */
html[data-variant="dynamique-luxe"] #colophon.site-footer{ display:none !important }

/* Footer custom */
.ardc-footer{
  position:relative; background:#000; color:#fff; padding:56px 0 28px;
}
.ardc-footer::before{
  content:""; position:absolute; inset:0; background:#000;
  box-shadow:0 0 0 100vmax #000; clip-path:inset(0 -100vmax);
  z-index:-1; pointer-events:none;
}
@supports (width:100svw){
  .ardc-footer::before{ box-shadow:0 0 0 100svw #000; clip-path:inset(0 -100svw) }
}

/* Conteneur interne du footer : on scope sur .ardc-footer pour ne pas toucher .container global */
.ardc-footer .container{ max-width:none; width:100%; padding-inline:clamp(20px,4vw,56px) }

/* Grille du footer */
.ardc-footer .foot-top{
  display:grid; gap:clamp(22px,3vw,36px) clamp(24px,4vw,56px);
  grid-template-columns:minmax(300px,440px) repeat(3, minmax(220px,1fr));
  align-items:start;
}
@media (max-width:980px){ .ardc-footer .foot-top{ grid-template-columns:1fr 1fr } }
@media (max-width:620px){ .ardc-footer .foot-top{ grid-template-columns:1fr } }

.ardc-footer .foot-head{
  font-family:'Montserrat',system-ui,sans-serif; font-weight:800; text-transform:uppercase;
  letter-spacing:.06em; font-size:.95rem; color:#fff; padding-bottom:10px;
  border-bottom:2px solid rgba(255,255,255,.14);
}
.ardc-footer .foot-list{ list-style:none; margin:12px 0 0; padding:0; display:grid; gap:10px }
.ardc-footer a{ color:#fff; text-decoration:none; opacity:.95 }
.ardc-footer a:hover{ opacity:1; text-decoration:underline }

/* Bloc marque + réseaux dans le footer */
.ardc-footer .foot-brand{ display:flex; align-items:flex-start; gap:14px; color:#fff }
.ardc-footer .brand__logo{
  width:var(--footer-logo-size); height:var(--footer-logo-size); flex:0 0 var(--footer-logo-size);
  display:grid; place-items:center; border-radius:12px; overflow:hidden; background:transparent; box-shadow:none;
}
.ardc-footer .brand__logo img{ width:100%; height:100%; object-fit:contain; display:block; filter:drop-shadow(0 1px 0 rgba(0,0,0,.08)) }
.ardc-footer .brand__txt{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; letter-spacing:.2px; font-size:clamp(1.15rem,1.6vw,1.6rem); line-height:1.05 }
.ardc-footer .brand__tag{ margin:.45rem 0 0; color:rgba(255,255,255,.78) }

.ardc-footer .foot-social{ display:flex; gap:12px; align-items:center; margin-top:14px }
.ardc-footer .social{ width:38px; height:38px; border-radius:999px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.25) }
.ardc-footer .social:hover{ background:linear-gradient(180deg,#FF6600,#FF7A1A); border-color:transparent }
.ardc-footer .social svg{ width:18px; height:18px; fill:#fff }

.ardc-footer .foot-meta{
  border-top:1px solid rgba(255,255,255,.16); margin-top:26px; padding-top:16px;
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; color:rgba(255,255,255,.82)
}

/* ==========================================================
   Variantes & utilitaires
   ========================================================== */
.mt-16{ margin-top:16px } .mt-10{ margin-top:10px }

/* Option "automne" (facultatif) */
body.autumn-mode footer{ background-color:#3A1F14; color:#EEDFD4 }
body.autumn-mode{
  background-image:url('https://www.transparenttextures.com/patterns/fallen-leaves.png');
  background-repeat:repeat; background-size:200px; opacity:.98;
}

/* REMC — empêcher qu’un parent coupe le débordement du footer */
html[data-variant="dynamique-luxe"] :where(
  main,#main,.site-main,.entry-content,.elementor,.elementor-section-wrap
){ overflow:visible !important }

/* Étire les sections Elementor en “boxed” uniquement sur la variante */
html[data-variant="dynamique-luxe"] .elementor-section.elementor-section-boxed > .elementor-container{
  max-width:none !important; padding-left:0; padding-right:0;
}
html[data-variant="dynamique-luxe"] .container{
  max-width:1160px; margin-inline:auto; padding-inline:20px;
}/* End custom CSS */