/* Footer 2026 : même langage que le header, les fiches, les catalogues et la page contact. Préfixe .ft. */
.elementor .ft{
  --ft-navy:#243788;--ft-navy-deep:#1A2766;--ft-peri:#7988C3;--ft-mist:#EEF0F7;--ft-clay:#D3D9EC;--ft-grey:#F5F5F5;
  --ft-ink:#1C2033;--ft-muted:#5D6173;--ft-sans:Roboto Condensed,system-ui,sans-serif;--ft-gut:clamp(20px,4vw,56px);--ft-wrapw:1320px;
  font-family:var(--ft-sans);font-weight:300
}
.elementor .ft,.elementor .ft .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px}
.elementor .ft :where(p){margin:0}
.elementor .ft :where(.elementor-widget){margin:0}
.elementor .ft a{text-decoration:none}
.elementor .ft .elementor-heading-title{font-family:var(--ft-sans);text-transform:none}

/* ---------- Bandeau showroom ---------- */
.elementor .ft.ft-cta{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:stretch;background:var(--ft-grey);color:var(--ft-ink)}
.elementor .ft .ft-cta-txt{padding:clamp(48px,6vw,90px) var(--ft-gut) clamp(48px,6vw,90px) max(var(--ft-gut),calc((100vw - var(--ft-wrapw)) / 2));justify-content:center}
.elementor .ft .ft-eyebrow .elementor-heading-title{font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ft-peri)}
.elementor .ft .ft-cta-t .elementor-heading-title{font-size:clamp(30px,3.4vw,46px);font-weight:500;line-height:1.08;color:var(--ft-navy);margin:12px 0 16px}
.elementor .ft .ft-cta-p{font-size:17px;line-height:1.6;max-width:48ch;color:var(--ft-ink)}
.elementor .ft .ft-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:26px}
.elementor .ft .ft-btn .elementor-button{font-family:var(--ft-sans);font-weight:500;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:16px 26px;border-radius:0;border:1px solid var(--ft-navy)}
.elementor .ft .ft-btn-dark .elementor-button{background:var(--ft-navy);color:#fff}
.elementor .ft .ft-btn-dark .elementor-button:hover{background:var(--ft-navy-deep);color:#fff}
.elementor .ft .ft-btn-line .elementor-button{background:transparent;color:var(--ft-navy)}
.elementor .ft .ft-btn-line .elementor-button:hover{background:var(--ft-navy);color:#fff}
.elementor .ft .ft-cta-img,.elementor .ft .ft-cta-img .elementor-widget-container{height:100%}
.elementor .ft .ft-cta-img img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;border-radius:0}

/* ---------- Pied de page bleu ---------- */
.elementor .ft.ft-main{background:var(--ft-navy);color:rgba(255,255,255,.78);padding:clamp(56px,6vw,84px) var(--ft-gut) 0}
.elementor .ft .ft-grid,.elementor .ft .ft-villes,.elementor .ft .ft-bottom-w{width:100%;max-width:var(--ft-wrapw);margin-left:auto;margin-right:auto}
.elementor .ft .ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.elementor .ft .ft-logo .elementor-heading-title,.elementor .ft .ft-logo .elementor-heading-title a{font-family:Arual light,Roboto Condensed,sans-serif;font-weight:600;font-size:44px;line-height:1;color:#fff}
.elementor .ft .ft-brand-p{font-size:16px;line-height:1.6;margin-top:18px;max-width:34ch;color:rgba(255,255,255,.78)}
.elementor .ft .ft-t .elementor-heading-title,.elementor .ft p.ft-t{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ft-peri);margin-bottom:16px}
.elementor .ft p.ft-t2{margin-top:26px}
/* Trait orange devant les surtitres et les titres de colonnes, comme sur le reste du site */
.elementor .ft .ft-eyebrow .elementor-heading-title::before,.elementor .ft .ft-t .elementor-heading-title::before,.elementor .ft p.ft-t::before{content:'';display:inline-block;width:22px;height:2px;background:#ED860F;vertical-align:middle;margin:-2px 10px 0 0}
.elementor .ft .ft-eyebrow .elementor-heading-title::before{width:28px;margin-right:12px}
.elementor .ft .ft-links ul{list-style:none;margin:0;padding:0}
.elementor .ft .ft-links li{margin:0 0 9px;font-size:16px;line-height:1.4}
.elementor .ft .ft-links a{color:rgba(255,255,255,.86);transition:color .2s}
.elementor .ft .ft-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.elementor .ft .ft-info li{margin-bottom:14px;color:rgba(255,255,255,.86)}
.elementor .ft .ft-info span{display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ft-peri);margin-bottom:3px}
.elementor .ft .ft-villes{margin-top:clamp(40px,5vw,64px);padding:22px 0;border-top:1px solid rgba(255,255,255,.16);font-size:15px;line-height:1.9}
.elementor .ft .ft-villes span{color:var(--ft-peri);font-weight:500;margin-right:6px}
.elementor .ft .ft-villes a{color:rgba(255,255,255,.86)}
.elementor .ft .ft-villes a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.elementor .ft .ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:rgba(255,255,255,.62)}
.elementor .ft .ft-bottom a{color:rgba(255,255,255,.78)}
.elementor .ft .ft-bottom a:hover{color:#fff}
.elementor .ft .ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px}

/* ---------- Tablette ---------- */
@media (max-width:1024px){
  .elementor .ft.ft-cta{grid-template-columns:1fr}
  .elementor .ft .ft-cta-txt{padding:52px var(--ft-gut)}
  .elementor .ft .ft-cta-img img{min-height:0;height:300px}
  .elementor .ft .ft-grid{grid-template-columns:1fr 1fr}
  .elementor .ft .ft-brand{grid-column:1 / -1}
}
/* ---------- Mobile (la barre d'actions fixe du bas fait 64px) ---------- */
@media (max-width:767px){
  .elementor .ft .ft-cta-p{font-size:16px}
  .elementor .ft .ft-row .ft-btn{flex:1 1 100%}
  .elementor .ft .ft-row .ft-btn .elementor-button{width:100%}
  .elementor .ft .ft-cta-img img{height:220px}
  .elementor .ft .ft-grid{grid-template-columns:1fr 1fr;gap:34px 20px}
  .elementor .ft .ft-show{grid-column:1 / -1}
  .elementor .ft .ft-logo .elementor-heading-title,.elementor .ft .ft-logo .elementor-heading-title a{font-size:38px}
  .elementor .ft .ft-links li{font-size:15px}
  .elementor .ft .ft-bottom{flex-direction:column;padding-bottom:96px}
}
