/* =========================================================
   Complément d'ajustements — sections sur mesure de l'accueil
   ========================================================= */

/* ---------- Héros : titre sur fond clair, vidéo dessous qui grossit ---------- */
.cq-videozoom{overflow:hidden}
.cq-videocadre{
  height:min(82vh,820px);overflow:hidden;border-radius:26px;
  transform:scale(.9);transform-origin:center top;will-change:transform;
}
.cq-videocadre .elementor-widget-video,.cq-videocadre .elementor-widget-container,
.cq-videocadre .e-hosted-video,.cq-videocadre video{width:100%;height:100%!important;display:block}
.cq-videocadre video{object-fit:cover}

/* ---------- Section expertises (widget dédié) ---------- */
.cq-exp{position:relative;padding:96px 0 64px}
.cq-exp__inner{display:flex;align-items:center;gap:50px}
.cq-exp__titre{
  position:relative;z-index:3;flex:0 0 520px;max-width:520px;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:18px;
  padding:0 34px 0 max(24px,calc((100vw - 1400px)/2));
  background:linear-gradient(90deg,#2A4854 0%,#2A4854 86%,rgba(42,72,84,0) 100%);
}
.cq-exp__eyebrow{
  display:flex;align-items:center;gap:14px;margin:0;
  font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12px;line-height:1;
  letter-spacing:.18em;text-transform:uppercase;color:#E83E33;
}
.cq-exp__eyebrow::before{content:"";flex:none;width:28px;height:1px;background:currentColor}
.cq-exp__h2{margin:0;font-family:Roboto,sans-serif;font-weight:700;font-size:clamp(26px,2.2vw,38px);line-height:1.14;letter-spacing:-.015em;color:#fff}
.cq-exp__texte{margin:0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.84)}
.cq-exp__note{margin:6px 0 0;font-family:'Libre Franklin',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cq-exp__piste{display:flex;gap:24px;padding-right:120px;position:relative;z-index:1}

.cq-mcard{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  flex:0 0 430px;width:430px;min-height:560px;border-radius:18px;overflow:hidden;
  padding:28px;text-decoration:none;
}
.cq-mcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.cq-mcard:hover .cq-mcard__img{transform:scale(1.06)}
.cq-mcard__voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,32,40,0) 38%,rgba(16,32,40,.5) 66%,rgba(13,26,33,.92) 100%)}
.cq-mcard__c{position:relative;display:flex;flex-direction:column;gap:8px}
.cq-mcard__t{font-family:'Libre Franklin',sans-serif;font-weight:500;font-size:25px;line-height:1.2;color:#fff}
.cq-mcard__t::after{content:"";display:block;width:34px;height:2px;background:#E83E33;margin-top:9px;transition:width .4s}
.cq-mcard:hover .cq-mcard__t::after{width:64px}
.cq-mcard__x{font-family:Roboto,sans-serif;font-size:14px;line-height:1.55;color:rgba(255,255,255,.85)}

.cq-exp__bar{margin:56px max(24px,calc((100vw - 1400px)/2)) 0;height:2px;background:rgba(255,255,255,.16);border-radius:2px;overflow:hidden}
.cq-exp__bar i{display:block;width:0;height:100%;background:#E83E33;transition:width .15s linear}

@media(max-width:1024px){
  .cq-exp{padding:64px 0 48px}
  .cq-exp__inner{flex-direction:column;align-items:stretch;gap:30px}
  .cq-exp__titre{flex:1 1 auto;max-width:none;background:none;padding:0 18px}
  .cq-exp__piste{overflow-x:auto;padding:0 18px;scroll-snap-type:x proximity;scrollbar-width:none}
  .cq-exp__piste::-webkit-scrollbar{display:none}
  .cq-mcard{flex:0 0 300px;width:300px;min-height:430px;padding:20px;scroll-snap-align:start}
  .cq-exp__bar{display:none}
}

/* ---------- Actualités (widget dédié) ---------- */
.cq-actugrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:1024px){.cq-actugrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.cq-actugrid{grid-template-columns:1fr}}
.cq-actu{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(29,29,27,.07);transition:box-shadow .4s;display:flex;flex-direction:column}
.cq-actu:hover{box-shadow:0 18px 40px -22px rgba(29,29,27,.4)}
.cq-actu__img{display:block;overflow:hidden}
.cq-actu__img img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.cq-actu:hover .cq-actu__img img{transform:scale(1.05)}
.cq-actu__body{display:flex;flex-direction:column;gap:9px;padding:20px 22px 22px;flex:1}
.cq-actu__cat{margin:0;font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#E83E33}
.cq-actu__titre{margin:0;font-family:'Libre Franklin',sans-serif;font-weight:500;font-size:20px;line-height:1.3}
.cq-actu__titre a{color:#2A4854;text-decoration:none;transition:color .25s}
.cq-actu__titre a:hover{color:#E83E33}
.cq-actu__pied{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:16px}
.cq-actu__date{font-family:Roboto,sans-serif;font-size:13.5px;color:#626A77}
.cq-actu__go{
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(42,72,84,.25);color:#2A4854;transition:.25s;
}
.cq-actu__go:hover{background:#E83E33;border-color:#E83E33;color:#fff}

/* ---------- Ronds concentriques derrière le bloc contact ---------- */
.elementor-element-cqcont{position:relative;overflow:hidden}
.elementor-element-cqcont::before,.elementor-element-cqcont::after,
.elementor-element-cqcontwrap::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border:1px solid rgba(29,29,27,.08);border-radius:50%;pointer-events:none;
}
.elementor-element-cqcont::before{width:600px;height:600px}
.elementor-element-cqcont::after{width:940px;height:940px}
.elementor-element-cqcontwrap{position:relative}
.elementor-element-cqcontwrap::before{width:1320px;height:1320px;border-color:rgba(29,29,27,.06)}
.elementor-element-cqcontwrap > *{position:relative;z-index:1}

/* ---------- Bouton flottant « Demander un devis » ---------- */
.cq-flottant{
  position:fixed;right:26px;bottom:26px;z-index:98;
  display:flex;align-items:center;gap:8px;text-decoration:none;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .4s,transform .4s;
}
.cq-flottant.is-visible{opacity:1;transform:none;pointer-events:auto}
.cq-flottant__t{
  background:#E83E33;color:#fff;border-radius:999px;padding:15px 22px;
  font-family:'Libre Franklin',sans-serif;font-weight:600;font-size:12.5px;line-height:1;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  box-shadow:0 16px 34px -16px rgba(232,62,51,.55);
}
.cq-flottant__i{
  flex:none;width:44px;height:44px;border-radius:50%;background:#E83E33;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 34px -16px rgba(232,62,51,.55);
}
@media(max-width:767px){.cq-flottant{right:14px;bottom:14px}.cq-flottant__t{padding:13px 16px;font-size:11.5px}}

/* ---------- Divers ---------- */
@media(min-width:768px){
  .cq-menu nav.elementor-nav-menu--dropdown{display:none!important}
}
.cq-menu .elementor-nav-menu > li{white-space:nowrap}
