/* =========================================================
   TheDigImpact, styles de la page d'accueil (Elementor)
   Palette 3 couleurs : vert forêt, vert Automation Act, blanc.
   Chaque section Elementor porte une classe CSS "tdi-..." :
   Hadia modifie textes, images et vidéo dans Elementor,
   le style et les effets restent gérés ici.
   ========================================================= */
body.tdi{
  --foret:#0B3D2C;--vert:#12784A;--gris:rgba(11,61,44,.72);--ligne:rgba(11,61,44,.12);
  --titre:'Outfit',system-ui,sans-serif;--texte:'DM Sans',system-ui,sans-serif;
  --max:1280px;--gut:clamp(20px,5vw,72px);--hd:84px;--ab:0px;
  margin:0;background:#fff;color:var(--foret);font-family:var(--texte);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden
}
body.tdi.admin-bar{--ab:32px}
@media (max-width:782px){body.tdi.admin-bar{--ab:46px}}
html{scroll-behavior:smooth}
body.tdi a{color:inherit;text-decoration:none}

/* ---------- Remise à zéro des marges Elementor ---------- */
body.tdi .e-con,body.tdi .e-con>.e-con-inner{padding:0!important;gap:0!important;margin:0!important;max-width:none!important}
body.tdi .elementor-widget{margin:0!important}
body.tdi .elementor-heading-title{margin:0;padding:0;font-family:var(--titre);color:inherit;line-height:1.15}
body.tdi .elementor-widget-text-editor p{margin:0}

/* ---------- Gabarits communs ---------- */
body.tdi .tdi-wrap{width:100%!important;max-width:var(--max)!important;margin:0 auto!important;padding:0 var(--gut)!important;display:block!important}
body.tdi .tdi-col{display:block!important;width:auto!important}
body.tdi .tdi-grille-2{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,140px)!important;align-items:center}
body.tdi .tdi-eyebrow .elementor-heading-title{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--vert)}
body.tdi .tdi-h2 .elementor-heading-title{font-weight:300;font-size:clamp(36px,4.2vw,60px);line-height:1.1;letter-spacing:-.03em;color:var(--foret)}
body.tdi .tdi-h2 b,body.tdi .tdi-h2 strong{font-weight:600}

/* Boutons */
body.tdi .tdi-btn .elementor-button{display:inline-flex;align-items:center;font-family:var(--titre);font-weight:500;font-size:16px;line-height:1.2;padding:15px 28px;border-radius:4px;border:0;transition:background .3s,color .3s;fill:currentColor}
body.tdi .tdi-btn .elementor-button-text::after,body.tdi .tdi-lien .elementor-button-text::after{content:"→";display:inline-block;margin-left:10px;transition:transform .3s}
body.tdi .tdi-btn .elementor-button:hover .elementor-button-text::after,body.tdi .tdi-lien .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
body.tdi .tdi-btn-blanc .elementor-button{background:#fff;color:var(--foret)}
body.tdi .tdi-btn-blanc .elementor-button:hover{background:var(--vert);color:#fff}
body.tdi .tdi-lien .elementor-button{background:none;color:var(--foret);font-family:var(--titre);font-weight:500;font-size:17px;padding:0 0 4px;border-radius:0;border-bottom:1.5px solid var(--foret);transition:color .3s,border-color .3s}
body.tdi .tdi-lien .elementor-button:hover{color:var(--vert);border-color:var(--vert)}

/* ---------- En-tête : bande blanche fixe ---------- */
body.tdi .tdi-hd{position:fixed;left:0;right:0;top:var(--ab);z-index:50;height:var(--hd);background:#fff;border-bottom:1px solid var(--ligne)}
body.tdi .tdi-hd .in{max-width:var(--max);margin:0 auto;padding:0 var(--gut);height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
body.tdi .tdi-logo{font-family:var(--titre);font-weight:700;font-size:25px;color:var(--foret);letter-spacing:-.03em;display:flex;align-items:center;gap:8px}
body.tdi .tdi-logo i{width:10px;height:10px;border-radius:50%;background:var(--vert)}
body.tdi .tdi-nav{display:flex;gap:34px;font-family:var(--titre);font-size:16px;color:var(--foret)}
body.tdi .tdi-nav a{position:relative;padding:6px 0}
body.tdi .tdi-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--foret);transition:width .3s}
body.tdi .tdi-nav a:hover::after{width:100%}
body.tdi .tdi-hd-droite{display:flex;align-items:center;gap:22px}
body.tdi .tdi-lang{font-family:var(--titre);font-size:15px;color:var(--gris)}
body.tdi .tdi-lang b{color:var(--foret);font-weight:600}
body.tdi .tdi-hd-btn{font-family:var(--titre);font-weight:500;font-size:15px;padding:12px 24px;border-radius:4px;background:var(--foret);color:#fff!important;transition:background .3s}
body.tdi .tdi-hd-btn:hover{background:var(--vert)}
body.tdi .tdi-burger{display:none;background:none;border:0;color:var(--foret);padding:0;cursor:pointer}
body.tdi .tdi-menu-mobile{display:none}

/* ---------- 1. Hero : vert forêt, vidéo fondue, reste fixe ---------- */
body.tdi .tdi-hero{position:sticky!important;top:calc(var(--hd) + var(--ab));z-index:0;height:calc(100vh - var(--hd) - var(--ab));min-height:560px;margin-top:var(--hd)!important;background:var(--foret);color:#fff;overflow:hidden;display:flex!important;flex-direction:column;justify-content:center}
body.tdi .tdi-hero-media{position:absolute!important;top:0;right:0;bottom:0;width:62%!important;z-index:0;
  -webkit-mask-image:radial-gradient(ellipse 70% 75% at 60% 50%,#000 35%,transparent 78%);
          mask-image:radial-gradient(ellipse 70% 75% at 60% 50%,#000 35%,transparent 78%)}
body.tdi .tdi-hero-media>*,body.tdi .tdi-hero-media .elementor-wrapper{height:100%!important;aspect-ratio:auto!important}
body.tdi .tdi-hero-media video{width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;opacity:.75}
body.tdi .tdi-hero-media::after{content:"";position:absolute;inset:0;background:var(--vert);mix-blend-mode:color;opacity:.55;pointer-events:none}
body.tdi .tdi-hero-contenu{position:relative;z-index:2}
body.tdi .tdi-h1{overflow:visible}
body.tdi .tdi-h1 .elementor-heading-title,body.tdi .tdi-tape .elementor-heading-title{font-weight:300;font-size:clamp(42px,5.8vw,84px);line-height:1.05;letter-spacing:-.035em;color:#fff}
body.tdi .tdi-tape{margin-top:.12em!important;visibility:hidden;animation:tdiMontre 0s 2.5s forwards}
body.tdi .tdi-tape.pret,body.elementor-editor-active .tdi-tape{visibility:visible}
@keyframes tdiMontre{to{visibility:visible}}
body.tdi .tdi-tape .elementor-heading-title{font-weight:600}
body.tdi .tdi-bandeau{background:var(--vert);color:#fff;padding:0 .18em .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.tdi .tdi-curseur{display:inline-block;width:.06em;height:.82em;background:#fff;margin-left:.06em;vertical-align:-.04em;animation:tdiClignote 1s steps(1) infinite}
@keyframes tdiClignote{50%{opacity:0}}
body.tdi .tdi-hero-txt{max-width:520px!important;margin:30px 0 40px!important;color:rgba(255,255,255,.85);font-size:clamp(17px,1.4vw,20px)}

/* Tout ce qui suit le hero passe par-dessus au défilement */
body.tdi .tdi-dessus{position:relative;z-index:1;background:#fff;box-shadow:0 -30px 60px rgba(0,0,0,.18);display:block!important}

/* ---------- 2. Conviction ---------- */
body.tdi .tdi-conviction{padding:clamp(110px,14vw,190px) 0 clamp(90px,11vw,150px)!important;display:block!important}
body.tdi .tdi-conviction .tdi-h2{margin:22px 0 30px!important}
body.tdi .tdi-p{color:var(--gris);font-size:19px;max-width:470px;margin-bottom:44px!important}
body.tdi .tdi-visuel{position:relative;aspect-ratio:4/5;overflow:hidden}
body.tdi .tdi-visuel>*{height:100%}
body.tdi .tdi-visuel img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
body.tdi.tdi-anim .tdi-visuel{clip-path:inset(100% 0 0 0)}
body.tdi.tdi-anim .tdi-visuel img{height:120%!important;transform:scale(1.25)}
body.tdi .tdi-piliers{display:grid!important;grid-template-columns:repeat(4,1fr);margin-top:clamp(90px,11vw,150px)!important;border-top:1px solid var(--ligne)}
body.tdi .tdi-pilier{display:block!important;padding:34px 24px 0 0!important}
body.tdi .tdi-num .elementor-heading-title{font-weight:300;color:var(--vert);font-size:15px}
body.tdi .tdi-pilier-titre{margin-top:10px!important}
body.tdi .tdi-pilier-titre .elementor-heading-title{font-weight:500;font-size:21px;color:var(--foret)}

/* ---------- 3. Projets ---------- */
body.tdi .tdi-projets{padding:clamp(90px,11vw,150px) 0!important;border-top:1px solid var(--ligne);display:block!important}
body.tdi .tdi-projets .tdi-h2{margin-top:16px!important}
body.tdi .tdi-projets .tdi-h2 .elementor-heading-title{font-size:clamp(34px,4vw,56px)}
body.tdi .tdi-entete{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px!important;margin-bottom:60px!important}
body.tdi .tdi-entete>.e-con{width:auto!important}
body.tdi .tdi-cartes{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px!important}
body.tdi .tdi-carte{position:relative;display:block!important;aspect-ratio:4/3.2;overflow:hidden;background:var(--foret);isolation:isolate;width:auto!important}
body.tdi .tdi-carte::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--vert);z-index:3;transition:width .6s cubic-bezier(.2,.7,.2,1)}
body.tdi .tdi-carte-img{position:absolute!important;inset:0;width:100%!important}
body.tdi .tdi-carte-img>*{height:100%}
body.tdi .tdi-carte-img img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
body.tdi .tdi-client{position:absolute!important;top:18px;right:18px;z-index:2;width:auto!important}
body.tdi .tdi-client .elementor-heading-title{font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--foret);padding:8px 12px;display:inline-block}
body.tdi .tdi-voile{position:absolute!important;inset:0;z-index:1;display:flex!important;flex-direction:column;justify-content:flex-end;padding:28px!important;background:linear-gradient(0deg,rgba(11,61,44,.9) 0%,rgba(11,61,44,.25) 50%,rgba(11,61,44,0) 70%);transition:background .5s}
body.tdi .tdi-cat .elementor-heading-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);font-weight:500}
body.tdi .tdi-carte-titre{margin-top:8px!important}
body.tdi .tdi-carte-titre .elementor-heading-title{font-weight:500;font-size:22px;line-height:1.2;color:#fff}
body.tdi .tdi-voir{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s,opacity .4s,margin .45s}
body.tdi .tdi-voir .elementor-heading-title{font-size:15px;color:#fff}
body.tdi .tdi-carte:hover .tdi-carte-img img{transform:scale(1.07)}
body.tdi .tdi-carte:hover .tdi-voile{background:linear-gradient(0deg,rgba(11,61,44,.95) 0%,rgba(11,61,44,.6) 60%,rgba(11,61,44,.3) 100%)}
body.tdi .tdi-carte:hover .tdi-voir{max-height:40px;opacity:1;margin-top:14px!important}
body.tdi .tdi-carte:hover::after{width:100%}

/* ---------- 4. Contact et newsletter ---------- */
body.tdi .tdi-contact{background:var(--vert);color:#fff;padding:clamp(90px,11vw,140px) 0!important;display:block!important}
body.tdi .tdi-contact .tdi-grille-2{align-items:start}
body.tdi .tdi-h2-contact .elementor-heading-title{font-weight:300;font-size:clamp(44px,5.6vw,80px);line-height:1.02;letter-spacing:-.04em;color:#fff}
body.tdi .tdi-h2-contact b,body.tdi .tdi-h2-contact strong{font-weight:600}
body.tdi .tdi-mail{margin-top:50px!important}
body.tdi .tdi-mail .elementor-heading-title{font-size:18px;font-weight:400;color:#fff}
body.tdi .tdi-mail .elementor-heading-title a{display:inline-flex;align-items:center;gap:18px}
body.tdi .tdi-mail .elementor-heading-title a::before{content:"";width:58px;height:58px;flex:none;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2312784A'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E") center/22px no-repeat}
body.tdi .tdi-pan{background:#fff;color:var(--foret)}
body.tdi .tdi-onglets{display:grid;grid-template-columns:1fr 1fr;border-bottom:3px solid var(--ligne)}
body.tdi .tdi-onglets button{background:none;border:0;font-family:var(--titre);font-weight:500;font-size:18px;padding:28px 20px;color:rgba(11,61,44,.5);cursor:pointer;position:relative;border-radius:0}
body.tdi .tdi-onglets button:hover,body.tdi .tdi-onglets button:focus{background:none;color:var(--foret)}
body.tdi .tdi-onglets button.actif{color:var(--foret)}
body.tdi .tdi-onglets button.actif::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--foret)}
body.tdi .tdi-contenu{padding:44px clamp(24px,4vw,56px) 50px}
body.tdi .tdi-contenu h3{font-family:var(--titre);font-weight:500;font-size:26px;color:var(--foret);letter-spacing:-.02em;margin:0 0 26px;line-height:1.2}
body.tdi .tdi-form{display:grid;gap:18px}
body.tdi .tdi-form label{display:block;font-size:15px;margin-bottom:6px}
body.tdi .tdi-form input,body.tdi .tdi-form textarea{width:100%;border:0;border-radius:0;background:rgba(11,61,44,.05);padding:15px 16px;font-family:var(--texte);font-size:16px;color:var(--foret);outline:2px solid transparent;transition:outline .2s}
body.tdi .tdi-form input:focus,body.tdi .tdi-form textarea:focus{outline:2px solid var(--foret)}
body.tdi .tdi-form button{justify-self:start;font-family:var(--titre);font-weight:500;font-size:16px;padding:15px 28px;border-radius:4px;border:0;background:var(--foret);color:#fff;cursor:pointer;transition:background .3s}
body.tdi .tdi-form button:hover{background:var(--vert)}
body.tdi .tdi-pane{display:none}
body.tdi .tdi-pane.actif{display:block}
body.tdi .tdi-merci{display:none;font-family:var(--titre);font-size:18px;color:var(--foret);padding:10px 0}

/* ---------- Pied de page ---------- */
body.tdi .tdi-footer{background:var(--foret);color:rgba(255,255,255,.7);padding:70px 0 34px;font-size:15px}
body.tdi .tdi-footer .in{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
body.tdi .tdi-footer .haut{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.12)}
body.tdi .tdi-footer .tdi-logo{color:#fff;margin-bottom:14px}
body.tdi .tdi-footer h4{font-family:var(--titre);color:#fff;font-weight:500;font-size:15px;margin:0 0 14px}
body.tdi .tdi-footer ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
body.tdi .tdi-footer a:hover{color:#fff}
body.tdi .tdi-footer .bas{display:flex;justify-content:space-between;padding-top:26px;font-size:13px;flex-wrap:wrap;gap:12px}
body.tdi .tdi-footer .credit{font-size:12px;color:rgba(255,255,255,.45);margin-top:14px}

/* ---------- Réactif ---------- */
@media (max-width:1024px){
  body.tdi .tdi-nav{display:none}
  body.tdi .tdi-burger{display:block}
  body.tdi .tdi-menu-mobile.ouvert{display:grid;gap:18px;position:fixed;left:0;right:0;top:calc(var(--hd) + var(--ab));background:#fff;padding:28px var(--gut);border-bottom:1px solid var(--ligne);font-family:var(--titre);font-size:20px;z-index:49}
  body.tdi .tdi-cartes{grid-template-columns:repeat(2,1fr)}
  body.tdi .tdi-piliers{grid-template-columns:repeat(2,1fr)}
  body.tdi .tdi-footer .haut{grid-template-columns:1fr 1fr}
  body.tdi .tdi-hero-media{width:100%!important;opacity:.6}
}
@media (max-width:760px){
  body.tdi{--hd:70px}
  body.tdi .tdi-hd-btn,body.tdi .tdi-lang{display:none}
  body.tdi .tdi-grille-2,body.tdi .tdi-cartes,body.tdi .tdi-piliers,body.tdi .tdi-footer .haut{grid-template-columns:minmax(0,1fr)}
  body.tdi .tdi-voir{max-height:40px;opacity:1;margin-top:14px!important}
}
@media (prefers-reduced-motion:reduce){
  body.tdi.tdi-anim .tdi-visuel{clip-path:none}
  body.tdi.tdi-anim .tdi-visuel img{transform:none;height:100%!important}
}
